Академический Документы
Профессиональный Документы
Культура Документы
P
E
R
I
F
R
I
C
O
I N T E R F A C E
Descripcin de una salida de informacin (hacia el perifrico)
El canal:
Posicionar la seal de nivel E/S para indicar que se trata de una salida de informacin;
Posicionar la informacin a salir en las lneas de informacin IN0 a INn;
Por ltimo, enviar un impulso DEM de demanda de servicio, y quedar a la espera;
El perifrico:
Reconocer la demanda DEM y se fijar en el hilo de gobierno E/S para saber si la operacin
consiste en una entrada o en una salida de informacin;
Como E/S vale 1, sabr que se trata de una salida y por lo tanto muestrear mediante un impulso
los hilos de informacin IN0 a INn
Dicho impulso podr ser usado tambin para decirle al canal que la demanda de salida fue
reconocida y la informacin muestreada (envindole el impulso bajo la forma ADEM de acuerdo
de demanda).
Descripcin de una entrada de informacin (desde el perifrico)
El canal:
Pondr el hilo E/S a 0 para indicar que se trata de una entrada;
Enviar el impulso DEM al perifrico
El perifrico:
Recibir la solicitud DEM y sabr que es una entrada (es decir que el debe enviar informacin) por
el valor del hilo de gobierno E/S en cero;
Pondr la informacin a enviar en los hilos IN0 a INn;
Enviar la seal de acuerdo ADEM.
El canal:
Recibe ADEM y lee de los hilos de informacin la informacin solicitada.
: retardo de la seal DEM hasta que se estabilicen los
niveles de salida de informacin.
Espera: el canal permanece bloqueado en espera de
respuesta del perifrico (tiempo indeterminado).
: tiempo durante el que la informacin a la salida
permanece disponible tras recepcin de ADEM.
: tiempo durante el que la informacin suministrada
por el perifrico permanece disponible, tras ADEM.
( corresponden a salida, a entrada)
Nocin de multiplaje
El multiplaje permite concentrar varias vas de entrada en una sola o distribuir una va de salida en
varias vas. Tambin permiten conectar varias unidades externas (perifricos) a un mismo canal. A veces
se usa este mtodo en los canales simples, es decir aquellos que no pueden gestionar ms de una
transferencia a la vez. De esta forma, el direccionamiento de las unidades externas (es decir la seleccin de
la unidad con la que se trabaja en el momento de entre todas las conectadas) se hace en estrella, un hilo
por unidad, despus de decodificar la direccin de la unidad en el canal.
Hilos de la interface
Lneas mnibus o buses
Otra forma de conectar varias unidades externas a un canal es usar una lnea mnibus que las una.
Si una unidad externa no resulta seleccionada, se comporta transparentemente frente a la informacin,
es decir que la transmite sin alterarla.
El direccionamiento puede hacerse en estrella como se explica mas arriba. Tambin es posible usar la
propia lnea mnibus para el direccionamiento, en cuyo caso, un hilo especial indica que la informacin
emitida por el canal es una direccin (no una informacin). Cada unidad externa atravesada por la lnea
mnibus comprueba este hilo a cada transferencia, y si detecta que lo trasmitido se trata de una direccin,
compara la direccin transmitida con la suya propia. Si ambas coinciden, la unidad externa se pone en
estado de dilogo con el canal, en cambio, si son distintas, transmite la direccin a la unidad siguiente.
Registro de palabra de
comunicacin con la memoria
Registro de caracter de
comunicacin con el exterior
Para una operacin de salida (hacia el perifrico) los 4 caracteres de la palabra de memoria sern
enviados sucesivamente hacia el exterior, siendo transferido primero el carcter de mayor peso, es decir
la palabra de memoria se fracciona. Para una entrada, los caracteres se van concentrando
sucesivamente para formar una palabra completa.
Diferentes tcnicas de ejecucin de una transferencia elemental
Una transferencia elemental es la transferencia de una informacin (caracter o palabra) desde una
posicin de memoria central a una unidad externa (perifrico), o viceversa, segn se trate de una entrada
o de una salida. La ejecucin de una transferencia elemental supone que se conozca lo siguiente:
Informacin pidiendo el lanzamiento de la transferencia: DEM.
Indicacin del sentido de la transferencia (entrada o salida): SEN.
Direccin de memoria implicada en la transferencia (de la que se va a leer o en la que se va a
guardar): DIR.
Las tcnicas se diferencian en la forma en que la informacin anterior se suministra a la computadora, y
son las siguientes:
Transferencia programada: Es la computadora quien hace la demanda de transferencia DEM. Es
programada porque se ejecuta cuando el programa llega a una instruccin de transferencia. Las
informaciones complementarias son suministradas por dicha instruccin, que puede tener dos formas:
o ENT DIR Entrar informacin y almacenarla en la direccin de memoria DIR
o SAL DIR Leer informacin guardada en la direccin de memoria DIR y hacerla salir
Instruccin de
transferencia
Transferencia por instruccin forzada: Es la unidad externa quien hace la demanda. Genera la
instruccin de E/S y fuerza su ejecucin prioritaria una vez que la unidad central concluye con la
instruccin en curso. El programa en curso queda suspendido durante la ejecucin de esta instruccin.
Transferencia por robo de ciclo: Es la unidad externa quien hace la demanda. La unidad central
termina el ciclo de memoria en curso y concede el prximo ciclo a la unidad externa, la cual provee el
sentido SEN y la direccin implicada DIR (lo que en los dos anteriores se especifica mediante una
instruccin). El programa en curso queda en suspenso durante un ciclo.
Transferencia por acceso directo a memoria: Se supone que la memoria tiene 2 vas de acceso
(muelles), de las cuales una es para la computadora y la otra para la unidad externa. Las peticiones de
ciclo de memoria tanto de la unidad central como de la unidad externa van dirigidas a la unidad de
control de acceso a memoria (UCAM), que gestiona las prioridades de acceso de ambas.
Desde el punto de vista de la unidad externa, el proceso es el mismo que para robo de ciclo, con la
diferencia de que la solicitud de transferencia va dirigida al controlador de acceso a memoria (UCAM)
y no a la unidad central.
El programa en curso no resulta suspendido durante el ciclo de memoria solicitado, excepto cuando la
unidad central haya pedido simultneamente un ciclo de memoria.
Resumen de las tcnicas anteriores: el siguiente cuadro compara las 4 tcnicas en funcin de dos
parmetros:
el mximo tiempo de espera de la unidad exterior desde que se lanza la demanda
tiempo que el programa en curso resulta detenido
Los canales
Enlace programado
No es propiamente un canal sino un medio de acceso controlado por el programa, ya que cada
transferencia elemental est gobernada por una instruccin del programa en curso.
Son necesarias 4 instrucciones de E/S para realizar entradas-salidas en modo programado:
Dos instrucciones de gobierno de transferencias de informacin:
SAL M
que permite llevar el contenido de la direccin de memoria M a las lneas de salida de informacin de
la interfase, y
ENT M
que permite almacenar en dicha direccin la informacin presente en las lneas de entrada de
informacin de la interfase.
Dos instrucciones de control general de las operaciones de E/S, que son:
GCP (gobierno de perifrico)
que lleva la parte de direccin de la instruccin a las lneas de salida de control y direccin, lo que
permite direccionar un controlador de perifrico y especificarle la operacin por ejecutar, y
PRE (prueba de estado)
que almacena en el acumulador el contenido de las lneas de entrada de estados, lo que permite
obtener informacin descriptiva del estado del perifrico anteriormente direccionado por GCP.
Las rdenes o seales de gobierno SI, NI, SC, NC corresponden a estos cuatro tipos de operaciones.
Por ejemplo, para la salida SAL, la informacin permanece en el registro M hasta ser tomada en cuenta por
el perifrico. Durante ese tiempo las puertas SRM y SRI permanecen abiertas para mantener activos los
niveles lgicos en las lneas de salida de
informacin y al mismo tiempo la seal de gobierno
SI permanece activa para indicar una salida de
informacin. Se enva entonces al controlador de
perifrico previamente direccionado, una seal
impulsional DEM. Al recibirla ste (suponiendo que
est disponible), sabe que hay una demanda y se
fija en los hilos de gobierno para saber de qu se
trata. Al detectar SI activa, sabe que se trata de una
salida, por lo que muestrea la informacin de las
lneas de salida de informacin de la interfase y
devuelve a la computadora una seal de acuerdo con la demanda ADEM para liberarla y que empiece con
la siguiente instruccin.
SAL M
3 4 1
TMS
DEC
controladores de perifricos
Canal automtico: modo canal
Los canales automticos, a diferencia del enlace programado, son capaces de gestionar el conjunto de una
operacin de E/S sin intervencin de la unidad central, excepto para inicializar y concluir dicha operacin.
Vamos a describir de manera esquemtica una unidad de este tipo en que las transferencias elementales
se hacen por robo de ciclo.
La operacin de E/S queda enteramente definida por: el sentido de la transferencia a realizar (entrada o
salida), y la zona de almacenamiento en memoria de las informaciones por transferir. Esta zona puede
delimitarse mediante la direccin de su primera palabra (DIR) y su nmero de palabras (CDP).
La unidad central es quien inicializa la operacin, por programa (cuando se llega a una instruccin de
E/S). Selecciona el perifrico que va a estar implicado en las transferencias y carga las informaciones que
definen la zona de almacenamiento de la memoria (de la que se van a sacar informaciones o en la que se
van a guardar) en 2 registros del canal, uno es el DEC (direccin en curso) y el otro el CDP (cuenta de
palabras).
Una vez hecha la inicializacin, la operacin de E/S se desarrolla ya al ritmo del perifrico y es a peticin
de este que el canal ejecuta una transferencia elemental. Para esto usa el contenido del registro DEC para
saber con cual palabra de la zona de memoria se est trabajando en ese instante, luego lo incrementa para
que pase contener la direccin de la palabra siguiente y decrementa el registro CDP.
La transferencia termina cuando el canal detecta que el registro CDP llega a cero o cuando el controlador
de perifrico enva una seal de fin de informacin. En ese momento el canal genera una interrupcin para
indicar a la unidad central que la operacin de E/S concluy.
A este modo de funcionamiento soportado por 2 registros, uno para la direccin en curso y el otro para la
cuenta de palabras, se denomina modo canal, y a la unidad que lo soporta se le llama canal.
C A N A L
En el siguiente grfico se muestra un esquema de una entrada de informacin a travs del canal
automtico de Abacus
Suponemos que la operacin ya se inicializ (se cargaron DEC y CDP). En determinado momento,
controlador de perifrico posiciona la informacin en las lneas de entrada de informacin del canal y
le enva una demanda de transferencia (DEM).
El canal recibe la demanda y muestrea la informacin en el registro T (EINT), luego devuelve al
controlador un acuerdo de demanda (ADEM) para liberarlo.
El canal pide un ciclo de memoria (PCM) a la unidad central, para hacer la transferencia elemental, es
decir para guardar la info que le mand el perifrico. La informacin (en T) y el (DEC) ya estn
disponibles para cuando la unidad central lo requiera mas adelante.
La unidad central espera al final del ciclo en curso y luego manda (DEC) S activando SDEC y ENS.
Luego lanza un ciclo de escritura al mismo tiempo que deja disponible (T) en M con SRT y ENM. En
este momento, la informacin enviada por el perifrico se escribe en la direccin de memoria dada por
(DEC).
La unidad central devuelve al canal un acuerdo APCM dicindole que ya escribi la informacin. El
ciclo de E/S termin por lo que devuelve el control al programa.
El canal incrementa DEC, decrementa CDP y si CDP = 0 manda una interrupcin a la unidad central y
un fin de operacin al controlador, sin, espera otra demanda del mismo
Encadenamiento de datos
En el canal automtico, para pasar de una zona de memoria a otra, la unidad central deba desarrollar,
despus de la interrupcin de fin de transferencia correspondiente a la primera zona, un programa cuyo
objetivo sera recargar los registros DEC y CDP del canal, con las caractersticas de la segunda zona y
relanzar la operacin de entrada o de salida.
El encadenamiento de datos permite cargar dichos registros del canal para pasar de una zona a otra sin la
intervencin de la unidad central. Para poder hacerlo, es necesario aadir a las informaciones DEC y CDP
dos informaciones binarias de gobierno:
=0 no interrupcin
IT {
=1 interrupcin
=0 no encadenamiento
ED {
=1 encadenamiento
De esta forma, de haber encadenamiento, las nuevas palabras de control se encontrarn al final de la zona
actual:
El canal transmite al controlador del perifrico el cdigo de operacin que le es destinado. En este
momento la operacin de E/S queda inicializada y un proceso idntico se desarrolla cada vez que
el canal pide una nueva instruccin de canal (lo que pasa cuando termina con la zona de E/S
asociada a la instruccin actual).
4) Una vez inicializada la operacin de E/S, las demandas de transferencia elemental de informacin
las hace el controlador del perifrico, que trabaja a su propio ritmo. Al recibir una de estas
demandas, el canal efecta la transferencia pedida usando y actualizando las informaciones DEC
(que al principio sustituye a la direccin de la 1ra palabra) y CDP.
5) Una transferencia se terminar ya sea cuando que el contenido de CDP es nulo, o bien cuando el
controlador de perifrico manda una seal de fin de transferencia. En cualquiera de los dos casos
el canal comprobar los indicadores para decidir qu hacer:
Encadenamiento de datos (ED): si este indicador est activado, el canal pasar a la
siguiente instruccin de canal incrementado el contador de instrucciones de canal e
ignorando el nuevo cdigo de operacin perifrica.
Encadenamiento de gobierno (EG): si est activado, el canal pasar a la siguiente
instruccin de canal, usando en este caso el nuevo COP.
Interrupcin (IT): si est activado, se generar una interrupcin al final de la transferencia.
Para aclarar:
est asociada
una instruccin de a un
inicio de E/S
Cada instruccin
del programa de
canal est
asociada a una
zona de E/S
Canal multiplado en el tiempo
El canal multiplado en el tiempo es capaz de gestionar simultneamente varias transferencias entre
memoria y perifricos. Cada una de estas transferencias es controlada por un programa canal presente en
la memoria central. Por lo tanto va a existir, asociado a cada controlador de perifrico conectado al canal,
un subcanal, que guarda las informaciones actualizadas del programa canal asociado a ese perifrico.
Estas informaciones son: la direccin de la instruccin de canal actual del programa canal de ese
perifrico, la DEC, la CDP y los indicadores de encadenamiento e interrupcin de esa instruccin.
Al transferir una informacin entre la memoria central y uno de los controladores de perifrico, se llevan
los DEC y CDP del subcanal asociado a ese perifrico, a los registros DEC y CDP del canal principal. Este
ltimo devuelve las informaciones actualizadas despus de utilizadas (DEC incrementado, CDP
decrementado) al subcanal.
Es como si el canal principal fuera comn a todos los subcanales y stos formaran una memoria que
almacena las informaciones del programa de canal asociado a su perifrico (cada subcanal est asociado a
un perifrico).
(canal multiplado)
Canal Principal
Subcanales (1 por
cada perifrico)
El dilogo entre el canal y los controladores de perifricos se hace a travs de un bus (lnea mnibus) y un
hilo de prioridad.
Interrupciones prioritarias
Generalidades
Las interrupciones permiten detener provisoriamente el desarrollo de un programa en curso para dar
paso a otro considerado como prioritario y consiste, en general, en memorizar el estado de la mquina
desde el final de la instruccin en curso y forzar seguidamente en el contador de programa la direccin de
la primera instruccin del programa asociado a la interrupcin, el cual termina en una instruccin que
restaura el estado que tena la mquina en el momento de la interrupcin, lo que permite la reanudacin
del programa interrumpido.
Algunas computadoras tienen una sola posibilidad de interrupcin (un solo nivel), caso en el cual se
pasarn todas las causas de interrupcin a travs de un OR lgico y el programa de interrupcin deber
comprobar un conjunto de indicadores para detectar cual fue la causa de la misma.
Otras tienen varios niveles de interrupcin. Dichos niveles pueden estar jerarquizados, lo que significa
que estn clasificados por prioridades y que un programa de interrupcin de un nivel puede ser, a su vez,
interrumpido por una demanda de interrupcin de un nivel con ms prioridad. El programa interrumpido
pasa entonces a un estado de espera.En la figura siguiente se ve un sistema jerarquizado de interrupcin
de 8 niveles, donde la prioridad crece de abajo hacia arriba. Al terminar de ejecutarse un programa
cualquiera de interrupcin, el control se transfiere al programa de menor prioridad.
Descripcin de un sistema jerarquizado de interrupciones prioritarias
Cada nivel de interrupcin tiene asociados 4 biestables, que dan los estados posibles del nivel