Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y...
-
Upload
pepe-montalvan -
Category
Documents
-
view
236 -
download
0
Transcript of Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y...
![Page 1: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/1.jpg)
Organización del Computador I Verano
Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy
Verano 2004 Profesora Borensztejn
![Page 2: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/2.jpg)
Excepciones Unidad 2 2
Definiciones• Excepción: cambio inesperado en el flujo de control
proveniente de una causa interna o externa.• Interrupción: cambio inesperado en el flujo de
control proveniente de una causa externa.• El hardware debe ser capaz de salvar el estado
completo de la máquina, incluyendo la causa de la interrupción y el PC causante antes de pasar el control a la subrutina de servicio.
• Dificultad: cuando la excepción ocurre en el medio de una instrucción, y la instrucción requiere que el hardware restaure el estado existente antes de producirse el evento.
![Page 3: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/3.jpg)
Excepciones Unidad 2 3
Definiciones
Excepciones
Entre instrucciones
En el medio de la instrucción
Continuar: pedido E/S, breakpoint, trace.
Continuar: Fallo Página
Terminar: Overflow Instrucción Indefinida
• Una computadora se denomina recuperable si es capaz de salvar el estado existente antes de que se produzca el evento
![Page 4: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/4.jpg)
Excepciones Unidad 2 4
Ejemplos: excepciones en máquinas no segmentadas
• VAX, primera computadora reiniciable: instrucciones de longitud variable, de hasta 6 operandos que podían estar en memoria y además, almacenados de forma desalineada, de forma que la mitad de un operando podía estar en memoria y la mitad en disco!!! Cuando el procesador descubre que el siguiente byte de la instrucción NO está en memoria, tendrá que reiniciar una instrucción cuyo PC deberá apuntar 50 bytes más arriba!!
![Page 5: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/5.jpg)
Excepciones Unidad 2 5
Excepciones en la máquina no segmentada multiciclo
• Dos tipos de excepciones:– ejecución de una instrucción indefinida (0)– desbordamiento aritmético (1)
• Acciones: – Guardar la dirección de la instrucción causante en el
registro EPC (Exception Program Counter)(32 bits)
– Pasarle información al S.O sobre el tipo de excepción en un registro de estado llamado Cause (32 bits en MIPS)
– Transferir el control a una dirección predeterminada: supongamos 40000000H
![Page 6: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/6.jpg)
Excepciones Unidad 2 6
Camino de Datos con excepciones
MU
X
Pcsrc
Dst
DstW
40000040h
PC +4
Al PC
PC-4
EPCW
EP
C
IntCause
CauseW
Cause
00000000h
00000001h
![Page 7: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/7.jpg)
Excepciones Unidad 2 7
Control para excepciones
• Cuando se detectan?– Instrucción Indefinida: cuando no está definido
el valor del estado siguiente a partir del estado 1– Desbordamiento: debe detectarlo la ALU al final
del estado de resultado para tipo R.
![Page 8: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/8.jpg)
Excepciones Unidad 2 8
Grafo de Estados
IR<--MEM[PC];
PC<-PC+4
A<-----R[rs];
B<-----R[rt];
DST<---PC+(signext(inm16)<<2)
S<---AopB
S<---A+ signext(inm16)
Z<---AopB
si (Z) PC<--DST
dato<---MEM[S]MEM[S]<--B
R[rd]<---S R[rt]<---dato
Op=otro
Desbordamiento
Al estado 10
Al estado 11
![Page 9: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/9.jpg)
Excepciones Unidad 2 9
Control para excepciones
Cause<--0
CauseW=1
Cause<--1
CauseW=1
ALUselA=0
ALUselB=01
Aluop=01
EPCW=1
PCW=1
PCsrc=11
![Page 10: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/10.jpg)
Excepciones Unidad 2 10
Excepciones en la máquina segmentada lineal
M Reg
M Reg MReg
M Reg
M
M Reg M Reg
Add $1, $2, $1
Slt $15, $6, $7
Lw $16, 50($2)
Sw $25, 1000($0)
Sw $26, 1000($0)
1 2 3 4 5 6 7 8ciclos
Eliminadas !!
Reg M Reg
![Page 11: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/11.jpg)
Excepciones Unidad 2 11
Detección de la excepción de desbordamiento y cancelar
• La lógica está en EX.
• Hay una instrucción en IF, otra en ID, y otra en EX que hay que cancelar ===> señales IFFlush, IDFlush y EXFlush.
• Ecuaciones del Control para cancelar:• Si (V=1 )
IF.Flush=1; ID.Flush=1; EX.Flush=1;
• Control para salvar el PC en EPC
![Page 12: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/12.jpg)
Excepciones Unidad 2 12
Problemas• Las más difíciles de tratar son las excepciones que se producen en
el medio de la ejecución de una instrucción y tienen que ver con la instrucción. Son las llamadas excepciones síncronas, y deben ser recuperables
• Hay cinco instrucciones ejecutándose cuando se produce una excepción. Es importante identificar la instrucción que la produjo para saber qué instrucciones eliminar, qué PC guardar....
• Los distintos tipos de excepciones se producen en distintas etapas: por ejemplo código de op. Inválido se detecta en ID.
• Sin embargo, puede suceder que las excepciones se produzcan a la vez. Prioridades.
![Page 13: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/13.jpg)
Excepciones Unidad 2 13
Tipos de Excepciones• Búsqueda
– Fallo de página– Fallo de alineamiento en memoria– Error de protección
• Dec/Lectura– Código de operación ilegal
• ALU– excepción arimética
• Memoria– Fallo de página– Fallo de alineamiento en memoria– Error de protección
![Page 14: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/14.jpg)
Excepciones Unidad 2 14
Excepciones precisas
• La utilización de una arquitectura secuencial y una implementación segmentada entran en conflicto cuando se produce una excepción.
• Dada una instrucción que produce una excepción, ésta es precisa si:– El procesador puede pararse de forma que las
instrucciones :
anteriores FINALICEN
las posteriores PUEDAN REINICIARSE
![Page 15: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/15.jpg)
15
Excepciones precisas• DIFICULTAD CON:
– Instrucciones que modifican el estado del procesador antes de que se garantice que finalizarán
• ALTERNATIVA– No actualizar el estado hasta que exista garantía de que la
instrucción finalizará.
• INFLUENCIA :– Debido a que hay dependencias entre instrucciones la no
actualización del estado del procesador es perjudicial si se quieren mantener todos los segmentos ocupados y no bloquear
![Page 16: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/16.jpg)
16
Procesadores segmentados lineales
• Pasos para recuperarse de una excepción síncrona:– (a) Modificar el secuenciamiento– (b) Inhibir las escrituras– (c) Sistema Operativo– (d) Restaurar el estado
![Page 17: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/17.jpg)
17
(a) Modificar el secuenciamiento
• Forzar una instrucción de trap en el próximo ciclo
i add
i+1 lw
i+2 add
i+ 3 sw
i+ 4 sub
primera instrucción del SO
IF
IF
IF
IF
ID
ID
ID
ID
EX
EX
EX
EX
MEM WB
MEM
MEM
MEM
WBIF ID EX MEM
WB
WB
WB
Fallo de Página
IF ID EX MEM
![Page 18: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/18.jpg)
18
(b) Inhibir escrituras
• Previene cualquier cambio de estado antes de gestionar la excepción. (insertar burbuja)
i add
i+1 lw
i+2 add
i+3 sw
i+4 sub
primera instrucción del SO
IF
IF
IF
IF
ID
ID
ID
ID
EX
EX
EX
EX
MEM WB
MEM
IF ID EX
Fallo de Página
IF ID EX MEM
![Page 19: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/19.jpg)
19
(c) Sistema Operativo
• Salvar PC de la instrucción en curso
i add
i+1 lw
i+2 add
i+3 sw
i+ 4 sub
primera instrucción del SO
IF
IF
IF
IF
ID
ID
ID
ID
EX
EX
EX
EX
MEM WB
MEM
IF ID EX
Fallo de Página
IF ID EX MEM
![Page 20: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/20.jpg)
20
Sistema Operativo• Código rutina (para MIPS R-2000)
– $a0..$a3 corresponden a los registros $4..$7 y se utilizan para pasar parámetros
– $13 es el Registro Cause del Coprocesador 0
– $k0 es el registro $26 del procesador, es reservado para el ensamblador y sistema operativo
– $14 es el Registro EPC del coprocesador
– $k1 es el registro $27 del procesador, es reservado para el ensamblador y sistema operativo
– la instrucción rfe restaura los bits correspondientes en el registro de estado.
![Page 21: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/21.jpg)
21
Sistema Operativo
.ktext 0x80000080
sw $a0, save0; salva para luego pasar parámetros
sw $a1, save1;
mfc0 $k0, $13; transfiere causa de interrupción
mfc0 $k1, $14; transfiere EPC
lw $a0, save0; restaura
sw $a1, save1;
rfe
jr $k1; reejecuta instrucción
tratamiento
![Page 22: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/22.jpg)
22
(d) Restaurar Estado• Saltos indexados efectivos al final de la etapa de
búsqueda
k S.O
k+1 jr $27 (i+1)
IF
IF
IF
IF
ID
ID
ID
EX
EX
EX
MEM WB
MEM
IF ID EX
IF ID EX
i+1 lw
i+2 add
![Page 23: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/23.jpg)
23
Orden entre excepciones• Pueden presentarse de manera desordenada
IF
IF
IF
IF
ID
ID
ID
ID
EX
EX
EX
EX
MEM WB
MEM
IF ID EX
Fallo de Página
MEM
MEM
• No tratar una excepción hasta que se tiene garantía que las instrucciones anteriores finalizarán sin excepciones
• Tratar excepciones en orden.
![Page 24: Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.](https://reader035.fdocumento.com/reader035/viewer/2022062222/5665b4731a28abb57c9193a9/html5/thumbnails/24.jpg)
FIN Excepciones