Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Interfaz procesador-periférico:
– interfaz funcional:
• oculta particularidades de funcionamiento del periférico con
un conjunto de registros de datos, de estado, y de control
– interfaz eléctrico :
• oculta detalles de conexión eléctrica con el periférico
Interfaz normalizada
CPU
Interfaz específica
Modelo de Programación de la E/S
• Acceso a periféricos a través
del Sistema Operativo:
Detección, Instalación dinámica,
Abstracción (ficheros),
Protección, Rendimiento
FFFF0000h -
FFFFFFFFh up to 1024, 32-bit
I/O registers
Técnica de E/S Programada
Wait
Transfer
• Sector a transferir
• Dirección inicial de memoria: DIR_BLOQ
• Tamaño: <COUNT>
• Sentido: +
mov al, PISTA
Indicar comando al out DIR_COM, al
controlador de E/S mov al,SECTOR
out DIR_COM,al
mov al, READ
out DIR_COM,al
mov bx,0
mov cx, COUNT
inc bx 1 2
TRANSMISIÓN DE N BYTES
dec cx 1 2
DISPOSITIVO RÁPIDO:
jne Espera 2 16/4
66*N Ciclos de reloj
TOTAL= 16 78/66
DISPOSITIVO LENTO:
(30*M+48) * N Ciclos de reloj
Evaluación de la E/S POR CONSULTA
N = 512 BYTES
M= 50
1 CLK= 100 ns (10 Mhz)
DISPOSITIVO LENTO
TOTAL= (30*M+48) * N = 79,25 ms 6,46 Kbytes/s
DISPOSITIVO RÁPIDO
TOTAL= 66 * N = 3,37 ms 151,9 Kbytes/s
HC12 (Versión: MC9S12E128)
• Mapa de Memoria y E/S Común
– Registros E/S: $0000 - $03FF
• Sin instrucciones explícitas E/S:
– Cualquier instrucción de acceso a memoria sirve!
• Instrucción especial para sincronización E/S:
– Leer de memoria - comparar ciertos bits - saltar según el
resultado de la comparación
• Integra varios módulos
de E/S en el chip
• La placa del
entrenador integra
leds, pulsadores y
potenciómetro
HC12: Puertos Paralelos de E/S
HC12. Ejemplo: uso puertos paralelos
PORTA: EQU $00 Programar Port A:
DDRA : EQU $02 bits 0-3 de entrada
...
bits 4-7 de salida
ldaa
staa
#$F0
DDRA
HC12
...
Sincronización PA5 PA0
Loop: con el bit 0
brclr #$01,PORTA,Loop
ldaa PORTA (pulsador de
oraa #$20 entrada)
staa PORTA
Escritura en el bit 5
de un ‘1’ vss
(led de salida)
HC12: mapa de Memoria
Ciertos
Registros
de E/S
permiten
modificar el
mapa de
memoria
DataSheet: HC12 (MC9S12E128)
DataSheet: HC12 (MC9S12E128)
HC12: Timer Functions
• Necesario para el control
de ciertos dispositivos
(ABS de automóviles)
• Temporizador básico de
16 bits (programable),
escalable mediante un
valor de 7 bits.
• Generación y medida de
señales ondulatorias
• Captura y
contabilización de
eventos (Input Capture)
Ejemplo: HC11 (MC68HC711E9)
Ejemplo: Pentium
• Proporciona 64 KB de direccionamiento para E/S
– Se pueden usar puertos E/S de 8-, 16-, y 32-bits (Los puertos de 16 y 32
bits deben estar alineados con direcciones múltiplo de 2 o de 4)
– También soporta memory-mapped I/O
• Lecturas/escrituras a un puerto de E/S
in accumulator,port8 -- (direct addressing)
in accumulator,DX -- (indirect addressing) DX := #port
out port8,accumulator -- (direct addressing)
out DX,accumulator -- (indirect addressing) DX := #port