i/o Flashcards

(51 cards)

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
``` Interrupt Service Routine (ISR) ```
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
controlador de interrupciones
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
Interrupt | Acknowledge (INTA)
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
vector | de interrupciones
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
End of Interrupt (EOI)
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
masking
consiste en poder especificar que algunas interrupciones | se desestimen
31
IMR Interrupt | Masking Register
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
Programmable | Interrupt Controller 8259 PIC
en x86. una pieza de hardware especialmente dise˜nada para manejar interrupciones de dispositivos de I/O
33
componentes de PIC
``` IRQs (cada iqr esta asociado a un dispositivo) Interrupt Request Register In-Service Register Interrupt Mask Register Priority Solver ```
34
Interrupt Request Register
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
In-Service Register
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
Interrupt Mask Register
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
Priority Solver
Circuito que define que interrupci´on notificar primero a la CPU, en caso de existir varias interrupciones pendientes
38
Interrupt Flag (IF)
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
excepciones
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
exception handlers
isr de las excepciones
41
interrupciones | de software
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
CLI (clear interrupt flag) y STI
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
Programmed I/O (PIO)
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
Direct Memory Access (DMA)
dispositivo pudiera acceder directamente a la memoria para copiar los datos y solamente contactarse con la CPU al comienzo y al final,
45
controlador DMA
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
componentes controlador DMA
``` 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
bridges
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
North Bridge
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
South Bridge
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
buses del North Bridge
Front Side Bus (FSB) | Memory Bus
51
BIOS
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.