Procesador Segmentado

Documentos relacionados
Arquitectura de Computadores

UNIDAD 5: Mejora del rendimiento con la segmentación.

Arquitectura e Ingeniería de Computadores

Diseño Procesador Monociclo

Pipeline (Segmentación)

Arquitectura Segmentada: Conceptos básicosb

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

MICROPROCESADOR. Multiciclo

Arquitectura t de Computadores

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

Procesador Segmentado

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores Terecer Certamen

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Pipelining o Segmentación de Instrucciones

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Diseño del procesador MIPS R2000

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

Pipeline o Segmentación Encausada

ARQUITECTURA DE COMPUTADORES CAPÍTULO 2. PROCESADORES SEGMENTADOS

UNIDAD 4: El procesador: Camino de los datos y Control.

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

Tema 4: Diseño de un microprocesador

Procesadores segmentados. El DLX.

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

Diseño de un Procesador. (Monociclo)

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso Introducción a la segmentación de Instrucciones.

Diseño de un procesador multiciclo.

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Arquitectura de Computadores. Tema 9. Microprogramación

Estructura de Computadores

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Introducción a la arquitectura de computadores

Arquitectura de Computadores. Tema 11. Pipelining Avanzado

1. Objetivo y evolución de los procesadores ILP.

6. PROCESADORES SUPERESCALARES Y VLIW

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Ejercicios del tema 4. El procesador

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso

Organización procesador MIPS

Implementación de instrucciones para el procesador MIPS de ciclo único.

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Instituto Tecnológico de Morelia

Estructura de Computadores Tema 1. Introducción a los computadores

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

ARQUITECTURA DE COMPUTADORAS

Diagrama a bloques de una computadora

CICLOS DEL PROCESADOR

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Estructura del Computador

TIPOS DE PROCESAMIENTOS

Práctica III Introducción a la descripción VHDL del procesador DLX

Plataformas de soporte computacional: arquitecturas avanzadas,

Introducción PROCESADOR SUPERESCALAR. Paralelismo. Grado m: en cada ciclo se buscan/decodifican m instrucciones. supes

INSTRUCCIONES: EL LENGUAJE DEL PROCESADOR

Memoria. Organización de memorias estáticas.

Conceptos básicos de procesadores

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

Organización lógica Identificación de bloque

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE

Subsistemas de memoria. Departamento de Arquitectura de Computadores

4.5 Microprogramación para simplificar el diseño del control

Sesión 11 Implementación de sentencias condicionales

ELO311 Estructuras de Computadores Digitales. Operaciones MIPS para Control de flujo

Nivel ISA. Revisión y resultados parcial 1

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

Explotación del paralelismo a nivel de instrucción

Paralelismo en monoprocesadores. Procesadores VLIW

Arquitectura de Computadores

Procesadores superescalares. Introducción

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011

Apéndice A. Manual de usuario. Guía rápida

Arquitecturas CISC y RISC

Diseño del núcleo de un procesador AVR de 8 bits utilizando lógica programable de Altera

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

1) Se dispone de un computador de 32 bits con la siguiente estructura:

Tema 2. Arquitectura de CPU avanzadas 15/03/2011

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

TEMA 4. ARQUITECTURA IA-64

Estructura de Computadores. Capítulo 3b: Programación en

Organización Básica de un Computador y Lenguaje de Máquina

Entorno de Ejecución del Procesador Intel Pentium

El nivel ISA (II)! Conjunto de Instrucciones

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Tema: Microprocesadores

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

TEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM

Transcripción:

Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn

Segmentación Descompone una determinada operación en n suboperaciones a realizar en etapas distintas, de manera que se puedan realizar n operaciones simultáneas, cada una en una etapa distinta. Divide una operación en suboperaciones Desacopla las suboperaciones F F1 F2 F3 Procesador Segmentado Unidad 2 2

El ejemplo de la lavandería Ana, Brian,Cathy y Don Lavar, secar, doblar, guardar Media hora cada tarea. Procesador Segmentado Unidad 2 3

Segmentación No reduce la latencia de una instrucción, sino que ayuda a incrementar la productividad de toda la tarea. Permite que los recursos se utilizen óptimamente, sin ciclos ociosos. La velocidad, o frecuencia con que una instrucción sale del pipeline (cauce) está limitada por el tiempo de proceso de la etapa más lenta. Idealmente, la mejora en velocidad debida a la segmentación es igual al número de etapas: la segmentación involucra gastos las etapas pueden no estar equilibradas==> tiempo de inactividad El diseñador debe equilibrar la duración de las etapas. Procesador Segmentado Unidad 2 4

Ejecución de lw en la máquina uniciclo Instrucción Memoria Lect. ALU Memoria Escritura Total Registros Datos Registros Formato R 10 5 10 5 30 Load 10 5 10 10 5 40 Store 10 5 10 10 35 Beq 10 5 10 25 lw Ins R Alu Mem W lw lw 40 nseg Ins R Alu Mem W Ins R Alu Procesador Segmentado Unidad 2 5

Etapas de la Segmentación La instrucción se divide en 5 etapas: Ifetch Reg/Dec Ejec Mem WB Una etapa, un ciclo, debe acomodar la operación más lenta ===>> 10 nseg. El speedup ideal debiera ser 5. Procesador Segmentado Unidad 2 6

Máquina uniciclo vs segmentada lw Ins R Alu Mem W lw lw 40 nseg Ins R Alu Mem W Ins R Alu lw lw lw Ins R Alu Mem W Ins R Alu Mem W 10 nseg 10 nseg Ins R Alu Mem W 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg Procesador Segmentado Unidad 2 7

Mejora de la Segmentación R R seg uni T = uni Tseg 120 = = 70 1,7 Donde están los problemas? Hay que considerar el tiempo de llenado y vaciado del pipeline (20nseg+20nseg) Las etapas tienen la misma duración y no realizan la misma cantidad de trabajo La eficiencia del pipeline es mayor al considerar muchas instrucciones, porque las latencias individuales aumentan pero la productividad disminuye. Procesador Segmentado Unidad 2 8

Uniciclo, Multiciclo vs Segmentada Load Store Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Load Store R Fetch Reg ALU Mem WB Fetch Reg ALU Mem Fetch Load Fetch Reg ALU Mem WB Store Fetch Reg ALU Mem WB R Fetch Reg ALU Mem WB Procesador Segmentado Unidad 2 9

Mejora de la Segmentación Suponemos que ejecutamos 100 instrucciones Uniciclo 40nseg * 1 CPI * 100inst= 4000 nseg Multiclo 10nseg * 4,5 CPI * 100 inst= 4500 nseg Segmentada 10nseg * (1 CPI * 100 inst + 4 ciclos) = 1040 nseg R R R R seg uni seg mult = = T T uni seg T T mult seg = = 4000 1040 4500 1040 3,8 4,3 Procesador Segmentado Unidad 2 10 = = Ahora,Mejor!!!

Óptimo uso de recursos ciclos 0 1 2 3 4 5 6 7 Inst 1 M Reg M Reg Inst 2 M Reg M Reg Inst 3 M Reg M Reg Inst 4 M Reg M Reg Inst 5 M Reg M Reg Procesador Segmentado Unidad 2 11

Problemas? No puede utilizarse el mismo recurso en el mismo momento para hacer distintas cosas. Por ejemplo: la memoria no puede utilizarse al mismo tiempo para leer instrucciones y escribir o leer datos. Varias instrucciones utilizan un mismo recurso en distintos momentos y se pierden los valores anteriores Por ejemplo: la ejecución de la segunda instrucción carga la instrucción de memoria sobre el registro IR aún cuando la primera instrucción depende de la información que había guardado en IR. Procesador Segmentado Unidad 2 12

Procesador Segmentado Lineal Todas las instrucciones tardan el mismo tiempo y atraviesan todas las etapas. Cada unidad funcional sólo puede ser usada una vez por instrucción (el flujo de información queremos que vaya siempre hacia la derecha) Cada unidad funcional debe ser utilizada en la misma etapa por todas las instrucciones. Queremos evitar problemas!!!! Por ejemplo: Lw IF Reg Eje Mem Wr R IF Reg Eje Wr Procesador Segmentado Unidad 2 13

Uso de U.F Paso Registros ALU Memoria Fetch Todas PC<--PC+4 Todas Inst<--M[PC] Lectura Todas Eje Tipo R: operación Lw y Sw: dirección Beq: operación y dirección Mem Lw y Sw PostW Lw Tipo R Procesador Segmentado Unidad 2 14

Memoria Se utiliza en la etapas Fetch y Memoria Debe poder soportar al mismo tiempo (distintas instrucciones) : lectura de instrucción lectura/escritura de dato Soluciones: una memoria con dos ports de lectura y uno de escritura memoria separada de instrucciones y datos Procesador Segmentado Unidad 2 15

ALU Se utiliza en la etapas Fetch y Ejecución Debe poder soportar al mismo tiempo : PC + 4 (Fetch) S=AopB o S=A+ inm16 o Z=(A=B) (Ejecución) S=PC+inm16 (Ejecución) Solución: 1 ALU y 2 sumadores

Banco de Registros Se leen en Decode y se escriben en Wb Debe poder soportar dos accesos de lectura y uno de escritura por ciclo. Se leen en la primera mitad del ciclo. Se escriben en la segunda mitad del ciclo.

MIPS Pipelined Datapath Chapter 4 The Processor 18

Registros de Segmentación Pcsrc MUX Entre cada etapa y la siguiente guardaremos la información que debe acompañar a cada instrucción en su marcha por el camino de datos. Z PC 32 4 3 2 + 32 Memoria de Instrucciones PC+4 32 inst IF/ID ID/EX EX/MEM MEM/WB rs rt rd RegDst BusW RegW 5 LRA LRB 5 WR 5 Registros >>2 Alusrc ALUctr @ WE Memoria de Datos W_src CL K Inm16 Ext

Registros de Segmentación Entre cada etapa y la siguiente guardaremos la información que debe acompañar a cada instrucción en su marcha por el camino de datos. Chapter 4 The Processor 20

Instrucción Tipo R Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusB<---R[rt] BusS<---BusA+BusB R[rd]<--BusS IR A B IR rd IF/ID ID/EX EX/MEM S IR rd S IR rd MEM/WB Procesador Segmentado Unidad 2 21

Instrucción Load Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Dato<--Mem[busS]; R[rt]<--Dato IR A Ext(inm16) IR rt IF/ID ID/EX EX/MEM S IR rt Dato IR rt MEM/WB Procesador Segmentado Unidad 2 22

Instrucción Store Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Mem[busS]<--BusB; IR A Ext(inm16) B IF/ID ID/EX S B EX/MEM MEM/WB Procesador Segmentado Unidad 2 23

Instrucción Beq Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<--R[rs]; BusB<--R[rt]; dst<--- PC+4+ Signext(inm16)*4; Z<-- (BusA=BusB) ; si (Z) entonces PC<---dst; IR PC + 4 IF/ID A Ext(inm16) B PC + 4 ID/EX Z Dst EX/MEM MEM/WB Procesador Segmentado Unidad 2 24

Registros de Segmentación IR PC+4 IF/ID A B Ir rd Ir rt ext(inm16) PC + 4 ID/EX S Ir rd Ir rt B Z Dst EX/MEM S Ir rd Ir rt Dato MEM/WB Procesador Segmentado Unidad 2 25

Registros de Segmentación(mejor) IR PC+4 IF/ID A B Ir rd Ir rt ext(inm16) PC + 4 ID/EX S Reg B Z Dst EX/MEM S Reg Dato MEM/WB Procesador Segmentado Unidad 2 26

Traditional form Multi-Cycle Pipeline Diagram Chapter 4 The Processor 27

Single-Cycle Pipeline Diagram State of pipeline in a given cycle Chapter 4 The Processor 28

Pipelined Control (Simplified) Chapter 4 The Processor 29

Camino de Datos con Señales de Control Salto Zero MUX PC 32 4 3 2 + 32 Memoria de Instrucciones PC+4 32 inst IF/ID ID/EX EX/MEM MEM/WB rs rt 5 5 5 Inm16 rt rd BusW Ext LRA LRB RegW WR Registros >>2 Alusrc ALUctr Control ALU @ WE Memoria de Datos W_src Aluop RegDst

Lógica de Control El secuenciamiento de control debe viajar con la instrucción a través del Camino de Datos. Cada ciclo de reloj se realizan escrituras en el PC, por lo tanto no hay señal especial de escritura para él. Los 4 registros de segmentación también se actualizan en cada ciclo. Dividimos las señales de control en 3 grupos, de acuerdo a la etapa en la que actúan. Instrucción Ejecución Memoria Wb RegDst ALUop1 ALUop0 ALUsrc Salto WE RegW W_src Formato R 1 1 0 0 0 0 1 0 Lw 0 0 0 1 0 0 1 1 Sw x 0 0 1 0 1 0 x Beq x 0 1 0 1 0 0 x Procesador Segmentado Unidad 2 31

Pipelined Control Control signals derived from instruction As in single-cycle implementation Chapter 4 The Processor 32

Juntando Todo Ext RegW BusW Registros LRA LRB WR RegDst PC inst Memoria de Instrucciones 32 ALUctr Memoria de Datos WE @ W_src >>2 Alusrc Zero 4 32 32 32 + MUX PC+4 IF/ID ID/EX EX/MEM MEM/WB Aluop Control ALU Salto EX M W M W W Control $10 $11

Chapter 4 The Processor 34 Pipelined Control

Identificar las instrucciones Ext 2090 RegW 11 BusW Registros LRA LRB WR RegDst PC inst Memoria de Instrucciones 32 ALUctr Memoria de Datos WE @ W_src >>2 Alusrc Zero 4 32 3 2 32 + MUX PC+4 IF/ID ID/EX EX/MEM MEM/WB 11 1 Aluop Control ALU Salto EX M W M W W Control 10 15 6 0 $10 $11 $5 $6 16 10 00 1100 00 01 0 00 1 00 1 0 31 1 1 15

FIN Segmentado