Jin Unidad4

Post on 10-Jul-2015

876 views 0 download

Transcript of Jin Unidad4

[ARQUITECTURA DE COMPUTADORES ]Nivel de Microarquitectura

Febrero 2008

Ing. Jorge Irey

Universidad Nacional del CallaoEscuela de Post GradoMaestría en Ingeniería de Sistemas

Un ejemplo de Microarquitectura

Recordando … camino de datos

Recordando … ALU de 1 bit

MAR = Memory Address RegistryMDR = Memory Data RegisterPC = Program CounterMBR = Memory Buffer RegistrySP = Stack PointerLV = Local Variable PointerCPP = Constant Pool PointerTOS = Top Of Stack RegistryOPC = OPC RegistryH = H Registry

F0

F1ENAENBINVAINC SSL8

SRA1

Puerto de Memoria de 32 bits direccionable por palabra

Puerto de Memoria de 8 bits direccionable por byteEste puerto SOLO lee.

Señal de control que habilitaLa salida del registro en el bus BSeñal de control que

habilitaLa carga del registro desde el bus C

Temporización de la trayectoria de datos

MPC= Micro Program CounterMIR = Micro Instruction Register

Operación de la Memoria

Si MAR = 1 el bus indica 4Si MAR = 2 el bus indica 8

MBR tiene 8 bits … escribe en un BUS de 32

Líneas de Control

Salida con SIGNO

Salida sin SIGNO

0 0 0 MBRSalida sin SIGNO

0 ó 1 0 ó 1 0 ó 1 MBR

Salida con SIGNO MBRBit de signo

Microinstrucciones

Microinstrucciones

Control de Microinstrucciones : MIC-1

TrayectoriaDe datos

Sección de Control

Se requieren los flip-flopsPorque en el flanco ascendente del reloj, el bus B no está siendoControlado y no puede suponerse que las salidas de la ALU sean correctas

MPC = MicroProgram CounterMIR= MicroInstruction Register

• En el flanco descendente MIR se carga con la palabra del almacen de control a la que MPC apunta. El tiempo de carga de MIR es ∆ w

• Las señales se propagan atraves de la trayectoria de datos• Se coloca 1 registro en el Bus B, la ALU sabe que instrucción

ejecutar y etc. Luego de un ∆ w + ∆ x las entradas de la ALU se han estabilizado.

• Despues de un tiempo ∆ y adicional, N y Z se guardan en los flip-flop

• Despues de un tiempo ∆ z la salida del desplazador llega a los registros por el Bus C

Determinación de la siguiente microinstrucción

NZ

Si JAM = 000Addr MPC

Ejemplo: siguiente microinstrucción

Un ejemplo de ISA : IJMV

LV = Local VariableSP = Stack Pointer

Cada palabra son 4 bytes

Una PILA puede tener 2 usos:Contener variables localesRetener operandos durante cálculos ariméticos

Pilas (Stack)

Pilas (Stack)

El modelo de memoria IJVM

4,294,967,296 bytes = 4 GB1,073,741,824 palabras de 4 bytes

Se cuenta en bytesSe cuenta en palabras

Conjunto de instrucciones IJVM

Compilación de Java a IJVM

Un ejemplo de Implementación

Microinstrucciones y Notación

Implementación de IJVM utilizando Mic-1

Implementación de IJVM utilizando Mic-1

Diseño del nivel de Microarquitectura

Rapidez vs. Costo : estrategias

• Reducir el número de ciclos de reloj necesarios para ejecutar una instrucción

• Simplificar la organización para que el ciclo de reloj pueda ser más corto

• Traslapar la ejecución de instrucciones

LECTURA

• Páginas 264 – 298 Libro de Tanenbaum – Organización de Computadores 4ta Ed.

• Próximo Domingo : Quiz.