Apunte Hardware de Los Sistemas de Computacion

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 34

Tecnologías de la Información y de la comunicación

HARDWARE DE LOS SISTEMAS DE COMPUTACIÓN.

MODELO DE VON NEUMANN


Las computadoras digitales actuales se ajustan al modelo propuesto por el matemático John
Von Neumann. De acuerdo con el, una característica importante de este modelo es que tanto
los datos como los programas, se almacenan en la memoria antes de ser utilizados.

La máquina de Von Neumann tenía 5 partes básicas: La memoria, la unidad Aritmética lógica,
la unidad de control del programa y los equipos de entrada y salida. La memoria constaba de
4096 palabras, cada una con 40 bits (0 o 1). Cada palabra podía contener 2 instrucciones de
20 bits o un número entero de 39 bits y su signo. Las instrucciones tenían 8 bits dedicados a
señalar el tiempo de la misma y 12 bits para especificar alguna de las 4096 palabras de la
memoria.
Dentro de la unidad aritmética - lógica, el antecedente directo actual CPU (Unidad central de
Proceso), había un registro interno especial de 40 bits llamado acumulador. Una instrucción
típica era sumar una palabra de la memoria al acumulador o almacenar éste en la memoria.
Un elemento importante del hardware de la PC es la unidad del sistema, que contiene una
tarjeta de sistema, fuente de poder y ranuras de expansión para tarjetas opcionales. Los
elementos de la tarjeta de sistema son un microprocesador, memoria de solo lectura
(ROM) y memoria de acceso aleatorio (RAM).
El cerebro de la PC y compatibles es un microprocesador basado en la familia 8086 de Intel,
que realiza todo el procesamiento de datos e instrucciones. Los procesadores varían en
velocidad y capacidad de memoria, registros y bus de datos. Un bus de datos transfiere datos
entre el procesador, la memoria y los dispositivos externos.

1 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Aunque existen muchos tipos de computadoras digitales según se tenga en cuenta su tamaño,
velocidad de proceso, complejidad de diseño físico, etc., los principios fundamentales básicos
de funcionamiento son esencialmente los mismos en todos ellos.
Se puede decir que una computadora está formada por tres partes fundamentales, aunque una
de ellas es subdividida en dos partes no menos importantes. En la figura se muestran dichas
partes, llamadas genéricamente unidades funcionales debido a que, desde el punto de vista del
funcionamiento, son independientes.

El nombre de cada parte nos indica la función que realiza. Así, la Unidad Central de Proceso
(CPU) es la que coordina el funcionamiento conjunto de las demás unidades y realiza los
cálculos necesarios; por eso la podemos subdividir en una Unidad de Control (UC) y en una
unidad de cálculo o Unidad Aritmético-Lógica (UAL).
La unidad de Memoria Principal (MP) se encarga de almacenar las instrucciones que realizará
la Unidad de Control al ejecutar un programa y los datos que serán procesados. La Unidad de
Entradas y Salidas será la encargada de la comunicación con el exterior a través de los
periféricos. Estos periféricos pueden ser: de entrada, como los teclados; de salida, como los
tubos de rayos catódicos, y de entrada y salida, como los discos magnéticos.

UNIDAD DE MEMORIA PRINCIPAL


La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de
cada una de estas palabras se guarda la información que constituye una instrucción o parte de
ella (puede darse el caso de que una sola instrucción necesite varia palabras), o un dato o
parte de un dato (también un dato puede ocupar varias palabras).
A la cantidad de palabras que forman la MP se le denomina capacidad de memoria. De este
modo, cuanto mayor sea el número de palabras mayor será el número de instrucciones y datos
que podrá almacenar la computadora.
Una palabra está formada a su vez de unidades más elementales llamadas bits, del mismo
modo que en el lenguaje natural una palabra está formada por letras. Cada bit solo puede
guardar dos valores, el valor 0 o el valor 1; por eso se dice que son elementos binarios.
El número de bits que forman una palabra se llama longitud de palabra. Por regla general, las
computadoras potentes tienen memorias con longitud de palabra grande, mientras que las
computadoras pequeñas tienen memorias con longitud de palabra menor.

2 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

byte B 8 bits

kibibyte KiB CEI 1.024 bytes

kilobyte kB SI 1.000 bytes

Mebibyte MiB CEI 1.024 kibibytes

Megabyte MB SI 1.000 kilobytes

Gibibyte GiB CEI 1.024 mebibytes

Gigabyte GB SI 1.000 megabytes

Tebibyte TiB CEI 1.024 gibibytes

Terabyte TB SI 1.000 gigabytes

En la figura se muestra como se puede estar organizada una Memoria Principal.

Ya se ha visto en las secciones precedentes como funcionan la CPU y la MP, pero puede
decirse que es necesaria la comunicación entre el interior de la computadora y su entorno o
periferia. Esta comunicación se consigue a través de dispositivos de muy diversos tipos, como
son: teclados, impresoras, pantallas, discos magnéticos, etc.
Es estos dispositivos se les conoce con el nombre genérico de periféricos.

3 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

En la siguiente figura se muestran algunos periféricos conectados a la Unidad de E/S, la cual


hace de intermediaria entre los periféricos y la CPU. Las flechas indican el sentido en que fluye
la información. , la cual hace de intermediaria entre los periféricos y la CPU. Las flechas indican
el sentido en que fluye la información.

La coordinación de la comunicación entre los periféricos y la CPU la realiza la Unidad de E/S.


Obsérvese que esta no es un periférico sino un dispositivo que gestiona a los periféricos
siguiendo las órdenes de la CPU; es decir, la Unidad de E/S recibe de la Unidad de Control
información sobre el tipo de transferencia de datos que debe realizar (si es de entrada o de
salida) y periférico que debe de utilizar; si es de salida recibirá también el dato que debe enviar
y el momento de la operación.
Entonces, la Unidad de E/S seleccionara el periférico y ejecutara la operación teniendo en
cuanta las características propias de cada periférico. Una vez ejecutada la orden avisara a la
UC de la terminación de la transferencia.
Cada periférico o parte de un periférico tendrá asignado un numero o dirección que servirá para
identificarlo. Cuando la UC quiera seleccionarlo enviara dicho número a la Unidad de E/S.

INTERCONEXIONES EN EL PROCESADOR BUS


Conductores y señales
En la representación de compuertas y circuitos lógicos, una línea puede representar un
conductor que lleva energía desde una fuente hacia algún dispositivo de destino (señal
eléctrica):

Cierto nivel de energía puede representar un determinado estado lógico ("0" ó "1").

4 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Un conjunto de conductores podrá llevar al mismo tiempo (en paralelo), una cantidad de
variables lógicas desde un punto a otro de un computador.
A un conjunto como el nombrado, se lo conoce como "colectivo" o "BUS". Suele representarse
por medio de una banda de ancho apropiado, como por ejemplo:

El Bus de Datos, es un vínculo físico que permite la transferencia de datos entre distintos
dispositivos de un sistema. Actualmente, permite transferir simultáneamente 8 bit, 16 bit, 32 bit
o más, dependiendo del computador.
Por contar con un número fijo de conductores, los datos deben ser codificados con una
cantidad fija de bit. Esto impondrá algunas características en la representación interna de
datos, que en general, empleará un número entero de bytes. Por ejemplo, un número en punto
flotante bajo la norma IEEE 754 emplea 32 ó 64 bit. Para aprovechar mejor el Bus de Datos,
conviene hacer coincidir el número de conductores con una de ellas o un múltiplo de esas
cantidades.
El Bus de Datos permite la transferencia en ambos sentidos (de la CPU. a la memoria o
viceversa, por ejemplo) y por ello se dice que es "bidireccional".

En un modelo simplificado de computador, podrá describirse dicho vínculo como se muestra a


continuación:

De igual modo, las posiciones de la memoria principal, se direccionan por medio de un código
binario que se transfiere a través del "Bus de Direcciones".
Como la unidad de Entradas y Salidas dispone de varios elementos de comunicación, a cada
uno de ellos se los referencia también mediante un código binario de identificación
denominado: "Dirección de Entrada - Salida".

5 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

En estos casos, la dirección la impone la C.P.U., que se comporta como fuente de energía

(Master -maestro -) y lo reciben la Memoria Principal y la Unidad de Entradas y Salidas (Slave -


esclavo). El Bus de Direcciones es "unidireccional" ya que la energía fluye siempre con el
mismo sentido (hacia la Memoria Principal o hacia la Unidad de Entradas y Salidas).
El computador podría tener un Bus de Direcciones para la Memoria Principal y otro para la
Unidad de entradas y Salidas (dos Buses físicos de direcciones), lo cual incrementaría los
problemas técnicos de realización y obviamente los costos. Por otra parte, en la mayoría de los
casos de las computadoras personales (PC) no se justificarían los beneficios de realizar alguna
maniobra que implique a la CPU, trabajando al mismo tiempo con la memoria principal y algún
dispositivo periférico conectado.
Es frecuente encontrarse con procesadores de un sólo Bus de Direcciones que es compartido
físicamente por la Memoria Principal y la Unidad de Entradas y Salidas.
En ese caso, deberá existir un subconjunto de direcciones que corresponderán a la memoria y
otro subconjunto relacionado con las entradas y salidas (sistema Mapeado).

Contenido

Otra forma de solucionar el problema de la supuesta "incomodidad" del sistema Mapeado, es


emplear alguna señal especial que indique a las unidades "a quién" le corresponde la

6 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

dirección dispuesta en el Bus de direcciones. Llamaremos a esta señal IO/M (Input - Output /
Not Memory). Es importante observar que si bien hay un sólo Bus físico de Direcciones, el
comportamiento es el de dos, por este motivo se dice que posee "dos Buses Lógicos". El
mecanismo que emplea dos buses de direcciones (ya sea físico o lógico), son conocidos
como "Aislado o Independiente".
El comportamiento "Independiente" permite visualizar las direcciones de Memoria
Principal y Unidades de Entradas y Salidas, como dos mapas:

Existe asimismo, un conjunto de conductores que llevan a los distintos dispositivos las señales
de control, por ejemplo: la señal que indica para quién es la dirección del Bus de Direcciones
(IO/M mencionada en párrafos anteriores), las señales que ordenan "Lectura" o "Escritura" para
la memoria, las señales que dan la orden de ingreso o egreso de datos a través de la unidad de
Entradas y Salidas, etc. Este conjunto de conductores conforma el "Bus de Control" y entonces,
el esquema se completa

como se indica:
En la siguiente figura se presenta el caso de un único Bus físico de direcciones:
como se indica en la figura siguiente:

7 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Se puede observar que algunas líneas del Bus de control van hacia (tienen como destino) la
C.P.U.
Esto es necesario para que los periféricos puedan enviar señales a la unidad de control como,
por ejemplo, la solicitud de la interrupción de programa (IRQ - interrupt request). Esto es, como
el computador está en uno de dos estados, Fetch o Execute, los procesos se desarrollan
siguiendo una secuencia de pasos previstos en el programa, independientemente de lo que
suceda en el mundo exterior.
Si surge la necesidad de una respuesta (en tiempo real) a un evento externo, la C.P.U. está en
condiciones de recibir una solicitud de interrupción por medio de este tipo de conexiones.
Cuando el sistema accede a la solicitud, suspende temporalmente el programa en ejecución y
desencadena la rutina de atención (subrutina) de servicio de interrupción y, cuando termina,
vuelve al programa principal que estaba en ejecución originalmente.
Un ejemplo aclarará el concepto. Imagine estar desayunando cuando suena el teléfono. Si
decide atenderlo, suspenderá temporalmente la tarea relacionada con el desayuno (dejará la
taza en el plato, la tostada, etc.) y luego atenderá el llamado. Cuando concluya la
comunicación, reemprenderá la tarea del desayuno, desde donde la había suspendido.
Existen interrupciones por software (mediante instrucciones específicas) y por hardware, como
las desencadenadas por las señales expuestas en estos párrafos.
Otras solicitudes pueden ser de "Acceso Directo a Memoria (DMA)". En este caso, un
dispositivo externo de alta velocidad requiere operar con la memoria principal, sin intervención
de la C. P. U.

UNIDAD CENTRAL DE PROCESO


La unidad central de proceso UCP es el verdadero cerebro de la computadora; su misión
consiste en coordinar y controlar o realizar todas Las operaciones del sistema. Se compone de

8 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

elementos cuya naturaleza es exclusivamente electrónica (circuitos). Está conformada por la


unidad Aritmético Lógica, la Unidad de Control, registros y por supuesto sus interconexiones y
Buses internos.
En los párrafos siguientes, analizaremos brevemente estos dispositivos.
Un registro físico es, para este estudio, un circuito electrónico capaz de almacenar
rápidamente una pequeña cantidad de binarios (registro físico de 1 byte, o unos pocos bytes),
que podrían estar constituidos por varios Flip Flop, cada uno de los cuales almacena a cada
bit de la palabra (word) guardada.
Con el objetivo de mantener estables los datos y direcciones en los Buses correspondientes, el
vínculo entre la CPU. y los Buses se realiza mediante el empleo de registros temporales: M. B.
R. (Memory buffer register, para el intercambio con el bus de datos) y el M. A. R (Memory
address register, para el intercambio con el bus de direcciones) y permite una mayor eficiencia
en procesos dentro de la CPU, independizándola del resto de los sistemas.
De esta forma la CPU podrá ejecutar procesos, durante los tiempos requeridos para el acceso
a la memoria principal o la unidad de entradas y salidas.

El M A. R es un registro sencillo (podría estar formado por Flip Flops) que almacena la
dirección y la mantiene estable mientras viaja por el bus de direcciones y es empleada por la
Memoria Principal o la Unidad de Entradas y Salidas.
El M.B.R en cambio es bidireccional. Se trata de un sistema que mantiene estable el dato (o
instrucción) entrante para ser utilizado en un proceso interno ó, en otra instancia, un dato que
sale de la C.P.U. y lo mantiene estable para el Bus de datos. Procesos que son controlados por
la Unidad de Control (como es lógico).

Dentro de la C. P. U., los datos, códigos de operación y direcciones, se desplazan por un


sistema de buses interno, ligando la A.L.U. con los registros y controlados desde la Unidad de
Control por líneas especiales (estas normalmente no se dibujan, están sobreentendidas).

9 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

La A.L.U., está conectada al resto de los componentes por medio del Bus interno y a los
registros asociados con operandos de entrada y resultados.
Existen, en este sentido, tres formas de conexión:

En la ALU de tres registros, cada Registro Temporal de Operando (R. T. Op. 1 y 2) almacena
uno de los dos operandos de entrada y el resultado queda en el Registro Acumulador.
Cuando es de dos registros, el Registro Temporal de Operando (R T. Op.) almacena uno de los
operandos de entrada, el otro se toma directamente del Bus de datos interno y el resultado se
guarda en el Registro Acumulador.
En una A. L. U. de un registro, el Acumulador almacena uno de los operandos de entrada, el
otro se toma directamente del Bus de datos interno y el resultado va al Acumulador.
La A. L. U. internamente, realiza todas las operaciones al mismo tiempo. Suele estar
compuesta por un conjunto de circuitos que realizan operaciones de suma y resta aritmética
binaria de un número fijo de bytes, complementos, Or, And, etc.
Los operandos (1 y 2) llegan a todos los bloques internos para realizar las operaciones.
La Unidad de Control, envía microcomandos (microórdenes) a las entradas de selección de un
multiplexor, para poner en la salida el resultado solicitado por la instrucción en ejecución,
almacenándolo en el Registro Acumulador.
Así mismo, se determinan las señales de estado del resultado (Desborde - Over Flow -,
Arrastre -Carry -, Cero - Zero -, Paridad, etc.) y son almacenadas en el Registro de Estados
para que la C. U. los emplee en instrucciones de salto condicional.
A continuación, se muestra un esquema que representa lo expuesto:

10 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Todos los registros son fisicos

Las operaciones aritméticas (suma y resta), se pueden realizar con un sumador con
arrastre en serie, como el que se presenta a continuación. Actualmente se emplean circuitos
combinacionales de mayor velocidad (arrastre en paralelo).
Un conjunto de compuertas OR - exclusivas
complementan a uno el dato de entrada "B", cuando la
operación es "A - B", una resta (por medio de un 1 en la
entrada de control "0 Ó 1") y a su vez hace que se sume 1
en el bit menos significativo (LSB) que está conectado a la
entrada "Cy1" (arrastre de entrada). De esta forma se
obtiene el complemento a 2, con lo cual, los sumadores
"restan por medio de la suma del complemento".
Obviamente, en este caso, deberá despreciarse el arrastre
de salida (Cyo), que no está indicado por ser el bit más
significativo (MSB), mucho más a la izquierda de este breve
esquema.
Las señales de "Estado" se obtienen de los propios circuitos aritméticos o lógicos empleados o
de circuitos implementados especialmente.
Veamos algunos ejemplos.
El arrastre de salida (Cyo), se obtiene del último sumador
del circuito sumador /restador /comparador
/complementador, es decir coincide con el "Cyn".
El signo del resultado, tomado del último bit (MSB) del
resultado.

11 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

El desborde (Over flow - Of), que se observa cuando al sumar dos números de igual signo, el
resultado tiene signo opuesto.
Resultado cero (en inglés Zero), cuando cada uno y todos los bit del resultado son cero.

El objetivo fundamental de las señales de estado es brindar una verdadera "información"


(veraz, oportuna y relevante) acerca del resultado para permitir tomar decisiones adecuadas
dentro de un proceso.
Por ejemplo, en el caso de realizar una operación con números enteros, es posible que
se produzca un desborde al superarse el rango de representación cuando se suman números
de igual signo. El programador podrá prever que, en el caso de producirse un "Of = 1", se
realice una secuencia de pasos para informar al usuario esa situación (un aviso de "error").

Más precisamente, la A. L. U. produce las señales de estado del último resultado para que la
unidad de control las reciba, con el objeto de seguir una de las secuencias de pasos que
requiera el proceso, de acuerdo a las condiciones previstas por el programador.
En párrafos posteriores se abordará este tema con más ejemplos y puntualizando los
mecanismos empleados por la "Unidad de Control".
Seguidamente, se muestra una representación de la arquitectura interna de una C. P. U. :

12 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Aparte de los registros mencionados (MAR., M.B.R, acumulador y de estados), existen otros
registros que resultan necesarios (entre varios que pueden existir):
 Registro temporal de operando (R T. Op), que almacena uno de los operandos de las
operaciones que emplean dos operandos (por ejemplo la suma: A+B).
 Registro de instrucción, que almacena el código de operación (dentro de la unidad de
control), durante la ejecución de la instrucción.
 Registro temporal de dirección de operando (Reg. Temp. Dir. de Op.) que almacena la
dirección del operando indicada en la instrucción de un microprocesador (procesador de
una dirección).
 Contador de programa (PC), que contiene la dirección de la próxima instrucción. El PC, se
incrementa automáticamente al terminar de buscar una instrucción - Fetch -. El incremento
(+1, +2, etc.) depende de la cantidad de posiciones que ocupa la instrucción que se acaba
de buscar. El PC apunta ahora a la siguiente instrucción.
 Registro puntero de memoria, que permite localizar datos almacenados en la memoria en
un orden determinado por el programador.
 Registro puntero de pila (Stack Poirtter - S P), que contiene la dirección de la cima de la
pila. Tiene automatizados los procesos de incremento y decremento. Por ejemplo, al usar
como dirección de memoria el contenido del puntero de pila, su valor es incrementado en la
operación de escritura de un dato en memoria y decrementado en la lectura.
Aquí, un conjunto de posiciones de la memoria principal, son considerados como
pertenecientes a una pila de datos y el puntero de pila informa la dirección del tope (o cima) de
esa pila, puede apuntar al último lugar ocupado (o al primero disponible):

13 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

UNIDAD DE CONTROL
Como su nombre lo indica, es la parte de la CPU que se encarga de controlar la ejecución de
los procesos.
Para efectuar un cierto proceso se requieren de un conjunto de instrucciones a seguir. Las
instrucciones son proporcionadas a través de un programa, el cual se encuentra almacenado
en la memoria principal, la unidad de control en el registro de secuencias contiene la dirección
de memoria de la instrucción a ejecutar, posteriormente realizará una copia de la instrucción en
la memoria que se almacenará en el registro de instrucciones, toda instrucción tiene dos partes
básicas.
Tipo de operación: indica que operación se va a efectuar.
Direcciones: contiene las direcciones de memoria de datos que van a intervenir en la
operación.
La unidad de control se encarga de separar las dos partes de la instrucción. El tipo de
operación se envía al decodificador que interpretará la operación a realizar. La parte de
direcciones se almacena en el registro de direcciones.
Si la operación a realizar requiere de la intervención de la unidad aritmético lógica. Entonces la
unidad de control tomará los datos de la memoria principal y hará una copia en los registros de
la ual además de señalar la operación a realizar y finalmente supervisar que la operación se
haya efectuado.
Es el corazón de la computadora. En ella reside el microprocesador, la memoria RAM, la
memoria ROM y opcionalmente el coprocesador matemático, además de la circuitería para que
la microcomputadora opere.
La Unidad de Control puede estar construida de varias formas, pero dentro de las más
tradicionales se encuentran la microprogramada y la cableada.
Ambas cuentan con un registro donde se almacena el "Código de operación" (conocido como
"Registro de Instrucción").
El código de operación, deberá ser decodifícado (mediante un decodificador), para ejecutar la
instrucción.
En las microprogramadas, el código de operación desencadena una secuencia de
pasos de lectura de microinstrucciones que se encuentran almacenadas en orden, en una
pequeña memoria R O. M.. Incluso podría tratarse de una memoria programable (P. ROM.),

14 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

en cuyo caso, al programarla determinamos el comportamiento de la CPU. para cada código


de operación. Aplicamos aquí el concepto Firmware.

Las cableadas emplean circuitos secuenciales diseñados con técnicas de optimización y que
permiten obtener alta velocidad y eficiencia. Luego son construidos internamente en el circuito
integrado, basándose en el esquema adjunto.

A la Unidad de Control, llegan además:


 La señal del reloj de sincronismo "Ck" (dock). Necesario para la evolución de las
secuencias.
 Las señales de estado (provenientes del registro de Estado). Necesarias para la
ejecución de las instrucciones condicionales, como por ejemplo: si hubo arrastre,

15 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

continuar la ejecución desde la posición 003FH, de lo contrario proseguir


normalmente.
 Señales de solicitud interrupción (provenientes de los periféricos).
 El "reset" del procesador, etc.
Las secuencias de búsqueda y ejecución se realizan en base a la estructura de interconexiones
del secuenciador o el microprograma almacenado en la ROM de las Unidades de Control
microprogramadas, enviando señales (Microcomandos de control) a los registros, a la A.L.U.
y a otros dispositivos del sistema.
Algunos de los microcomandos suministran las señales que se envían por el Bus de Control,
para controlar la Memoria Principal y la Unidad de Entradas y Salidas (entre otras).

MEMORIA PRINCIPAL
La estructura de la memoria principal del computador consta de celdas de "n" bit cada una (ó
"n + p" bit, en el caso de contar con "p" bit de paridad). El acceso independiente a ellas se
realiza mediante el código de la dirección (o simplemente "dirección"), proveniente de la CPU
(más precisamente del M. A. R), a través del Bus de Direcciones
Un registro almacena la dirección y la entrega a un "SELECTOR" (normalmente un
Decodificador) el cual, permitirá fijar la posición de memoria que quedará conectada
efectivamente al Bus de Datos (puede tratarse de Datos, Instrucciones, resultados parciales,
etc.).
Por otra parte, el Bus de Control le transfiere las señales necesarias para la lectura o escritura,
con las temporizaciones necesarias para realizar con éxito el proceso.

16 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Las direcciones suelen nombrarse mediante un número expresado en Hexadecimal y por


ejemplo la dirección 0012H, corresponde al 18 decimal y coincide con la 19 a celda de la
memoria ya que normalmente la primera posición es la OOOO H.
Para el ejemplo de la figura, hemos supuesto un Bus de Direcciones de "n = 16 bit". Las
direcciones posibles van desde: 0000 0000 0000 0000 2 , hasta la 1111 1111 1111 1111 2 (en
hexadecimal: 000016 hasta FFFF16), correspondientes a 2n combinaciones posibles (en este
ejemplo: 216 = 65536 posiciones).
Las líneas de Direcciones pueden nombrarse: A15, A14 , A13, ... , A2, Ai, Ao.
El registro de intercambio de memoria establece el vínculo entre el Bus de datos y el contenido
de la celda seleccionada en la memoria principal.
Además del tiempo de acceso y la capacidad, ya definidos, nombraremos: Tiempo de ciclo de
memoria: es el tiempo de acceso más algún tiempo adicional 10 que se requiere antes de que
pueda iniciarse un segundo acceso a memoria, y el Ancho de banda: entendido como el
número de palabras transferidas entre memoria y CPU, en la unidad de tiempo.

17 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

INSTRUCCIONES
Una instrucción ejecutable directamente por la CPU puede analizarse subdividiéndola en dos
partes llamadas campos: el campo de "Código de Operación" y el "Campo de Direcciones"

El código de operación, indica que debe hacer el procesador


El campo de direcciones muestra como localizar el operando (con que realizar la operación),
donde depositar el resultado o la posición de la próxima instrucción.
Agrupando los distintos códigos de operación, pueden clasificarse las instrucciones en base a
las diferentes funciones que puede realizar un procesador determinado.
Podrán ser del tipo: aritméticas, lógicas, de salto (o ruptura de secuencia), de transferencia o
movimiento de datos, de control del proceso, etc.
Los operandos residen frecuentemente en la memoria principal. Para emplearlos, se requiere
su emplazamiento, es decir su dirección. Recordemos que la dirección está sustentada en el
Address Bus por el registro de direcciones de memoria - M A R . Además, se necesitan las
señales de habilitación, lectura, escritura, etc., generadas por la Unidad de Control.
En la figura siguiente, se señalan estas características, ejemplificadas para el caso de una
posición de memoria principal, tomada del Registro Temporal de Dirección de Operando.
El esquema es válido tanto para la lectura como para la escritura de un dato.

18 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

CLASIFICACIÓN DE COMPUTADORES DE ACUERDO AL NÚMERO DE DIRECCIONES


Las operaciones pueden utilizar un operando (por ejemplo en la detección de paridad) o dos
(por ejemplo para la suma aritmética). En este último caso, para ejecutar la instrucción, el
sistema deberá prever:
a) La dirección de los dos operandos.
b) La dirección del resultado.
c) La dirección de la próxima instrucción.
Una tecnología posible (y muy directa) para encarar el sistema, sería un procesador que posea
instrucciones con Código de Operación y las cuatro direcciones:

Este tipo de instrucciones permitirá resolver fácilmente las operaciones de dos operandos,
guardar el resultado y disponer lo necesario para la siguiente instrucción.
Un computador de este tipo, tendría instrucciones muy completas, pero, extremadamente
extensas y ocuparían mucho espacio de memoria. Lo más grave, sería el tiempo requerido
para el Ciclo de Instrucción, ya que la fase de búsqueda necesitaría aproximadamente cinco
accesos a memoria.

19 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Considerando que "un programa es una SECUENCIA ORDENADA de instrucciones es lógico


proponer almacenar las instrucciones en posiciones consecutivas. Por ello, la dirección de la
siguiente instrucción podrá hacerse corresponder con la siguiente posición de memoria.
Entonces no es necesario el espacio en el campo de direcciones para la dirección de la
próxima instrucción. Bastará con emplear un contador (Contador de Programa - PC) que será
incrementado automáticamente al final de cada etapa de la Fase de Búsqueda.

En función de la cantidad de posiciones que ocupa la instrucción que se acaba de buscar, ese
incremento puede ser de 1, 2 o más posiciones.
Por ejemplo, si la instrucción ocupa 2 posiciones, el PC valdrá PC+2, inmediatamente después
de la búsqueda, para apuntar a la siguiente instrucción.
Algo que puede parecer un inconveniente, es que obliga al programador a ordenar las
instrucciones en posiciones consecutivas.
Para poder cambiar el orden en el que se ejecutan las instrucciones, se agregan al conjunto de
instrucciones del procesador, instrucciones de ruptura de secuencia, o "Salto".
Una instrucción de Salto, ordena cargar en el PC la dirección donde se desea que se dirija a
buscar la próxima instrucción.
Las instrucciones de Salto, no sólo permiten cambiar el orden de ejecución de las instrucciones
dentro de la memoria. Además, incorporan la posibilidad de hacer ese cambio
condicionalmente. En castellano: "si se cumple …, entonces…", en inglés los condicionales se
relacionan con: "If..., else ..."

Esto es: si una condición se cumple, realizará el salto (por ejemplo si se produjo desborde - OF
- en una operación aritmética anterior), de lo contrario seguirá en la secuencia que venía (no se
cambiará el contenido del PC). Las instrucciones condicionales son consideradas "tomas de
decisión", dentro de un programa.

Se puede reducir la extensión de las instrucciones, considerando guardar el resultado en la


misma posición que uno de los operandos. Esto conduce a computadores de dos direcciones.

20 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

El inconveniente de esta metodología, es que pierde el operando, donde ahora, se está


guardando el resultado
La solución es crear instrucciones de transferencia (o movimiento) de datos, que permitan
copiar un dato que está en un lugar, en otro sitio para resguardarlo.
Se puede reducir aún más el tamaño de las instrucciones, empleando procesadores de una
sola dirección "Microprocesador".

Este tipo de procesadores emplea todos los tipos de instrucciones estudiadas.


Para realizar operaciones de dos operandos, deben intervenir dos instrucciones. Una primera,
trae uno los operandos o un registro auxiliar (que puede ser el acumulador, en el caso de ALU
de un registro o en el registro temporal de operando en los otros tipos de ALU).
Una segunda instrucción, resolverá la operación deseada entre el operando contenido en la
posición indicada en la instrucción y el operando que está en el registro auxiliar.
El resultado se almacena en el mismo registro.
Existen, por último, instrucciones que no necesitan dirección de operando. Por ejemplo
aquellas que trabajan con un operando ubicado en un registro interno o algunas instrucciones
que control (por ejemplo: NOP - no operar - )

CICLO DE INSTRUCCION
El Ciclo de Instrucción, está formado por la Fase de
Búsqueda y la Fase de Ejecución.
Al iniciar el funcionamiento del computador, la Unidad de
Control inicializa el valor de los registros ("Reset" de los
registros).
Por ejemplo, en algunas computadoras el valor inicial del
Contador de Programa se fija en el momento de fabricar la

21 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

CPU, en "0". En otros computadores, el diseñador de la implementación del sistema puede


decidir el valor.
Con estos valores se pasa a la Fase de Búsqueda (Fetch) de la primera instrucción de
programa.
Toda fase de Búsqueda, tiene una etapa de búsqueda del código de operación e incremento
del PC. Si la instrucción necesitara operandos, el sistema continuaría el proceso de búsqueda,
ahora de las direcciones de los operandos (e incrementando el PC), hasta que la instrucción
esté completa.
Cuando la instrucción está disponible en la CPU, comienza la Fase de Ejecución (Execute).
La ejecución comienza con la decodificación de la instrucción que ingresó y continúa con el
envío de la secuencia de comandos necesarios para realizar la tarea indicada en la instrucción.
Cada vez que se termina de ejecutar una instrucción (concluye un ciclo de instrucción), se
realizará automáticamente una fase de Búsqueda de la siguiente Instrucción.
A continuación, se presentan ejemplos de las Fases de Búsqueda y Ejecución.

FASE DE BÚSQUEDA
Deben tenerse en cuenta los siguientes pasos:
1. Mediante una orden, se coloca en el MAR. la dirección contenida en el contador de
programa (PC), que en esta instancia se encuentra con un valor determinado
previamente. por ejemplo: "FF0216 "
2. Esa dirección llega por el Bus de Direcciones a la Memoria.
3. Dentro de la memoria, la dirección va al selector de posición.
4. La posición seleccionada recibe la habilitación correspondiente.
5. Se envía una señal (microcomando) de lectura desde la Unidad de Control hasta la
Memoria, a través del Bus de Control.
6. Entonces, el contenido de esa posición (el Código de Operación de la Instrucción, que
en este ejemplo llamaremos "Inst. R"), se dispone en el Bus de Datos.
7. El Código de Operación ingresa a la C. P. U. por medio del MBR.
8. El Bus de Datos Interno lleva el Código de Operación (de la Instrucción) hasta el
registro de Instrucción.
9. La Unidad de Control, va enviando microcomandos para incrementar el contenido del
Contador de Programa (P. C), para que quede listo para la siguiente posición de
memoria. Así, el siguiente ciclo de búsqueda (Fetch), se iniciará en la posición de la
siguiente instrucción, aunque la anterior ocupe varios lugares de memoria.
10. Si la instrucción está completa, termina el ciclo de Búsqueda y comienza el ciclo de
Ejecución. De lo contrario, se deberán realizar otra serie de pasos similares hasta que
se complete la transferencia a la C. P. U., de todas las partes de la Instrucción.

22 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Seguidamente se muestra una representación de los pasos 1- 10 de la fase de búsqueda:

FASE DE EJECUCIÓN
El Decodificador, identifica el código y envía una señal al secuenciador, para habilitar la
secuencia que corresponde a la operación en ejecución. En el caso de una C U
microprogramada, habilita la lectura de la ROM, a partir de donde corresponda para la
ejecución.
Como existen muchos tipos de instrucciones distintas, para dar un ejemplo seleccionamos una
sencilla que permita hacer el seguimiento.
Supongamos la suma de dos operandos.
Un primer operando se encuentra en el Registro Temporal de Operando (R T. Op.).
El segundo operando, está almacenado en la memoria, en una dirección dada en la instrucción
que se esta ejecutando. La dirección de este segundo operando, se encuentra en el Registro
Temporal de Dirección de Operando (Reg. Temp. Dir. Op.).
1. Mediante una orden, se coloca en el MAR. la dirección contenida en el Registro
Temporal de Dirección de Operando (Reg. Temp. Dir. Oper), que tiene un valor
determinado por la instrucción y que fue cargado en ese registro, durante el proceso de
Búsqueda de la Instrucción (por ejemplo "0002i6 ").
2. Esa dirección llega por el Bus de Direcciones a la Memoria.

23 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

3. Dentro de la memoria, la dirección va al selector de posición.


4. La posición seleccionada recibe la habilitación correspondiente.
5. Se envía entonces, una señal (microcomando) de lectura (Read) desde la Unidad de
Control hasta la Memoria, a través del Bus de Control.
6. Entonces, el contenido de esa posición (el Dato que corresponde al segundo operando),
se dispone en el Bus de Datos.
7. El operando ingresa a la C. P. U. por medio del MBR
8. El Bus de Datos Interno lleva operando hasta la entrada de la A. L. U.
9. La Unidad de Control, envía un microcomando que selecciona la operación "suma" en la
ALU. De esta forma, el resultado de la operación queda almacenado en el Acumulador y
el estado del resultado se guarda en el Registro de Estados.
10. Cuando finaliza la ejecución de la instrucción, comienza automáticamente el ciclo de
Búsqueda de la próxima instrucción.

Ahora mostraremos una representación de aquellos pasos de esa fase de ejecución.

INTRODUCCIÓN A MODOS DE DIRECCIONAMIENTO


Se denomina modo de direccionamiento, a la regla empleada por la instrucción para establecer
la posición de memoria donde se encuentra el operando (el resultado o la próxima instrucción a
ejecutar).
Los distintos modos de direccionamiento pueden clasificarse, y aplicándolos a un procesador
determinado, nos permitirá profundizar en la comprensión de su funcionamiento.

24 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Por otra parte, podremos comparar y evaluar objetivamente la adaptabilidad de distintos


procesadores.
Todo lo expuesto favorece la selección y empleo más apropiado de un procesador determinado
a una aplicación específica.

CLASIFICACIÓN DE MODOS DE DIRECCIONAMIENTO


De acuerdo a la forma de expresar la dirección, podemos definir los modos: Absoluto y
Relativo.
Absoluto. Es aquel en el cual la dirección de memoria se informa de manera completa. No
requiere ninguna operación adicional para acceder a la posición de destino. Se proporciona la
dirección real del operando (D.R.O.).
Por ejemplo, si la instrucción hace referencia a la posición F902H, el registro temporal de
dirección de operando copiará F902 en el M.A.R. . El Bus de direcciones lo llevará hasta la
memoria, donde el registro de dirección de memoria se encargará de mantenerlo en el
Selector. Por fin, el selector apuntará a la celda deseada, donde se almacena o lee un cierto
dato (que llamaremos genéricamente "Dato R") mediante el registro de intercambio de
memoria, conectado al Bus de datos (como se muestra en la figura).

Relativo: Es el modo de direccionamiento que expresa un desplazamiento a partir de una


posición prefijada. Es decir la posición absoluta (DRO) se obtiene como el desplazamiento
a partir de una posicion base.

25 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Este modo, admite a su vez una clasificación debido a las múltiples formas de empleo, es
decir, variedad de formas de obtener la DRO.
En general: D.R.O.= Registro Base + Desplazamiento .
Indexado. Cuando el registro base es el Registro índice (Ix), que tiene el tamaño del
Address Bus (la misma cantidad de bit), se cumple: D.R.O.= I x + Desplazamiento.
Aquí, se incorporan instrucciones que permiten el incremento o decremento del
registro índice. Por lo tanto el desplazamiento (offset) puede ser fijo en la
instrucción y se varía la base. Por ello se incorporan instrucciones con incremento o
decremento automáticos. Al emplearlas, el Registro Base quedará desplazado
hacia delante o detrás en una, dos, o las posiciones que sean necesarias para su
función específica (por ejemplo: I x <= Ix + 1). En relación a la acción de lectura o
escritura de la memoria, el incremento o decremento puede hacerse antes (pre
incrementado / decrementado) o después (post incrementado / decrementado). Un
caso particular importante, es cuando el índice es el registro contador de programa
PC (conocido como "Modo Relativo Propiamente Dicho"), muy empleado para
ruptura de secuencias "PC <= PC + desplazamiento + 2" (este último "2" se debe al
post incrementado automático durante el estado de búsqueda de la instrucción
"Fetch", suponiendo que ocupen 2 posiciones de memoria).
Cuando un programa escrito en lenguaje de máquina, emplea instrucciones con
direccionamiento Relativo Propiamente Dicho, puede cargarse en cualquier parte
de la memoria principal, sin necesidad de calcular nuevamente las direcciones de
salto. La dirección Real del Operando, será función del PC y su desplazamiento es

26 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

independiente del lugar donde resida el programa. Decimos que es REUBICABLE o


RELOCABLE.
Un caso especial del modo indexado, es cuando los procesadores cuentan con
instrucciones que no tienen campo de dirección. La instrucción sólo contiene
código de operación. Por lo tanto no puede haber desplazamiento y la DRO
coincide con el registro base (aveces se los conoce como: Direccionamiento por par
de registros). Son cortas y por lo tanto más rápidas.

Inmediato. Se trata de instrucciones en donde el campo de direcciones de la instrucción


contiene el operando directamente. Es decir, la dirección de operando es la
mostrada por el contador de programa (PC) durante la fase de búsqueda de esa
parte de la instrucción (Fetch del operando). Se puede identificar este modo de
direccionamiento como un caso particular del relativo propiamente dicho, donde el
registro base es el PC y el offset es cero. Además el PC es un registro auto -
incrementado y cambia su contenido (se incrementa) cada vez que se lo emplea
para acceder a la memoria.

Paginado. En este modo, la D.RO. se obtiene como la conjunción del número de página
(base del direccionamiento) y la línea (desplazamiento, u offset) dentro de esa
página que corresponde a la posición de memoria del objetivo. Así DR.O. =
"Página, Línea". Expresado en forma más rigurosa, suponiendo por ejemplo
direcciones de 16 bit. DRO= PPOOh + OOLLfc y el resultado será: DRO= PPLL h .
Donde PPOOh es la posición del principio de la página, y 00LLh la posición dentro
de la página, expresados en hexadecimal (en este caso). Por ejemplo: si PP = 03 y
LL = F5, luego DRO= 03F5h .

De acuerdo a la forma de acceder a la dirección objetivo (posición donde se encuentra el dato,


posición donde se debe almacenar el resultado, etc.), podemos definir los modos:
Directo. Es aquel en el cual la dirección indicada en la instrucción es la posición del objetivo.
Indirecto. Es aquel en el cual la dirección indicada en la instrucción corresponde a la posición
donde se encuentra la dirección objetivo.

27 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

A aquellas instrucciones que aludan a datos contenidos en registros internos de la CPU. y que
por lo tanto no acceden a la memoria, las denominaremos como de modo de direccionamiento
Implícito (o Inherente).
Asimismo existen instrucciones que no tienen operando (como algunas instrucciones de
control, por ejemplo NOP - no operar -) y por lo tanto no admiten clasificación de
direccionamiento alguno.
Las clasificaciones: Absoluta, Relativa y Directa, Indirecta, pueden combinarse para describir
concretamente la manera en que funciona una instrucción de un procesador determinado. Por
ejemplo podría darse una instrucción que emplee direccionamiento Absoluto Indirecto, o
Relativo Directo etc. Así es el caso en que, por razones de compatibilidad con tecnologías de
procesadores anteriores, se emplea el direccionamiento paginado de manera tal que la D. R O.
se obtiene como direccionamiento relativo directo en los procesadores originales (y en los
actuales durante el arranque del sistema) y mediante una tabla de direcciones en los
procesadores posteriores, convirtiéndose en relativo indirecto.

FUNDAMENTOS DE LA UNIDAD DE ENTRADAS Y SALIDAS


La unidad (o unidades) de entradas y salidas, es la encargada de conectar apropiadamente M
computador con los dispositivos de entrada y de salida (aún las memoria secundarias
masivas).
Los dispositivos como teclado, ratón, etc., permiten el ingreso de programas y datos para ser
procesados y luego, los resultados son llevados al exterior por medio del monitor, impresora,
etc.
Algunas dispositivos de entrada y salida, no están dedicados a manejarse con personas. Por
ejemplo muchas veces los datos se toman de mediciones hechas a través de sensores (de
temperatura o posición por ejemplo) sin la intervención de seres humanos. De igual modo, las
salidas del procesador pueden aplicarse a motores u otros sistemas que trabajan sin la
intervención del hombre.
Existen dos clases de organización de entradas y salidas.
a) Uno o más procesadores especializados de entradas y salidas llamados "Canales de Datos".
Esta organización se emplea en grandes computadoras. Debido a que en las
supercomputadoras y macrocomputadoras se generan una gran cantidad de entradas y
salidas, están equipadas con por lo menos tres Buses. Un bus de memoria, para escribir y leer
en ella. Un segundo bus de entrada salida para que la CPU emita los comandos a los canales y
estos a su vez hagan llegar las solicitudes de interrupción. El tercer bus, se emplea para
permitir el acceso entre la CPU y la memoria, sin utilizar los otros dos.
Cuando la CPU necesita realizar operaciones de E/S, carga un programa especial en uno de m
canales y le instruye para ejecutarlo.

28 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

b) Los "Controladores" de entrada salida, que contienen la mayor parte de los circuitos
electrónicos para operar con los dispositivos en sí (como por ejemplo una unidad de disco).
Este sistema es más simple, emplea un sólo bus. Las computadoras personales
(microcomputadoras) tienen este mecanismo. Por lo general, una tarjeta matriz, contiene la
CPU, la memoria principal (y Caché) y algún controlador (como podría ser el del teclado). Las
tarjetas controladoras, se conectan a la tarjeta matriz por medio de conectores especiales que
dan acceso al bus.
Para sacar un dato, se selecciona el registro por medio del bus de direcciones , se pone el dato
en el bus de datos19 y se da la orden de salida20 por el bus de control.
El ingreso de datos al computador se logra direccionando un registro asignado como de
entrada y dando la orden de entrada (lectura) con la línea de control correspondiente, para que
el registro seleccionado copie su contenido en el registro de intercambio de dato (RID) y así
disponer del dato en el bus de datos.

El controlador, comúnmente, se conecta con su dispositivo mediante un cable y los conectares


de estos, se encuentran por lo general, en la parte posterior de gabinete.
Las unidades de entrada / salida, internamente, suelen estar constituidas por un conjunto de
registros que relacionan los dispositivos externos con el bus del computador.

29 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Asimismo, contienen algunos registros de control.


Para que la C. P. U. tenga acceso a cada uno de ellos, es necesaria una dirección que permita
identificar el registro en cuestión.
La dirección de E/S, permitirá seleccionar el registro con el que la CPU está trabajando en un
momento determinado.
Las líneas de control, permiten sincronizar las operaciones de entrada y salida (equivalente a
leer del dispositivo de entrada o escribir en el dispositivo de salida).

Para sacar un dato, se selecciona el registro por medio del bus de direcciones, se pone el dato
en el bus de datos y se da la orden de salida por el bus de control.
El ingreso de datos al computador se logra direccionando un registro asignado como de
entrada y dando la orden de entrada (lectura) con la línea de control correspondiente, para que
el registro seleccionado copie su contenido en el registro de intercambio de datos (RID) y así
disponer del dato en el bus de datos.
El registro de control, le permite al programador definir el funcionamiento de cada registro (por
ejemplo, puede decir que el registro A es de entrada).
El registro de estados, sirve para que el periférico indique al sistema su estado actual (por
ejemplo le permite a una impresora informar si está lista para imprimir).

ORGANIZACIÓN DE ENTRADAS Y SALIDAS


La atención a los dispositivos de entrada salida, puede hacerse de varias formas.

30 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

Una de ellas es la que emplea interrupciones: En esta, el sistema ejecuta el programa principal
sin prestar atención a otros procesos y, cuando algún dispositivo requiere ser atendido, emite
una señal IRQ. Esta señal es recibida por la CPU y en el caso de aceptar la solicitud
desencadena el proceso de atención. Así se interrumpirá el proceso actual para ejecutar la
rutina que necesita el periférico. La respuesta es en tiempo real.
Otra forma es la programada o por programa: En ese caso, el programa principal contiene
secuencias de instrucciones que verifican el estado de los dispositivos de entrada salida y,
prestarán atención a las necesidades de estos últimos recién en el momento en que se haga la
consulta.
Este método presenta dos inconvenientes principales: el proceso principal se hace lento pues
se pierde tiempo en consultar periódicamente la necesidad de atención, y la atención al
dispositivo se produce cuando el programa principal lo indica y no inmediatamente cuando el
dispositivo externo lo necesita.

ACCESO DIRECTO A MEMORIA (DMA)


Un controlador que realiza una lectura o escritura de un bloque de datos en la Memoria
Principal, sin la intervención de la CPU, realiza un "Acceso Directo a Memoria" (DMA).
En general es conveniente porque todo dato que ingresa por la unidad de E/S viaja por el Bus
de datos hasta la CPU y esta luego lo transfiere a la memoria principal. Se pierde tiempo.
Pero se hace necesario cuando el dispositivo es muy veloz o cuando no es posible detener la
transferencia sin perder información.
En este caso, durante el acceso directo a memoria, la CPU pasa a un estado de desconexión y
el controlador se convierte en "Master" de la Memoria Principal (y del bus).
El Bus de una computadora personal, es utilizado por la CPU para la extracción de
Instrucciones y el movimiento de los Datos, pero además lo emplean los controladores de
entrada y salida. Un circuito de arbitraje de bus, decide quién usa el bus.
Algunos dispositivos de entrada y salida tienen prioridad sobre la CPU, ya que los discos y
otros artefactos en movimiento no pueden detenerse y, forzándolos a esperar, se podría perder
información.
Para que un controlador pueda realizar un acceso directo a memoria, el sistema debe
identificar al periférico, e informar al controlador del periférico la posición de memoria principal
desde donde puede trabajar y la cantidad de posiciones que le corresponden.
Luego se le dará la orden de dar comienzo a su acceso.
Por ejemplo, al tratarse de la lectura de un disco rígido, la CPU le debe indicar el bloque que se
desea leer a la controladora y esta última, deberá esperar a obtener el primer byte de la cabeza
lectora para solicitar convertirse en maestro del bus por medio de una "solicitud de acceso
directo a memoria" DRQ x.
Un circuito especial denominado "Controlador de DMA", se encarga de administrar la lógica
necesaria para llevar a cabo los procesos de acceso directo a memoria, vinculando la C. P. U.
y los controladores que pueden realizar este tipo de acceso.

31 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

El acceso directo a memoria, se puede hacer en forma de "ráfagas". Con este método, se
mantiene el vínculo entre la memoria y el controlador hasta que se completa la transferencia.
La CPU encontrará el bus ocupado y queda inactiva durante ese lapso.
En cambio se denomina "robo de ciclos", cuando se subdivide la transferencia en partes
pequeñas tales que, la CPU puede ejecutar trabajos internamente (la decodificación y
ejecución) y no queda inactiva por mucho tiempo y sólo podría llegar a perder algunos ciclos.
Incluso puede organizarse de manera que la CPU no pierda ningún ciclo y la transferencia sea
tan eficiente que el DMA resulte "transparente".
Otros objetivos de la organización de entradas y salidas se refieren a la implementación de
métodos para atender a varios dispositivos. El sistema deberá determinar el origen de la
solicitud, gestionar la prioridad, etc. . Todo esto será tema de estudios ulteriores.

PERIFÉRICOS Y DISPOSITIVOS DE ENTRADA / SALIDA


La comunicación de un computador con el mundo exterior y el almacenamiento secundario
masivo, forman una parte muy importante del hardware de las computadoras. Podemos
clasificar a los periféricos, de la siguiente forma:

32 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

El análisis de dispositivos es en cada caso, una especialización altamente compleja. Un


estudio detallado sobre ellos y su implementación en un sistema informático requieren distinguir
los siguientes aspectos:
 La forma de resolver anatómicamente la estructura física de los dispositivos para
brindar comodidad y eficiencia, por ejemplo en un teclado o un ratón (Mouse).

33 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy
Tecnologías de la Información y de la comunicación

 El funcionamiento, sus partes componentes y leyes que lo rigen.


 La comunicación con el procesador, tanto en el aspecto de las conexiones como las
reglas (protocolos) necesarias.
 Los dispositivos periféricos como parte de un sistema, su control y gestión.

34 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy

También podría gustarte