Electronica
Facultad de Ingeniería Universidad de la República
Instituto de Computación Curso 2010
Veremos
Ciclo de Instrucción
“Normal” Con interrupciones
La Unidad de Control El bus del sistema Procesamiento de la Entrada/Salida
1
Ciclo de Instrucción
Dos pasos:
Fetch Execute
Ciclo Fetch
El Program Counter (PC) tiene la dirección de lapróxima instrucción El procesador trae desde memoria la instrucción apuntada por el PC Se carga la instrucción en el Instruction Register (IR) Se incrementa el PC, a menos que se indique otra cosa
2
Ciclo Execute
Procesador - memoria
Transferencia entre CPU y memoria
Procesador - E/S
Transferencia entre CPU y módulo de E/S
Procesamiento de datos
Operación lógica o aritmética sobre losdatos
Control
Alteración de la secuencia de operaciones
• Ej. jump
Combinación de las anteriores
• Ej. Add [100], r1
Ejemplo de ejecución de un programa
4 bits 12 bits
Opcode
1 bit
Dirección
15 bits
S
Magnitud
0001 – Cargar AC desde memoria 0010 – Almacenar AC en memoria 0101 – Sumar a AC un dato de memoria
3
Ciclo de Instrucciones
Diagrama de EstadosInterrupciones
Mecanismo que permite interrumpir la secuencia normal de procesamiento de la CPU ante condiciones particulares Pueden ser de alguna de las siguientes clases:
Programa
• Ej. overflow, división por cero, protección de memoria
Timer
• Generado por un temporizador interno del procesador • Usado en pre-emptive multi-tasking
E/S
• Provocada por el controlador de E/S
Fallo deHardware
• Ej. Error de paridad de memoria
4
Ciclo de Interrupciones
Se agrega al ciclo de instrucción Procesador chequea por la interrupción
Indicado por una señal de interrupción
Si no hay interrupción, fetch próxima instrucción Si hay una interrupción pendiente:
Suspender ejecución del programa corriente Salvar contexto Hacer que PC apunte a la dirección de inicio del manejador de lainterrupción Procesar interrupción Restaurar contexto y continuar el programa interrumpido
Transferencia de Control vía Interrupciones
5
Control de Flujo del Programa
Tiempos de ejecución sin y con interrupciones
E/S de corta duración
E/S de larga duración
6
Ciclo de Instrucción con Interrupciones
Ciclo de Instrucción con Interrupciones
Diagrama de Estados
7Ciclo de instrucción “normal”
Ciclo de instrucción con interrupciones
Múltiples Interrupciones
Deshabilitar interrupciones
El procesador ignorará las interrupciones mientras se procesa otra interrupción Las interrupciones quedan pendientes y son atendidas una vez que la primera interrupción ha sido procesada Las interrupciones son manejadas en secuencia
Definir prioridades
Los manejadoresde interrupciones de baja prioridad pueden ser interrumpidos por interrupciones de mayor prioridad Una vez que se ha procesado la interrupción de mayor prioridad, se retorna al manejador de la interrupción previa
8
Múltiples Interrupciones Secuencial
Múltiples Interrupciones Anidadas (1/2)
9
Múltiples Interrupciones Anidadas (2/2)
El diseño del procesador
La CPU ejecuta osupervisa la ejecución de las instrucciones que componen un programa, y por lo tanto tiene un impacto fundamental en la performance del sistema
Está constituido por unidades funcionales que incluyen:
El datapath (camino de datos)
• Set de registros • ALU
La Unidad de Control
10
Algunas decisiones importantes
Cantidad, ancho y reglas de uso del set de registros DireccionamientoTecnología del dispositivo Set de Instrucciones Diseño de la Unidad de Control: cableada o microprogramada?
La Unidad de Control
La instrucción contenida en el Instruction Register (IR) determina la acción de la Unidad de Control La ejecución incluye los siguientes pasos:
• • • • • Instruction Fetch (IF) Instruction Decode (ID) Operand Fetch (OF) Operation Execution (OE) Operand Store(OS)
La...
Regístrate para leer el documento completo.