Apunte Hardware de Los Sistemas de Computacion
Apunte Hardware de Los Sistemas de Computacion
Apunte Hardware de Los Sistemas de Computacion
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.
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
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
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".
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
Contenido
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.
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
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).
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
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.
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
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.
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
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
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"
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
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
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.
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
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
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
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
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
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
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 .
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.
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.
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
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).
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.
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.
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
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
34 TIC’s
2013 Ingeniería Informática – Facultad de Ingeniería – Universidad Nacional de Jujuy