Arquitectura de Computadores

Comentarios

Transcripción

Arquitectura de Computadores
Arquitectura de Computadores
1. Introducción
2. La CPU
3. Lenguaje Máquina
4. La Memoria
5. Sistemas de Entrada/Salida
6. Segmentación (Pipeline)
7. Memoria Caché
8. Arquitecturas RISC
Arquitectura de Computadores
Sistemas de E/S - 1
Estructura de un Sistema de E/S
CPU
Memoria
Controlador
de Vídeo
Controlador
de Teclado
Controlador
de Disquete
Controlador
Impresora
Buses de dirección, datos y control
Controlador
de Discos
DD1
Arquitectura de Computadores
DD2
Sistemas de E/S - 2
...Estructura de un Sistema de E/S
CPU
Controlador
Comandos
Estado
Datos
Arquitectura de Computadores
Dispositivo
Sistemas de E/S - 3
Cometido de un Controlador
Funciones de un Controlador de Dispositivo
Control y temporización del flujo de datos
Comunicación con la CPU
- Decodificación de comandos
- Intercambio de datos con la CPU
- Informar del estado del dispositivo
- Reconocimiento de la dirección del dispositivo
Comunicación con el dispositivo
Almacenamiento temporal de datos (buffer)
Detección de errores
Arquitectura de Computadores
Sistemas de E/S - 4
Estructura del Software de E/S
Los programas implicados
en la E/S deben proporcionar:
Independencia del dispositivo
Gestión de errores cercano al hardware
Reparto y protección de dispositivos
Arquitectura de Computadores
Sistemas de E/S - 5
...Estructura del Software de E/S
Procesos de usuario
SW. independiente de dispositivo
Sistema
Operativo
Manejador de dispositivo (Driver)
Manejador de Interrupciones (RTI)
int.
Controlador del dispositivo
Hardware
DD1
Arquitectura de Computadores
Sistemas de E/S - 6
Acceso a los Dispositivos de E/S
Direccionamiento de la E/S
E/S
Explícita
E/S
Mapeada
Espacios de
direccionamiento
separados
Un único espacio de
direccionamiento
Arquitectura de Computadores
Sistemas de E/S - 7
...Espacio de Direcciones de E/S
E/S Explícita
Intel: Instrucciones explícitas de E/S
IN (AX, FFF4);
OUT (AX, FFF6);
PowerPC: Registro de control para conmutar de
espacio de direccionamiento
E/S Mapeada
68000: Instrucciones normales
MOVE.B $EFFA07,D0
MOVE.B D0,$EFFA07
Arquitectura de Computadores
Sistemas de E/S - 8
Métodos de Entrada/Salida
La comunicación
entre CPU y
dispositivo se
realiza en 2 fases
1º Sincronización CPU - Dispositivo
2º Transferencia del Dato
Estos 2 pasos pueden realizarse:
SW. Baja
Por Polling
Por Interrupciones
Por DMA
HW. Alta
Polling Interrupciones DMA
Sincronización SW-CPU
HW.
HW.
Transferencia SW-CPU
SW-CPU
HW.
Arquitectura de Computadores
Sistemas de E/S - 9
Métodos de E/S
E/S por Sondeo (polling)
Lectura de Teclado y Eco por Pantalla
repeat
Esperar a que se pulse una tecla;
Leer la tecla (carácter) pulsada;
Esperar a que la pantalla esté lista;
Enviar carácter a la pantalla;
until false;
Arquitectura de Computadores
Sistemas de E/S - 10
Métodos de E/S
...E/S por Sondeo (polling)
Lectura de Teclado y Eco por Pantalla
inic_ES
........
........
rts
env_car
btst.b
beq
move.b
rts
#2,SRA
env_car
D5,TBA
rec_car
btst.b
beq
move.b
rts
#0,SRA
rec_car
RBA,D5
Inicio
Bucle
bsr
bsr
bsr
bra
inic_ES
rec_car
env_car
bucle
Arquitectura de Computadores
Sistemas de E/S - 11
Métodos de E/S
...E/S por Sondeo (polling)
El dispositivo no puede
actuar cuando lo necesita
sino sólo cuando le
atienden.
Inconvenientes de la
E/S por polling
Se realiza espera activa.
Arquitectura de Computadores
Sistemas de E/S - 12
...¿Qué Es una Interrupción?
Métodos de E/S
Flujo Normal
de Ejecución
R T I
y
x
DD1
Int
Arquitectura de Computadores
.
MOV
CMP
.
. .
AX,BX
AX,0
. .
z
{
IN AX
MOV AX,BX
MOV 0,AX
OUT FFF4
. . .
IRET
Sistemas de E/S - 13
...¿Qué Es una Interrupción?
Métodos de E/S
Vectores de
Interrupción
(256)
Memoria Principal
Dir R T I 0
Dir R T I 1
Dir R T I 2
Dir R T I 3
Dir R T I 4
...
Sistema
Operativo
RTI 3
RTI 2
RTI 1
Arquitectura de Computadores
Sistemas de E/S - 14
Tipos de Interrupciones
Métodos de E/S
- Externas
(asíncronas)
Tipos
de
Interrupciones
- Internas
(Excepciones, Traps)
(síncronas)
- Instr. ilegal
- Anomalías en - Bus error
instrucciones
- Div. por cero
- Overflow
- Interrupciones -Trap #7
Software
Arquitectura de Computadores
Sistemas de E/S - 15
Petición de Interrupción
Métodos de E/S
¿Cuántas patas hay para comunicarle interrupciones a la CPU?
MC
68000
CPU
BERR
RESET
Arquitectura de Computadores
INTR
BERR*
IPL0*
RESET*
IPL1*
HALT*
IPL2*
NMI
Sistemas de E/S - 16
...Petición de Interrupción
Métodos de E/S
¿Cómo se atienden varias interrupciones simultáneas?
INTR
CPU
INTA
P I C
Lógica de Prioridades
IRQ0 IRQ1 IRQ2
IRQ3 IRQ4 IRQ5
IRQ6 IRQ7
Arquitectura de Computadores
Sistemas de E/S - 17
Enmascaramiento de Interrupciones
¿Siempre hay que atender a las interrupciones?
- Reset (RESET)
No
Enmascarables - Error de Bus (BERR)
- NMI (NMI)
Interrupciones
ENABLE
DISABLE
Enmascarables
Flag en Reg. Estado
Arquitectura de Computadores
Sistemas de E/S - 18
Métodos de E/S
...Petición de Interrupción
¿Se puede inhibir un nivel concreto de interrupciones?
CPU
INTR
Lógica de Prioridades
INTA
Máscara de Interrupciones
Arquitectura de Computadores
P
I
C
Sistemas de E/S - 19
Aceptación y Tratamiento
Interrupciones
Aceptación
1. Extraer instrucción
2. Actualizar PC
3. Decodificar instrucción
4. Ejecutar instrucción
no
¿ IF = 1 ?
no
¿ NMI ?
si
no
INTR
¿ Activada ?
si
si
Tratamiento de Interrupción
Arquitectura de Computadores
Sistemas de E/S - 20
Interrupciones
...Aceptación y Tratamiento
1. SR y PC → Pila
Tratamiento
2. Inhibir interrupciones (IF = 0)
3. Activar INTA
4. El PIC desactiva INTR
5. El PIC pone el nº de vector de la int. en bus de datos
6. La CPU lee del bus de datos el nº del vector de int.
7. La CPU calcula la dir. del vector de interrupción
8. Vector de int. → PC
9. Toma control la RTI correspondiente
10. Al finalizar la RTI, se ejecuta una instr. IRET
- POP PC
- POP SR ⇒ Interrupciones permitidas
11. Continúa el programa interrumpido
Arquitectura de Computadores
Sistemas de E/S - 21
...Aceptación y Tratamiento
Interrupciones
Aceptación
en el
MC68000
1. Extraer instrucción
2. Actualizar PC
3. Decodificar instrucción
4. Ejecutar instrucción
no
¿
IPL > I0-I2
?
si
no
¿IPL=7?
si
Tratamiento de Interrupción
Arquitectura de Computadores
Sistemas de E/S - 22
Interrupciones
...Aceptación y Tratamiento
1. SR → Registro temporal
2. Inhibir interrupciones (IPL0-IPL2 → I0-I2)
Paso a Modo Supervisor
3. SR temporal y PC → Pila (SSP)
Tratamiento
en el
MC68000
4. Atender interrupción (111 → FC0-FC2)
IPL0-IPL2 → A1-A3
5. El PIC desactiva IPL0-IPL2
6. El PIC pone el nº de vector de la int. en bus de datos
7. La CPU lee del bus de datos el nº del vector de int.
8. La CPU calcula la dir. del vector de interrupción
9. Vector de int. → PC
10. Toma control la RTI correspondiente
11. Al finalizar la RTI, se ejecuta una instr. RTE
- POP PC
- POP SR ⇒ Interrupciones permitidas
12. Continua el programa interrumpido
Arquitectura de Computadores
Sistemas de E/S - 23
Ejemplo de E/S por Interrupción
FC0
MC
68000
Controlador
FC1
INTA* de Teclado
FC2
Lógica de
Decodificación
AS*
UDS*/LDS*
IPL0*
CS*
Reg. Comando
Reg. Estado
1
Reg. Datos
IPL1*
D0-D15 A1-A23 IPL2* 1
INT
D0-D7
A1-A3
A0-A2
A1-A23
D0-D15
Arquitectura de Computadores
D0-D7
Sistemas de E/S - 24
...Ejemplo de E/S por Interrupción
Lectura de Teclado y Eco por Pantalla
Entrada
Interrupciones
inicio
tarea
move.b
move.b
move.b
move.b
move.b
move.l
andi.w
move.b
bra
rutint move.b
esp
btst.b
beq
move.b
rte
Arquitectura de Computadores
Salida
Polling
#%00110011,MR1A
#%00000111,MR2A
#%10111011,CSRA
#%00000101,CRA
#$40,IVR
#rutint,$40*4
#%1111100011111111,SR
#%00000010,IMR
tarea
RBA,D0
#2,SRA
esp
D0,TBA
Sistemas de E/S - 25
Métodos de E/S
E/S por DMA (Direct Memory Access)
Polling
Interrupciones
MOVE PUERTO_DATOS,R0
+
Actualizar puntero buffer E/S
+
Llevar la cuenta Nº bytes transferidos
+
Si INTS. ⇒ Salvar y restaurar SR y PC
¡ Problemas !
Velocidad Máxima
Limitada
Arquitectura de Computadores
La CPU no puede
dedicarse a otra tarea
Sistemas de E/S - 26
...E/S por DMA
Métodos de E/S
100/s
int. R T I
10.000 µs E-S/S
int.
CPU ocupada el 1%
en operaciones E/S
100 µs
1 byte /64 µs
RTI
15.625 bytes /s
100 µs
Arquitectura de Computadores
CPU ocupada el
156% del tiempo
en operaciones E/S
¡
!
Polling
Sistemas de E/S - 27
...E/S por DMA
Métodos de E/S
1 byte /8 µs
DD2
RTI
125.000 bytes/s
CPU ocupada el
1.250% del tiempo
en operaciones E/S
¡
!
100 µs
SOLUCIÓN
Arquitectura de Computadores
Direct
Memory
Access
Sistemas de E/S - 28
...E/S por DMA
Métodos de E/S
Datos
D0-D7 INT*
D0-D7
EOP*
INT D0-D7
TC
BREQ*
BGRN*
HRQ
HLDA
DREQ
DREQ
A0-A15
DACK
DACK*
CPU
AS
MEM/IO
R/W
A0-A15
DMA
8237
MR*
MW*
IOR*IOW* CS*
A0
RAM
64 Kx8
A0-A15
FDC
8272
R* W*
D0-D7
CS*
OE*
WE*
CS*
IOR*
IOW*
MR*
MW*
Direcciones
Arquitectura de Computadores
Sistemas de E/S - 29
Políticas de Reparto del Bus
E/S por DMA
Ejecución sin DMA
RELOJ
Instr. 1
Instr. 2
Instr. 3
Instr. 4
Al disponer de DMA
hay que compartir la posesión
del bus entre la CPU
y el controlador de DMA
¡
Instr. 5
!
Política de Reparto
Arquitectura de Computadores
Sistemas de E/S - 30
...Políticas de Reparto del Bus
E/S por DMA
RELOJ
Transferencia de Bloque
CPU →
Instr. 1
Instr. 3 Instr. 4
Instr. 2
DMA→
DMA DMA DMA
Robo de Ciclo
CPU →
Instr. 1
Instr. 2
DMA
DMA→
Instr. 3
DMA
Instr. 4
DMA
Bus Transparente
CPU →
DMA→
Instr. 1
Instr. 2
DMA
DMA
Arquitectura de Computadores
Instr. 3
Instr. 4
DMA DMA
DMA
Sistemas de E/S - 31
Polling
Los Tres Esquemas de E/S
Comando Lectura CPU → E/S
a controlador E/S
Leer estado del
controlador E/S
Comprobar
No
estado
Preparado
Error
Proceso de Lectura
E/S → CPU
Preparado
Leer palabra del
controlador E/S
E/S → CPU
Escribir palabra
en memoria
CPU → Mem.
No
¿ Fin lect. ?
Si
Siguiente instrucción
Arquitectura de Computadores
Sistemas de E/S - 32
Interrupciones
Los Tres Esquemas de E/S
Proceso
Comando Lectura CPU → E/S
a controlador E/S
Hacer otra cosa
Leer estado del
controlador E/S
Comprobar
estado
Error
de Lectura
Interrupción
E/S → CPU
Preparado
Leer palabra del
controlador E/S
E/S → CPU
Escribir palabra
en memoria
CPU → Mem.
No
¿ Fin lect. ?
Si
Siguiente instrucción
Arquitectura de Computadores
Sistemas de E/S - 33
Los Tres Esquemas de E/S
Direct Memory Access
Proceso de Lectura
Comando Leer Bloque CPU → DMA
Hacer otra cosa
a controlador DMA
Leer estado del
controlador DMA
Interrupción
DMA → CPU
Siguiente instrucción
Arquitectura de Computadores
Sistemas de E/S - 34

Documentos relacionados