Memorias
Tipos de memoria y organización básica de la memoria
Una computadora trabaja con cuatro tipos de memorias
diferentes, que sirven para realizar diversas funciones. Estas son la memoria RAM, la memoria ROM, la memoria SRAM o Caché y la memoria
Virtual o de Swap.
Entre todas ellas, la más importante es la denominada memoria RAM (Random Access Memory), ya que nuestra computadora no podría
funcionar sin su existencia.
En la RAM se guarda distinto tipo de información, desde los procesos temporales como modificaciones de archivos, hasta las instrucciones que posibilitan la ejecución de las aplicaciones que tenemos instaladas en nuestra PC.
Por tal motivo, es utilizada constantemente por el microprocesador, que accede a ella para buscar o guardar temporalmente información referente a los procesos que se realizan en la computadora.
En la RAM se guarda distinto tipo de información, desde los procesos temporales como modificaciones de archivos, hasta las instrucciones que posibilitan la ejecución de las aplicaciones que tenemos instaladas en nuestra PC.
Por tal motivo, es utilizada constantemente por el microprocesador, que accede a ella para buscar o guardar temporalmente información referente a los procesos que se realizan en la computadora.
MEMORIA RAM:
Dentro de las memorias RAM existen distintos tipos de tecnologías
que se diferencian principalmente por su velocidad de acceso y su forma física.
Entre ellas encontramos las DRAM, SDRAM, RDRAM, entre otras.
Las denominadas DRAM (Dynamyc Random Acces Memory) han sido utilizadas en las
computadoras desde los primeros años de la década de los 80's, y aún en la
actualidad continúan utilizándose. Se trata de uno de los tipos de
memorias más económicas,
aunque su mayor desventaja está relacionada con la velocidad de proceso, ya que
es una de las más lentas, lo que ha llevado a los fabricantes a modificar su
tecnología para ofrecer un producto mejor.
En cuanto al tipo de tecnología SDRAM,
derivada de la primera, comenzó a comercializarse a finales de la década de los
90's, y gracias a este tipo de memoria se
lograron agilizar notablemente los procesos, ya que puede
funcionar a la misma velocidad que la motherboard a la que se encuentra
incorporada.
Por su parte, la tecnología RDRAM es una de las más costosas debido a su complejidad de fabricación, y sólo se utilizan en procesadores grandes, tales como los Pentium IV y superiores.
Por su parte, la tecnología RDRAM es una de las más costosas debido a su complejidad de fabricación, y sólo se utilizan en procesadores grandes, tales como los Pentium IV y superiores.
Otra de las diferencias entre las distintas memorias RAM se halla en
el tipo de módulo del que se trate, que pueden ser SIMM (Single in line Memory Module),
DIMM (Double Memory Module) y RIMM (Rambus in line Memory Module), dependiendo de la cantidad de
pines que contenga y del tamaño físico del módulo.
MEMORIA ROM:
Las computadoras trabajan con la memoria de nominada ROM,
Read Only Memory, que como su nombre lo indica se trata de una memoria sólo de
lectura, ya que la mayoría de estas memorias no pueden ser modificadas debido a
que no permiten su escritura.
La memoria ROM viene incorporada a la motherboard y es
utilizada por la PC para dar inicio a la BIOS, lo cual es básicamente un programa que posee las
instrucciones adecuadas para guiar a la computadora durante el arranque.
Entre sus funciones, la BIOS comienza con el proceso denominado POST (Power On Self Test) durante el cual inspeccionará todo el sistema para corroborar
que todos sus componentes funcionan adecuadamente para dar lugar al arranque.
Para ello, la BIOS consulta un registro en el que se halla toda la información referente al hardware que tenemos instalado en nuestra PC, para comprobar que todo se encuentre en orden. Dicho registro es denominado CMOS Setup.
Si bien mencionamos que en muchos casos la memoria ROM no puede ser modificada, en la actualidad gran cantidad de motherboards incorporan nuevos modelos de ROM que permiten su escritura, para que el usuario pueda realizar cambios en la BIOS con el fin de mejorar su funcionamiento.
Para ello, la BIOS consulta un registro en el que se halla toda la información referente al hardware que tenemos instalado en nuestra PC, para comprobar que todo se encuentre en orden. Dicho registro es denominado CMOS Setup.
Si bien mencionamos que en muchos casos la memoria ROM no puede ser modificada, en la actualidad gran cantidad de motherboards incorporan nuevos modelos de ROM que permiten su escritura, para que el usuario pueda realizar cambios en la BIOS con el fin de mejorar su funcionamiento.
La diferencia fundamental que existe entre la memoria RAM y
la ROM radica en la velocidad, ya que la ROM al
tratarse de un tipo de memorial secuencial necesita recorrer todos los datos
hasta hallar la información que está buscando, mientras que la RAM trabaja de
manera aleatoria, lo que hace que acceda a la información
específica de manera directa.
Este factor hace que la velocidad de la
sea notablemente
superior. Asimismo, la capacidad de ésta es mayor a la de la memoria ROM, y a diferencia de esta última, la RAM
no viene integrada al motherboard, lo
que permite que el usuario pueda expandir la cantidad de memoria RAM de su PC.
TIPOS DE MEMORIA ROM:
PROM es el acrónimo de Programmable Read-Only Memory (ROM
programable). Es una memoria digital donde el valor de cada bit depende del
estado de un fusible (o antifusible), que puede ser quemado una sola vez. Por
esto la memoria puede ser programada (pueden ser escritos los datos) una sola
vez a través de un dispositivo especial, un programador PROM. Estas memorias
son utilizadas para grabar datos permanentes en cantidades menores a las ROMs,
o cuando los datos deben cambiar en muchos o todos los casos.
EPROM son las siglas de Erasable Programmable Read-Only
Memory (ROM borrable programable). Es un tipo de chip de memoria ROM inventado
por el ingeniero Dov Frohman que retiene los datos cuando la fuente de energía
se apaga. En otras palabras, es no volátil. Está formada por celdas de FAMOS
(Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o transistores de
puerta flotante. Cada uno de ellos viene de fábrica sin carga, por lo que es
leído como un 0 (por eso una EPROM sin grabar se lee como FF en todas sus
celdas). Se programan mediante un dispositivo electrónico que proporciona
voltajes superiores a los normalmente utilizados en los circuitos electrónicos.
Las celdas que reciben carga se leen entonces como un 1. Una vez programada,
una EPROM se puede borrar solamente mediante exposición a una fuerte luz
ultravioleta. Esto es debido a que los fotones de la luz excitan a los
electrones de las celdas provocando que se descarguen. Las EPROMs se reconocen
fácilmente por una ventana transparente en la parte alta del encapsulado, a
través de la cual se puede ver el chip de silicio y que admite la luz
ultravioleta durante el borrado.
EEPROM son las siglas de electrically-erasable programmable
read-only memory (ROM programable y borrable eléctricamente), en español o
castellano se suele referir al hablar como E²PROM y en inglés
"E-Squared-PROM". Es un tipo de memoria ROM que puede ser programado,
borrado y reprogramado eléctricamente, a diferencia de la EPROM que ha de
borrarse mediante rayos ultravioletas. Aunque una EEPROM puede ser leída un número
ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y
1.000.000 de veces.
MEMORIA CACHE:
Otro de los tipos de memoria utilizados por las computadoras
es la denominada SRAM, más conocida como memoria Caché.
Tanto el procesador como el disco rígido y la motherboard
poseen su propia memoria caché, que básicamente resguarda distintas
direcciones que son utilizadas por la memoria RAM para realizar diferentes
funciones, tales
como ejecutar programas instalados en la PC.
El proceso que realiza la memoria caché es
guardar las ubicaciones en el disco que ocupan los programas que han sido
ejecutados, para que cuando vuelvan a ser iniciados el acceso a la aplicación
logre ser más rápido.
Existen tres tipos de caché diferentes:
- El caché L1 que se encuentra en el interior
del procesador y funciona a la misma velocidad que éste, y en el cual se
guardan instrucciones y datos.
- El caché L2 que suelen ser de dos tipos: interno y
externo. El primero se encuentra dentro de la motherboard, mientras que el
segundo se halla en el procesador pero de manera externa, lo que lo hace más
lento que el caché L1.
- El caché L3 que sólo vienen incorporado a algunos de los microprocesadores más avanzados, lo que resulta en una mayor velocidad de procesos.
- El caché L3 que sólo vienen incorporado a algunos de los microprocesadores más avanzados, lo que resulta en una mayor velocidad de procesos.
MEMORIA VIRTUAL
En algunas computadoras, sobre todo en aquellas que poseen
sistema operativo Microsoft Windows o Linux, también encontraremos la
denominada memoria virtual o de Swap.
Este tipo de memoria, que funciona de manera similar a la
caché, es creada por Windows o Linux para ser
utilizada exclusivamente por el sistema operativo. En
el caso de Linux esta
denominada memoria swap generalmente
está ubicada en una partición diferente del disco, mientras que en el sistema
de Microsoft es un archivo dentro del sistema operativo mismo.
En muchas ocasiones la memoria virtual suele producir
ciertos problemas que ocasionan que la PC se cuelgue, ya que
este tipo de memoria ha sido creada por el sistema dentro del disco rígido y a
veces puede llegar a superar la capacidad de proceso.
Organización
básica de una memoria
Una memoria principal se
compone de un conjunto de celdas básicas dotadas de una determinada
organización. Cada celda soporta un bit de información. Los bits se agrupan en
unidades direccionales denominadas
palabras. La longitud de palabra la determina el número de bits que la componen
y constituye la resolución de la memoria (mínima cantidad de información
direccionarle).
La longitud de palabra suele
oscilar desde 8 bits (byte) hasta 64 bits.
Cada celda básica es un
dispositivo físico con dos estados estables (o semi-estables) con capacidad
para cambiar el estado (escritura) y determinar su valor (lectura). Aunque en
los primeros computadores se utilizaron los materiales magnéticos como soporte
de las celdas de memoria principal (memorias de ferritas, de película delgada,
etc.) en la actualidad sólo se utilizan los materiales semiconductores.
ORGANIZACIÓN INTERNA DE LA MEMORIA.
Las celdas de memoria se
disponen en el interior de un chip atendiendo a dos organizaciones principales:
la organización por palabras, también denominada 2D, y la organización por
bits, también denominada 2 ½ D o 3D.
ORGANIZACIÓN 2D
Las celdas forman una matriz
de 2n filas y m columnas, siendo 2n el número de palabras del chip y m el
número de bits de cada palabra. Cada fila es seleccionada por la decodificación
de una configuración diferente de los n bits de dirección.
Esta organización tiene el
inconveniente que el selector (decodificador) de palabras crece
exponencialmente con el tamaño de la memoria. Igual le ocurre al número de
entradas (fan-in) de las puertas OR que generan la salida de datos.
ORGANIZACIÓN 3D
En lugar de una única
selección (decodificador) de 2n salidas en esta organización se utilizan dos
decodificadores de 2n/2 operando en coincidencia. Las líneas de dirección se
reparten entre los dos decodificadores. Para una configuración dada de las
líneas de dirección se selecciona un único bit de la matriz. Por ello se la
denomina también organización por bits.
Métodos de acceso
• Acceso secuencial:
la memoria se organiza en unidades llamadas registros. El acceso debe
realizarse con una secuencia lineal específica, ejemplo: Cinta
• Acceso directo:
Tiene asociado un mecanismo de lectura-escritura, los bloques individuales o
registros tienen una dirección única basada en su dirección física. Se accede
directamente a una vecindad dada, seguido de una búsqueda secuencial, hasta
alcanzar la posición final, ejemplo: Discos.
• Acceso aleatorio (random): cada
posición direccionarle la memoria tiene un único mecanismo de acceso cableado
físicamente, el tiempo para acceder a una posición dada es constante e
independiente de la secuencia de accesos previos, Cualquier dirección puede
seleccionarse aleatoriamente y ser direccionada y accedida directamente, ejemplo:
Memoria principal y cache
• Asociativa: es
del tipo de acceso aleatorio que permite hacer una comparación de ciertas
posiciones de bits dentro de una palabra buscando que coincidan con unos
valores dados y hacer esto para todas las palabras simultáneamente, una palabra
es recuperada en base a una porción de su contenido en lugar de su dirección,
ejemplo: Memorias cache
Características físicas
• Memorias volátiles: la
información se va perdiendo o desaparece cuando se desconecta la alimentación.
• Memorias no Volátiles: la
información permanece hasta que se modifique intencionalmente. No necesita
fuente de alimentación para retener información. Ej. Memorias de superficie magnética.
• Memorias no borrables: no
pueden modificarse a menos que se destruya la unidad. Las memorias
semiconductoras de este tipo, se las conoce como memorias de solo lectura (ROM,
Read Only Memory ).
Acceso a datos y Temporización
En
un principio, los buses de datos permitían, además de manejar el almacenamiento
de los propios datos, escribir el código necesario para interactuar con el
usuario final; en el otro extremo, empezaron aparecer lenguajes de programación
en donde la finalidad principal era ofrecer una interfaz gráfica rica, pero con
sentencias de acceso a datos limitados o nulos. Cuando visual basic gano
popularidad como herramienta RAD (rapid application development), muchos
tuvieron que acostumbrarse a su forma de acceso a los datos, lo cual lo hacía a
través de objetos que encapsulan su tratamiento. Asi fue entonces como sucedió
DAO(data Access objects), RDO(remote data objects) y ADO (activeX data
objects).
Los Objetos de Acceso
a Datos son un Patrón de los subordinados de Diseño Core J2EE y considerados una buena práctica. La ventaja de usar
objetos de acceso a datos es que cualquier objeto de negocio (aquel que contiene
detalles específicos de operación o aplicación) no requiere conocimiento
directo del destino final de la información que manipula.
La flexibilidad tiene un precio. Cuando se añaden DAOs
a una aplicación, la complejidad adicional de usar otra capa de persistencia
incrementa la cantidad de código ejecutado durante tiempo de ejecución. La
configuración de las capas de persistencia requiere en la mayoría de los casos
mucho trabajo.
Temporización
En la temporización síncrona, la aparición
de un evento está determinada por el reloj, el bus incluye una línea de reloj
que es común a todos los dispositivos, y se suelen sincronizar durante el
flanco de subida. Casi todos los eventos duran un único ciclo de reloj.
Este tipo de
temporización sólo funciona si el dispositivo de E/S es suficientemente rápido
para responder a la espera que le brinda el procesador, en caso contrario se
producirán errores en la escritura de los puertos y se leerán datos no válidos
del bus, por lo que las operaciones de E/S no serían correctas. Otro tema
importante es que, si no se incorporan rutinas para detectar hardware
inexistente, el programa podría fallar por tratar de direccionar un dispositivo
que o bien no existe o bien ha sido "desconectado" del equipo.
Las
operaciones de lectura y escritura:
Escritura: El procesador activa la señal WR, que es la de
escritura, y espera un tiempo, que es determinado por el procesador (no es una
espera al otro dispositivo), y una vez transcurrido ese periodo de tiempo
desactiva la señal de escritura, por lo que si el dispositivo de E/S no es
suficientemente rápido la escritura no se realizará correctamente. Cabe
destacar que en este tipo de temporización no se produce ninguna espera por
parte del procesador ni por parte del periférico.
Lectura:
El procesador activa la señal RD, que es la de lectura
y espera un tiempo determinado por el mismo (como ocurría en el caso de la
Escritura) y acto seguido lee del bus de datos la información, sin comprobar si
esta contiene los datos válidos suministrados por el periférico.
No hay comentarios:
Publicar un comentario