domingo, 13 de septiembre de 2009

oRgAnIzAcIoN dE uNa CoMpUtAdOrA

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 Unidad Central de Proceso, la Unidad de Memoria y la Unidad de Entrada/ Salida), las funciones que realizan, su operación y la forma en que se relacionan y se comunican unas con otras.

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.

La Unidad Central de Proceso (CPU) internamente contiene la Unidad de Control (CU), la Unidad Aritmética/ Lógica (ALU) y varios registros. Están arquitectura básica se muestra en forma esquemática en la figura. 1.1.


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 “0”.

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 la CPU debe acceder dos veces el módulo de memoria durante cada ciclo de instrucción.

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 la CPU desea leer una palabra de datos (8,16,32 bits) de la memoria, coloca la dirección de la palabra deseada en la línea de dirección.

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.

Iniciemos con el aspecto más visible de la memoria: su localización. Hay tanto memoria interna como externa para la computadora. La memoria interna se considera equivalente con frecuencia a la memoria principal. La memoria externa consiste en dispositivos periféricos de almacenamiento, tales como disco y cinta, que son accesibles a la CPU vía controladores de E – S.

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 RAM es que permite tanto leer desde la memoria como escribir con facilidad y rapidez información nueva en la memoria. Tanto la lectura como la escritura se logran mediante el uso de señales eléctricas.

La otra característica distintiva de la RAM es que es volátil. Una RAM debe contar con un suministro de energía constante. Si el suministro de energía se interrumpe, los datos se pierden. Por ello, la RAM solo se puede usar como medio de almacenamiento temporal.

La tecnología de la RAM se ha dividido en dos: estática y dinámica. Una RAM dinámica se compone de celdas que almacenan datos bajo la forma de cargas en capacitores. La presencia o ausencia de carga en un capacitor se interpreta como un 1 o un 0 binario. Como los capacitores tienen una tendencia natural a descargarse, las RAM dinámicas necesitan refrescado de cargas periódico para actualizar el almacenamiento de datos.

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.

La RAM estática y dinámica son volátiles. Una celda de memoria dinámica es más simple y por ello más pequeña que una celda de memoria estática. Por eso, una RAM dinámica es más densa (celdas más pequeñas = más celdas por unidad de área) y menos costosa que la RAM estática correspondiente. Por otra parte, la RAM dinámica requiere el apoyo de circuitos de refrescado. Por último, las RAM estáticas, en general, son en cierta forma más veloces que las dinámicas.

Existen varios tipos de chips de RAM dinámica. El tipo más antiguo que continua en uso es la DRAM FPM. (Modo de página rápida, Fast Page Mode) internamente, la organización es una matriz de bits; el hardware presenta una dirección de renglón y luego recorre las direcciones de columna.

La DRAM FPM esta siendo reemplazada gradualmente por la DRAM EDO (salida de datos extendida, Extended Data Output), que permite iniciar una segunda referencia a la memoria antes de que la anterior se haya completado.

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, la SDRAM (DRAM sincrónica) es un híbrido de RAM estática y dinámica y es controlado por un solo reloj sincrónico.

La SDRAM se usa a menudo en las caches grandes y podría ser la tecnología preferida para las memorias principales en el futuro.

En contraposición de la RAM, está la memoria de solo lectura (ROM, Read Only Memory). Como su nombre lo sugiere, una ROM contiene un patrón permanente de datos que no se pueden cambiar. Aunque es posible leer una ROM, en su operación normal, no es posible escribir nuevos datos en ella.

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 la ROM se debe desechar.

Una alternativa menos cara es usar la PROM ( ROM Programable). Una PROM es parecida a una ROM, excepto que puede programarse (una vez) en el campo, lo que elimina el retraso por surtido.

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 la ROM, la PROM no es volátil y solo se puede escribir en ella una vez. En la PROM el proceso de escritura se ejecuta de manera eléctrica y lo puede llevar a cabo un consumidor o un distribuidor después de la fabricación del chip original. Se requiere equipo especial en el proceso de escritura o de “programación”. Las PROM proporcionan flexibilidad así como ventajas. La ROM es conveniente para altos volúmenes de producción.

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 PROM. Sin embargo, antes de efectuar una operación de escritura, todas las celdas de almacenamiento se deben borrar hasta alcanzar el mismo estado inicial; para ello, se expone el circuito integrado (que posee una ventana de vidrio) a una radiación ultravioleta. Éste proceso de borrado se puede realizar varias veces, cada borrado quizá tarde algunos minutos en llevarse a cabo. Así, la EPROM se puede alterar en múltiples ocasiones y, al igual que la ROM y la PROM, almacena los datos de manera indefinida. Para cantidades comparables de almacenamiento, la EPROM resulta má cara que la PROM; pero tiene la ventaja de la capacidad de actualización múltiple.

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. La EEPROM es más cara y menos densa que la EPROM, por lo que soporta menos bits por chip.

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 la EPROM y la EEPROM, tanto en costo como en funcionalidad. Al igual que la EEPROM, la memoria flash usa una tecnología de borrado eléctrico. Una memoria flash completa se puede borrar en algunos segundos, por lo que es mucho más veloz que la EEPROM. Además , es posible borrar bloques de memoria en vez de un chip completo. Sin embargo, la memoria flash no proporciona borrado a nivel de byte. Como la EPROM, la memoria flash sólo usa un transistor por bit y por ello logra la densidad alta (en comparación con la EEPROM) de la EPROM.


No hay comentarios:

Publicar un comentario