ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES · 7 Camino de datos multiciclo con excepciones Camino de...

12
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOG ESTRUCTURA Y TECNOLOGÍ A DE A DE COMPUTADORES COMPUTADORES Luis Rincón Córcoles Licesio 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.

Transcript of ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES · 7 Camino de datos multiciclo con excepciones Camino de...

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