Introducción.
La organización de una computadora digital y su arquitectura están íntimamente relacionadas; sin embargo, son dos conceptos diferentes que muchas veces se toman como sinónimo.
La organización de una computadora digital se refiere a las unidades lógicas que la componen (como
La arquitectura de las computadoras se enfoca en la forma de construir cada una de estas unidades lógicas para que realicen las funciones especificadas por su organización, así como la manera en que estas unidades van a comunicarse para interactuar entre ellas.
1.2.- Arquitectura.
Una computadora digital, en su forma mas simple, consta de una Unidad Central de Proceso, una Unidad de Memoria y una Unidad de Entrada/ Salida. Estas unidades están interconectadas mediante un conjunto de líneas de comunicación que recibe el nombre de BUS.
1.2.1.- Unidad de Memoria.
La unidad de memoria esta organizada como un conjunto de celdas, conocidas también como palabras, cada una de las cuales pueden almacenar un dato o una instrucción. Las celdas de la memoria tienen asociada una dirección única. Las direcciones de memoria están asignadas en forma secuencial empezando con la dirección “
Pueden realizarse dos tipos de operaciones sobre la unidad de memoria. Estas operaciones son lectura de memoria y escritura a memoria. Para esto, la unidad de memoria tiene varias líneas las cuales se conecta al BUS.
Un conjunto de líneas sirven para especificar la dirección de una celda, otro conjunto sirve para transferir el dato que se desea leer o escribir en esa celda y otras líneas se usan para indicar el tipo de operación que se desea realizar. Existen, además, otras líneas que se utilizan para controlar y sincronizar la operación de la memoria con el resto de la computadora digital.
Una operación de lectura de la unidad de memoria permite obtener el dato o código de instrucción que se encuentra almacenado en una celda particular de la memoria. Cuando se desea leer un dato o una instrucción de una celda especifica, las líneas de dirección deben tener la dirección de la celda de memoria cuyo contenido se desea obtener, la línea de lectura se activa (indicando este tipo de operación) y las líneas de sincronización controlan el inicio de la operación.
Cuando la unidad de memoria termina de realizar la operación de lectura, coloca en las líneas de transferencia de datos una copia del contenido de la celda de memoria cuya dirección se especificó mediante la línea de dirección. El contenido de la celda de memoria no se modifica.
Una operación de escritura a la unidad de memoria permite almacenar un dato o una instrucción en una celda en particular de la unidad de memoria. El dato o instrucción que contiene la celda de memoria antes de realizar la operación de escritura será reemplazado con el dato o instrucción que se desea almacenar en dicha celda, perdiéndose el contenido original.
Para realizar este tipo de operación sobre la memoria, las líneas de dirección deben tener la dirección de la celda en la cual se desea almacenar el dato o la instrucción, que se desea guardar y las líneas de transferencia de datos deben tener el dato o instrucción que se desea guardar y la línea de escritura se activa. Cuando se inicia la operación mediante las líneas de sincronización, la unidad de memoria almacena el dato o la instrucción en la celda de memoria especificada.
1.2.2.- Unidad Central de Proceso (CPU).
La función de la unidad central de proceso es ejecutar instrucciones para procesar datos y controlar toda la operación de la computadora digital. Para realizar las funciones de control, la unidad central de proceso cuenta precisamente con una unidad de control (CU) que es la que se encarga de coordinar la ejecución de las instrucciones y la transferencia de datos entre las diferentes unidades de la computadora.
Para realizar las operaciones aritméticas y lógicas, la unidad central de proceso contiene la unidad aritmética y lógica (ALU).
1.2.3.- Registros.
La unidad central de proceso también cuenta con una serie de registros utilizados para ciertos propósitos. Un registro es una celda similar a una de las celdas de memoria y puede almacenar un dato o una instrucción, dependiendo del registro de que se trate.
1.2.4.- Unidades de Entrada/ Salida.
Para que un usuario de una computadora digital pueda ver y analizar los resultados de un programa, es necesario que se envíen a algún dispositivo periférico como una pantalla de video o una impresora. Cada dispositivo periférico debe tener asignada una dirección única para poder identificarlo.
La forma en que estos datos serian enviados al dispositivo es similar a la forma en que se guardarían en la unidad de memoria.
Dentro del bus existen líneas que indican si la operación de lectura o escritura debe ser realizar por la unidad de memoria o por la unidad de entrada/ salida.
1.3.- Interconexión de BUS.
Un BUS es una vía de comunicación que conecta a dos o más dispositivos. Una característica clave del bus es que es un medio de transmisión compartido. Múltiples dispositivos se conectan al bus y están disponible una señal transmitida por cualquier dispositivo para la recepción de todos los otros dispositivos conectados al bus. Si dos dispositivos transmiten durante el mismo periodo de tiempo, sus señales se transplantan y su información será engañosa (basura). Por lo tanto, solo dispositivo puede transmitir con éxito a la vez.
1.3.1.- Estructura de Bus.
Aunque hay diferentes diseños de bus, las líneas de cualquier bus pueden clasificarse en tres grupos de función (fig. 1.2): datos, dirección y líneas de control. Además existen líneas de distribución de potencia que suministran energía a los módulos conectados.
Las líneas de datos proporcionan un camino para mover los datos entre los módulos del sistema. Estas líneas se llaman en conjunto, el “BUS DE DATOS”. El bus de datos consta de por ejemplo 8, 16, o 32 líneas separadas, a este número de líneas se hacen referencia como la “anchura del bus de datos”.
Como cada línea puede llevar sólo un bit a la vez, el número de líneas determina el número de bits que pueden transferir a un tiempo. La anchura del bus de datos es un factor clave para determinar la ejecución general del sistema.
Por ejemplo, si el bus de datos es de 8 bits de ancho y cada instrucción es de 16 bits de longitud, entonces
Las líneas de dirección se utilizan para designar el origen o el destino de los datos en el bus de datos. Por ejemplo, si
Las líneas de control se utilizan para controlar el acceso y el uso de los datos y las líneas de dirección. Puesto que los datos y las líneas de dirección se comparten por todos los componentes, debe existir un medio para controlar su uso. Las señales de control transmiten tanto el comando como la información de temporización entre módulos del sistema. Las señales de temporización indican la validez de los datos y de la información de dirección. Las señales de comando especifican las operaciones a efectuarse. Es común que las líneas de control incluyan:
- Lectura de memoria: Causa que se coloquen en el bus los datos de la localidad direccionada.
- Escritura a E/S: Causa que los datos que están en el bus salgan hacia el puerto de E/S direccionando.
- Lectura de E/S: Causa que se coloquen en el bus los datos del puerto de E/S direccionar.
- Solicitud de interrupción: Indica que una interrupción esta pendiente.
- Reloj: Se utiliza para sincronizar operaciones.
- Reinicializar: Inicializa todos los módulos.
En el aspecto físico, en bus del sistema es un número de conductores eléctricos paralelos. Estos conductores son líneas de metal grabadas en una tarjeta o tablero ( tarjeta con circuito impreso).
El bus se extiende a través de todos los componentes del sistema, cada uno de los cuales se conecta a algunos o todas las líneas del bus.
1.3.2.- Tipos de buses.
Las líneas de buses pueden separarse en dos tipos genéricos: “dedicadas” y “multiplexadas”. Una línea de bus dedicada se asigna permanentemente ya sea a una función o a un subconjunto físico de componentes de la computadora.
Un ejemplo de dedicación funcional es el uso de líneas de dirección y de datos separados dedicados, lo cual es común para muchos buses. Sin embargo, la información de datos y de dirección puede transmitirse sobre el mismo conjunto de líneas usando una línea de control de dirección valida.
A este método de usar las mismas líneas para múltiples propósitos se le conoce como multiplexeo en tiempo.
La ventaja del multiplexeo en tiempo es el uso de muy pocas líneas, lo cuál ahorra espacio y, casi siempre, costo. La desventaja es que se necesita circuitería más compleja dentro de cada módulo. También hay una disminución potencial en el desempeño ya que ciertos sucesos que comparten las mismas líneas no pueden tener lugar en paralelo.
Dedicación física se refiere al uso de múltiples buses, cada uno de los cuáles conecta solo un subconjunto de módulos. Un ejemplo característico es el uso de un bus de E – S para interconectar todos los módulos de E – S; este bus se conecta al bus principal por medio de algún tipo de módulo adaptador de E – S. La ventaja potencial de la dedicación física es un rendimiento alto, debido a que hay menos contención de bus. Una desventaja, sin embargo, es el incremento en el tamaño y costo del sistema.
1.4 La memoria.
La memoria es aquella parte del sistema computacional que se utiliza para el almacenamiento y la recuperación subsiguiente de datos e instrucciones.
1.4.1.- Características de los sistemas de memoria.
El tema de la memoria de la computadora se hace más manejable si clasificamos los sistemas de memoria de acuerdo con sus características clave. Las más importantes se listan en la tabla 1.2.
Una característica obvia de la memoria es su capacidad. Para la memoria interna, esto se expresa de manera característica en términos de bytes (un byte = 8 bits) o palabras. Las longitudes comunes de palabra son 8, 16 y 32 bits. La capacidad de la memoria externa se expresa típicamente en términos de bytes.
Un concepto relacionado es el de la unidad de transferencia. Para la memoria interna, la unidad de transferencia es igual al número de líneas de datos dentro y fuera del módulo de memoria. Esto es con frecuencia igual a la longitud de palabra, pero puede no ser así. Para esclarecer éste punto, considere los tres conceptos relacionados con la memoria interna:
- Palabra: Es la unidad “natural” de organización de la memoria. El tamaño de la palabra es casi siempre igual al número de bits que se utilizan para representar un número y para la longitud de instrucción.
- Unidades direccionables: En varios sistemas, la unidad direccionable es la palabra. Sin embargo algunos sistemas permiten el direccionamiento a nivel byte. De cualquier modo, la relación entre la longitud “A” de una dirección y el número “N” de unidades direccionables es 2A = N.
- Unidad de transferencia: Para la memoria principal, éste es el número de bits que se leen de o se escriben en la memoria en una sola vez. La unidad de transferencia no necesita ser igual a una palabra o una unidad direccionable. Para la memoria externa, los datos se transfieren a menudo en unidades mucho más grandes que una palabra, se habla entonces de bloques.
Una de las distinciones más agudas entre tipos de memoria es el método de acceso a las unidades de datos. Pueden distinguirse tres tipos:
- Acceso Secuencial: La memoria está organizada en unidades de datos, llamadas registros. El acceso debe hacerse en una secuencias lineal específica. Información de direccionamiento almacenada se utiliza para separar los registros y auxiliar en el proceso de recuperación. Se utiliza un mecanismo compartido de lectura – escritura, y este debe ser motivo de su posición actual a la posición deseada, pasando y desechando cada registro intermedio. De éste modo, el tiempo para accesar un registro arbitrario es altamente variable. Las unidades de cinta, son de acceso secuencial.
- Acceso Directo: Al igual que en el acceso secuencial, el acceso directo implica un mecanismo compartido de lectura – escritura. Sin embargo, los bloques o registros individuales tienen una dirección única que se basa en la localización física. De nuevo, el tiempo de acceso, es variable. Las unidades de disco, son de acceso directo.
- Acceso Aleatorio: Cada localidad direccionable en la memoria tiene un mecanismo único de direccionamiento, interalambrado físicamente. El tiempo para accesar una localidad dada es independiente de la secuencia de accesos anteriores y es constante. Así, cualquier localidad puede ser seleccionada de manera aleatoria y accesarse y direccionarse en forma directa. Los sistemas de memoria principal son de acceso aleatorio.
Desde el punto de vista del usuario, las dos características más importantes de la memoria son capacidad y desempeño. Se usan tres parámetros de desempeño:
- Tiempo de acceso: Para la memoria de acceso aleatorio, es el tiempo que le toma el efectuar una operación de lectura o escritura, es decir, el tiempo desde el instante en que una dirección se presenta a la memoria hasta el instante en que se han almacenado los datos o están disponibles para su uso. Para la memoria de acceso no aleatorio, el tiempo de acceso es el tiempo que le lleva el colocar al mecanismo de lectura – escritura en la localidad deseada.
- Tiempo del ciclo de memoria: Éste concepto se aplica primeramente a la memoria de acceso aleatorio y consiste en el tiempo de acceso más cualquier tiempo adicional que se necesita , antes de que comience un segundo acceso.
- Razón de transferencia: Ésta es la razón a la cuál pueden transferirse datos hacia o desde una unidad de memoria. Para la memoria de acceso aleatorio, es igual a 1 / (tiempo de ciclo). Para la memoria de acceso no aleatorio, se mantiene la siguiente relación:
TN = TA + (N/R)
Donde:
TN = Tiempo promedio para leer o escribir N bits.
TA = Tiempo promedio de acceso.
N = Número de bits.
R = Razón de transferencia, en bits por segundo (bps).
Una variedad de tipos físicos de memoria se han empleado. Los dos más comunes en la actualidad, son la memoria de semiconductor, que utiliza la tecnología LSI o VLSI, y la memoria de superficie magnética, que se utiliza para el disco y la cinta.
Varias características físicas de almacenamiento de datos son importantes. En una memoria volátil, la información decae en forma natural o se pierde cuando la potencia eléctrica se apaga. En una memoria no volátil, la información una vez registrada permanece sin deterioro hasta que se cambia de manera deliberada. No se necesita potencia eléctrica para retener la información. Las memorias de superficie magnética son no volátiles. La memoria de semiconductor puede ser volátil o no volátil. La memoria no borrable no puede ser alterada, excepto mediante la destrucción de la unidad de almacenamiento. La memoria de semiconductor de este tipo se conoce como memoria de solo lectura (ROM, read – only – memory). Por necesidad, una memoria práctica no borrable también debe ser no volátil.
Para la memoria de acceso aleatorio, la organización es un asunto clave de diseño. Por organización se da a entender el arreglo físico de los bits para formar palabras.
1.4.2.- Memoria principal de semiconductor.
Tipos de memoria de semiconductor de acceso aleatorio.
Todos los tipos de memoria que se estudiarán son de acceso aleatorio. Es decir, las palabras individuales de la memoria se accesan en forma directa por medio de la lógica de direccionamiento interalambrada.
La tabla 1.3 lista los principales tipos de memoria de semiconductor. Él más común se conoce como memoria de acceso aleatoria (RAM, Random Access Memory), Esto es, claro esta, un error en el uso del término, pues todos los tipos enlistados son de acceso aleatorio.
Una característica que distingue a
La otra característica distintiva de
La tecnología de
En una RAM estática, los valores binarios se almacenan al usar configuraciones con compuertas lógicas (flip – flop´s). Una RAM estática alojará los datos, siempre y cuando se le suministre energía.
Existen varios tipos de chips de RAM dinámica. El tipo más antiguo que continua en uso es
La DRAM FPM esta siendo reemplazada gradualmente por
Este sencillo uso de conductos nos hace que una sola referencia a la memoria sea más rápida, pero si mejora el ancho de banda de la memoria, que produce las palabras por segundo.
Tanto los chips FPM como los EDO son asíncronos, lo que significa que las líneas de dirección y de datos no están controladas por un mismo reloj. En contraste,
En contraposición de
Los datos de una ROM se insertan durante su fabricación, básicamente, exponiendo un material fotosensible a través de una máscara que contiene un patrón de bits deseado. La única forma de modificar el programa de una ROM es cambiar el chip.
Las ROM son mucho más económicas que las RAM, cuando se producen en grandes cantidades, pues así el costo de elaborar una máscara se diluye. Sin embargo, estas memorias son inflexibles, por que no pueden modificarse después de su fabricación, no hay espacio para errores, si un bit es incorrecto, todo el lote de
Una alternativa menos cara es usar
Muchas PROM contienen una matriz de diminutos fusibles. Un fusible específico puede quemarse seleccionando su renglón y columna y aplicando después un voltaje alto a una terminal especial del chip.
Al igual que
Otra variante de la memoria de solo lectura es la memoria de lectura – principalmente, que es útil en aplicaciones donde las operaciones de lectura son mucho más frecuentes que las de escritura y en las que se requiere almacenamiento no volátil. Hay tres formas comunes de memoria de lectura – principalmente: EPROM, EEPROM y memoria flash.
En la memoria de solo lectura programable y borrable en forma óptica (EPROM, erasable programmable read – only – memory) se lee y se escribe de manera eléctrica, al igual que
La memoria de solo lectura programable y borrable eléctricamente (EEPROM, electrically erasable programmable read – only – memory). Es unan memoria de lectura principalmente en la cuál se puede escribir en cualquier momento, sin tener que borrar el contenido anterior; solo el byte o los bytes diseccionados se actualizan.
Una de las formas más reciente de memoria de semiconductor es la memoria flash (denominada así por la velocidad a la que se puede volver a programar). Introducida por primera vez a principios de la década de los ochentas, la memoria flash ocupa un sitio intermedio entre
No hay comentarios:
Publicar un comentario