Sunteți pe pagina 1din 34

TCNICAS DE ENTRADA SALIDA

Programada

Por Interrupciones

Acceso Directo a Memoria (DMA)

ENTRADA SALIDA PROGRAMADA


La CPU tiene control directo sobre la E/S
Sensado de estado Comandos de Lectura/Escritura Transferencia de datos

La CPU espera que el mdulo de E/S complete la operacin Se desperdicia tiempo de CPU

DETALLE DE E/S PROGRAMADA


La CPU pide una operacin de E/S El mdulo de E/S realiza la operacin El mdulo E/S setea los bits de status La CPU chequea los bits de status periodicamente El mdulo de E/S no informa a la CPU directamente El mdulo de E/S no interrumpe a la CPU

La CPU debe esperar o volver ms tarde

ENTRADA/SALIDA PROGRAMADA
Ejemplo perifrico lento Procesador a 200 MHz (tiempo ciclo = 5 ns) Ciclos por instruccin promedio: CPI = 2 Una instruccin tarda en promedio 2 x 5 ns = 10 ns la CPU puede ejecutar ~100 MIPS Queremos imprimir un archivo de 10 Kbytes en una impresora lser de 20 pginas por minuto 1 pgina @3.000 caracteres (1 carcter = 1 byte) La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/seg

ENTRADA/SALIDA PROGRAMADA
a) E/S con espera de respuesta

La CPU entra en un bucle y enva un nuevo byte cada vez que la impresora est preparada para recibirlo La impresora tarda 10 s en imprimir 10 Kbytes

La CPU est ocupada con la operacin de E/S durante 10 s (en ese tiempo la CPU podra haber ejecutado 1000 millones de instrucciones)

COMANDOS DE ENTRADA/SALIDA
La CPU coloca una direccin
Identifica el mdulo (& dispositivo si >1 por mdulo)

La CPU coloca un comando


Control dice al mdulo que hacer
e.g. Realizar un coversin AD

Test - chequear status


e.g. listo? Error?

Read/Write
El mdulo transfiere datos via buffer desde/hacia el despositivo

DIRECCIONAMIENTO DE DISPOSITIVOS DE E/S


Con E/S programada la transferencia de datos es muy similar a acceder a memoria (desde el punto de vista de la CPU)

Cada dispositivo con un nico identificador

MAPEO DE ENTRADA/SALIDA
E/S mapeada en memoria (Memory mapped I/O)
Los dispositivos y la memoria comparten un espacio de direcciones E/S es como leer/escribir en memoria No hay instrucciones especiales para E/S
Conjunto de instrucciones completo

E/S Separada
Espacios de direcciones separados Se necesitan lineas de seleccin de E/S o memoria (si el bus es compartido) Instrucciones especiales de E/S
Conjuto de instrucciones limitado

E N T R A DA S A L I DA M A N E JA DA P O R INTERRUPCIONES

Soluciona la espera de la CPU

No se requiere el chequeo repetido por parte de la CPU del dispositivo

El mdulo de E/S interrumpe cuando est listo

E N T R A DA S A L I DA M A N E JA DA P O R INTERRUPCIONES , OPERACIN BSICA

La CPU coloca un comando, ej.: lectura El mdulo E/S toma el dato del perifrico, mientras tanto la CPU hace otro trabajo El mdulo de E/S interrumpe la CPU La CPU accede al dato

PUNTO DE VISTA DE LA CPU


Colocar el comando de lectura Hacer otro trabajo Chequear si hay interrupciones al final de cada ciclo de instruccin Si es interrunpida:
Salvar contexto (registros) Procesar interrupcin
Buscar el dato & alamacenarlo

CICLO DE INTERRUPCIN
Agregado al ciclo de instruccin El procesador chequea si hay interrupciones Indicado por una seal de interrupcin Si no hay interrupcin, buscar la prxima instruccin Si hay interrupciones pendientes: Suspender la ejecucin del programa actual Salvar el contexto Poner en el PC la direccin de comienzo de la rutina de atencin de la interrupcin (handler) Procesar la interrupcin Reestablecer el contexto y continuar la ejecucin del programa interrumpido

TRANSFERENCIA DE CONTROL VIA INTERRUPCIONES

E N T R A DA S A L I DA M A N E J A DA P O R I N T E R R U P C I O N E S, C O N T I N A EJEMPLO
b) E/S por interrupciones La impresora genera una interrupcin cada vez que est preparada para recibir un nuevo byte Suponemos que son necesarias 10 instrucciones para ejecutar el handler (salvar contexto, comprobar estado, transferir byte, restaurar contexto) Para transferir 10 Kbyte tenemos repetir el proceso 10.000 veces hay ejecutar 100.000 instrucciones para atender al perifrico la CPU tarda 0,001 s CONCLUSIN: La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU est ocupada gestionando la impresora

INTERRUPCIONES, EN FORMA MS AMPLIA


Mecanismo por el cual los distintos mdulos (e.g. E/S) pueden interrumpir la secuencia de procesamiento normal. Excepcin de Programa e.g. overflow, divisin por cero Timer Generada por timer interno del procesador Usada en pre-emptive multi-tasking E/S de controlador de I/O Falla de Hardware e.g. error de paridad en memoria

UNA CLASIFICACIN DE LAS INTERRUPCIONES


Internas (excepciones) Externas De Software

Ternimologa no consistente entre distintas mquinas: interrupciones, faults, traps, excepciones, cubren todos los posibles aspectos: Pedido de dispositovo de E/S, breakpoint, overflow, underflow, page fault, memory access violation, power failure, etc.

TPICOS DE DISEO
Como identificar al mdulo que pidi la interrpcin?

Como tratar con mltiples interrpciones?


i.e. un handler de interrupciones siendo interrunpido

IDENTIFICANDO EL MDULO QUE INTERRUMPE (1)


Una lnea de interrupcin diferente para cada mdulo (vectorizada)
Ejemplo: PC Limita el nmero de dispositivos

Una sola lnea de interrupcin compartida entre todos los mdulos


Software Poll
La CPU le pregunta a cada mdulo uno a la vez Lento

IDENTIFICANDO EL MDULO QUE INTERRUMPE (2)


Daisy Chain o Hardware poll
Un Interrupt Acknowledge se enva a la cadena El Mdulo responsable ubica un vector en el bus La CPU usa el vector para identificar el handler a usarse

IRQ

CPU

INTA

INTERRUPCIONES MLTIPLES
Deshabilitar interrupciones
El procesador no atiende los pedidos de interrupcin mientras procesa una interrupcin Las interrupciones que permanecen pendientes son chequedas luego que haber sido procesada la primer interrupcin La interrupciones se manejan en secuencia

Definir prioridades
Las interrupciones de baja prioridad pueden ser interrunpidas por interrupciones de prioridad ms alta Cuando una interrupcin de prioridad ms alta ha sido procesada, el procesador regresa a la interrurcin previa

MLTIPLES INTERRUPCIONES SECUENCIAL

MLTIPLES INTERRUPCIONES ANIDADAS

EJEMPLO BUS ISA PC


80x86 tiene una lnea de interrupcin Los sistemas basados en el 8086 tienen un contolador de interrpciones 8259A El 8259A tiene 8 lneas de interrupcin

SECUENCIA DE EVENTOS
El 8259A accepta interrupciones El 8259A determina la prioridad El 8259A lo indica al 8086 (eleva la lnea INTR) La CPU responde con una lnea CPU de Acknowledgment El 8259A pone el vector correcto en el bus de datos La CPU procesa la interrupcin

SISTEMA DE INTERRUPCIN DEL BUS ISA

Se encadenan dos 8259As juntos Link via interrupcin 2 Se tienen 15 lneas


16 lneas menos una para el link

Se usa la IRQ 9 para re-rutear la IRQ 2


Compatibilidad hacia atrs

Incorporada en el chip set

ACCESO DIRECTO A MEMORIA ( D I R E C T M E M O RY A C C E S S O DMA)


La entrada salida programada o por interrupciones requiere una activa intervencin de la CPU
la tasa de transferencia se ve limitada la CPU se ve atada al proceso

El DMA es la solucin

FUNCIN DEL DMA


La tcnica de DMA permite la transferencia de datos entre un perifrico y la memoria sin intervencin de la CPU (salvo en la fase de inicializacin de los parmetros de la transferencia)

CONFIGURACIONES DMA (1)

Un Bus, controlador DMA separado Cada transferencia usa el bus dos veces
I/O a DMA luego DMA a memoria

La CPU es suspendida dos veces

CONFIGURATIONES DMA (2)

Un Bus, controlador DMA integrado El controlador puede manejar >1 dispositivo Cada transferencia usa el bus una vez
DMA a memoria

La CPU es suspendida una vez

CONFIGURACIONES DMA (3)

Bus separado de I/O El Bus suporta todos los dispositivos habilitados para DMA Cada transferencia usa el bus una vez
DMA a memoria

La CPU es suspendida una vez

CONTROLADOR DE DMA
El controlador de DMA es un dispositivo capaz de controlar una transferencia de datos entre un perifrico y memoria sin intervencin de la CPU

El DMAC debe actuar como mster del bus durante la transferencia DMA y debe ser capaz de: Solicitar el uso del bus mediante las seales y la lgica de arbitraje necesarias Especificar la direccin de memoria sobre la que se realiza la transferencia Generar las seales de control del bus Tipo de operacin (lectura/escritura) Seales de sincronizacin de la transferencia

DIAGRAMA DE CONTROLADOR DMA

INTEGRANTES
INSTITUTO TECNOLOGICO DE COLIMA Arquitectura de Computadoras Unidad 1 Modelo de Arquitecturas de Computo Trabajo: Entrada y Salida Maestra: Mara Elena Martnez Duran

Integrantes: Alegra Ponce de Len Ricardo Daniel (09460294) Cruz Huerta Adn (09460322) Ramos Vzquez Jonathan Yaran (09460400)

Semestre 7

Fecha de entrega 9-Oct-2012

REFERENCIAS
Sanchis, E. (2002). Sistemas Electrnicos Digitales (2th ed.). Valencia: Maite Simon. Da Cota, C. (1992). Fundamentos de Tecnologa Documental (1th ed.). Madrid: Complutense. Molino, E. (1973). Introduccin a la informtica (4th ed.). Mxico: trillas. Stallings, W.(2005). Organizacin y Arquitectura de Computadores (7 edicin). Madrid: Pearson Educacin Quiroga, P.(2010). Arquitectura de Computadoras (1 ed.). Buenos Aires: Alfaomega Abel, P. (1995). Lenguaje Ensamblador y Programacin para IBM PC y compatibles (1 ed.). Mxico: Pearson Educacin

S-ar putea să vă placă și