Jin Unidad4
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.