estructura y tecnologÍa de computadores · 7 camino de datos multiciclo con excepciones camino de...
TRANSCRIPT
Universidad
Rey Juan Carlos
ESTRUCTURA Y TECNOLOGESTRUCTURA Y TECNOLOGÍÍA DE A DE COMPUTADORESCOMPUTADORES
Luis Rincón CórcolesLicesio J. Rodríguez-Aragón
Camino de datos y control:
visión de conjunto y conclusiones
Camino de datos y control: visión de conjunto y conclusiones
2
Programa
1. Excepciones e interrupciones.
2. Alternativas de diseño para el camino de datos.
3. Visión de conjunto.
4. Conclusiones.
Camino de datos y control: visión de conjunto y conclusiones
3
Las excepciones y las interrupciones son situaciones que requieren un tratamiento especial por parte del procesador.
Excepción: suceso inesperado del procesador acaecido por causas internas o inherentes a la ejecución de las instrucciones.
•Instrucción indefinida.•Desbordamiento aritmético.•Error de dirección.•Llamada a un servicio del sistema operativo.•Etc.
Interrupción: suceso inesperado producido fuera del procesador motivado por la demanda de un dispositivo de entrada / salida que pretende comunicarse con el procesador.
1. Excepciones e interrupciones
Camino de datos y control: visión de conjunto y conclusiones
4
La terminología difiere según las arquitecturas:•Intel 80x86: se denomina interrupción a ambos tipos de procesos.•Familia 68K de Motorola:
Excepción: operación del procesador fuera del proceso normal de ejecución de instrucciones. Puede ser externa o interna.Excepción interna: generada internamente por una instrucción o por
alguna condición inusual asociada a la ejecución de instrucciones.Excepción externa: interrupción debida a algún periférico, excepción por
error de bus o excepción de reset.•PowerPC:
Excepción: suceso inusual.Interrupción: cambio en el flujo de control de la ejecución de
instrucciones.
Terminología MIPS:•Excepción: cualquier cambio inesperado en el flujo de control, sin distinguir si se debe a causas internas o externas.•Interrupción: excepción debido a causas externas.
Excepciones e interrupciones
Camino de datos y control: visión de conjunto y conclusiones
5
Cada excepción concreta requiere un tratamiento individualizado, dependiendo de las causas que la produzcan.
Cuando sucede una excepción, se realizan automáticamente las siguientes operaciones:
•Identificar la causa que ha producido la excepción.•Guardar la dirección de la instrucción culpable (offending) de la excepción.•Transferir el control al sistema operativo, que comenzará a ejecutar una rutina de tratamiento de la excepción ubicada en una dirección concreta que se escribe automáticamente en el PC.
En el MIPS se considerará que la dirección de comienzo del tratamiento de las excepciones es la C000000016.
•Esta dirección se carga automáticamente en el PC al producirse una excepción.
MC68000: excepciones vectorizadas•Vector de excepción: dirección de comienzo de la rutina de tratamiento.•Existe un vector de excepción distinto para cada tipo de excepción contemplada.•Cada tipo de excepción tiene una rutina de tratamiento específica.•Cuando se produce la excepción, se carga en el PC el vector correspondiente.
Tratamiento de excepciones e interrupciones
Camino de datos y control: visión de conjunto y conclusiones
6
En el MIPS simplificado se añadirá la siguiente circuitería:•Un registro de 32 bits para guardar la dirección de la instrucción causante de la excepción: EPC.•Un registro de 32 bits que contiene un campo que indicará la causa que ha producido la excepción: Causa (Cause).•Una señal de control para escribir en el EPC: EscrEPC (EPCWrite).•Una señal de control para escribir en el registro de causa: EscrCausa (CauseWrite).•Una señal de control que determinará la causa de la excepción: CausaInt (IntCause).•Un multiplexor para seleccionar el valor escrito en el registro Cause.•Al multiplexor para cargar el valor siguiente al PC se le añadirá una cuarta posibilidad para cargar el valor C000000016 de la rutina de tratamiento de excepciones.
Posibles causas de excepción en nuestro camino de datos:•Instrucción indefinida (código: 0).•Desbordamiento aritmético (código: 1).
Tratamiento de excepciones e interrupciones
Camino de datos y control: visión de conjunto y conclusiones
7
Camino de datos multiciclo con excepciones
Camino de datos y control: visión de conjunto y conclusiones
8
Ante una excepción, en nuestro camino de datos se realizarán las siguientes operaciones (todas ellas en un único ciclo de reloj):
•Se detecta la causa de la excepción y se pone el valor adecuado en la señal IntCause.•Se carga el registro Cause.•Decrementa el PC (ya está apuntando a la instrucción siguiente) y guarda el valor decrementado en EPC.•Escribe en el PC el valor C000000016.
Tratamiento de excepciones e interrupciones
11
10
To state 0 to begin next instruction
PC++Source = 11
ALUSrcA = 0ALUSrcB = 01ALUOp = 01
EPCWritePCWrite
IntCause = 0CauseWrite
ALUSrcA = 0ALUSrcB = 01ALUOp = 01
EPCWritePCWrite
PCSource = 11PCSource = 11
IntCause = 1CauseWrite
Detección de las causas de excepción en nuestro camino de datos:•Instrucción indefinida: el código de operación no está contemplado en el estado 1 del diagrama de estados.•Desbordamiento aritmético: la señal de desbordamiento de la UAL está activa tras realizar la operación aritmética en las instrucciones R.
Camino de datos y control: visión de conjunto y conclusiones
9
Diagrama de estados multiciclo con excepciones
ALUSrcA = 1ALUSrcB = 00ALUOp = 01PCWriteCond
PCSource = 01
ALUSrcA = 1ALUSrcB = 00ALUOp = 10
RegDst = 1RegWrite
MemtoReg = 0
MemWriteIorD = 1
MemReadIorD = 1
ALUSrcA = 1ALUSrcB = 00ALUOp = 00
RegWriteMemtoReg = 1
RegDst = 0
ALUSrcA = 0ALUSrcB = 11ALUOp = 00
MemReadALUSrcA = 0
IorD = 0IRWrite
ALUSrcB = 01ALUOp = 00
PCWritePCSource = 00
Instruction fetchInstruction decode/
Register fetch
Jumpcompletion
BranchcompletionExecution
Memory addrescomputation
Memoryaccess
Memoryaccess R-type completion
Write-back step4
01
986
7 11 1053
Start
Overflow
Overflow
ALUSrcA = 0ALUSrcB = 01ALUOp = 01
EPCWritePCWrite
PCSource = 11
IntCause = 0CauseWrite
ALUSrcA = 0ALUSrcB = 01ALUOp = 01
EPCWritePCWrite
PCSource = 11
IntCause = 1CauseWrite
PCWritePCSource = 10
(Op = 'LW') or (Op = 'SW') (Op = R-Type)
(Op
= 'B
EQ')
(Op =
'JM
P')
(Op =
'LW
')
(Op = 'SW
')
(Op = others)
Camino de datos y control: visión de conjunto y conclusiones
10
Con este esquema, en las instrucciones de tipo R se escribe el resultado en el banco de registros aun cuando se haya producido desbordamiento.
Hay otras posibles situaciones de excepción que de momento no se han contemplado:
•Error de acceso a memoria.•Interrupción solicitada por un dispositivo de entrada/salida.
El tratamiento de excepciones en el MIPS y la circuitería asociada es más complejo que lo que se ha visto aquí.
La detección y el tratamiento de excepciones están en el camino crítico del tiempo de la máquina e influyen en la duración del ciclo del reloj.
Tratamiento de excepciones e interrupciones
Camino de datos y control: visión de conjunto y conclusiones
11
Según el número de buses para datos empleados en el camino de datos (sin contar el bus de control), es posible establecer una clasificación de los distintos modelos de interconexión para el mismo:
•Camino de datos con 0 buses.•Camino de datos con 1 bus.•Camino de datos con 2 buses.•Camino de datos con 3 buses.
Camino de datos con 0 buses:•Las interconexiones entre los elementos del camino de datos se realizan exclusivamente mediante enlaces dedicados y multiplexores.•Esta es una solución poco flexible y muy adaptada a las características del repertorio de instrucciones del computador.•Suele ofrecer buenas prestaciones, y es algo cara.•El camino de datos planteado en este tema pertenece a esta categoría.
Diseñado para una arquitectura de carga / almacenamiento.Adaptado a instrucciones aritméticas con dos operandos en registros.No permite operaciones aritméticas con operandos en memoria.
2. Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
12
Buffer triestado: se utiliza para conectar la salida de los elementos a los buses.
Tiene una señal de control que permite que la información entrante le atraviese si está activa, pero si dicha señal se desactiva, la conexión entre la entrada y la salida desaparece (estado de alta impedancia).
Dato n
C_Dato
Activo Inactivo
Dato_A n
C_Dato_A
Dato_B n
C_Dato_B
Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
13
Camino de datos con 1 bus:•Los elementos del camino de datos se comunican entre sí a través de un bus, normalmente junto con algunas conexiones dedicadas.•Esta es una solución más flexible, pero aún estará adaptada a las características del repertorio de instrucciones del computador.•Suele ofrecer prestaciones bajas, porque el bus puede convertirse en un cuello de botella.
Alternativas en el diseño del camino de datos
Camino de datos con registros independientes
Camino de datos con banco de registros
Camino de datos y control: visión de conjunto y conclusiones
14
Camino de datos con 2 buses:•Los elementos del camino de datos se comunican entre sí a través de dos buses, normalmente junto con algunas conexiones dedicadas.•Esta es una solución más flexible que la anterior, pero aún estará adaptada a las características del repertorio de instrucciones del computador.•Mejora las prestaciones del caso de un solo bus, aunque también puede haber conflictos en las necesidades de acceso al bus que ralenticen el funcionamiento de la máquina.
Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
15
Camino de datos con 3 buses:•Los elementos del camino de datos se comunican entre sí a través de tres buses.•Quizá haya también algunas conexiones dedicadas.•Esta es la solución más flexible, pero también es bastante cara.•Mejora las prestaciones de los casos con 1 ó 2 buses, pero no la del camino de datos con interconexiones mediante multiplexores.
Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
16
Fuente: P. de Miguel, “Fundamentos de los Computadores”, 7ª ed. Ed. Paraninfo, 1999.Inadecuado para instrucciones aritméticas con tres operandos.En instrucciones aritméticas normalmente un operando estará en registro y el otro podrá ser un
registro, un inmediato o un dato residente en memoria.
Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
17
Alternativas en el diseño del camino de datosFuente: C. Cerrada, V. Feliu. “Estructura y Tecnología de Computadores I”. UNED, 1993.Inadecuado para instrucciones aritméticas con dos operandos en registros y para emplear
direccionamiento indirecto a registro.En el dibujo se han obviado los triestados para conexión al bus.
Camino de datos y control: visión de conjunto y conclusiones
18
Alternativas en el diseño del camino de datosFuente: J.M. Angulo, J. García, I. Angulo: “Fundamentos y Estructura de Computadores”. Ed.
Paraninfo, 2003.No tiene registros para almacenar datos temporales, salvo los que están ubicados en las
entradas de la UAL.
Camino de datos y control: visión de conjunto y conclusiones
19
Alternativas en el diseño del camino de datosFuente: J.M. Angulo, J. García, I. Angulo: “Fundamentos y Estructura de Computadores”. Ed.
Paraninfo, 2003.Tiene varios registros de propósito específico.
Camino de datos y control: visión de conjunto y conclusiones
20
Fuente: J.L Hennessy, D.A. Patterson. “Arquitectura de computadores”, 1ª ed.McGraw-Hill, 1989.
Esquema muy flexible por la existencia de dos buses para los operandos de entrada y un bus para el de salida, todos ellos con un alto grado de conectividad.
Alternativas en el diseño del camino de datos
Camino de datos y control: visión de conjunto y conclusiones
21
El repertorio de instrucciones de la máquina determina en gran medida:•Las características de las unidades funcionales presentes en el mismo.•El esquema de interconexiones del camino de datos.•Las señales de control necesarias.
Las máquinas con repertorio de instrucciones complejo dificultan el control.•Codificación de instrucciones compleja.•Gran variedad de formatos de instrucción.•Instrucciones con longitudes diferentes.•Instrucciones con duraciones diferentes, algunas de ellas muy largas.•Gran variedad de modos de direccionamiento.
Las máquinas con repertorio de instrucciones reducido simplifican el control.•Codificación de instrucciones uniforme.•Pocos formatos de instrucción.•Instrucciones con longitud fija.•Instrucciones con duraciones similares.•Pocos modos de direccionamiento.•Número razonable de registros (normalmente 32 ó 64).
3. Visión de conjunto
Camino de datos y control: visión de conjunto y conclusiones
22
La microprogramación es recomendable como técnica para especificar el control para máquinas con repertorio de instrucciones complejo.
•La implementación puede ser cableada o microprogramada.•Permite comprender más fácilmente el funcionamiento de la máquina.•Facilita la identificación de los patrones de activación de las señales de control, así como su secuenciamiento.
En máquinas con repertorio de instrucciones sencillo también puede usarse la microprogramación como técnica para especificar el control.
•La implementación suele ser cableada.
Los repertorios de instrucciones reducidos facilitan la aplicación de técnicas que permiten aumentar el rendimiento de la máquina.
•Segmentación.•Replicación de unidades funcionales.•Ejecución desordenada de instrucciones.•Emisión múltiple (ejecución simultánea de varias instrucciones).•Ejecución especulativa.
Visión de conjunto
Camino de datos y control: visión de conjunto y conclusiones
23
La implementación microprogramada es más flexible que la cableada, ya que permite modificar el diseño sin más que cambiar el contenido de la memoria de control.
La implementación cableada es más eficiente que la microprogramada, ya que permite reducir la duración del ciclo de reloj (las señales de control se generan más rápidamente).
•Las implementaciones microprogramadas no se suelen emplear cuando se requieren elevados rendimientos.
Hoy en día, el camino de datos y el control se diseñan con la ayuda de lenguajes de descripción de hardware y herramientas CAD.
La microprogramación se usa actualmente en controladores para periféricos o en sistemas de propósito específico (módems, impresoras, unidades de CD, DVD, etc).
Visión de conjunto
Camino de datos y control: visión de conjunto y conclusiones
24
Se han estudiado los elementos básicos que suelen formar parte del camino de datos de la mayoría de los computadores.
Se ha estudiado una implementación uniciclo del camino de datos y el control para un subconjunto del repertorio de instrucciones del MIPS.
Se ha estudiado una implementación multiciclo del camino de datos para el mismo subconjunto del repertorio de instrucciones del MIPS.
Se han presentado dos implementaciones cableadas y una microprogramada para el control en el camino de datos multiciclo anterior.
Se han comparado las alternativas presentadas, discutiendo sus ventajas e inconvenientes.
Se han analizado las implicaciones derivadas del tratamiento de excepciones en el diseño del camino de datos y del control.
Se ha analizado la importancia de la arquitectura del repertorio de instrucciones en el diseño del camino de datos y el control.
4. Conclusiones