Logo Studenta

ES_Arqui_Curso_2015

¡Estudia con miles de materiales!

Vista previa del material en texto

06/09/2015
1
ARQUITECTURA DE 
COMPUTADORAS
Curso 2015
Prof. Jorge Runco
Prof. Adj. Jorge M. Runco
INT0
INT1
INT2
INT3
00001111 F10
TIMER CLK2
HAND
IMR
PIC
HANDCDMA
06/09/2015
2
Prof. Adj. Jorge M. Runco
Comunicación cpu - impresora
� Tres alternativas de conexionado :
� CPU – PIO – IMPRESORA
� CPU – HAND – IMPRESORA
� CPU – CDMA – HAND - IMPRESORA
Prof. Adj. Jorge M. Runco
Comunicación cpu - impresora
Línea de 
BUSY (1 bit)
Código ASCII del 
carácter a imprimir (8 
bits)
Línea de 
STROBE 
(1 bit)
06/09/2015
3
Prof. Adj. Jorge M. Runco
CPU – PIO – IMPRESORA
CPU
ASCII
PA
PB
PIO PA0=BUSY
PA1=STROBE
PB0…PB7=DATOSBUS DEL 
SISTEMA
Prof. Adj. Jorge M. Runco
CPU – PIO – IMPRESORA
while (impresora libre & 
no es el último caracter) 
{
Enviar el dato
Enviar pulso STROBE
}
POLL: IN AL, PA 
AND AL, 1 
JNZ POLL 
MOV AL, [BX] 
OUT PB, AL 
MOV AL, O2H 
OUT PA, AL 
MOV AL, 0H 
OUT PA, AL 
INC BX 
DEC CL 
JNZ POLL
Impresora 
libre ?
Enviar dato
Pulso de 
Strobe
Último 
caracter ?
06/09/2015
4
Prof. Adj. Jorge M. Runco
CPU – HAND – IMPRESORA
CPU
ASCII
ESTADO
DATOS
HAND BUSY=bit0 de Estado 
STROBE=generado por 
HAND
HAND=DATOSBUS DEL 
SISTEMA
Prof. Adj. Jorge M. Runco
CPU – HAND – IMPRESORA
while (impresora libre & 
no es el último caracter) 
{
Enviar el dato
}
POLL: IN AL, HAND+1 
AND AL, 1 
JNZ POLL 
MOV AL, [BX] 
OUT HAND, AL 
INC BX 
DEC CL 
JNZ POLL
Impresora 
libre ?
Enviar dato
Último 
caracter ?
Por consulta de estado
06/09/2015
5
Prof. Adj. Jorge M. Runco
CPU – HAND – IMPRESORA
while (no es el último caracter) 
{
………
}
POLL: CMP CL, 0 
JNZ POLL
Interrupción generada por el HAND
RUT_HND: PUSH AX 
MOV AL, [BX] 
OUT HAND, AL 
INC BX 
DEC CL 
MOV AL, 20H 
OUT PIC, AL 
POP AX 
IRET
Prof. Adj. Jorge M. Runco
F10
0027H 00H
0028H 00H
0029H 30H
002AH 00H
10
01111111
INT1
INT3
INT2
F10
0
10201BPC 3000H
4x10=40=28H
CPU PIC
VECTORES (MEM)
BUS DE DATOS
IMR
INT0
06/09/2015
6
Prof. Adj. Jorge M. Runco
Registros del PIC
1 1 1 1 1 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
IMR
ISR
IRR
INT0 e INT2 
habilitadas, bit0 y 
bit2 en cero
Está en servicio 
INT2, pues bit2 
vale 1
Hay un pedido de 
INT0 pendiente 
pues bit0=1 
Prof. Adj. Jorge M. Runco
ORG 4 x Número de vector
dw Nombre
ORG 2000H
Deshabilitar la atención de interrupciones (CPU)
Habilitar la interrupción en el IMR (PIC)
Escribir el vector seleccionado en el reg (INT0, INT1...)
Inicialización dependiendo del periférico
Habilitar la atención de interrupciones (CPU)
Esperar la finalización del programa
ORG 3000H
Nombre: Rutina de interrupción
RET
06/09/2015
7
Prof. Adj. Jorge M. Runco
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
IN AL, PA
OUT PB, AL
1
1
1
1
1
1
00H04H84HA4H

Continuar navegando