Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento 5. Procesador: camino de datos y control Fundamentos de Computadores Ingenierı́a de Telecomunicación Raúl Durán Dı́az Departamento de Automática Escuela Politécnica Superior Curso académico 2009–2010 Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Contenidos 1 Control de operaciones elementales 2 El camino de datos de una máquina sencilla 3 Fases de una instrucción 4 Diseño de la unidad de control 5 Medida del rendimiento Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Objetivos Mostrar cómo se va realizando la ejecución de las instrucciones internamente. Describir la función de la unidad de control (UC). Entender qué es un cronograma y cómo se utiliza. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso En dónde estamos Memoria Periféricos Unidad de control Unidades funcionales Figura: Bloques básicos de la máquina von Neumann Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Función básica de la unidad de control Tomar la instrucción apuntada por el PC y llevarla a la UC. Incrementar el PC. Descodificar la instrucción leı́da. Ejecutar la instrucción. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Función básica de la unidad de control Para realizar esta misión, genera señales de control que van a parar a los distintos componentes del computador. Utiliza como información: la propia instrucción que descodifica; el estado actual, recogido en el registro de estado; las señales externas (por ejemplo, interrupciones). Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Ejecución de la instrucción La ejecución de una instrucción requiere unas acciones en cada ciclo de reloj: son las operaciones elementales. Operaciones de transferencia. Operaciones de proceso. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de transferencia LA1 LA2 Registro 1 TA1 Registro 2 TA2 Bus de datos Figura: Hardware para operaciones de transferencia Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de transferencia Establecen rutas de datos que unen dos elementos de almacenamiento, cargando en uno el contenido del otro (transferencia). Pasos: estabilización de datos en el bus; permanencia de datos por tiempo suficiente. Reglas para las señales: las señales que establecen rutas son activas por nivel; las señales que almacenan datos son activas por flanco. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de transferencia Señales de control TA1 LA2 Secuenciador Tiempo Figura: Cronograma de una operación de transferencia Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de proceso Los datos pasan o son “filtrados” a través de un operador. El operador “procesa” la información. A la salida se almacena. Las señales de control: deciden la operación; seleccionan los operandos; almacenan el resultado. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de proceso L2 L1 R1 L3 L4 R2 R3 A R4 B OP Operador Out Figura: Hardware para operaciones de proceso Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de proceso Pasos: selección de la operación; selección de operandos; señal de carga del resultado. Ejemplo Supongamos la operación: R2 ← R1 + R4 Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Componentes elementales Operaciones de transferencia Operaciones de proceso Operaciones de proceso Señales de control Ciclo de reloj A B OP L2 Out Secuenciador Tiempo Figura: Cronograma de una operación de proceso Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Bloque de memoria Memoria Periféricos Unidad de control Unidades funcionales Figura: Bloques básicos de la máquina von Neumann Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Memoria principal ME MR Memoria MW ALE MR MW Bus de datos Bus de direcciones Figura: Arquitectura de la memoria principal Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Operación de la memoria Señales de control Ciclo de reloj ME ALE MR MW BDir BDat Secuenciador Tiempo Figura: Señales para la operación de la memoria Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Banco de registros Salida A Salida B Selector A Entrada Selector B LR Figura: Banco de registros y señales de control Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Unidad aritmética y de direccionamiento LPC PC de B de B de A X Y OP Operador LA Acumulador AT PCT DT Bus de direcciones Bus de datos Figura: Unidad aritmética-lógica y de direccionamiento Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Unidad de control Bus de datos DIT Reset LI Instrucciones Selector A Datos inmediatos Contador de fases LF Selector B Registro de estado Señales varias de control Figura: Unidad de control Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Bloque de memoria Banco de registros Unidad aritmética y lógica Arquitectura de la CPU Arquitectura de la CPU LPC 00000000 11111111 11111111 00000000 00000000 11111111 Salida A Selector A 000 111 111 000 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 PC 00000000 11111111 11111111 00000000 0000000011 11111111 00 11 00 ME Salida B 00 11 00 11 00 11 11 00 00 11 00 11 00 11 00 11 00 11 00 11 MR Memoria Selector B X LA MR Acumulador AT Entrada ALE OP Operador 00000000 11111111 11111111 00000000 00000000 11111111 MW Y MW PCT DT LR Bus de direcciones Bus de datos DIT Reset LI Selector B Selector A Instrucciones Datos inmediatos Contador de fases 11 00 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 11 00 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 00 11 LF Registro de estado Señales varias de control Figura: Arquitectura de la CPU, combinando elementos Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Fases de una instrucción Búsqueda (fetch): tomar la instrucción apuntada por el PC y llevarla a la UC. Descodificación (decode) de la instrucción y lectura de operandos. Ejecución (execute) de la operación. Almacenamiento (write-back) de resultados. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Implementación multi-ciclo Problema: cada fase necesita una cantidad de tiempo distinta. Dos soluciones: usar un reloj tan lento que permita la ejecución de cualquier operación en un sólo ciclo; usar un número distinto de ciclos para cada operación. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Ejecución de instrucciones Instrucción tipo R Examinaremos el cronograma necesario para la ejecución de add $s0, $s1, $s2 Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la suma Acción fetch direccionar leer instrucción Op Señales PC → bus de direcciones cargar registro de direcciones ciclo de memoria lectura cargar instrucción en UC PCT ALE ME MR LI Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la suma Acción decode PC ← PC + 4 cargar nuevo PC Op Señales UC pone un 4 en bus de datos selección de operandos y operación cargar acumulador transferencia a bus de datos cargar en PC DIT X, Y, OP LA DT LPC Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la suma Acción execute seleccionar registros sumar Op Señales UC genera las direcciones para A y B selección de operandos y operación hay que esperar. . . cargar resultado en acumulador Sel. A, Sel. B X, Y, OP LA Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la suma Acción write-back seleccionar registro destino cargar registro destino reiniciar contador de fases Op Señales transferencia al bus de datos DT direccionar el registro destino generar señal de carga Sel. A LR Reset Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Señales de la UC para la suma Señales de control Bus de datos Bus de direcciones XX XXX Instr XXX 4 PC PC+4 XXX $s1+$s2 XXX XXX Reset LR LPC DT B $s2 A $s1 $s0 LA OP suma suma Y PC port A X bus port B DIT LI ME MR ALE PCT Secuenciador Tiempo Figura: Señales emitidas por la UC para sumar dos registros Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Señales de la UC para la suma con emisión adelantada Señales de control Bus de datos Bus de direcciones XX XXX Instr PC XXX 4 XXX PC+4 XXX Instr $s1+$s2 PC+4 XXX Reset LR LPC DT B $s2 A $s1 $s0 LA OP suma suma Y PC port A X bus port B DIT LI ME MR ALE PCT Secuenciador Tiempo Figura: Suma de dos registros, con emisión adelantada Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Comentarios a la instrucción de suma El ancho del bus de datos ha de ser del mismo tamaño que la instrucción si sólo se ha de ocupar un ciclo de lectura. Hay un periodo de reloj “perdido” para descodificar la instrucción. Se podrı́a tener un sumador propio para incrementar el PC. Esta actualización se harı́a a la vez que se lee la instrucción de memoria. Se podrı́a empezar la siguiente instrucción sin acabar la actual si se tiene cuidado con los recursos compartidos (buses) y se tienen en cuenta los saltos condicionales. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Ejecución de instrucciones Instrucción tipo I Examinaremos el cronograma necesario para la ejecución de lw $t0, 12($s1) Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la carga Acción fetch direccionar leer instrucción Op Señales PC → bus de direcciones cargar registro de direcciones ciclo de memoria lectura cargar instrucción en UC PCT ALE ME MR LI Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la carga Acción decode PC ← PC + 4 cargar nuevo PC Op Señales UC pone un 4 en bus de datos selección de operandos y operación cargar acumulador transferencia a bus de datos cargar en PC DIT X, Y, OP LA DT LPC Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la carga Acción execute calcular $s1 + 12 Op Señales UC pone un 12 en bus de datos DIT selección del registro $s1 selección de operandos y operación cargar acumulador Sel. B X, Y, OP LA Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Operación paso a paso para la carga Acción write-back leer de memoria la dirección pedida cargar registro Op Señales transferencia al bus de direcciones AT cargar registro de direcciones activar memoria leer memoria selección del registro $t0 señal de carga ALE ME MR Sel. A LR Reset reiniciar contador de fases Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Ejecución de una instrucción tipo R Ejecución de una instrucción tipo I Señales de la UC para la carga Señales de control XXX Bus de datos Bus de direcciones XX Instr 4 XXX PC PC+4 12 XXX $s1+12 XXX [$s1+12] XXX XXX Reset LR LPC DT AT A $s1 $t0 LA OP suma suma Y PC port A X bus bus DIT LI ME MR ALE PCT Secuenciador Tiempo Figura: Señales emitidas por la UC para cargar un registro Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Entradas y salidas de la unidad de control La unidad de control (UC) recibe como entradas: una instrucción, el contador de fases, su estado actual, recogido en un registro de estado. Genera como salida todas las señales de control para cada fase. La señal de Reset coloca la UC de nuevo en el estado inicial. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Implementación como máquina de estados Una máquina de estados consta de: un conjunto de estados, un estado actual (recogido en el registro de estado), un conjunto de reglas para obtener, en función de las entradas y del estado actual, tanto la salida como el siguiente estado. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Máquina de estados Señales de control (salidas) Circuito puramente combinacional Registro de estado reloj Instrucción (entradas) reset Siguiente estado Figura: Partes de una máquina de estados Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Análisis de la implementación por máquina de estados Ventajas: número de componentes necesario mı́nimo; proceso de diseño automatizable. Inconvenientes: si hay muchas señales y/o muchos estados, la matriz de estados se hace muy grande; el diseño es poco auto-explicativo. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Microprogramación de la UC Se considera el valor de todas las señales de control en cada periodo y se transforma en una palabra de control o microinstrucción. Se almacenan en una memoria las microinstrucciones en el orden adecuado para ejecutar una instrucción, formando ası́ un microprograma. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Análisis de la UC microprogramada Ventajas: es fácil de depurar, porque los microprogramas son “palabras” de una memoria; se pueden implementar fácilmente más instrucciones, con sólo aumentar el tamaño de la memoria (si no era ya lo bastante grande); diseño sencillo y autoexplicativo; si la memoria se puede reescribir, es fácil hacer que un mismo hardware pueda ejecutar distintos juegos de instrucciones. Inconvenientes: mayor lentitud de operación; necesidad de más hardware y más coste. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Microprograma para la suma Señal PCT ALE MR ME LI DIT X Y OP LA A B DT 1 1 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 3 0 0 1 1 1 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 1 ~x ~y ~ op 1 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 1 7 0 0 0 0 0 0 ~x ~y ~ op 1 ~a ~b 0 8 0 0 0 0 0 0 0 0 0 0 ~a 0 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Requisitos de la UC microprogramada Almacenar en memoria todas las instrucciones posibles. Relacionar cada instrucción con su microprograma. Ejecutar la secuencia del microprograma que corresponde al código de instrucción. Ejemplo Si tenemos 5 bits para código de operación, 100 señales de control y un contador de periodos de 5 bits, el tamaño será 25 × 100 × 25 = 100 Kbits. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Soluciones para la UC microprogramada Disponer de suficiente memoria, optimizando la codificación. Indexar y secuenciar las operaciones. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación División por bloques Podemos reservar bloques de tamaño fijo para cada operación y direccionar la memoria con el código de operación. Inconveniente: se desperdicia mucha memoria. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Secuenciamiento explı́cito Consiste en incluir en cada microinstrucción un campo con la dirección de la siguiente, y un bit para indicar si es la última. Cada código de operación direcciona el comienzo del microprograma. Ventaja: se pueden re-utilizar microinstrucciones en varias instrucciones distintas (la fase de fetch suele ser siempre igual). Inconveniente: necesitamos más memoria. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Secuenciamiento explı́cito Ejemplo Si tenemos 5 bits para código de operación y un contador de periodos de 5 bits, necesitamos 5 + 5 + 1 adicionales a los de antes, es decir, 25 × 100 × 25 + 211 = 102 Kbits. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Secuenciamiento implı́cito Se colocan las microinstrucciones en posiciones sucesivas. Cada una lleva un bit para indicar si es la última. Se direcciona el comienzo de cada microprograma a través de una tabla. Se usa un contador de microprograma para avanzar por ella. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Máquina de estados Microprogramación Unidad de control microprogramada Señales de control (salidas) Memoria con el microcódigo 1 Contador de microprograma Sumador Selección de dirección Instrucción (entrada) Figura: Unidad de control con secuenciamiento implı́cito Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento ¿A qué llamamos rendimiento? Si soy un usuario que ejecuta un programa sobre dos máquinas distintas, prefiero la que termine antes. Para mı́ el rendimiento es velocidad de respuesta. Si soy el responsable de un centro de cálculo con dos máquinas que ejecutan trabajos para usuarios, prefiero la que ejecute más trabajos al dı́a. Para mı́ el rendimiento es productividad. Como usuarios, estaremos interesados sobre todo en la velocidad de respuesta. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Métricas de velocidad de respuesta Definición Sea ExT (c, X ) el tiempo que tarda en ejecutarse el programa X en el computador c. Definición Llamamos R(c, X ) al rendimiento del computador c al ejecutar el programa X . Intuitivamente, R(c, X ) ∝ 1 . ExT (c, X ) Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Métricas de velocidad de respuesta Dados dos computadores, A y B, ejecutando el programa X , si R(A, X ) > R(B, X ), entonces, 1 1 < ⇒ ExT (A, X ) < ExT (B, X ). R(A, X ) R(B, X ) Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Métricas de velocidad de respuesta Se puede considerar también la relación de rendimientos entre los computadores A y B: R(A, X ) = η, R(B, X ) por lo que habları́amos de que ((el computador A es η veces más rápido que el computador B)). Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Cuantificando el rendimiento Para cuantificar mejor, nos ceñimos a la velocidad de ejecución del procesador. El tiempo de ejecución de un programa es el producto de el número de ciclos necesarios para ejecutarlo × la duración de un ciclo. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Cuantificando el rendimiento Podemos subdividir el número de ciclos como el producto de el número total de instrucciones × el número de ciclos de ejecución promedio de cada instrucción (lo llamamos CPI). NB: No todas las instrucciones tardan el mismo número de ciclos: depende de su complejidad. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Cuantificando el rendimiento Con lo anterior llegamos a que ExT (A, X ) = Ic (X ) × CPI(A, X ) × τ (A), Ic (X ): CPI(A, X ): τ (A): instrucciones del programa X . CPI programa X , computador A. duración del ciclo en el computador A. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Unidades de medida MIPS: millones de instrucciones por segundo. Difı́cil comparar máquinas con diferentes repertorios de instrucciones. Depende mucho del compilador. MFLOPS: millones de instrucciones de coma flotante por segundo. Más dependiente de la dificultad intrı́nseca del problema. Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control Control de operaciones elementales El camino de datos de una máquina sencilla Fases de una instrucción Diseño de la unidad de control Medida del rendimiento Causas que influyen sobre el rendimiento Causa Repertorio de instrucciones Tecnologı́a del compilador Implementación del sistema Sistema de memoria Ic X X CPI X X X X τ X X Rev: 1.10 Raúl Durán Dı́az 5. Procesador: camino de datos y control