Concepto.- Una unidad de memoria es un
conjunto de registros de almacenamiento conjuntamente con circuitos asociados
para la transferencia de información. Los registros de almacenamiento en una
unidad de memoria se llaman registros de memoria de donde se saca la
información para su procesamiento.
Una unidad de memoria almacena
información en grupos de n bits llamados palabras, que pueden representar
instrucciones, datos, operando, grupo de caracteres alfanuméricos o cualquier
información codificada binariamente, y cada una de estas se almacena en un
registro de memoria.
Se pueden aplicar dos señales de control
a un registro de memoria una de lectura y otra de escritura.
Fig 1. Unidad de memoria con señales de control y sus registros importantes
Fuente: Morris M. (1994), Arquitectura de computadoras, Juárez: México, Editorial Prentice
Hall Hispanoamericana S.A.
Una unidad de memoria tiene 3 registros
importantes:
MAR (Memory Address Register).- Registro
de direcciones de memoria
MRB (Memory Buffer Register).- Registro
separador de memoria
Registro de memoria direccionado por MAR.
Fig. 2 Valores iniciales de los registros MBR, MAR
Fuente: Morris M. (1994), Arquitectura de computadoras, Juárez: México, Editorial Prentice
Hall Hispanoamericana S.A.
En los años 90 surge el concepto de
jerarquía de memoria, por la implementación de memoria caché a las placas
madres de los PC.
Jerarquía de memoria
Fig. 3 Pirámide de Jerarquía de memoria
CPU
Registros.- Son los que se encuentran en la cima
de la pirámide de la jerarquía de memoria, son los más rápidos y están
integrados dentro de la CPU, para realizar operaciones básicas. Existen varios
con funcionabilidad específica como ser: Acumulador, contador de instrucciones,
palabra de estado, etc.
Memoria
Caché.- La memoria caché aparece en la década de
los 90s como respuesta a la necesidad de igualar la velocidad del procesador y
las memorias o por lo menos hacer que la diferencia entre estas no sea tan
grande, aparece en el procesador 386 de Intel. Es una memoria de gran velocidad
que puede encontrarse integrada en el procesador (caché interna, L1) o de
primer nivel, en la tarjeta madre (caché de segundo nivel o caché externa, L2)
esta segunda es más lenta que la primera.
Su función es la de guardar datos e
instrucciones más usadas Cuando el procesador intenta leer una palabra de la
memoria, primero revisa si esta palabra está en la memoria caché, si lo está la
palabra es llevada al procesador, caso contrario la memoria caché se llena de
información de un bloque de la memoria principal con un número fijo de palabras
y luego enviada al procesador.
·
Caché de primer nivel L1.- Suele
estar dividido en dos partes una para datos y la otra para instrucciones que es
consecuencia de la segmentación del procesador, se accede primero a la caché de
instrucciones para extraer el código a ejecutar y luego se accede a la caché de
datos para procesar estos.
·
Caché de segundo nivel L2.- Nació
porque la memoria caché de primer nivel resultaba insuficiente. Es más grande
que la caché de primer nivel pero menos rápida, en esta caché no existe la
división de datos e instrucciones, todos estos se guardan en conjunto. La caché
de segundo nivel está integrada en la placa madre.
Fig. 4 Cache L1 y L2 y su ubicación en la tarjeta madre
Fuente: http://www.google.com.bo/imgres?um=1&hl=es&biw=1527&bih=862&tbm=isch&tbnid=MOCSgapkKOAh5M:&imgrefurl=http://www.maran.com/dictionary/c/cachera/index.html&docid=AftqGEUIrBmD8M&imgurl=http://www.maran.com/dictionary/c/cachera/image.gif&w=330&h=239&ei=6rJvUMuCLYeV0QGJl4DwDQ&zoom=1&iact=hc&vpx=191&vpy=518&dur=436&hovh=184&hovw=254&tx=132&ty=72&sig=107179699532315747458&page=1&tbnh=138&tbnw=190&start=0&ndsp=28&ved=1t:429,r:14,s:0,i:136, Cache (RAM), Marangraphics.inc. , recuperado (6/10/12)
Optimizaciones
1.
Caché no bloqueante.- Es la caché a
la que se puede seguir accediendo aun cuando esta tiene fallos. Se incorporaron
a las PCs juntamente con las caches de segundo nivel.
2.
Caché segmentada.- La caché interna
esta segmentada en 2 etapas y la externa en 4. En la primera etapa se realiza
la consulta del dato a busca en L1, en la segunda etapa se extrae el dato si es
encontrado, caso contrario se manda una petición a L2.
3.
Caché con lectura anticipada.- Tiene
por objetivo acelerar la lectura de los datos por parte del procesador en caso
de no encontrarse en la caché, haciendo simultaneo la recepción del bloque que
lo contiene y el envío del dato al procesador. Se tiene dos técnicas para
realizar estas acciones:
·
Early restart (reinicio prematuro).- Espera a que llegue la palabra del bloque de información para
reenviarla al procesador, evitando el tiempo de espera para que se complete la
transferencia del bloque.
·
Critical Word first (primero la palabra critica).- Obliga al siguiente nivel de caché a enviar el dato requerido y
luego enviar el bloque completo
4.
Caché victima.- Es una pequeña caché
L2 de tamaño reducido, que guarda los datos desechados más recientemente por L1
antes de ser enviados a la memoria principal.
5.
Caché de tercer nivel (L3).- Todavía
poco conocida, realizaría su aparición masiva en caso de que la diferencia
entre la memoria principal y la memoria caché agrandaran. Su funcionamiento
sería igual que como los anteriores dos niveles de caché, siendo que para las
memorias más alejadas del procesador, su tamaño crece pero su velocidad
disminuye. El procesador AMD Phenom II ya tiene integrado un caché L3 de 6Mb.
Tipos de
conexión de la memoria caché.- Existen dos tipos
de conexión de la memoria caché a la CPU:
·
Serie.- La CPU solo está conectada
a la memoria caché, por lo que todas las peticiones que realice se las hace
mediante esta, evitando usar el bus del sistema. Si la petición se encuentra ya
en la caché la respuesta será en pocos nanosegundos, porque no se usa el bus
del sistema, los dispositivos de entrada y salida pueden trabajar
tranquilamente permitiendo el paralelismo. La principal desventaja de esta
conexión es que cuando la información requerida por la CPU no se encuentra en
la memoria caché, ésta tiene que mandar la petición a la memoria principal
produciendo una latencia en la respuesta.
Fig. 5 Modo de funcionamiento de conexión de cache en serie con la CPU.
Fuente: Pino T. I. V. – Jimenez C. J. (2007), La
memoria caché en Universidad José Carlos Mariátegui, Arquitectura de computadoras (pp. 2-15 cap. 5), Perú, Universidad José Carlos Mariátegui
·
Paralelo.- Depende del bus del
sistema, cuando la CPU realiza una petición la hace simultáneamente a la caché
y a la memoria principal, cuando la información requerida se encuentra en la
caché, avisa a la memoria principal para que no continúe la búsqueda, pero si
no está en la memoria caché, la búsqueda continua en la memoria principal. A
diferencia de la conexión en serie, la caché acá puede ser opcional, si se
desea se conecta sino no.
Fig. 6 Modo de funcionamiento de conexión de cache en paralelo con la CPU
Fuente: Pino T. I. V. – Jimenez C. J. (2007), La memoria caché en Universidad José Carlos Mariátegui, Arquitectura de computadoras (pp. 2-15 cap. 5), Perú, Universidad José Carlos Mariátegui
La memoria caché para poder guardar etiquetas de
contenido usa una memoria llamada asociativa, esta puede direccionar palabras
por contenido (realizan la búsqueda de información en la operación suministrando
a la memoria información para ver si la esta tiene dicha información en alguna
de sus posiciones, no realiza la búsqueda por direcciones) y realizar búsquedas
en paralelo (realizan comparaciones con todas las palabras en la memoria)
Las memorias caché tienen un tiempo de acceso por
debajo de los 30 nanosegundos. Una lógica de control constituida por
multiplexores intenta averiguar a qué datos de la memoria principal se va a
acceder en los ciclos siguientes; justo antes de necesitarlos estos datos son
guardados en la memoria caché para su posterior uso.
La eficiencia de la memoria caché depende de su
organización asociativa. El nivel de eficiencia se mide por su lógica de
control y su predicción de información a usar, por lo tanto a mejor lógica de
control se tendrá una mejor eficiencia.
Memoria principal.- Son los
microcircuitos que se encuentran en la placa madre y puede almacenar definitiva
o temporalmente instrucciones, datos, resultados de las operaciones y
microprogramas.
Las memorias principales se clasifican en:
·
Memoria ROM (Read Only Memory).- Por
sus siglas en inglés, es una memoria de solo lectura, no permite escritura por
los medios tradicionales de escritura de la computadora, esta memoria es no volátil
(no se borra información si no está alimentada). Se graban programas a estas
memorias al momento de su creación y el usuario no puede modificar.
La memoria ROM generalmente viene en DIP (Dual In-line
Package)o empaquetamiento de doble línea.
En la tarjeta principal existe la memoria ROM-BIOS
(Basic Input and Output System) que como su nombre lo indica es el programa básico
de entradas y salidas.
La memoria ROM se divide en:
1.
PROM (Programmable Read Only Memory).- Memoria de solo lectura programable. Estas memorias se las
adquiere de sus fabricantes y los usuarios graban programas en ellos con máquinas
especiales, una vez grabado, ya no se puede modificar.
2.
EPROM (Erasable Programmable Read Only Memory).- Es una memoria de solo lectura programable y borrable. Para
borrar los programas que tiene esta memoria es necesario exponerla a la luz
ultravioleta por un tiempo.
3.
EEPROM (Electrically Erasable
Programmable Read Only Memory).- Memoria de solo lectura programable y
borrable por impulsos eléctricos, los periféricos que usan la tecnología plug
and play usan esta memoria para guardar configuración cuando los detectan por
primera vez, cuando el sistema operativo se apaga y se vuelve a encender, lee
esta memoria y reconoce los periféricos.
Fig. 7 Memoria ROM y su ubicación en la tarjeta madre
Fuente: http://www.google.com.bo/imgres?um=1&hl=es&biw=1527&bih=823&tbm=isch&tbnid=JdieGPUQZwAo0M:&imgrefurl=http://en.wikipedia.org/wiki/Read-only_memory&docid=nUBWADqn_DwM2M&imgurl=http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/ROM_.jpg/220px-ROM_.jpg&w=220&h=176&ei=hbRvUPzNLfGL0QGYvICoDg&zoom=1&iact=hc&vpx=214&vpy=211&dur=2524&hovh=140&hovw=177&tx=119&ty=81&sig=107179699532315747458&page=1&tbnh=131&tbnw=164&start=0&ndsp=28&ved=1t:429,r:0,s:0,i:105, Read-Only memory, Wikipedia, recuperado (6/10/12)
·
Memoria RAM (Random Access Memory).- Memoria de acceso aleatorio, es una memoria
donde se pueden almacenar datos de forma temporal y luego ser leídas, pueden
ser varias veces reescritas. Es una memoria volátil (se pierde la información que
guarda si no está alimentada con energía eléctrica). Esta memoria es más rápida
que cualquier dispositivo de memoria secundaria ya que no tiene partes móviles,
en esta memoria se cargan los programas que se van a ejecutar y los datos a procesar. Esta memoria se
clasifica de acuerdo a su modo de trabajo en:
1.
RAM Dinámica o DRAM (Dynamic Random Access Memory).-
A este tipo de memoria le es
necesario tener un refresco de su información a sus capacitores cada
determinado tiempo, es decir, regrabar la información que guarda, esta operación
es automática. Mientras se está en proceso de refrescamiento no se puede tener
acceso a la información por eso es que esta memoria es más lenta que la RAM estática,
pero consume menos potencia.
·
EDORAM (Extended Data Out Random
Access Memory).- Es un tipo de memoria RAM dinámica
con la diferencia de que esta memoria, guarda los datos más tiempo que la DRAM,
es decir, no necesita refrescamiento tan seguido.
·
Existen otras tecnologías con
las memorias RAM como ser: VRAM
(Video RAM), WRAM (Window RAM), MDRAM (Multibank RAM), SGRAM (Synchronous
Graphics RAM).
2.
RAM Estatica o SRAM (Static Random Access
Memory).- No necesita refrescamiento de datos,
sus datos permanecen guardados en la memoria mientras exista suministro de energía.
Debido a que no necesito refresco, siempre está disponible para el procesador,
haciendo de esta memoria más rápida que una DRAM, por lo tanto es más cara,
ocupa más espacio y gasta más potencia
Fig. 8 Memoria RAM
Memoria
Virtual.- Es una técnica de gestión
que nos brinda la capacidad de abrir archivos temporales en el disco duro
trabajando como una extensión de la memoria RAM.
Las principales ventajas de usar memoria
virtual son:
¨ Permite abrir más programas y no llenar la RAM fácilmente
¨ Puesto que cada programa no ocupa todo su
espacio en RAM, se puede elevar el índice
de multiprogramación mejorando la eficiencia
Se tienen dos tipos de gestión de
memoria virtual:
§ Paginación.-
El programa se divide en bloques
de tamaño igual llamados páginas
§ Segmentación.-
El programa se divide en
bloques de distinto tamaño llamados segmentos que agrupan elementos afines o funcionalmente
dependientes: datos, subrutinas, etc.
Protección
de sistema con memoria virtual.- Puesto que cada programa en ejecución tiene su propia tabla de páginas
el procesador necesita saber la dirección de la tabla, y para eso las
computadoras disponen de un registro base de la tabla de páginas, haciendo que cada
proceso tenga su propio espacio de direcciones virtuales. Este mecanismo
protege a la memoria y los procesos no dejando que se invadan unos a otros.
Fig. 9 Protección de sistema con memoria virtual, mismo numero de pagina pero diferentes direcciones de tabla
Fuente: García C. F. – Carretero P. J. – García S.
J. D. – Expósito S. D. (2009), Problemas
resueltos de estructura de computadores, Madrid: España, Editorial Parainfo
S. A.
Memoria
Secundaria.- Se encuentran en
la parte baja de la pirámide de la jerarquía de la memoria, su velocidad es
mucho más lenta en comparación a las demás memorias, pero su capacidad de
almacenamiento es muy grande. El dispositivo más representativo de la memoria
secundaria es el Disco duro
¨ Disco
Duro.- Es una unidad de
almacenamiento permanente no volátil de gran capacidad donde se guardan los
archivos de los programas, emplea un método de grabación de datos magnético, está
compuesto por platos o discos que tienen un mismo eje. Cada plato tiene un
cabezal para lectura y/o escritura de datos.
La
mayoría de los discos duros son fijos, es decir, se encuentran de forma
permanente dentro del case o torre, también existen discos duros removibles
Fig. 10 Disco Duro con sus diferentes partes
Fuente: http://www.google.com.bo/imgres?um=1&hl=es&biw=1527&bih=823&tbm=isch&tbnid=OhneMBIsrzRYMM:&imgrefurl=http://en.wikipedia.org/wiki/Hard_disk_drive&docid=SYpqjuaGs0h3yM&imgurl=http://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Hard_drive-en.svg/350px-Hard_drive-en.svg.png&w=350&h=250&ei=i7dvUOn7FYbJ0QGK74HwDA&zoom=1&iact=hc&vpx=181&vpy=190&dur=1519&hovh=190&hovw=267&tx=121&ty=103&sig=107179699532315747458&page=1&tbnh=134&tbnw=187&start=0&ndsp=30&ved=1t:429,r:0,s:0,i:131, Hard Disk Drive, wikipedia, recuperado (6/10/12)
Bibliografía
v Candela S – Garcia C. R. – Quesada A. – Santana F. J. – Santos J.
M. (2007), Fundamentos de Sistemas
Operativos: teoría y ejercicios resueltos, Madrid: España, Editorial Parainfo
S.A.
v Duran R. L. (2007), El gran
libro del pc interno, Barcelona: España, Editorial Marcombo
v Ujaldón M. M. (2003), Arquitectura
del PC: Volumen I: Microprocesadores, Málaga: España, Editorial
Megamultimedia S.L.
v Pino T. I. V. – Jimenez C. J. (2007), La memoria caché en
Universidad José Carlos Mariátegui, Arquitectura
de computadoras (pp. 2-15 cap. 5), Perú,
Universidad José Carlos Mariátegui
v Chu Y. (1975), Organización
y microprogramación del ordenador, Barcelona: España, Editorial Reperté
S.A.
v Berral M. I. (2010), Equipos
microinformáticos, Madrid: España, Editorial Parainfo S.A.
v Morris M. (1994), Arquitectura
de computadoras, Juárez: México, Editorial Prentice Hall Hispanoamericana
S.A.
v Orozco G. M. A. – Chávez A. M. L – Chávez A. J. (2006), Informática uno, México, Thompson
Editores
v García C. F. – Carretero P. J. – García S. J. D. – Expósito S. D. (2009),
Problemas resueltos de estructura de
computadores, Madrid: España, Editorial Parainfo S. A.
By: Cesar M. Cabrera Vasquez
No hay comentarios:
Publicar un comentario