Documente Academic
Documente Profesional
Documente Cultură
TEMA 2
ENTRADA / SALIDA
Mtodos de E/S
Por programa (polling)
Por interrupcin
Interfaz HW de E/S
Datos
Direcciones
Memoria
CPU
Puerto
Puerto
Controlador
Controlador
Perifrico
Perifrico
Seales
internas
de datos
EXTERIOR
INTERIOR
EXTERIOR
D0
Q0
D0
I0
D1
Q1
D1
I1
D2
Q2
D2
I2
D3
Q3
D3
I3
D4
Q4
D4
I4
D5
Q5
D5
I5
D6
Q6
D6
I6
D7
Q7
D7
I7
Seales
accesibles
desde el
exterior
Seales
internas
de datos
EN
EN
Seales
producidas
en el
exterior
Los interruptores
se implementan
con puertas
triestado
Direccionamiento de Interfaces
Direccionamiento de Interfaces
DIAGRAMA DE BLOQUES
Datos
Direcciones
R/W
2n
0
1
2
.
.
.
2n-1
Memoria
CPU
Puerto
2n+1
Puerto
Controlador
Controlador
Perifrico
Perifrico
0
1
2
.
.
.
.
.
.
.
.
.
.
.
.
2(n-1)-1
2(n-1)
.
.
.
.
.
.
.
2(n-1)+2(n-2)-1
(n-1)
(n-2)
2
+2
.
.
.
.
.
2n-1
|
n bits
|
000............00
000............01
000............10
del espacio de
direccionamiento
para la memoria
Memoria
011............11
100............00
100............01
E/S
101............11
110............00
110............01
no usado
111111111111
Direccionamiento de Interfaces
E/S mapeada en memoria
Direccionamiento de Interfaces
E/S no mapeada en memoria
Memoria
001............11
010............00
011............11
100............00
101............11
110...00.....00
110...00.....01
110...00.....10
E/S
|m bits|
110..001.....11
110..010.....00
110..010.....01
no usado
1111110.....00
1111111.....11
Datos
Direcciones
IO_R/W
R/W
2m posiciones del
espacio de direcciones
para E/S
Resto de posiciones
no utilizadas
Direccionamiento de Interfaces
E/S no mapeada en memoria
0
1
2
.
.
.
2n-1
Memoria
Controlador
Controlador
Perifrico
Perifrico
puerto de salida
INTERIOR
A0-A15
ALE
111............11
Espacio de
direccionamiento
de E/S
Puerto
EXTERIOR
D0-D7
Espacio de
direccionamiento
de la memoria
Memoria
Direccionamiento de Interfaces
Address
Decoder
EQUAL
| m bits |
000.........00
000.........01
000.........10
E/S
111.........11
0
1
2
.
.
.
.
2m-1
CLK
0
1
2
.
.
.
.
.
.
.
.
.
.
.
.
2n-1
Puerto
CPU
74374
0
1
2
.
.
2 (n-2)-1
2 (n-2)
.
.
.
.
2 (n-1)-1
2 (n-1)
.
.
2(n-1)+2(n-2)-1
2(n-1)+2(n-2)
.
.
.
.
.
.
.
2(n-1)+2(n-2)+2(m) -1
2(n-1)+2(n-2)+2(m)
.
.
.
.
.
2n-1
M/IO
WR
Seales
visibles
desde el
exterior
WR
RD
A2-A15
ALE
wr
rd
RDS
RCD
Address
Decoder
RDE
EQUAL
A0
A1
RSD
A0
A1
CS
Data
wr
rd
EXTERIOR
A0
A1
BSY ACK PE
SL ERR IRQ
A0
A1
IQ
SI
IN AF
A0
A1
CS
M/IO
ST
read or
last written
write
IMPRESORA
D0-D7
Direccionamiento de Interfaces
Comunicacin con la impresora
Direccionamiento de Interfaces
Eres la impresora?
Si, soy yo
D7-D0
Estas lista?
Preparada para
recibir datos
Primer
dato
CPU
Recibido
IMPRESORA
STROBE
BUSY
ACK
dato
dato
Mtodos de E/S
No Bloqueante
Polling (sondeo)
Bloqueante: el procesador espera a que el perifrico
est listo (perdida de tiempo en el procesador)
No bloqueante: el procesador continua con otra tarea
y atiende al perifrico al terminar (perdida de tiempo
en el perifrico)
PROGRAMA
PROGRAMA
NO
NO
Interrupcin
Permite al procesador trabajar en otra tarea mientras
el perifrico est ocupado
Es necesario que el procesador disponga de un
mecansno que le permita recibir y atender
interrupciones
PROGRAMA
Est listo el
perifrico?
SI
Rutina de
tratamiento
del perifrico
Est listo el
perifrico?
SI
Rutina de
tratamiento
del perifrico
Interrupciones HW Externas
Pines INTR, INTA
PIC (IRQs)
Determinacin de la Interrupcin
Vectorizadas
Requiere de un controlador que proporciona
el nmero de la interrupcin (vector)
El vector determina quin produce la
interrupcin y dnde est la rutina de
tratamiento
CPU
Autovectorizadas
Perifrico
Perifrico
Perifrico
Perifrico
CPU
.
.
.
.
.
.
.
.
.
.
.
.
Perifrico
Perifrico
No vectorizadas
Siempre se ejecuta la misma rutina que
determina mediante polling al perif. causante
Reconocimiento de la Interrupcin
Reconocimiento de la Interrupcin
INICIO
I=1
ES EL
PERIFRICO
I-SIMO
Perifrico 2
CPU
.
.
.
SI
NO
.
.
.
I=I+1
RUTINA DE
TRATAMIENTO PARA
EL PERIFRICO
I-SIMO
Perifrico N
NO
I>n
Bus de datos
vector
Perifrico 1
SI
FIN
CPU
Controlador de
Interrupciones
Bus de datos
Perifrico 1
Perifrico 2
.
.
.
.
.
.
Perifrico N
INICIO
EL CONTROLADOR
DE INTERRUPCIONES
INDICA QUE SE TRATA
DEL PERIFRICO
I-SIMO (VECTOR=I)
RUTINA DE
TRATAMIENTO PARA
EL PERIFRICO
I-SIMO
FIN
Gestin de Prioridades
Procesamiento de la Interrupcin
E/S en el 8086
Con prioridades: SW y HW
Sin prioridades
Concepto de mscara de interrupcin
Enmascaramiento por niveles
Enmascaramiento individual (registro de mscara)
No enmascarables (NMI)
16 BIT
ALU
FLAGS
BUS
INTERFACE
UNIT
6-BYTE
INSTRUCTION
QUEUE
ADDRESS
DATA
Configuracin de PINES
GND
AD14
AD13
AD12
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NMI
INTR
CLK
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8086
Enmascarables
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
AD15
A16/S3
A17/S4
A18/S5
A19/S6
BHE/S7
MN/MX
RD
HOLD
HLDA
WR
M/IO
DT/R
DEN
ALE
INTA
TEST
READY
RESET
Interrupciones en el 8086
Posee dos lneas para interrupciones HW
externas
INTR (INTerrupt Request):
Enmascarable (IF, interruption flag)
Vectorizada (tamao del vector: 1 byte,256 int.s)
Interconexin 8086-8259
El PIC 8259
Controlador de Interrupciones Programable
(o PIC 8259) es el microchip de intel que
se utiliza con el 8086
8 lneas de peticin de interrupcin (IRQ0-7)
Proporciona el vector de interrupcin al 8086
(vector base programable)
Pueden conectase el cascada (en dos niveles,
hasta 64 interrupciones)
Gestiona las prioridades (programable)
Permite enmascarar las interrupciones
individualmente
Bus de direcciones
Bus de datos
16
A0-19 D0-15
M/IO
20h-21h?
cs
8086
rd
wr
INTR
INT
INTA
INTA
a0 data
8259
Bus de datos
8
D0-15
Perifrico 1
IRQ0
IRQ1
8086
INTR
INTA
INTR
INTA
8259
20
IRQ7
Perifrico 2
.
.
.
.
.
.
Perifrico 8
Acceso a la RTI
Bus de direcciones
20
Bus de datos
16
A0-19 D0-15
MEMORIA
8086
8259 en cascada
Bibliografa
16
Bus de datos
8
D0-15
Dir. Base
Maestro:
020h
INTA
INTR
INTA
IRQ7
IRQ0
.
.
.
8259
8086
INTR
Perifrico 2
IRQ0
IRQ1
IRQ2
8259
Dir. Base
Esclavo:
0A0h
Perifrico 1
8
IRQ7
15 perifricos, el perifrico
de IRQ2 es el PIC esclavo
William Stallings
Organizacin y Arquitectura de
Computadores, 5 Edicin
Prentice Hall
Perifrico 9
.
.
.
Perifrico 16
Perifrico 8
Patterson, Hennessy
Estructura y Diseo de Computadores
Editorial Revert