Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen...

55
Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar

Transcript of Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen...

Page 1: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Arquitectura de Computadores

Resumen para Certamen 2

(segunda parte)

Por Franco Zuccar

Page 2: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

MIPS

• Procesador de 32 bits (largo de instrucción)

• Registros de 32 bits (32 bits = word o palabra)

• Archivo de registros con 32 registros– $s0-$s7: saved registers

– $t0-$t9: temporary registers

– $a0-$a3: argument registers

– $v0-$v1: result registers

– $k0-$k1: kernel registers

– &zero,$at,$gp,$sp,$fp,$ra : special registers

Page 3: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Endian

• Es el orden con que se almacenan los bits en la memoria

• MIPS utiliza big endian

Page 4: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucciones

• MIPS presenta 3 tipos de instrucciones

– Instrucciones R: de registros

– Instrucciones I: inmediatas o de memoria

– Instrucciones J: de saltos

• Se debe identificar que instrucción se está procesando para activar ciertos caminos que realizará la información dentro del procesador

Page 5: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucciones R

• 6 bits que identifican el tipo de instrucción

• 15 bits que indican la dirección de 3 registros (5 bits cada uno = 32 registros)

• 5 bits para la rotación de registros (donde corresponde)

• 6 bits para definir la función a utilizar

Opcode (6) Rs (5) Rt (5) Rd (5) Sa (5) Function (6)

Page 6: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucciones I

• 6 bits que identifican el tipo de instrucción

• 10 bits que indican la direccion de 2 registros (5 bits cada uno)

• 16 bits que almacenan el valor inmediato a utilizar en la operacion

Opcode (6) Rs (5) Rt (5) Immediate (16)

Page 7: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucciones J

• 6 bits que identifican el tipo de instrucción

• 26 bits que indican la posición en la memoria a la cual se debe realizar el salto

Opcode (6) Target (26)

Page 8: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Comparación de instrucciones

• Todas presentan 6 bits iniciales que identifican a la instrucción para interpretarla correctamente.

Opcode (6) Rs (5) Rt (5) Rd (5) Sa (5) Function (6)

Opcode (6) Rs (5) Rt (5) Immediate (16)

Opcode (6) Target (26)

Page 9: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Interrupciones-Excepciones

• Ambas se refieren a llamadas a sub rutinas no planificadas

• Interrupción es un evento externo que genera esta llamada (teclado, pantalla, disco, etc)

• Excepción es un evento interno que genera esta llamada (overflow, división por cero, instrucción incorrecta, etc)

Page 10: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Tratamiento de int-exc

• Pueden ser de dos tipos:

– Con un registro especial que guarda la causa de la int-exc. La ejecucion del programa salta a una direccion especifica.

– Interrupciones vectorizadas. La ejecucion del programa salta a distintas direcciones dependiendo de la causa de la int-exc donde se deben realizar las acciones correspondientes según el caso.

Page 11: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Coprocesadores matemáticos

• Son unidades de hardware encargadas de realizar cálculos matemáticos complejos (multiplicación, división, matrices, etc.)

• Utilizan las operaciones básicas que presentan las ALU’s pero utilizando un algoritmo (por ejemplo para multiplicar se suma el multiplicando tantas veces como diga el multiplicador)

• El algoritmo se realiza mucho más rápido en el coprocesador que en el procesador ya que el coprocesador tiene hardware diseñado específicamente para realizar estas tareas

Page 12: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Unidad de Control

• Esta unidad de hardware recibe la instrucción que se debe ejecutar en el procesador y dependiendo de esta instrucción, enviará señales de control a todo el procesador para activar o desactivar ciertas partes dependiendo de lo que se necesite para ejecutar la instrucción dada

• Las señales de control pueden generarse según un esquema fijo (circuito combinacional) creado al diseñar la UC o mediante microprogramación

Page 13: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Etapas de una instrucción

• Para ejecutar una instrucción se deben seguir algunas o todas de las siguientes etapas:

– IF: Fetch de instrucción

– ID: Decodificación y fetch de registros

– EX: Ejecución y cálculo de la dirección efectiva

– MEM: Acceso a la memoria en lectura o escritura

– WB: Escritura de registros en el archivo de registros

Page 14: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

IF (Instruction Fetch)

• Siempre se realiza

• Se obtiene la instrucción ubicada en la dirección contenida en PC

• A la dirección se le suma 4 para obtener la dirección de la siguiente dirección

• Se guarda nuevamente el valor en PC (excepto en las instrucciones de saltos en las cuales se guarda la dirección correspondiente al salto)

Page 15: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

ID (Instruction Decode)

• Siempre se realiza

• La instrucción obtenida es decodificada en la unidad de control para generar las señales de control y así ejecutar la instrucción

• En las instrucciones que utilizan registros (tipos R y algunas I) además se obtienen los registros ubicados en las direcciones que la instrucción indica

Page 16: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

EX (Execution)

• Sólo instrucciones tipo R e I

• Se realizan los cálculos en la ALU (tipo R y algunas I)

• Se calculan las direcciones de memoria efectivas (tipo I que acceden a memoria)

Page 17: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

MEM (Memory)

• Sólo tipo I que acceden a memoria

• Se obtiene el contenido de la dirección solicitada o se escribe nuevo contenido en ella

Page 18: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

WB (Write Back)

• Sólo instrucciones tipo R y algunas I

• Los datos obtenidos de los cálculos de la ALU o leídos desde la memoria se guardan en los registros

Page 19: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

La máquina monociclo

• En este tipo de procesador todos los pasos que se deben ejecutar para realizar la instrucción dada se deben realizar en un solo ciclo de procesador

• Esto implica que se debe separar la memoria de datos de la memoria del programa para que estas puedan ser accedidas al mismo tiempo

Page 20: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo IF (R,I,J)

• El contenido de PC pasa al registro de dirección de la memoria de programa y al mismo tiempo pasa a una ALU para incrementar en 4

Page 21: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo ID (R, I, J)

• El OPCode (31-26) de la instrucción leída entra a la Unidad de Control

• Las direcciones de los registros a utilizar (25-16) entran al archivo de registros

Page 22: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo EX (R,I)

• Los registros leídos entran como operandos a la ALU y se ejecuta la operación

• Los valores inmediatos y direcciones se expanden de 16 a 32 bits y se utilizan los primeros en la ALU o se utilizan para la nueva dirección de instrucción

Page 23: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo MEM (I)

• Se escribe o se lee un dato en o desde la memoria

Page 24: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo WB (R,I)

• Se guardan los datos obtenidos de cálculos o de lectura de memoria en los registros

Page 25: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Monociclo Control de Salto (J,I)

• No es una etapa, sólo se define cual será la dirección de la siguiente instrucción a ejecutar

Page 26: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Maquina Monociclo Completa

Page 27: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucción tipo R

• Se obtiene la instrucción

• Ingresa OPCode a UC

• Ingresan las direcciones de registros a leer al archivo de registros

• Entran los datos obtenidos de los registros a la ALU

• El resultado de la operación se guarda en un registro

Page 28: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 29: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 30: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 31: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 32: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 33: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucción tipo I (lw)

• Se obtiene la instrucción

• Ingresa OPCode a UC

• Ingresa la dirección del registro donde se encuentra el valor a sumar a la dirección base

• Se extiende de 16 a 32 bits la dirección base

• Ingresa la dirección base extendida y el valor a sumar leído del registro a la ALU

• El resultado de la suma entra a la dirección a leer de memoria

• El valor leído de la memoria se guarda en un registro

Page 34: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 35: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 36: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 37: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 38: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 39: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 40: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 41: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Instrucción tipo I (beq)

• Se obtiene la instrucción• Ingresa OPCode a UC• Ingresan las direcciones de registros a leer al archivo de

registros• Se extiende de 16 a 32 bits la dirección base• Entran los datos obtenidos de los registros a la ALU• Se realiza un corrimiento a la izquierda de 2 bits a la

dirección base extendida• Se suma PC+4 y la dirección base extendida• Si la comparación de los dos registros que ingresaron a la

ALU es correcta, entonces se guarda en PC el valor de la suma de direcciones

Page 42: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 43: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 44: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 45: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 46: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 47: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 48: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 49: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 50: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Deficiencias de la maquina Monociclo

• Todas las instrucciones demoran lo mismo (el tiempo que toma realizarse la instrucción más lenta) perdiéndose tiempo en las instrucciones más rápidas

• Al realizarse todas las etapas en un mismo ciclo, todos los elementos deben estar disponibles siempre. Lo que implica que la memoria debe separarse entre instrucciones y datos

Page 51: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Maquina Multiciclo

• Separa cada etapa en un ciclo distinto. Esto hace innecesario separar la memoria y permite utilizar distintos elementos para realizar distintas tareas simultáneamente

• La ejecución de una instrucción toma solo la cantidad de ciclos que requiere para realizar sus etapas

• Se deben preservar los valores obtenidos en cada ciclo para trabajar en el siguiente con ellos. Esto se logra utilizando registros en cada entrada y/o salida de los distintos elementos

• La ejecución se comporta como una maquina de estados (pasa de la ejecución de una etapa a la siguiente como estados)

Page 52: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos
Page 53: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Micro programación

• La unidad de control puede estar diseñada para generar señales de control utilizando un circuito secuencial (fijo) o puede ser micro programado (variable)

• La micro programación se basa en micro instrucciones y micro operaciones

• Las micro operaciones realizan las tareas más simples como abrir o cerrar compuertas o enviar señales especificas a los distintos elementos

• Un conjunto de micro operaciones forman una micro instrucción. Estas micro operaciones no pueden ser excluyentes entre si pues se realizan al mismo tiempo

Page 54: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Micro operaciones

• REGin/out: habilita la compuerta de entrada o salida del registro

• Read: realiza la lectura en la memoria• Write: realiza la escritura en la memoria• WMFC: realiza una pausa hasta que la escritura/lectura en

memoria se haya realizado• Select4: selecciona la constante 4 como operando en la ALU• SelectY: selecciona el registro Y como operando en la ALU• Add/Sub: selecciona la operación de suma en la ALU• End: finaliza el micro programa

Page 55: Arquitectura de Computadores · 2013. 3. 10. · Arquitectura de Computadores Resumen para Certamen 2 (segunda parte) Por Franco Zuccar. MIPS ... •Si la comparación de los dos

Registros en un micro programa

• RX: registro común (X=0,1,…)• PC: registro que guarda la dirección de la instrucción (no

micro) que se ejecutará• IR: guarda la instrucción leída y que se está ejecutando• MAR: registro donde se indica la dirección en la memoria

en que se desea leer/escribir• MDR: registro que guarda el dato que se desea escribir o

que se ha leído de la memoria• Y: registro que se utiliza como primer operando en la ALU

(el segundo es el contenido del bus• Z: registro que guarda el resultado de la operación realizada

en la ALU