MY BABY THE KING

UNIDAD DE MEMORIAS

 

LA UNIDAD DE MEMORIA

Los registros de un computador digital pueden ser clasificados del tipo operacional o de almacenamiento. Un circuito operacional es capaz de acumular información binaria en sus flip-flops y además tiene compuertas combinacionales capaces de realizar tare as de procesamiento de datos.

Un registro de almacenamiento se usa solamente para el almacenamiento temporal de la información binaria. Esta información no puede ser alterada cuando se transfiere hacia adentro y afuera del registro. Una unidad de memoria es una colección de registros de almacenamiento conjuntamente con los circuitos asociados necesarios par a transferir información hacia adentro y afuera de los registros. Los registros de almacenamiento en una unidad de memoria se llaman registros de memoria.

La mayoría de los registros en un computador digital son registros de memoria, a los cuales se transfiere la información para almacenamiento y se encuentran pocos registros operacionales en la unidad procesadora. Cuando se lleva a cabo el procesamiento de datos, la información de los registros seleccionados en la unidad de memoria se transfiere primero a los registros operacionales en la unidad procesadora. Los resultados intermedios y finales que se obtienen en los registros operacionales se transfieren de nuevo a los registros de memoria seleccionados. De manera similar, la información binaria recibida de los elementos de entrada se almacena primero en los registros de memoria. La información transferida a los elementos de salida se toma de los registros en la unidad de memoria.

El componente que forma las celdas binarias de los registros en una unidad de memoria debe tener ciertas propiedades básicas, de las cuales las más importantes son: (1) debe tener una propiedad dependiente de dos estados par a la representación binaria. (2) debe ser pequeño en tamaño. (3) el costo por bit de almacenamiento debe ser lo mas bajo posible. (4) el tiempo de acceso al registro de memoria debe ser razonablemente rápido.

Ejemplos de componentes de unidad de memoria son los núcleos magnéticos los CI semiconductores y las superficies magnéticas de las cintas, tambores y discos.

Una unidad de memoria almacena información binaria en grupos llamados palabras, cada palabra se almacena en un registro de memoria. Una palabra en la memoria es una entidad de n bits que se mueven hacia adentro y afuera del almacenamiento como una unidad. Una palabra de memoria puede representar un operando, una instrucción, o un grupo de caracteres alfanuméricos o cualquier información codificada binariamente. La comunicación entre una unidad de memoria y lo que la rodea se logra por medio de dos señales de control y dos registros externos. Las señales de control especifican la dirección de la trasferencia requerida, esto es, cuando una palabra debe ser acumulada en un registro de memoria o cuando una palabra almacenada previamente debe ser transferida hacia afuera del registro de memoria. Un registro externo especifica el registro de memoria particular escogido entre los miles disponibles; el otro especifica la configuración e bits particular de la palabra en cuestión.

El registro de direcciones de memoria especifica la palabra de memoria seleccionada. A cada palabra en la memoria se le asigna un número de identificación comenzando desde 0 hasta el número máximo de palabras disponible. Par a comunicarse con una palabra de memoria especifica, su número de localización o dirección se transfiere al registro de direcciones.

Los circuitos internos de la unidad de memoria aceptan esta dirección del registro y abren los caminos necesarios par a seleccionar la palabra buscar. Un registro de dirección con n bits puede especificar hasta 2n palabras de memoria.

Las unidades de memoria del computador pueden tener un rango entre 1.024 palabras que necesitan un registro de direcciones de bits, hasta 1.048.576= 22" palabras que necesitan un registro de direcciones de 20 bits.

Las dos señales de control aplicadas a la unidad de memoria se llaman lectura y escritura. Una señal de escritura especifica una función de transferencia entrante; una señal de lectura específica, una función de trasferencia saliente. Cada una es referenciada por la unidad de memoria.

Después de aceptar una de las señales, los circuitos de control interno dentro de la unidad de memoria suministran la función deseada. Cierto tipo de unidades de almacenamiento, debido a las características de sus componentes, destruyen la información almacenada en una celda cuando se lea el bit de ella. Este tipo de unidad se dice que es una memoria de lectura destructible en oposición a una memoria no destructible donde la información permanece en la celda después de haberse leído. En cada caso, la información primaria se destruye cuando se escribe la nueva información. La secuencia del control interno en una memoria de lectura destructible debe proveer señales de control que puedan causar que la palabra sea restaurada en sus celdas binarias si la aplicación requiere de una función no destructiva.

La información transferida hacia adentro y afuera de los registros en la memoria y al ambiente externo, se comunica a través de un registro comúnmente llamado (buffer register) registro separador de memoria (otros nombres son registro de información y registro de almacenamiento). Cuando la unidad de memoria recibe una señal de control de escritura, el control interno interpreta el contenido del registro separador como la configuración de bits de la palabra que se va a almacenar en un registro de memoria.

Con una señal de control de lectura, el control interno envía la palabra del registro de memoria al registro separador. En cada caso el contenido del registro de direcciones especifica el registro de memoria particular referenciado para escritura o lectura. Por medio de un ejemplo se puede resumir las características de trasferencia de información de una unidad de memoria. Considérese una unidad de memoria de 1.024 palabras con 8 bits por palabra. Par a especificar 1.024 palabras, se necesita una dirección de 10 bits, ya que 21° = 1.024. Por tanto, el registro de direcciones debe contener diez flip-flops. El registro separador debe tener ocho flip-flops para almacenar los contenidos de las palabras transferidas hacia dentro y afuera de la memoria. La unidad de memoria tiene 1.024 registros con números asignados desde 0 hasta 1.023.

La secuencia de operaciones necesarias par a comunicarse con la unidad de memoria para propósitos de transferir una palabra hacia afuera dirigida al BR es:

1.	Transferir los bits de dirección de la palabra seleccionada al AR.

2.	Activar la entrada de control de lectura.

La secuencia de operaciones necesarias par a almacenar una nueva palabra a la memoria es:

1.	Transferir los bits de dirección de la palabra seleccionada al MAR.

2.	Transferir los bits de datos de la palabra al MBR.

3.	Activar la entrada de control de escritura.

En algunos casos, se asume una unidad de memoria con la propiedad de lectura no destructiva. Tales memorias pueden ser construidas con CI semiconductores. Ellas retienen la información en el registro de memoria cuando el registro se catea durante el proceso de lectura de manera que no ocurre pérdida de información. Otro componente usado comúnmente en las unidades de memoria es el núcleo magnético. Un núcleo magnético tiene la característica de tener lecturas destructivas, es decir, pierde la información binaria almacenada durante el proceso de lectura.

Debido a la propiedad de lectura destructiva, una memoria de núcleos magnéticos debe tener funciones de control adicionales par a reponer la palabra al registro de memoria. Una señal de control de lectura aplicada a una memoria de núcleos magnéticos transfiere el contenido de la palabra direccionada a un registro externo y al mismo tiempo se borra el registro de memoria. La secuencia de control interno en una memoria de núcleos magnéticos suministra entonces señales apropiadas par a causar la recuperación de la palabra en el registro de memoria. La trasferencia de información de una memoria de núcleos magnéticos durante una operación.

Una operación de lectura destructiva transfiere la palabra seleccionada al MBR pero deja el registro de memoria con puros ceros. La operación de memoria normal requiere que el contenido de la palabra seleccionada permanezca en la memoria después de la operación de lectura. Por tanto, es necesario pasar por una operación de recuperación que escribe el valor del MBR en el registro de memoria seleccionada. Durante la operación de recuperación, los contenidos del MAR y el MBR deben permanecer in variables.

Una entrada de control de escritura aplicada a una memoria de núcleos magnéticos causa una trasferencia de información. Para transferir la nueva información a un registro seleccionado, se debe primero borrar la información anterior borrando todos los bits de la palabra a 0. Después de hacer lo anterior, el contenido del MBR se puede transferir a la palabra seleccionada. El MAR no debe cambiar durante la operación para asegurar que la misma palabra seleccionada que se ha borrado es aquella que recibe la nueva información.

Una memoria de núcleo magnético requiere dos medios ciclos par a leer o escribir. El tiempo que se toma la memoria par a cubrir los dos medios ciclos se llama tiempo de un ciclo de memoria.

El modo de acceso de un sistema de memoria se determina por el tipo de componentes usados. En una memoria de acceso aleatorio, se debe pensar que los registros están separados en el espacio, con cada registro ocupando un lugar espacial particular en una memoria de núcleos magnéticos.

En una memoria de acceso secuencial, la información almacenada en algún medio no es accesible inmediatamente pero se obtiene solamente en ciertos intervalos de tiempo. Una unidad de cinta magnética es de este tipo. Cada lugar de la memoria pasa por las cabezas de lectura y escritura a la vez pero la información se lee solamente cuando se ha logrado la palabra solicitada. El tiempo de acceso de una memoria es el tiempo requerido par a seleccionar una palabra o en la lectura o en la escritura. En una memoria de acceso aleatorio, el tiempo de acceso es siempre el mismo a pesar del lugar en el espacio particular de la palabra. En una memoria secuencial, el tiempo de acceso depende de la posición de la palabra en el tiempo que se solicita. Si la palabra esta justamente emergiendo del almacenamiento en el tiempo que se solicita, el tiempo de acceso es justamente el tiempo necesario par a leerla o escribirla. Pero, si la palabra por alguna razón esta en la última posición, el tiempo de acceso incluye también el tiempo requerido para que todas las otras palabras se muevan pasando por los terminales.

Así, el tiempo de acceso a una memoria secuencial es variable.

Las unidades de memoria cuyos componentes pierden información almacenada con el tiempo o cuando se corta el suministro de energía, se dice que son volátiles. Una unidad de memoria de semiconductores es de esta categoría ya que sus celdas binarias necesitan potencia externa par a mantener las señales necesarias. En contraste, una unidad de memoria no volátil, tal como un núcleo magnético o un disco magnético, retiene la información almacenada una vez que se hay a cortado el suministro de energía.

Esto es debido a que la información acumulada en los componentes magnéticos se manifiestan por la dirección de magnetización, la oval se retiene cuando se corta la energía. Una propiedad no volátil es deseable en los computadores digitales porque muchos programas útiles se dejan permanentemente en la unidad de memoria. Cuando se corte el suministro de energía y luego se suministre, los programas almacenados previamente y otra información no se pierden pero continúan acumulados en la memoria.

Métodos de direccionamiento

Hemos visto que generalmente (aunque no necesariamente) una instrucción consta de una parte de operación y una de dirección. La parte de dirección puede contener la dirección de un operando utilizado en la ejecución de la instrucción. En otras ocasiones la parte dirección de la instrucción puede no contener la dirección donde se encuentra el operando, sino la dirección donde se encuentra la dirección del operando. En el primer caso la dirección se describe como la dirección directa; en el segundo caso es una operación indirecta. En las computadoras, minicomputadoras y microcomputadoras se emplea una amplia gama de modos de direccionamiento de los que consideraremos algunos en esta sección.

  • DIRECTO. En el direccionamiento directo, como ya señalamos, la instrucción contiene la dirección de la posición de memoria donde se encuentra el operando.

  • INDIRECTO. En el direccionamiento indirecto, señalamos de nuevo, la dirección contiene no la dirección donde se encuentra el operando, sino la dirección donde se encuentra la dirección del operando.

  • RELATIVO. En el direccionamiento relativo la parte dirección de la instrucción contiene el número N. En memoria la dirección del operando se encuentra sumando el numero N al número del contador del programa.

  • INDEXADO. En el direccionamiento indexado como en el relativo, la parte dirección de la instrucción contiene un numero N que puede ser positivo o negativo. Sin embargo para utilizar el direccionamiento indexado, el computador debe estar equipado con un registro especial empleado para permitir direccionamiento indexado, y denominado naturalmente registro índice. La posición de memoria donde se localiza el operando se encuentra mediante la suma I + N.

  • REGISTRO INDIRECTO. Algunos computadores que incorporan la facultad del direccionamiento de registro indirecto tienen un registro especial, a menudo llamado registro (P). Este registro contiene la dirección de memoria del operando. Una instrucción que invoque realmente direccionamiento de registro indirecto no tiene bits significativos en su parte dirección. En lugar de ello, la instrucción completa se incluye en los bits asignados a la parte de operación de la instrucción. Una instrucción típica que use un registro de direccionamiento indirecto debería especificar "cargar" el acumulador con el operando localizado en la dirección de memoria dada en el registro (p).

  • INMEDIATO. EN el direccionamiento inmediato, la parte de dirección de la instrucción contiene no la dirección del operando sino el mismo operando.

  • INHERENTE. Ordinariamente una dirección que es parte de una instrucción se refiere a una posición de memoria. Cuando una instrucción indica una fuente o un destino de datos y no se direcciona específicamente, ya no se hace referencia a la posición de memoria, se dice que la instrucción tiene una dirección inherente.