i/o Flashcards

1
Q

Controladores de dispositivos i/o

A

son circuitos digitales encargados de controlar las
partes electro/mec´anicas del dispositivo seg´un la comunicaci´on realizada con el computador. En la
mayor´ıa de los casos, los controladores son microprocesadores completos, que ejecutar´an programas
especialmente dise˜nados para controlar al dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

funciones controladores de dispositivos i/o

A

Comunicaci´on con el computador.
Comunicaci´on con el dispositivo.
Almacenamiento temporal.
Detecci´on de errores
Control de elementos mec´anicos/f´ısicos.
Conversi´on de se˜nales continuas en digitales o vice-versa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

componentes de los controladores de dispositivos i/o

A
Circuitos de control
Conversores ADC o DAC
Memoria:
-Buffer
-Registros de control
-Registros de status
-Registros de datos
-Registros de direcci´on
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

funcion circuitos de control de un controlador

A

estar´an
encargados de regular el funcionamiento del dispositivo, coordinar la comunicaci´on con el
computador y ejecutar la detecci´on y/o correcci´on de errores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

funcion Conversores ADC o DAC de un controlador

A

conversores an´alogo-digital o digital-an´alogo para traducir se˜nales el´ectricas
continuas en informaci´on para el computador o vice-versa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

funcion buffer de un controlador

A

e almacena los datos que el dispositivo este entregando

o recibiendo del computador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

funcion registro de control de un controlador

A

direcciones espec´ıficas de la memoria que son escritos por el
computador para indicar comandos que debe ejecutar el dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

funcion registro de status de un controlador

A

direcciones espec´ıficas de la memoria que son escritos por el
dispositivo para indicar informaci´on al computador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

funcion registro de datos de un controlador

A

direcciones espec´ıficas de la memoria para leer o escribir datos
individuales o asociados a la memoria local (buffer) del dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

funcion registro de direcciones de un controlador

A

direcciones espec´ıficas de la memoria para direccionar la memoria
local (buffer) del dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

comunicaciones que pueden ocurrir entre la CPU y un dispositivo i/o

A
  • comunicaci’on de comandos
  • comunicacion de estado
  • transferencia de datos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

comunicacion de comandos

A

Cuando la CPU quiere indicarle a un dispositivo que realice
una determinada acci´on, debe hacerlo envi´andole comandos a los registros de control. Por
ejemplo si la CPU quiere avisarle a un cierto dispositivo (e.g c´amara web) que se encienda,
deber´a escribir en un determinado registro de control del controlador del dispositivo un cierto
n´umero, que este interpretar´a como el comando de activaci´on

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

comunicacion de estado

A

Cuando la CPU quiere obtener informaci´on sobre el estado del
dispositivo, dee hacerlo leyendo uno de los registros de status de ´este. Por ejemplo si la CPU
quiere saber si un dispositivo tiene nueva informaci´on que enviar (e.g el mouse se movi´o, y
tiene nuevas posiciones que enviar), la CPU deber´a leer el valor almacenado en el registro
espec´ıfico e interpretarlo seg´un corresponda

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

transferencia de datos

A
Cuando la CPU quiere enviarle datos a un dispositivo o leer datos
de ´el, si es poca informaci´on esto se podr´a hacer ocupando registros de datos que tenga el
controlador del dispositivo. Si es m´as informaci´on, esto se realizar´a escribiendo o leyendo desde
el buffer (memoria) del dispositivo. Por ejemplo, si el disco duro quiere enviarle informaci´on
a la CPU, se acceder´a a ´esta mediante el buffer de datos del disco
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

mecanismos principales para realizar el proceso de direccionamiento y transferencia
de datos

A

Existen dos mecanismos principales para realizar el proceso de direccionamiento y transferencia
de datos: mapeo a memoria (memory mapped I/O) y usando el mecanismo de puertos (port
I/O).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Memory mapped i/o

A

. La implementaci´on de esta idea consiste en reservar un espacio de direcciones de memoria
para ser ocupados para ✭✭mapear✮✮ los registros y buffer de los dispositivos de I/O. De esta forma es
posible acceder directamente ocupando una instrucci´on como MOV A, (dir) a un dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

address decoder

A

Se utiliza en memory mapped i/o. una pieza de hardware especializada que estar´a ✭✭vigilando✮✮ el bus de direcci´on para
determinar si la direcci´on colocada corresponde a la RAM o alguno de los dispositivos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

ventajas y desventajas de memory mapped i/o

A

ventajas: su implementaci´on es simple a nivel de
hardware, es posible ocupar las mismas instrucciones de transferencia y modos de direccionamiento
que para trabajar con memoria y tambi´en es posible realizar operaciones en la ALU, de la misma
forma que se realizaban con datos de memoria.
desventaja: limita el espacio direccionable de la memoria, lo que se
conoce como memory barrier. Debido a que se deben reservar un grupo de direcciones para
apuntar a los dispositivos, estas direcciones no pueden ser ocupadas para almacenar en memoria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Port i/o

A

se definen instrucciones espec´ıficas y un espacio de direccionamiento propio para acceder a los
dispositivos. En el caso de la arquitectura Intel, por ejemplo, se definen dos instrucciones: IN que se
ocupa para leer datos desde un dispositivo y OUT que se ocupa para escribir datos en un dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

mecanismos de direccion espacial de port i/o

A
  1. utilizar un bus de direcciones especial s´olo para I/O (figura 7) con lo que se asegura
    que no habr´a choque entre las direcciones.
  2. m´etodo consiste en ocupar el mismo bus que
    el de la RAM, pero indicarle mediante una se˜nal de control al bus, que se est´a refiriendo a una
    direcci´on de I/O, y por tanto la RAM no debe considerar ese valor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Polling

A

la CPU debe estar pregunt´andole o encuestando

al dispositivo continuamente para saber si este tiene algo nuevo que reportar.

22
Q

desventaja de polling

A

problema
de esto es que es muy ineficiente, ya que la CPU debe gastar varias instrucciones para determinar
esto, y si fueran varios dispositivos los que hay que revisar, el problema es a´un peor

23
Q

interrupciones de disp i/o

A

el dispositivo de I/O ser´a el encargado de avisar
cuando ocurre un suceso relevante a la CPU, liberando a ´esta de tener que estar pregunt´andole
a cada dispositivo si ha habido alg´un evento relevante. Para lograr esto, el dispositivo de I/O se
debe conectar a la CPU con una se˜nal de control dedica denominada interrupt request o IRQ.

24
Q

IQR interrupt request

A

senal de control hacia la CPU que avisa cuando ocurre un suceso relevante en algun dispositivo i/o

25
Q
Interrupt
Service Routine (ISR)
A

subrutinas para atender las interrupciones. En estas rutinas se debe definir el c´odigo encargado de atender
la solicitud del dispositivo.
1. CPU llamar a la ISR asociada al dispositivo.
2. ISR respalda el estado actual de la CPU.
3. ISR ejecuta su c´odigo.
4. ISR devuelve el estado previo a la CPU.
5. ISR retorna.

26
Q

controlador de interrupciones

A

a el se conectan todos los dispositivos
y el cual se comunica directamente con la CPU. Cuando ocurre una interrupci´on, el controlador
notificar´a a la CPU. Est´a, para saber quien fue el que interrumpi´o, le env´ıa una se˜nal Interrupt
Acknowledge (INTA) al controlador, para que le env´ıe el id del dispositivo por el bus de datos. Las interrupciones las ordenara de acuerdo a prioridades que
estar´an preestablecidas para los distintos dispositivos

27
Q

Interrupt

Acknowledge (INTA)

A

senal que envia la cpu al controlador de interrupciones para saber que dispositivo interrumpi’o. el controlador le env´ıe el id del dispositivo por el bus de datos

28
Q

vector

de interrupciones

A

es un conjunto de palabras de memoria (habitualmente
almacenados al comienzo de ´esta), en el cual cada palabra tiene almacenada la direcci´on
de un ISR de un dispositivo. De esta manera, el id que entrega el controlador de interrupciones
luego de que la CPU le env´ıe la se˜nal INTA, va a corresponder a un direcci´on dentro del vector de
interrupciones, que indicara a su vez la direcci´on de memoria donde comienza la ISR asociada, y
por tanto esa direcci´on se cargar´a en el program counter, para que la CPU ejecute las subrutina

29
Q

End of Interrupt (EOI)

A

comando enviado Una vez que se termina de ejecutar la ISR, esta se encarga de avisarle al controlador de interrupciones
que ya se completo la atenci´on

30
Q

masking

A

consiste en poder especificar que algunas interrupciones

se desestimen

31
Q

IMR Interrupt

Masking Register

A

controlador de interrupciones tiene un registro especial, el Interrupt
Masking Register o IMR que permite definir que interrupciones se atender´an y cuales no.

32
Q

Programmable

Interrupt Controller 8259 PIC

A

en x86. una pieza de hardware especialmente dise˜nada para manejar
interrupciones de dispositivos de I/O

33
Q

componentes de PIC

A
IRQs (cada iqr esta asociado  a un dispositivo)
Interrupt Request Register
In-Service Register
Interrupt Mask Register
Priority Solver
34
Q

Interrupt Request Register

A

Registro de 8 bits mantiene la informaci´on de las interrupciones
que est´an actualmente esperando un acknowledge de la CPU (INTA). Cada bit se asocia a
un IRQ, donde un 1 en ese bit representa que el dispositivo asociado a ese IRQ interrumpi´o y
espera INTA

35
Q

In-Service Register

A

Registro de 8 bits mantiene la informaci´on de las interrupciones que
est´an siendo atendidas. Cada bit se asocia a un IRQ, donde un 1 en ese bit representa que el
dispositivo asociado a ese IRQ est´a siendo atendido y espera EOI.

36
Q

Interrupt Mask Register

A

Registro de 8 bits mantiene la informaci´on de las interrupciones
que deben ser consideradas. Cada bit se asocia a un IRQ, donde un 1 en ese bit representa
que si el dispositivo interrumpe debe ser atendido; un 0 indicar´a que una interrupci´on de ese
dispositivo no ser´a considerada. Este registro puede ser modificado en la ISR usando el port
I/O mediante el puerto 0x21 para el primer PIC, y 0xA1 para el segundo PIC

37
Q

Priority Solver

A

Circuito que define que interrupci´on notificar primero a la CPU, en caso de
existir varias interrupciones pendientes

38
Q

Interrupt Flag (IF)

A

A nivel de la CPU, la habilitaci´on y deshabilitaci´on de las interrupciones est´a controlada mediante
un flag del registro de status denominado Interrupt Flag (IF) el cual cuando est´a en 0
indica que no se atender´an interrupciones, y cuando est´an en 1 indica que si se atender´an

39
Q

excepciones

A

excepciones ocurren cuando la CPU detecta alguna condici´on de error al ejecutar alguna instrucci´on.
las excepciones las controla directamente la CPU, y no un elemento externo

40
Q

exception handlers

A

isr de las excepciones

41
Q

interrupciones

de software

A

corresponde a interrupciones que son
gatilladas expl´ıcitamente en un programa ejecutando una instrucci´on especial. En el caso de la
arquitectura x86, la instrucci´on usada para gatillar una interrupci´on de software es INT dir donde
dir corresponde a una direcci´on de memoria dentro del vector de interrupciones

42
Q

CLI (clear interrupt flag) y STI

A

para deshabilitar las interrupciones se cuenta
con la instrucci´on CLI (clear interrupt flag); para setear en 1 el flag y habilitar las interrupciones
se cuenta con la instrucci´on STI

43
Q

Programmed I/O (PIO)

A

Esta forma de transferencia de datos se conoce como Programmed I/O (PIO), ya que se
realiza a trav´es del programa. Se puede observar en este caso que en los pasos 2 y 3 la CPU
act´ua simplemente como un dep´osito intermedio de datos. El problema de esto es que la CPU debe
estar ocupada realizado la transacci´on (que pueden ser muchos datos) perdiendo la posibilidad de
hacer otra funcionalidad ´util.

44
Q

Direct Memory Access (DMA)

A

dispositivo pudiera acceder
directamente a la memoria para copiar los datos y solamente contactarse con la CPU al comienzo
y al final,

45
Q

controlador DMA

A

El controlador DMA
tendr´a acceso al bus de datos y se encargar´a de traspasar la informaci´on que el dispositivo le env´ıe
directamente a memoria sin pasar por la CPU

46
Q

componentes controlador DMA

A
Registro de direcci´on destino
Registro de direcci´on origen
Registro contador de palabras
Registro de control (permite q la cpu configure el controlador)
Registro de estado
Buffer
Unidad de control
47
Q

bridges

A

En la pr´actica, las conexiones entre los buses que se observan en el diagrama no se pueden
realizar directamente. La CPU, memoria y los distintos dispositivos de I/O tendr´an diferentes
velocidades, y por tanto se requieren componentes intermediarios, que sean capaces de coordinar
la comunicaci´on entre dispositivos. Estos componentes se conocen como bridges

48
Q

North Bridge

A

el controlador encargado de comunicar a la CPU, la memoria RAM, la
tarjeta gr´afica y al resto de los dispositivos de I/O, conectados con el South Bridge. Habitualmente
se le denomina controlador de memoria, ya que es el encargado de hacer la comunicaci´on entre
la RAM y la CPU. El North Bridge se caracteriza por trabajar con dispositivos y buses de alta
velocidad, y por eso se encuentra separado del acceso directo a los I/O. El North Bridge funciona
como Address Decoder, para manejar las instrucciones de acceso a I/O mapeadas a memoria que
provengan de la CPU, y tambi´en incluye un controlador DMA.

49
Q

South Bridge

A

l encargado de comunicar a todo el resto de los I/O con la memoria y la
CPU, a trav´es del North Bridge, por lo que se le conoce como controlador de I/O. El rango de
velocidades de los dispositivos que se conectan al South Bridge es amplio, pero en general los dispositivos
ser´an m´as lentos que los conectados al North Bridge, lo que incluye discos, DVD, teclado,
mouse, entre otros. Adicionalmente, al South Bridge se conectan dispositivos de I/O especiales,
como el controlador de interrupciones y el controlador DMA.

50
Q

buses del North Bridge

A

Front Side Bus (FSB)

Memory Bus

51
Q

BIOS

A

BIOS es un programa que se ocupa para
inicializar los distintos procesos que permiten el funcionamiento de un computador. Debido a que
cuando el computador est´a apagado la informaci´on del sistema operativo (el programa principal) se encuentra en disco (I/O), y que la memoria RAM es no vol´atil, al encender un computador, la
CPU no tiene acceso a las instrucciones del sistema operativo. Para lograr traspasar el programa
del sistema operativo desde el disco a la RAM, al comenzar a funcionar el computador, se carga
el programa que se encuentra almacenado en la ROM de la BIOS.