ELO311 Estructuras de Computadores Digitales. Pipeline (Segmentación)
|
|
- Cristián Rojo Henríquez
- hace 5 años
- Vistas:
Transcripción
1 ELO311 Estructuras de Computadores Digitales Pipeline (Segmentación) Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization & Design", (segunda y tercera edición), Morgan Kaufmann, CA materia del curso de Mary Jane Irwin en PSU, EEUU material del curso anterior ELO311 del Prof. Leopoldo Silva
2 Repaso: Procesador Multiciclo En el modelo multiciclo que se describe, cada paso o etapa de ejecución debe emplear un ciclo del reloj. Los datos que se emplearán en los siguientes ciclos del reloj, al ejecutar una determinada instrucción deben ser almacenados en registros adicionales. La ubicación de los registros que definen etapas o ciclos deben ser relativamente equilibrados, ya que esto tiende a minimizar la duración del ciclo del reloj.
3 Repaso: Procesador Multiciclo (cont) Se emplean los siguientes registros adicionales: IR registro de instruccion A y B salidas de la unidad de registros S salida de la unidad de operaciones M registro con dato leido de memoria
4 Repaso: Procesador Multiciclo (cont) Se tienen cinco etapas para la ejecución de instrucciones (no todas las instrucciones usan todas las etapas): Búsqueda de la Instrucción. Lectura de Memoria de Instrucciones y cálculo de dirección de próxima instrucción. Decodificación de la Instrucción y lectura de registros. Ejecución de operaciones y cálculo de la dirección efectiva de Memoria. Lectura de Memoria de Datos o Escritura en Memoria de Datos. Escritura en Registros. La activación de las señales que controlan las transferencias deben efectuarse asociadas a diferentes ciclos del reloj. Para lograr esto es preciso modelar la unidad de control como una máquina secuencial de estados finitos.
5 Repaso: Procesador Multiciclo (cont)
6 Repaso: Procesador Multiciclo (cont)
7 Repaso: Simplificación del Diseño de Control Para una implementación del MIPS ISA Instrucciones pueden tomar de 1 a 20 ciclos del reloj Resultando en maquinas de estados finitos con cientos o miles de estados y muchos mas transferencias entre estados La representación grafica es imposiblemente compleja Por eso se representan las señales de control que son asignadas durante un estado como una instruccion para ser ejecutada por el camino de datos: microinstrucción Ejecutar una microinstrucción es equivalente a asignar las señales de control especificadas por la microinstrucción
8 Repaso: Microprogramación Las microinstrucciones tienen que especificar Las señales que se tienen que asignar (assert) La próxima microinstrucción a ejecutar Cada microinstrucción corresponde a un estado en la MEF y se le asigna un numero de estado (o direccion ) 1. Comportamiento secuencial incrementar el estado (direccion) od la microinstruccion para obtener la direccion de la proxima microinstruccion 2. Saltar (Jump) a la microinstrucción que comienza la ejecución del la próxima instrucción MIPS (estado 0000 o Fetch) 3. Bifurcación (Branch) a una microinstrucción basada en input de microinstrucción y usando tablas de despacho (TD) 4. El conjunto de microinstrucciones que define al MIPS assembler es una microrutina
9 Repaso: Implementación en PLA 1 Control PLA Outputs AddrCtl PCWrite PCWriteCond IorD MemRead MemWrite IRWrite MemtoReg PCSource Op SourceB SourceA RegWrite RegDst Adder Microprogram Counter Addr select logic Op5 Op4 Op3 Op2 Op1 Op0 System clock sequencing control Inst[31-26]
10 Monociclo Ventajas y Desventajas Usa el reloj ineficientemente el ciclo del reloj debe ser determinado para acomodar a la instruccion mas lenta Clk Cycle 1 Cycle 2 Single Cycle Implementation: lw sw Waste Es una perdida (waste) de tiempo ya que algunas unidades funcionales (e.g., sumadores) deben ser duplicados ya que no se pueden compartir en un ciclo pero... Es simple y fácil de entender
11 Multiciclo Ventajas y Desventajas Usa el reloj mas eficientemente el ciclo del reloj debe acomodar a la etapa de instruccion mas lenta Hay que balancear el trabajo hecho en cada etapa Hay que restringir cada etapa a usar una unidad funcional Multiciclo permite Usar unidades funcionales mas de una vez por instrucción si se usan en diferentes ciclos del reloj Usar un reloj mas rápido Que diferentes instrucciones usen diferentes numero de ciclos del reloj Pero requiere registros de estados adicionales, muxes y MEF mas complicada
12 Introducción Pipeline En un pipeline, se ejecutan varias instrucciones, al mismo tiempo. Para esto, se dividen las etapas mediante registros, cada instrucción puede estar ejecutándose en una etapa. Si existen cinco etapas, pueden ejecutarse simultáneamente cinco instrucciones. Para esto es preciso, que cada instrucción pase por las cinco etapas, y que cada etapa tenga su propio control. Para lograr esto, basta en el diagrama de estados, agregar estados en los que no se activen controles.
13 Introducción Pipeline (cont)
14 Las Cinco Etapas de la Instruccion Load Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 lw IFetch Dec Exec Mem WB IFetch: Búsqueda (fetch) instrucción y actualizar el PC Dec: Leer registros y decodificar la Instrucción Exec: Ejecutar (R-type); calcular dirección de memoria Mem: Leer/escribir datos desde/hacia memoria datos WB: Escribir datos de vuelta al arreglo de registros
15 Monociclo vs. Multiciclo Implementacion Monociclo: Clk Cycle 1 Cycle 2 Implementacion Multiciclo: lw sw Waste Reloj multiciclo es mas lento que 1/5 del reloj monociclo dado los FFs adicionales en cada etapa Clk Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9Cycle 10 lw IFetch Dec Exec Mem WB sw IFetch Dec Exec Mem R-type IFetch
16 Procesador MIPS con Pipeline Comienza la próxima instrucción mientras que todavía esta trabajando en la instrucción actual Mejora la cantidad de trabajo o flujo (throughput) hecho en un tiempo dado Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 lw IFetch Dec Exec Mem WB sw IFetch Dec Exec Mem WB R-type IFetch Dec Exec Mem WB Latencia (tiempo de ejecución, retardo, respuesta) no se reduce para cada instrucción individual
17 Monociclo vs Multiciclo vs Pipeline Monociclo: Clk Cycle 1 Cycle 2 Load Store Waste Multiciclo: Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9Cycle 10 Clk lw IFetch Dec Exec Mem WB sw IFetch Dec Exec Mem R-type IFetch Pipeline: lw IFetch Dec Exec Mem WB sw IFetch Dec Exec Mem WB Ciclo nulo insertado (waste) R-type IFetch Dec Exec Mem WB
18 Pipeline del MIPS ISA Porque es fácil Todas las instrucción tienen el mismo largo (32 bits) Pocos formatos de instrucciones (tres) con simetría en los formatos Operaciones de memoria ocurren solo en load y store Operandos deben ser alineados en memoria (word aligned), esto causa que una transferencia de datos requiere solo un acceso de memoria Porque es difícil: Riesgos Riesgos estructurales (structural hazards): que pasa si solo tenemos un componente compartido (e.g. memoria,,...) Riesgos de control (control hazards): que pasa con bifurcaciones Riesgos de datos (data hazards): si los operandos de input de una instrucción dependen de una instrucción previa
19 Gráficamente Representar el MIPS Pipeline Nos puede ayudar a responder cosas como: Cuantos ciclos necesitamos para ejecutar este código? Que hace la durante el ciclo 4? Hay un riesgo? Porque ocurre y come se puede arreglar?
20 Porque un Pipeline? Por el flujo (throughput)! Time (clock cycles) I n s t r. Inst 0 Inst 1 Una vez lleno el pipeline, se completa una instrucción por ciclo O r d e r Inst 2 Inst 3 Inst 4 Tiempo para llenar pipeline
21 Riesgos del Pipeline Hay tres riesgos principales que se deben detectar Riesgos estructurales: tratar de usar el mismo recurso Riesgo de control: tratar de tomar una decisión antes de evaluar una condición (e.g. instrucciones de bifurcación) Riesgos de datos: tratar de usar un resultado antes de que este listo Se pueden resolver los riesgos de varias maneras Adelantando (o retardando acción) para resolver riesgo Una solución vía software es insertar una operación nop, se producen cinco etapas nulas (degrada la velocidad de ejecución). Otra solución es detener por un ciclo el fetch insertando un stall (burbuja) en una etapa. Aun otra solución (mas simple) es insertar ciclos de registros (e.g. para sw) o ciclos de memoria (e.g. para inst. tipo R) nulos
22 Riesgos de Datos: Clasificación Riesgos de datos: El riesgo de tipo RAW (read after write) consiste en leer después de escribir, produce conflicto de datos, ya que se lee el valor anterior de un registro. El riesgo WAW (write after write) consiste en escribir después de escribir. Produce la sobre escritura de un registro con un valor anterior El riesgo WAR (write after Read) escribe después lee y produce el leer el valor futuro de un registro, no usando el valor presente.
23 Riesgos de Datos: Clasificación Sea i una instrucción que va a ser procesada y j una instrucción anterior que está en el pipeline Rregs( i ) es el conjunto de registros que son empleados en lectura y Wregs( i ) el conjunto (en el repertorio MIPS, es un solo registro) de registros en que se escribe en la instrucción i, entonces: Existe un riesgo Read after Write en el registro r si: r ε Rregs( i ) Wregs( j ) Existe un riesgo Write after Write en el registro r si: r ε Wregs( i ) Wregs( j ) Existe un riesgo Write after Read en el registro r si: r ε Wregs( i ) Rregs( j )
24 Ejemplo: Riesgos del Pipeline (Tipo R) Las instrucciones tipo R requieren solo cuatro etapas pero esto causa conflictos estructurales con instrucciones LW Se puede insertar un stall en una etapa (solución compleja)
25 Ejemplo: Riesgos del Pipeline (Tipo R) Otra solución mas simple es insertar un ciclo de memoria nulo Para la ejecución de la instrucción store word, en un procesador multiciclo, también se requieren cuatro etapas. No es siempre necesario agregar un ciclo nulo de postescritura a registros, en el caso de registros de latch transparentes se puede dividir su uso en un ciclo, se libera el recurso (escritura) en la primera mitad del ciclo. escritura: Reg lectura: Reg
26 Memoria Unificada Puede Ser Riesgo Estructural Time (clock cycles) I n s t r. lw Inst 1 Mem Reg Mem Reg Mem Reg Mem Reg Leyendo datos de memoria O r d e r Inst 2 Inst 3 Mem Reg Mem Reg Mem Reg Mem Reg Inst 4 Leyendo instrucción de memoria Mem Reg Mem Reg
27 Que tal acceso a registros? Time (clock cycles) I n s t r. O r d e r add Inst 1 Inst 2 add Inst 4
28 Que tal acceso a registros? Time (clock cycles) I n s t r. O r d e r add Inst 1 Inst 2 add Inst 4 Se puede arreglar un riesgo de acceso a registros haciendo escrituras en la primera parte y lecturas en la segunda parte del ciclo
29 Instrucciones de Bifurcación: Riesgos de Control Dependencias atrás en el tiempo son un riesgo I n s t r. O r d e r add beq lw Inst 3 Inst 4
30 Instrucciones de Bifurcación: Riesgos de Control Dependencias atrás en el tiempo son un riesgo I n s t r. O r d e r add beq lw Inst 3 Inst 4
31 Bifurcación: Otras Opciones La bifurcación requiere cuatro etapas, si se determina la igualdad empleando la condición cero generada por la, durante la etapa de memoria de datos (nula obviamente) se actualiza el valor de PC si debe efectuarse la bifurcación. Nuevamente no se requiere la etapa de postescritura en registros ya que no se usa el recurso También la etapa nula de memoria no ocasiona riesgos con la ejecución de otras instrucciones.
32 Bifurcación: Otras Opciones (cont) Para disminuir los riesgos de control es mejor solución detectar la igualdad en la etapa de decodificación y lectura del arreglo de registros y actualizar el valor de PC, en caso de que se efectúe la bifurcación, en la misma etapa. En este caso el beq libera el recurso y memoria. En esta opción, la bifurcación requiere dos ciclos para completarse.
33 Jump: Otras Opciones Un razonamiento análogo se emplea para el salto incondicional (jump). Se actualizará PC en la etapa de decodificación y lectura de registros. En este caso se libera el arreglo de registros, ya que no se emplea por la instrucción jump.
34 Posibles Soluciones Riesgo de Control Soluciones incluyen Detención (stall) La solución por hardware consiste en detener el fetch de la instrucción siguiente a un branch. La solución por software consiste en intercalar nop (s), después de cada branch. Bifurcaciones retardadas No se detiene la ejecución después de una bifurcación; es decir la instrucción siguiente a una bifurcación comienza a ejecutarse siempre. Esta solución (delayed branch) agrega un ciclo por cada branch, si el compilador encuentra una instrucción que sea útil, y que pueda realizarse después del branch. Vaciamiento (flush) La tercera solución es efectuar el fetch, después del branch. Si el salto no se realiza, se continúa la ejecución. Si el salto se realiza, se debe descartar la instrucción leída y volver a efectuar el fetch.
35 Ejemplo: Como Arreglar Riesgo de Control I n s t r. O r d e r add beq
36 Ejemplo: Como Arreglar Riesgo de Control (cont) I n s t r. add beq Se puede arreglar esperando pero afecta el flujo (throughput) O r d e r stall stall lw Inst 3
37 Ejemplo: Riesgo de Control Se tiene:
38 Ejemplo: Riesgo de Control (cont) En este ejemplo: Se requiere tres ciclos de reloj de detención (stall) por cada branch. No puede efectuarse fetch: durante la etapa de decodificación, durante la etapa de cálculo del flag de cero a la salida de la alu de la instrucción beq, y durante la escritura de PC de la instrucción beq que se efectúa en la etapa mem. Sólo en la etapa WR de la instrucción beq puede efectuarse confiablemente el fetch de la instrucción siguiente. La detención puede lograrse evitando leer la memoria de instrucciones, mediante: La deshabilitación de WEIR y desactivando las señales de control que modifican el estado del procesador (WrReg, MemWr). O bien, limpiando el registro IR en la etapa de decodificación del beq. Esto intercala burbujas en el pipeline.
39 Ejemplo: Riesgo de Control (cont) Se soluciona este riesgo de control, deteniendo el procesamiento de las próximas instrucciones hasta que la decisión pueda efectuarse. Tres ciclos de reloj de detención (stall) por cada branch (solución basado en hardware).
40 Ejemplo: Riesgo de Control (cont) La tarea de detención también la puede hacer el compilador, que debe intercalar tres instrucciones nop (no operación) despues de cada beq El diagrama que representa esta situación es similar al visto antes, pero se está ejecutando la instrucción nop. El texto assembler, modificado por el compilador, para asegurar la ejecución sin riesgos de control en la cañería es el siguiente: beq $t1, $t2, loop nop nop nop add $t3, $t4, $t5 #este fetch es seguro. add $t3, $t6, $t3 add $t3, $t8, $t7
41 Ejemplo: Bifurcaciones Retardadas Al finalizar la etapa de decodificación de un branch, se conoce si el salto tendrá o no lugar. Sin embargo, ya se habrá realizado el fetch de la instrucción siguiente no importando si se realiza o no el salto. La mitad de las veces un compilador puede encontrar una instrucción útil para colocar después de un branch, esto en promedio. Si no puede encontrar una instrucción debe intercalar una instrucción que no haga nada (nop). Una técnica para rellenar los huecos en la cañería es que el compilador intercale un nop después de cada branch, y luego intente reemplazar el nop por una instrucción que pueda adelantarse (o retrasarse).
42 Ejemplo: Bifurcaciones Retardadas (cont) Para encontrar una instrucción que se pueda ejecutar después del branch, se mueve hacia el rótulo y se observa si la instrucción puede moverse sin riesgos (se puede hacer con bifurcaciones hacia delante o detrás): addi $t2, $zero,0 ; este addi antes del beqz puede rellenar el NOP beqz $t1, rótulo NOP... rótulo: addi $t2, $t0, 1 ; este addi después del beqz puede rellenar el NOP slt $t1, $t0, $t3 El addi después del beqz puede moverse y remplazar al NOP (sin riesgos) Otra opción es rellenar el NOP, con una instrucción que se encuentre antes de la bifurcación. En el ejemplo, el addi que está antes de la bifurcación, no tiene riesgos y puede moverse, quedando: beqz $t1, rótulo addi $t2, $zero,0... rótulo: addi $t2, $t0, 1 slt $t1, $t0, $t3 No es fácil encontrar instrucciones para rellenar NOPs si hay instrucciones de punto flotante, ya que usan registros separados del procesador central.
43 Ejemplo: Solución Anticipatoria Una mejora en el pipeline es una solución anticipatoria que implica anticipando la comparación, para esto es preciso agregar hardware, que permita generar la condición "equal" en la etapa de decodificación y a la vez escribir el valor de PC.
44 Uso de Registros: Riesgos de Datos El uso de registros también puede causar riesgos de datos Si el arreglo de registros se implementa con latchs transparentes el registro se puede leer y escribir en el mismo registro, en el mismo ciclo. En este tipo de registros la salida se modifica cuando cambia la entrada (modo transparente), entonces lo que se escriba es lo que comienza a salir. Reg escritura: lectura: Reg
45 Uso de Registros: Riesgos de Datos Dependencias atrás en el tiempo son un riesgo I n s t r. O r d e r add r1,r2,r3 sub r4,r1,r5 and r6,r1,r7 or r8, r1, r9 xor r4,r1,r5
46 Uso de Registros: Riesgos de Datos Dependencias atrás en el tiempo son un riesgo I n s t r. O r d e r add r1,r2,r3 sub r4,r1,r5 and r6,r1,r7 or r8, r1, r9 xor r4,r1,r5
47 Manera de Arreglar Riesgo de Datos I n s t r. O r d e r add r1,r2,r3
48 Manera de Arreglar Riesgo de Datos I n s t r. add r1,r2,r3 stall Se puede arreglar esperando pero afecta el flujo (throughput) O r d e r stall sub r4,r1,r5 and r6,r1,r7
49 Uso de Loads: Riesgos de Datos Dependencias atrás en el tiempo son un riesgo I n s t r. O r d e r lw r1,100(r2) sub r4,r1,r5 and r6,r1,r7 or r8, r1, r9 xor r4,r1,r5
50 Riesgos de Datos: Anticipación de Datos La solución de los conflictos de datos, también puede realizarse mediante la anticipación de los datos (requiere hardware adicional). Esto considerando que el dato que será escrito en un registro por una instrucción de tipo R o de tipo inmediata, ya está disponible en el pipeline después de terminada la etapa de operaciones. La anticipación de datos también se puede usar en caso de instrucciones con resultados en la memoria ya que dicho valor está disponible en el pipeline. Esto implica modificar la ruta de datos, para que la pueda adquirir sus datos de entrada desde la salida de la, o desde la salida de la memoria.
51 Ejemplo: Procesador Segmentado con Solución de Riesgos
52 Ejemplo: Riesgos de Datos por registros Se muestran las anticipaciones desde la salida de la (del valor de $t1) y de la salida de la memoria (con el valor de $t1) hacia la entrada de la de las instrucciones siguientes. También se muestra, el efecto anticipatorio, del uso de registros en base a latchs transparentes.
53 Condiciones para anticipar la salida de la Para anticipar la salida de la usando muxes, debe escribirse la salida de la en el registro A (en lugar del busa) si el conflicto es con rs; o en el registro B (en lugar del busb) si el conflicto es con rt. Puede detectarse que la que está en operaciones es de tipo R o inmediata, ya que debe tener MemRd y MemWr iguales a cero y RegWr igual a uno. Cuando en operaciones se tiene una instrucción de tipo R o inmediata que escriba en un registro (RD), y en decodificación una instrucción que lea el registro rs (lee_rs=1) o que lea el registro rt (lee_rt=1). lee_rs = 1 para add, sub, ori, beq, lw lee_rt = 1 para add,sub, beq Cuando en etapa de memoria se tiene una de tipo R o inmediata y en decodificación una instrucción que lee rs o rt, con igual valor al del registro en que se escribirá (RD1).
54 Como anticipar la salida de la Condiciones de detección: Operación de tipo R o inmediata en etapa operación TipoRI = (MemWr==0) & (MemRd==0) & (RegWR==1) Operación de tipo R o inmediata en etapa memoria TipoRI1 = (MemWr1==0) & (MemRd1==0) & (RegWR1==1) Controles de los muxes if (TipoRI ) & (lee_rs) & (rs == RD ) A = Aluout; /*AntA = 1 */ if (TipoRI1) & (lee_rs) & (rs == RD1) A = Mout; /*AntA = 2 */ if (MemRd1==1) && (Cop== sw ) &&(rs == RD1) A = Mout; en el resto de los casos A = R[rs]; /*AntA = 0 */ if (TipoRI ) & (lee_rt) & (rt == RD ) B = Aluout; /* AntB = 1 */ if (TipoRI1) & (lee_rt) & (rt == RD1) B = Mout; /* AntB = 2 */ en el resto de los casos B = R[rt]; /* AntB = 0 */
55 Stores Pueden Causar Riesgos de Datos Las instrucciones que escriben en un registro, seguidas de un store que escriba el contenido del registro aún no grabado Ejemplo: lw $t1,0($t2) sw $t1,0($t3) No se requiere detener la ejecución de la escritura en memoria (sw) si se adelanta la salida de la etapa de memoria (Mout) hacia el registro de segmentación que almacena el valor que será escrito en la memoria (D). Se detecta cuando: La instrucción que escribe en el registro está en la etapa de memoria y el store en etapa de operaciones y si RD1 == RD RD1 = el registro en que escribirá la instrucción que está en etapa de memoria RD = el registro cuyo contenido debe escribirse en memoria y que esta en etapa operaciones
56 Ejemplo: Riesgos de Datos Dependencias atrás en el tiempo son un riesgo I n s t r. lw $t1,0($t2) sw $t1,0($t3) O r d e r addi $t6,$t1,$t3 ori $t8, $t1, $t9 ori $t10,$t9,$t11
57 I n s t r. O r d e r Ejemplo: Riesgos de Datos Dependencias atrás en el tiempo son un riesgo lw $t1,0($t2) RD1 sw $t1,0($t3) RD addi $t6,$t1,$t3 Solución de riesgo: Anticipar la escritura en memoria if ( (MemWr == 1) & (RegWr1==1) & (RD==RD1 ) ) D = Mout; // AntM=1 en el resto de los casos D = B /* AntM = 0 */
58 Detención de un ciclo en secuencias: lw-alu Se detecta el riesgo cuando el lw está en operaciones (MemRd1 en 1) y la instrucción que le sigue (que lea el registro en el cual el lw escribe) en decodificación. Ejemplo: lw $t1,0($t2) add $t2,$t1,$t3 Primero las secuencias lw seguidas por instrucciones que leen el registro rs (tipo R, transferencias, inmediatas y beq); que se detectan por: (MemRd1 == 1) & ( OP!= j) & ( rs ==RD) En segundo lugar las secuencias lw seguidas de instrucciones que leen el registro rt (tipo R y beq) que se detectan según: (MemRd1 == 1) & (Op==tipoR Op==beq ) & ( rt ==RD)
59 Detención de un ciclo en secuencias: lw-alu (cont) Solución de riesgo: Detención de un ciclo en secuencias: lw-alu if ( ( MemRd1 == 1) & ( Op!= j) & ( rs ==RD) ( MemRd1== 1)& ( Op==tipoR Op==beq) & (rt ==RD)) { burbuja = 1; válido = 0;} en el resto de los casos burbuja = 0; válido =1;
60 Descarte (flush) en caso de saltos incondicionales En caso de no ejecutar la instrucción siguiente a un jump, que ya pasó por etapa de fetch deben eliminarse los efectos de la instrucción siguiente, para esto basta que la instrucción que completó su fetch no modifique un registro o escriba en la memoria: if ( PCsel==1)&(Op==j) flush =1;
61 Descarte (flush) en caso de bifurcaciones En caso de no ejecutar la instrucción siguiente a un beq, que ya pasó por la etapa de fetch deben eliminarse los efectos de la instrucción siguiente, para esto basta que la instrucción que completó su fetch no modifique un registro o escriba en la memoria: if ( PCsel==1)&(Op==beq) flush =1; También puede diseñarse, según: if ( Equal==1)&(Op==beq) flush =1;
62 Instrucción No operación (NOP) Esta instrucción tiene los 32 bits iguales a cero. Es de tipo R, con el campo funct = 0. if (Op == nop) { AluCtr=øøø; AluSrc=ø; ExtOp=ø; MemRd = ø; MemWr=0; Memtoreg = ø; RD= 0; RegWr =0; PCsel =0; válido = 0} Además si es nop: rs=0, rt=0, rd =0.
63 Otras Estructuras de Pipeline son Posibles Si se tiene una operación lenta de multiplicación? Dejar que tome dos ciclos MUL Que tal si memoria de datos es dos veces mas lenta que memoria de instrucciones? Hacer el reloj dos veces mas lento o Dejar que la memoria de datos tome dos ciclos (y mantener el mismo ciclo del reloj) IM Reg DM1 DM2 Reg
64 Alternativas de Pipelines ARM7 IM Reg EX PC update IM access decode reg access op DM access shift/rotate commit result (write back) StrongARM-1 XScale PC update BTB access start IM access IM1 IM2 Reg DM1 Reg SHFT DM2 IM access decode reg 1 access op shift/rotate reg 2 access DM write reg write start DM access exception
Procesador Segmentado
Procesador Segmentado 1 Se desea ejecutar varias instrucciones, al mismo tiempo. Se dividen las etapas mediante registros, cada instrucción puede estar ejecutándose en una etapa. Cinco etapas, pueden ejecutarse
Más detallesLa Unidad de Control y el Camino de Datos
Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 Contenido Veremos el diseño completo de un subconjunto
Más detallesOrganización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Resumen Step name Instruction fetch Instruction decode/register
Más detallesFundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)
8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) Objetivos Plantear y modificar una ruta de datos para un repertorio de instrucciones
Más detallesArquitectura de Computadoras. Clase 4 Segmentación de Instrucciones
Arquitectura de Computadoras Clase 4 Segmentación de Instrucciones Segmentación de cauce: Conceptos básicos La segmentación de cauce (pipelining) es una forma particularmente efectiva de organizar el hardware
Más detallesTutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción
Más detallesEl procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control
El procesador: camino de datos y IEC UTM Moisés E. Ramírez G. control 1 Introducción Se diseñará una implementación que incluya las instrucciones más importantes. Instrucciones de acceso a memoria: lw,
Más detalles3. SEGMENTACIÓN DEL CAUCE
3. SEGMENTACIÓN DEL CAUCE 1 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 2. Etapas del MIPS64 3. Riesgos 4. Operaciones muticiclo 2 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 3 Conceptos básicos Ciclo
Más detallesArquitectura de Computadores II Clase #5
Arquitectura de Computadores II Clase #5 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Algunas ideas para mejorar el rendimiento Obvio: incrementar la frecuencia
Más detallesConvenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:
Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register
Más detallesSegmentación: Mejora del rendimiento. IEC UTM Moisés E. Ramírez G. Segmentación
Segmentación: Mejora del rendimiento IEC UTM Moisés E. Ramírez G. 1 Segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones.
Más detallesProcesador Segmentado
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
Más detallesTema 1: PROCESADORES SEGMENTADOS
Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características
Más detallesEjercicios para el 3er parcial
Problema 1: Representar la ejecución de las siguientes instrucciones: Add $2, $5, $4 Add $4, $2, $5 Lw $5, 100($2) Add $3, $5, $4 Beq $8, $8, s1 And $1, $2, $3 OR $4, $5, $6 s1: Sub $7, $8, $9 Ejercicios
Más detallesMicroarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR
Microarquitectura: implementación multiciclo DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 3. MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR 3.1 Esquema básico de un microprocesador
Más detallesDiseño Procesador Monociclo
Diseño Procesador Monociclo Especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar el procesador. Modelo Carga-Almacenamiento. Se implementará el procesador
Más detallesArquitectura de Computadores
Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) MIPS 64 7. Memoria Caché 8. Arquitecturas RISC Arquitectura
Más detallesArquitectura de Computadores - 2001
IV. Segmentación o Pipelining Alternativas de Implementación de Procesador 1. Procesador Uniciclo CPI = 1 Pero Período de Reloj Grande 2. Procesador Multiciclo CPI > 1 Pero Período de Reloj más Pequeño
Más detallesIntroducción a paralelismo a nivel de instrucción
Introducción a paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo
Más detallesSegmentación. Capítulo Etapas:
Capítulo 14. 1 Segmentación. El procesador tiene registros de segmentación entre etapas, todas las instrucciones pasan por las mismas etapas, y a medida en que se avanza por la cañería se va propagando
Más detallesELO311 Estructuras de Computadores Digitales. Procesador Monociclo
ELO3 Estructuras de Computadores Digitales Procesador Monociclo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization
Más detallesAspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Pipeline Facultad de Ingeniería - Universidad de la República Curso 2017 Objetivo Mejorar el rendimiento Incrementar frecuencia de reloj? Ancho de los
Más detallesDiseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo
lw sw mem. instrución banco reg. mu LU mem. dato mu Camino crítico mem. instrución banco reg. mu LU mem. dato setup beq mem. instrución banco reg. mu LU mu setup R mem. instrución banco reg. mu LU mu setup
Más detallesArquitectura de Computadores Problemas (hoja 2). Curso
Arquitectura de Computadores Problemas (hoja 2). Curso 2006-07 1. El siguiente fragmento de código se ejecuta en un DLX con segmentación: SUB R1,R2,R3 ADD R4,R5,R6 SUB R5,R4,R8 ADD R7,R2,R3 ADD R9,R7,R3
Más detallesUNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores Terecer Certamen
UNVESA TECNCA FEECO SANTA AA EPATAENTO E EECTONCA EO311 Estructuras de Computadores 1. Se tiene la siguiente secuencia de instrucciones assembler PS: a) eterminar los riesgos que se producen en la ejecución
Más detallesTema 5. Segmentación: conceptos básicos
Tema 5. Segmentación: conceptos básicos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO ARISMENDI
Más detallesEC - Bibliografía EC -
. Introducción 2. IPS 3. Segmentación 4. Riesgos estructurales 5. Riesgos de datos 6. Riesgos de control 7. Riesgos de control con riesgos LDE 8. Resumen Bibliografía Hennessy Patterson Apendice A, 4ª
Más detallesFundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante)
8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante) Estructura del tema etodología de sincronización Diseño de un procesador IPS
Más detallesSegmentación del ciclo de instrucción
Segmentación del ciclo de instrucción William Stallings, Organización y Arquitectura de Computadores, Capítulo 11: Estructura y función de la CPU. John Hennessy David Patterson, Arquitectura de Computadores
Más detallesSegmentación del ciclo de instrucción
Segmentación del ciclo de instrucción v.2012 William Stallings, Organización y Arquitectura de Computadores, Capítulo 11: Estructura y función de la CPU. John Hennessy David Patterson, Arquitectura de
Más detallesDiseño de la ruta de datos y la unidad de control
Diseño de la ruta de datos y la unidad de control contenidos. Introducción 2. Diseño de la ruta de datos (monociclo) 3. Diseño del controlador (monociclo) 4. Diseño de la ruta de datos (multiciclo) 5.
Más detallesEl procesador. Diseño del control
El procesador Diseño del control Datapath MIPS simple Universidad de Sonora Arquitectura de Computadoras 2 MIPS simple El datapath anterior cubre instrucciones: Aritméticas-lógicas: add, sub, and, or y
Más detallesArquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 1. La
Más detallesDiseño del procesador MIPS R2000
Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.
Más detallesDiseño Procesador Multiciclo
Diseño Procesador Multiciclo En el modelo del procesador monociclo el reloj se ajusta a la ruta combinacional más crítica, por ejemplo la que se genera con la instrucción lw. Los recursos son utilizados
Más detallesMICROPROCESADOR. Multiciclo
MICROPROCESADOR Multiciclo Ejemplo Tiempos de operación. Unidades de memoria: 10 ns. Alu y sumadores: 10 ns Archivo de registros (lectura y escritura): 5 ns. Suponiendo que los multiplexores, unidad de
Más detallesSección de procesamiento: El camino de datos
Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución
Más detallesArquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2
Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2 Departamento de Ingeniería de Sistemas Universidad id d de Antioquia i 2011 2 Unidad de control principal Mediante el
Más detallesArquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 1. La
Más detallesArquitectura e Ingeniería de Computadores
Arquitectura e Ingeniería de Computadores Tema 2 Procesadores Segmentados Curso 2-22 Contenidos Introducción: Recordatorio MPIS-DLX Excepciones y control Segmentación Riesgos: Estructurales, de datos y
Más detallesOrganización del Computador. Microprogramación
Organización del Computador Microprogramación Consideraciones Una única ALU, una única Memoria, un único Banco de Registros. Problemas con el uso de los recursos?? Dos tipos de problemas: Una instrucción
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación multiciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
Más detallesDefinición de prestaciones
Definición de prestaciones En términos de velocidad. Diferentes puntos de vista: Tiempo de ejecución. Productividad (throughput) Medidas utilizadas En función de la duración del ciclo de reloj y del número
Más detallesSEGMENTACIÓN EN LA EJECUCIÓN DE INSTRUCCIONES
Capítulo 3: MIPS SEGMENTACIÓN EN LA EJECUCIÓN DE INSTRUCCIONES Parte del material fue desarrollado en la Escuela Politécnica Superior de la Universidad Autónoma de Madrid. Arqui1-UNICEN Introducción Para
Más detallesForwarding versus Stalling
Forwarding versus Stalling Dependencias Considerar el siguiente código: 1.sub $2, $1, $3 2.and $12, $2, $5 3.or $13, $6, $2 4.add $14, $2, $2 5.sw $15, 100($2) Las instrucciones 2 a 5 dependen de $2. Universidad
Más detallesPipelining. Introducción
Pipelining Introducción Definición Técnica de implementación. Consiste en ejecutar traslapadas varias instrucciones al mismo tiempo. Universidad de Sonora Arquitectura de Computadoras 2 Ejemplo Pasos para
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
Más detallesTratamiento de Excepciones en MIPS
Tratamiento de en MIPS Elías Todorovich Arquitectura I - Curso 2013 Riesgos de Control Las direcciones del PC no son secuenciales (PC = PC + 4) en los siguientes casos: Saltos condicionales (beq, bne)
Más detallesArquitectura de Computadores Problemas (hoja 2). Curso
Arquitectura de Computadores Problemas (hoja 2). Curso 2012-13 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión dinámica de
Más detallesForwarding versus Stalling
Forwarding versus Stalling Dependencias Considerar el siguiente código: 1.sub $2, $1, $3 2.and $12, $2, $5 3.or $13, $6, $2 4.add $14, $2, $2 5.sw $15, 100($2) Las instrucciones 2 a 5 dependen de $2. Universidad
Más detalles16/04/2012. Introducción. Construyendo el Datapath. Esquema de implementación Simple. Unidad de Control. Arquitectura de Computadoras Primavera 2012
/4/22 Introducción rquitectura de Computadoras Primavera 22 Construyendo el path Esquema de implementación Simple Unidad de Control 2 Los elementos básicos de un sistema de computo son: Nos centraremos
Más detalles4.5 Microprogramación para simplificar el diseño del control
4.5 Microprogramación para simplificar el diseño del control Para el control de la implementación multiciclos del subconjunto MIPS considerado, una máquina de estados como la mostrada en la figura 4.28
Más detallesArquitectura de Computadoras para Ingeniería
rquitectura de Computadoras para Ingeniería (Cód. 7526) Cuatrimestre 26 Dra. Dana K. Urribarri DCIC - UNS Dana K. Urribarri C 26 Modelos de arquitecturas Dana K. Urribarri C 26 2 Modelo von Neumann El
Más detallesArquitectura de Computadoras I Ingeniería de Sistemas Curso 2017
Arquitectura de Computadoras I Ingeniería de Sistemas Curso 217 Práctica de Laboratorio: Microprocesador MIPS Segmentado El objetivo de esta práctica es implementar el microprocesador MIPS (visto en clase
Más detallesProcesadores Superescalares
Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Prof. Mónica Parada Segmentación de Cauce y Paralelismo Multiples unidades de
Más detallesAspectos avanzados de arquitectura de computadoras Pipeline II. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Pipeline II Facultad de Ingeniería - Universidad de la República Curso 2017 Excepciones (1/5) Tipos de excepciones: Externas, provocadas por hardware
Más detallesArquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción
Más detallesArquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción
Más detallesArquitectura de Computadores. Tema 8. Diseño de un CPU de multiciclo
Arquitectura de Computadores Tema 8 Diseño de un CPU de multiciclo Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom Diseño RISC D. Cohen UNT Arq. de Computadoras - 24 op 6
Más detallesEstructura y Tecnología de Computadores. Módulo G. Estructura del procesador. Tema 16. Diseño de la ruta de datos y la unidad de control
Estructura y Tecnología de Computadores Módulo G Estructura del procesador Tema 6 Diseño de la ruta de datos y la unidad de control José Manuel Mendías Cuadros Dpto Arquitectura de Computadores y Automática
Más detallesTEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION
SEGMENTACION SEGMENTACION SEGMENTACION I I I I I 1 2 3 4 5 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB SEGMENTACION INTRODUCIR NUEVA INSTRUCCIÓN CADA CICLO 1 CICLO,
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación microprogramada Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción.
Más detallesPlataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura
Más detallesop rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op
Arquitectura MIPS: Formato de la instrucción máquina La ruta de datos la diseñaremos para un subconjunto de instrucciones del procesador MIPS, que dispone de sólo 3 formatos de diferentes de longitud fija
Más detallesSegmentación del ciclo de instrucción v.2016
Segmentación del ciclo de instrucción v.2016 John Hennessy & David Patterson, Arquitectura de Computadores Un enfoque cuantitativo, 4ª edición Apéndice A (Capítulos 5 y 6 de la 1ª edición) Segmentación
Más detallesArquitectura de Computadoras para Ingeniería
Arquitectura de Computadoras para Ingeniería (Cód. 7526) 1 Cuatrimestre 216 Dra. DCIC - UNS 1 Unidad de Control Provee las señales de control para la operación y coordinación de las componentes del procesador.
Más detallesUNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores
12. Diseño de un Procesador. (Monociclo) 12.1 Especificación de instrucciones. El primer paso es la especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar
Más detallesESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: visión de conjunto y conclusiones Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Excepciones
Más detallesFormatos de Instrucción en el MIPS R3000
Area Arquitectura Computadores Formatos Instrucción en el IPS R3000 6 5 5 16 C.O. rs1 rd Carga /Almacenamiento Saltos Condicionales 6 5 5 5 11 C.O. rs1 rs2 rd Operaciones AL 6 26 C.O. Saltos Incondicionales
Más detallesFig Riesgos por dependencias de datos.
5.4 Riesgos por dependencia de datos Hasta el momento se han considerado secuencias de código en las que no hay dependencias de datos, en esos casos la implementación mostrada en la figura 5.23 trabaja
Más detallesPipeline (Segmentación)
Pipeline (Segmentación) Segmentación (Pipeline) Es una técnica de implementación por medio de la cual se puede traslapar la ejecución de instrucciones. En la actualidad la segmentación es una de las tecnologías
Más detallesARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados
Departament d Informàtica Sistemes i Computadors ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados SUGERENCIAS PARA LA RESOLUCIÓN DE LOS PROBLEMAS La ruta datos propuesta en todos
Más detallesOrganización procesador MIPS
Organización procesador MIPS Organización MIPS Memoria CPU Registros FPU Registros Alu Mul Div Hi Lo U. Aritmética Traps Manejo de Memoria Organización MIPS Unidad Aritmética y Lógica (ALU). Unidad Aritmética
Más detallesOrganización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy
Organización del Computador I Verano MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Arquitectura MIPS (R2000) Registros Formato de Instrucción
Más detallesEl procesador. Datapath y control
El procesador Datapath y control Introducción En esta parte del curso contiene: Las principales técnicas usadas en el diseño de un procesador. La construcción del datapath y del control. Estudiaremos la
Más detallesProcesadores superescalares. Introducción
Procesadores superescalares Introducción Introducción El término superescalar (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura
Más detallesElementos constituyentes de la ejecución de un programa
Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones
Más detallesProcesador MIPS - Registros
MIPS Microprocessor without Interlocked Pipeline Stages Surgió a comienzos de los 80 en Stanford. Sintetiza las principales ideas de RISC. Arquitectura eficiente y simple. 1 Procesador MIPS - Registros
Más detallesUnidad 3. Facultad de Ciencias Departamento de Electrónica
Universidad Autónoma de San Luis Potosí Facultad de Ciencias Departamento de Electrónica Unidad 3 Instrucciones: Lenguaje de la Computadora Dra. Ruth M. Aguilar Ponce Primavera Unidad 3 Operaciones del
Más detallesEjercicios de Paralelismo a Nivel de Instrucción
Ejercicios de Paralelismo a Nivel de Instrucción J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores Grupo
Más detallesFUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.
FUNDAMENTOS DE COMPUTADORES 18 de junio de 2014. Examen parcial del 2º cuatrimestre. Nombre DNI Apellidos Grupo Ejercicio 1 (2.5 puntos) Para el computador MIPS estudiado en clase, responder a las siguientes
Más detallesTemporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de
Arquitectura de Computadores Tema 2. Repaso de Conceptos fundamentales Diseño de la ruta de datos y la unidad de control 2. Introducción contenidos Importancia del diseño del procesador. Metodología de
Más detallesEstructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization
Más detallesSuperescalares. Scheduling estático
Superescalares Scheduling estático Introducción La CPU ejecuta las instrucciones en orden. El compilador: Puede cambiar el orden de ejecución. Genera el paquete de emisión. Trata de prevenir o reducir
Más detallesArquitectura Segmentada: Conceptos básicosb
Arquitectura Segmentada: Conceptos básicosb Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 4 ARQUITECTURA SEGMENTADA (PIPELINING) (4 SEMANAS) 4.1 Conceptos básicos de la arquitectura segmentada Paralelismo
Más detallesArquitectura de Computadores Problemas (hoja 4). Curso
Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo
Más detallesTema 6. Introducción a la segmentación avanzada: Riesgos
Tema 6. Introducción a la segmentación avanzada: Riesgos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR
Más detallesAspectos avanzados de arquitectura de computadoras Superescalares I. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Superescalares I Facultad de Ingeniería - Universidad de la República Curso 2017 Instruction Level Parallelism Propiedad de un programa. Indica qué tanto
Más detallesPipeline o Segmentación Encausada
Pipeline o Segmentación Encausada Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio Patterson David, Hennessy John Organización y Diseño de Computadores
Más detalles1. Motivación. 2. Procesadores superescalares. 3. Procesadores VLIW. 4. Procesadores supersegmentados.
TEMA 9: LANZAMIENTO MÚLTIPLE DE INSTRUCCIONES 1. Motivación. 2. Procesadores superescalares. 3. Procesadores VLIW. 4. Procesadores supersegmentados. Bibliografía: J.L. Hennessy & D. A. Patterson. Computer
Más detallesPráctica 7 - Microarquitectura del CPU
Práctica 7 - Microarquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo
Más detallesPipelining o Segmentación de Instrucciones
Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través
Más detallesELO311 Estructuras de Computadores Digitales. Ensamblador MIPS
ELO311 Estructuras de Computadores Digitales Ensamblador MIPS Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization &
Más detallesArquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA
Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de
Más detallesARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES
ARQUITECTURA DEL REPERTORIO DE INSTRUCCIONES Arquitectura del Repertorio de instrucciones Arquitectura del repertorio de instrucciones Repertorio de instrucciones Organización del almacenamiento Formato
Más detallesEjercicios del tema 4. El procesador
Ejercicios del tema 4. El procesador Estructura del procesador elemental WepSIM Address Bus Data Bus Control Bus C0 Ta Internal Bus RA RB RC LC MAR T9 Memory MRdy BE ADDR DATA R W A31-A0 BE3-BE0 D31-D0
Más detallesQué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.
Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones. Aprovecha el paralelismo entre instrucciones en una corriente secuencial de instrucciones.
Más detallesUNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III. SIMULADOR DLX (jbz)
UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III SIMULADOR DLX (jbz) Integrantes: Denis José Torres Guadamuz 2001 10500
Más detalles