entrada / salida

33
8. ENTRADA / SALIDA 1

Upload: elisha

Post on 25-Feb-2016

132 views

Category:

Documents


0 download

DESCRIPTION

ENTRADA / SALIDA. 1. ENTRADA / SALIDA. 2. Estructura General Espacios de Direccionamiento Métodos de Entrada / Salida 3.1. Polling 3.2. Interrupciones 3.3. DMA. ENTRADA / SALIDA. 3. Estructura General. Estructura General. DD1. DD2. CPU. Memoria. 4. Entrada / Salida. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ENTRADA / SALIDA

8. ENTRADA / SALIDA

1

Page 2: ENTRADA / SALIDA

ENTRADA / SALIDA

1. Estructura General

2. Espacios de Direccionamiento

3. Métodos de Entrada / Salida

3.1. Polling

3.2. Interrupciones

3.3. DMA

2

Page 3: ENTRADA / SALIDA

1. Estructura General

ENTRADA / SALIDA

3

Page 4: ENTRADA / SALIDA

Estructura General

Entrada / Salida 4

CPU

Memoria

DD1 DD2

Page 5: ENTRADA / SALIDA

Estructura General

Entrada / Salida 5

CPU

Memoria

DD1 DD2

Controlador de vídeo

Controlador de

Teclado

Controlador de

DisqueteControlador Impresora

Controlador de Discos

Page 6: ENTRADA / SALIDA

Estructura General

Entrada / Salida 6

CPU

Memoria

DD1 DD2

Controlador de vídeo

Controlador de

Teclado

Controlador de

DisqueteControlador Impresora

Controlador de Discos

Driver de vídeo

Driver de teclado

: :: :

Page 7: ENTRADA / SALIDA

2. Espacios de Direccionamiento

ENTRADA / SALIDA

7

Page 8: ENTRADA / SALIDA

Espacios de Direccionamiento

Entrada / Salida 8

Direccionamiento de la E/S

Espacios de direccionamiento separados

E/SExplícita

E/SMapeada

Espacio de direccionamien

to único

Page 9: ENTRADA / SALIDA

Espacios de Direccionamiento

Entrada / Salida 9

E/S Explícita Intel: Instrucciones explícitas de E/S

IN (AX, FFF4);OUT (AX, FFF6);

PowerPC: Registro de control para conmutar de espacio de direccionamiento

E/S Mapeada68000: Instrucciones normales

MOVE.B $EFFA07,D0MOVE.B D0,$EFFA07

Page 10: ENTRADA / SALIDA

3. Métodos de Entrada / Salida

ENTRADA / SALIDA

10

Page 11: ENTRADA / SALIDA

Métodos de Entrada / Salida

Entrada / Salida 11

La comunicación entre CPU y

dispositivo se realiza en dos

fases

1º Sincronización CPU - Dispositivo

2º Transferencia del DatoEstos 2 pasos pueden realizarse: Por Polling

Por InterrupcionesPor DMA

SW.

HW.

Baja

Alta

Polling Interrupciones DMASincronizaciónSW-CPU HW. HW.Transferencia SW-CPU SW-CPU HW.

Page 12: ENTRADA / SALIDA

3.1. Polling

ENTRADA / SALIDA

12

Page 13: ENTRADA / SALIDA

Entrada / Salida 13

repeat Esperar a que se pulse una tecla;

Leer la tecla (carácter) pulsada; Esperar a que la pantalla esté lista; Enviar carácter a la pantalla;until false;

Lectura de Teclado y Eco por Pantalla

Métodos de Entrada / Salida Polling

Page 14: ENTRADA / SALIDA

Entrada / Salida 14

Lectura de Teclado y Eco por Pantallainic_ES ........

........rts

env_car btst.b #2,SRAbeq env_carmove.b D5,TBArts

rec_car btst.b #0,SRAbeq rec_carmove.b RBA,D5rts

Inicio bsr inic_ESBucle bsr rec_car

bsr env_carbra bucle

Métodos de Entrada / Salida Polling

Page 15: ENTRADA / SALIDA

Entrada / Salida 15

Inconvenientes de la E/S por polling

El dispositivo no puede actuar cuando lo necesita sino sólo cuando le atienden.

Se realiza espera activa.

Métodos de Entrada / Salida Polling

Page 16: ENTRADA / SALIDA

3.2. Interrupciones

ENTRADA / SALIDA

16

Page 17: ENTRADA / SALIDA

Entrada / Salida 17

Métodos de Entrada / Salida Interrupciones

. . .MOV R1,R2CMP 0,R3 . . .

Flujo Normal

de Ejecución

R T I

Int

IN R5MOV R6,R5MOV R7,0OUT FFF4 . . .RTE

DD1

1

2

3

4

Page 18: ENTRADA / SALIDA

Entrada / Salida 18

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

La CPU programa el dispositivo

Interrupciones

Page 19: ENTRADA / SALIDA

Entrada / Salida 19

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

La CPU continúa

ejecutando

Interrupciones

Page 20: ENTRADA / SALIDA

Entrada / Salida 20

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

El dispositivo envía una

interrupción

Interrupciones

Page 21: ENTRADA / SALIDA

Entrada / Salida 21

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

La CPU acepta la interrupción

Interrupciones

Page 22: ENTRADA / SALIDA

Entrada / Salida 22

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

El dispositivo envía el número de vector de

interrupción

Interrupciones

Page 23: ENTRADA / SALIDA

Entrada / Salida 23

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

Interrupciones

Se utiliza el número de vector para acceder a la tabla de vectores de

interrupción

Tabla de vectores

Page 24: ENTRADA / SALIDA

Entrada / Salida 24

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

Interrupciones

Se da control a la rutina de tratamiento de la interrupción

Rut :::: rte

Rut

Page 25: ENTRADA / SALIDA

Entrada / Salida 25

Métodos de Entrada / Salida

CPU MemoriaDD

Controlador de Disco

Se devuelve el control al programa que

estaba ejecutando la CPU

Interrupciones

Page 26: ENTRADA / SALIDA

Entrada / Salida 26

Métodos de Entrada / Salida Interrupciones

Tiposde

Interrupciones

(Excepciones, Traps)

- Anomalías en instrucciones

- Interrupciones Software

- Externas(asíncronas)

- Internas(síncronas)

- Instr. ilegal- Bus error- Div. por cero- Overflow

-Trap #7

Page 27: ENTRADA / SALIDA

Entrada / Salida 27

Métodos de Entrada / Salida Interrupciones

Interrupciones

No Enmascarables

- Reset

- Error de Bus- NMI

Enmascarables

De forma global- Enable/Disable

De forma selectiva- Prioridades

Page 28: ENTRADA / SALIDA

Entrada / Salida 28

Métodos de Entrada / Salida Interrupciones

inicio move.b #%00110011,MR1Amove.b #%00000111,MR2Amove.b #%10111011,CSRAmove.b #%00000101,CRAmove.b #$40,IVRmove.l #rutint,$40*4andi.w #%1111100011111111,SRmove.b #%00000010,IMR

tarea bra tarea

rutint move.b RBA,D0esp btst.b #2,SRA

beq espmove.b D0,TBArte

Lectura de Teclado y Eco por PantallaEntrada Interrupciones Salida

Polling

Page 29: ENTRADA / SALIDA

3.3. DMA

ENTRADA / SALIDA

29

Page 30: ENTRADA / SALIDA

Entrada / Salida 30

Métodos de Entrada / Salida DMA

Polling Interrupciones

MOVE PUERTO_DATOS,R0+

Actualizar puntero buffer E/S+

Llevar la cuenta Nº bytes transferidos

+Si INTS. Salvar y restaurar SR y PC

¡ Problemas !

Velocidad Máxima Limitada

La CPU no puede dedicarse a otra tarea

Page 31: ENTRADA / SALIDA

Entrada / Salida 31

Métodos de Entrada / Salida DMA

CPU DMA MemoriaDD

Controlador de Disco

La CPU programa al

DMA

Page 32: ENTRADA / SALIDA

Entrada / Salida 32

Métodos de Entrada / Salida DMA

CPU DMA MemoriaDD

Controlador de Disco

La CPU continúa

ejecutando

El DMA monitoriza a la memoria y al

controlador

Page 33: ENTRADA / SALIDA

Entrada / Salida 33

Métodos de Entrada / Salida DMA

CPU DMA MemoriaDD

Controlador de Disco

El DMA (o el controlador) avisa a la CPU de que la transferencia ha

finalizado