prog. interfaces

37
 Sistemas de entrada/salida

Upload: melissa-berdeja-birbuet

Post on 04-Oct-2015

296 views

Category:

Documents


0 download

DESCRIPTION

js

TRANSCRIPT

INTERRUPCION DE SEALES Y PROTOCOLO

Sistemas de entrada/salidaPre-requisites. Objetivos

Circuitos de Soporte al mecanismo de interrupciones.

Interrupciones, seales y protocol.

Detectar la existencia y fuente de interrupcin.

Enmascaramiento

Vectorizacin

Gestin de Prioridades

INTERRUPCION DE SEALES Y PROTOCOLOInterrupcin de seales.

Protocolo de seales.DETECCIN DE Y FUENTE DE INTERRUPCIONESDETECCIN DE INTERRUPCIONES:

-DETECCIN POR NIVEL.

-DETECCIN POR FLANCO.

DETECCIN DE Y FUENTE DE INTERRUPCIONESFUENTE DE INTERRUPCIN. -INDENTIFACION DE FUENTE POR HARDWARE.

-INDENTIFACION DE FUENTE POR SOFTWARE.

Enmascaramiento

Vectorizacin

Gestin de Prioridades

NO ENMASCARABLESSon las interrupciones que siempre se atiendenSe deben a motivos cuya atencion no puede esperar.RESETERROR DE BUS DE DIRECCIONESDETECCION DE ERROR EN MEMORIA RAMENMASCARABLESSe pueden atender o no, dependiendo de lo que este indicado en el registro de estado.A traves de los componentes de hardwareEnmascaramiento Por nivelEnmascaramiento Individual

POR NIVELLas peticiones de interrupcin se ordenan atendiendo a un criterio de prioridad. La CPU fija un nivel modificable por un programa.

INDIVIDUALA cada interrupcion se le reserva un bit de registro de mascara, se autorizan las que tienen bit de registro1.Se proporciona registro de estados

VECTORIZACINVector que almacena la direccion de atencion a la interrupcion.Contiene las direcciones de las rutinas de servicio de cada interrupcin

VECTORIZACINFacilitan la programacin de mltiples rutinas de interrupcin. -Se basan en una tabla de direcciones de ISRs en memoria, indexada por el nmero de interrupcin (INT#). -Se necesita un controlador de interrupciones asociado a la CPU. -El controlador se ocupa habitualmente del borrado, enmascaramiento y jerarquizacin.

VECTORIZACINPara cada una de las direcciones se utilizan 4 bytes, dos bytes para el segmento y 2 para el desplazamiento. La instruccin INT tipo, realiza las siguientes tareas: 1. Salvar el registro de banderas. 2. Salvar el IP de la direccin de regreso. 3. Salvar el CS de la direccin de regreso.4. Salva los registros. 5. Calcula el rea donde esta la direccin de la rutina de servicio de la siguiente manera: tipo*4, en el vector de interrupciones. 6. Ejecuta la rutina de servicio.

GESTION DE PRIORIDADESMediante encuesta: Consiste en realizar un programa que cuando detecte la produccin de una interrupcin pregunte a todos los perifricos si han sido el generador de la misma. Mediante encadenamiento: Consisten conectar en serie todos los perifricos que solicitan la interrupcin, de forma que los perifricos con ms prioridad se colocan ms prximos a la CPU

GESTION DE PRIORIDADESMediante hardware paralelo: Se utiliza un registro de interrupcin cuyos bits se controlan por las seales de interrupcin PIi de cada perifrico. La direccin se respuesta a la interrupcin se obtiene mediante un codificador de prioridad que genera un nmero en funcin de la interrupcin activada.

Caso prctico: controlador de interrupciones y 8259

Circuito de Soporte a la transferencia por DMA

Conexin CPU controlador DMA. Protocolo.

Trasferencia por rfaga.

Transferencia por robo de ciclo.

Transferencia trasparente.

METODOS DE TRANSFERENCIATrasferencia por rfaga.

Transferencia por robo de ciclo.

Transferencia trasparente.TRANSFERENCIA POR RAFAGAEsta estrategia consiste en enviar el bloque de datos solicitado mediante una rfaga empleando el bus del sistema hasta finalizar la transferencia. Permite una altsima velocidad, pero la CPU no podr utilizar el bus de sistema durante el tiempo de transferencia, por lo que permanece inactiva.

TRANSFERENCIA POR RAFAGA

TRANSFERENCIA POR ROBO DE CICLOSe basa en usar uno o ms ciclos de CPU por cada instruccin que se ejecuta (de ah el nombre). es uno de los mtodos ms usados, ya que requiere poca utilizacin del CPU. Esta estrategia utiliza uno o ms ciclos de CPU para cada instruccin que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU, aunque la transferencia de datos se har ms lentamente.

TRANSFERENCIA POR ROBO DE CICLOMODE TRANSPARENTThis requires the most time to transfer a block of data, yet it is also the most efficient in terms of overall system performance.The DMA controller only transfers data when the CPU is performing operations that do not use the system buses.For example, the Relatively simple CPU has several states that move or process data solely within the CPU: NOP1: (No operation) LDAC5: ACDR (Transfer the five instruction)MODE TRANSPARENT JUMP3: PCDR,TR (Jump at 3) PC=Program Counter, DR=Data, TR=Temporary CLAC1: AC0, Z1 (Clear Accumulator) Z=Flag RegisterPrimary advantage is that CPU never stops executing its programs and DMA transfer is free in terms of time.Disadvantage is that the hardware needed to determine when the CPU is not using the system buses can be quite complex and relatively expensive.Caso prctico: Controlador DMC y 8237Controller Dmc and 8237Direct memory access(DMA) is a feature of computerized systems that allows certain hardware subsystems to access main system memoryindependently of thecentral processing unit(CPU).Without DMA, when the CPU is usingprogrammed input/output, it is typically fully occupied for the entire duration of the read or write operation, and is thus unavailable to perform other work. With DMA, the CPU initiates the transfer, does other operations while the transfer is in progress, and receives aninterruptfrom the DMA controller when the operation is done.

FEATURESThis feature is useful any time the CPU cannot keep up with the rate of data transfer, or where the CPU needs to perform useful work while waiting for a relatively slow I/O data transfer. Many hardware systems use DMA, includingdisk drivecontrollers,graphics cards,network cardsandsound cards. DMA is also used for intra-chip data transfer inmulti-core processors. Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels. Similarly, a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time, allowing computation and data transfer to proceed in parallel.

Controlador 8237En un sistema basado en 8086 esta tarea la realiza el controlador de DMA 8237.Este dispositivo permite al procesador programar hasta 4 canales de acceso directo a memoria para que realicen simultneamente sus tareas.

SERVICIOSSe pueden realizar tres tipos de servicio: Lectura: Se lee un conjunto de datos de memoria y se escriben en el dispositivo.Escritura: Se leen un conjunto de datos del dispositivo y se escriben en memoria.Memoria a memoria: Este es un movimiento de datos en memoria. Se realiza en dos ciclos de bus porque primero hay que leer el dato en un registro temporal del controlador y luego volverlo a escribir en la nueva posicin de memoria.

Que pasa si mas de un dispositivo activa seal?Una vez programado el controlador, los dispositivos solicitan el comienzo de la transaccin y si ms de un dispositivo activa su seal en el mismo instante el propio controlador posee la lgica necesaria para resolver el conflicto mediante prioridades, fijas o rotatorias.

8237A

QUE VINO DESPUES?Integracin en chipsetsAunque este dispositivo pueda no aparecer como un componente distinto en sistemas del ordenador personal modernos, realmente aparece dentro del regulador del sistema chipsets. Por ejemplo, el 82875P ISP integr el sistema el regulador perifrico tiene dos reguladores internos DMA programados casi exactamente como los 8237.

GRACIAS POR SU ATENCIN