organización del computador

26
Organización del Organización del Computador Computador Entradas / Salidas Entradas / Salidas

Upload: dante

Post on 09-Jan-2016

53 views

Category:

Documents


0 download

DESCRIPTION

Organización del Computador. Entradas / Salidas. Modelo de I/O. Mapeo de I/O. En el espacio de memoria : se accede a través de instrucciones de lectura y escritura en memoria. En un espacio de I/O : se accede con instrucciones especiales de I/O (IN y OUT). Polling vs. Interrupciones. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Organización del Computador

Organización del Organización del ComputadorComputador

Entradas / SalidasEntradas / Salidas

Page 2: Organización del Computador

Modelo de I/OModelo de I/O

Page 3: Organización del Computador

Mapeo de I/OMapeo de I/O

En el espacio de memoriaEn el espacio de memoria: se accede a : se accede a través de instrucciones de lectura y través de instrucciones de lectura y escritura en memoria.escritura en memoria.

En un espacio de I/OEn un espacio de I/O: se accede con : se accede con instrucciones especiales de I/O (IN y instrucciones especiales de I/O (IN y OUT).OUT).

Page 4: Organización del Computador

Polling vs. InterrupcionesPolling vs. Interrupciones

PollingPolling: el dispositivo de I/O es : el dispositivo de I/O es consultado periódicamente por la CPU.consultado periódicamente por la CPU.

InterrupcionesInterrupciones: el dispositivo I/O : el dispositivo I/O interrumpe la CPU cuando quiere interrumpe la CPU cuando quiere comunicarse.comunicarse.

Page 5: Organización del Computador

Subsistema de I/O con Subsistema de I/O con interrupcionesinterrupciones

Page 6: Organización del Computador

Interrupciones Intel 8086Interrupciones Intel 8086

Page 7: Organización del Computador

Interrupciones: hardwareInterrupciones: hardware

El controlador del dispositivo de E/S activa la señal de El controlador del dispositivo de E/S activa la señal de interrupción a la que se encuentra conectado. interrupción a la que se encuentra conectado.

La CPU termina de ejecutar la instrucción en curso y verifica si La CPU termina de ejecutar la instrucción en curso y verifica si el flag IF está en 1 y la señal INTR está alta. el flag IF está en 1 y la señal INTR está alta.

En este caso, sube la señal INTA.En este caso, sube la señal INTA. El PIC envía por el bus de datos el identificador del dispositivo El PIC envía por el bus de datos el identificador del dispositivo

que produjo la interrupción.que produjo la interrupción. Guarda el contexto del programa en la pila (PSW y PC)Guarda el contexto del programa en la pila (PSW y PC) Deshabilita las interrupciones globalmente usando el flag IF Deshabilita las interrupciones globalmente usando el flag IF

seteándolo en 0.seteándolo en 0. Pasamos el procesador a modo Pasamos el procesador a modo kernelkernel para que la rutina para que la rutina

ejecute con privilegios de sistema operativo. ejecute con privilegios de sistema operativo. Coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC.Coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC.

Page 8: Organización del Computador

Interrupciones: softwareInterrupciones: software Se guarda la máscara de interrupcionesSe guarda la máscara de interrupciones..

Se modifica la máscara a fin de habilitar selectivamente las Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la interrupciones que permitiremos durante la ejecucíon de la rutina.rutina.

Se habilitan globalmente las interrupciones seteando el flag IF Se habilitan globalmente las interrupciones seteando el flag IF en 1.en 1.

Se ejecuta la rutina de atención de la interrupción solicitadaSe ejecuta la rutina de atención de la interrupción solicitada.. Se deshabilitan globalmente las interrupciones seteando el Se deshabilitan globalmente las interrupciones seteando el

flag IF en 0.flag IF en 0. Se reemplaza la máscara de interrupciones con la original.Se reemplaza la máscara de interrupciones con la original. Retorna de la interrupción con una instrucción que restaura el Retorna de la interrupción con una instrucción que restaura el

estado del programa antes del llamado (IRET). estado del programa antes del llamado (IRET). Restaura el PC de la pilaRestaura el PC de la pila Restaura el PSW de la pila (datos de interrupción)Restaura el PSW de la pila (datos de interrupción)

Page 9: Organización del Computador

Controlador de interrupciones IntelControlador de interrupciones Intel

Page 10: Organización del Computador

Controlador de interrupciones IntelControlador de interrupciones Intel

Page 11: Organización del Computador

Interrupciones Motorola 6800Interrupciones Motorola 6800

Page 12: Organización del Computador

Interrupciones: hardwareInterrupciones: hardware El controlador del dispositivo de E/S activa la señal de El controlador del dispositivo de E/S activa la señal de

interrupción a la que se encuentra conectado. interrupción a la que se encuentra conectado. El codificador multiplexor notifica a la CPU que hay una El codificador multiplexor notifica a la CPU que hay una

interrupción.interrupción. La CPU termina de ejecutar la instrucción en curso y verifica si La CPU termina de ejecutar la instrucción en curso y verifica si

la máscara I2-I1-I0 <= IPL2-IPL1-IPL0. la máscara I2-I1-I0 <= IPL2-IPL1-IPL0. En este caso, sube la señal IPEND.En este caso, sube la señal IPEND. El codificador multiplexor notifica al dispositivo, quien en caso El codificador multiplexor notifica al dispositivo, quien en caso

de usar autovectorización baja la señal AVEC.de usar autovectorización baja la señal AVEC. Guarda el contexto del programa en la pila (PSW y PC)Guarda el contexto del programa en la pila (PSW y PC) Pasamos el procesador a modo Pasamos el procesador a modo supervisorsupervisor para que la rutina para que la rutina

ejecute con privilegios de sistema operativo. ejecute con privilegios de sistema operativo. Deshabilita las interrupciones colocando I2-I1-I0 = 000. Deshabilita las interrupciones colocando I2-I1-I0 = 000. Actualiza PC:Actualiza PC:

Si AVEC = 1, coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC.Si AVEC = 1, coloca Mem[Inicio_vector+((id_disp – 1) * 2)] en PC. Si AVEC = 0, coloca Mem[bus_datos+((id_disp – 1) * 2)] en PC.Si AVEC = 0, coloca Mem[bus_datos+((id_disp – 1) * 2)] en PC.

Page 13: Organización del Computador

Interrupciones: softwareInterrupciones: software

Se guarda la máscara de interrupcionesSe guarda la máscara de interrupciones..

Se modifica la máscara a fin de habilitar selectivamente las Se modifica la máscara a fin de habilitar selectivamente las interrupciones que permitiremos durante la ejecucíon de la interrupciones que permitiremos durante la ejecucíon de la rutina.rutina.

Se ejecuta la rutina de atención de la interrupción solicitadaSe ejecuta la rutina de atención de la interrupción solicitada.. Se deshabilitan las interrupciones seteando I2-I1-I0 = 000.Se deshabilitan las interrupciones seteando I2-I1-I0 = 000. Se reemplaza la máscara de interrupciones con la original.Se reemplaza la máscara de interrupciones con la original. Retorna de la interrupción con una instrucción que restaura el Retorna de la interrupción con una instrucción que restaura el

estado del programa antes del llamado (IRET). estado del programa antes del llamado (IRET). Restaura el PC de la pilaRestaura el PC de la pila Restaura el PSW de la pila (datos de interrupción)Restaura el PSW de la pila (datos de interrupción)

Page 14: Organización del Computador

Acceso directo a memoria (DMA)Acceso directo a memoria (DMA)

Page 15: Organización del Computador

Controlador DMAControlador DMA

DREQ0

DREQ1

DREQ2

DREQ3

DACK0

DACK1

DACK2

DACK3

HRQ

HLDA

HOLD

HLDA

CPU

Controlador de DMA

Device 1Device 1

Device 2Device 2

Device 3Device 3

Device 4Device 4

AddressBus

Ad

dre

ss

Bu

s

DRAM

Data Bus

Page 16: Organización del Computador

Subsistema de DMA PC: Subsistema de DMA PC: LimitacionesLimitaciones

El DMA visto, introdujo mejoras en la El DMA visto, introdujo mejoras en la performanceperformance de una PC con un disco rígido de de una PC con un disco rígido de 10 10 MbytesMbytes. .

En las máquinas modernas con discos de 200 En las máquinas modernas con discos de 200 GbytesGbytes, el 8237, se transformaría en un cuello , el 8237, se transformaría en un cuello de botella.de botella.

Los chipsets que acompañan a los Los chipsets que acompañan a los procesadores Core Duo, aún los mas modernos procesadores Core Duo, aún los mas modernos siguen incluyendo la lógica equivalente a este siguen incluyendo la lógica equivalente a este subsistema (8237 like).subsistema (8237 like).

Page 17: Organización del Computador

Subsistema de DMA PC: Subsistema de DMA PC: LimitacionesLimitaciones

Las Las PCsPCs modernas utilizan DMA de primera modernas utilizan DMA de primera parte. parte.

Se refiere a controladores de dispositivos de E/S Se refiere a controladores de dispositivos de E/S (como disco por ejemplo) capaces de requerir (como disco por ejemplo) capaces de requerir por si solos el DMA y manejarlo. por si solos el DMA y manejarlo.

Este concepto se conoce como Este concepto se conoce como Bus MasteringBus Mastering y y en él se basa la tecnología Ultra DMA (UDMA) en él se basa la tecnología Ultra DMA (UDMA) de los controladores IDE para discos rígidos por de los controladores IDE para discos rígidos por ejemplo.ejemplo.

Page 18: Organización del Computador

Alternativas al DMA legacy: Alternativas al DMA legacy: E/S E/S Programada (PIO)Programada (PIO)

• Esquema de acceso a la E/S mediante Esquema de acceso a la E/S mediante instrucciones de E/S del procesador (IN, OUT, INS, instrucciones de E/S del procesador (IN, OUT, INS, y OUTS) y algún hardware adicionaly OUTS) y algún hardware adicional

• De acuerdo a la implementación se consiguieron De acuerdo a la implementación se consiguieron diferentes velocidades de acceso. Estas se diferentes velocidades de acceso. Estas se conocen como Modos de E/S Programada o PIO conocen como Modos de E/S Programada o PIO ModesModes..

• La solución resultó mas que aceptable para los La solución resultó mas que aceptable para los primeros discos rígidos de tecnología IDE/ATA, de primeros discos rígidos de tecnología IDE/ATA, de modo que estos PIO modo que estos PIO modesmodes fueron incluidos en las fueron incluidos en las respectivas especificaciones de los estándares respectivas especificaciones de los estándares ATA-1 y ATA-2.ATA-1 y ATA-2.

Page 19: Organización del Computador

Alternativas al DMA legacy: Alternativas al DMA legacy: E/S E/S Programada (PIO)Programada (PIO)

Cantidad de nano segundos para que se lleve a cabo la transferencia

1/Tiempo de Ciclo

Page 20: Organización del Computador

Subsistemas de DMA modernosSubsistemas de DMA modernosBus Mastering

Para los discos rígidos el método PIO, demanda demasiada CPU.

El Bus PCI aumenta la velocidad de transferencia, y permite acceder al bus del sistema de manera transparente a la CPU.

Por este motivo se desarrolló el método de Bus Mastering para reemplazar al PIO en transferencias masivas de datos de modo de liberar a la CPU.

Para habilitar Bus Mastering en un sistema, se requiere: Soporte de hardware (chipset) Que el dispositivo periférico soporte Bus Mastering. Sistema operativo de 32 bits: Windows 2000, Windows XP, Linux,

etc. En algunas ocasiones se requiere la instalación de un driver.

Page 21: Organización del Computador

Ejemplo de controlador de disco Ejemplo de controlador de disco conectado el bus I/Oconectado el bus I/O

Page 22: Organización del Computador

Controlador DMA de IntelControlador DMA de Intel

Page 23: Organización del Computador

Controlador DMA de IntelControlador DMA de Intel

Page 24: Organización del Computador

Diagrama de tiempos de un busDiagrama de tiempos de un bus

Page 25: Organización del Computador

Configuración Channel I/OConfiguración Channel I/O

Page 26: Organización del Computador

ConclusionesConclusiones

Método I/OMétodo I/O Complejidad Complejidad hardwarehardware

Complejidad Complejidad softwaresoftware

VelocidadVelocidad

PollingPolling ++ ++++++ ++

InterrupcionesInterrupciones ++++ ++++ ++++

DMADMA ++++++ ++ ++++++