Вы находитесь на странице: 1из 92

Arquitectura de Computadoras

Semana 02: Memoria

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

Temario:

– Definición de memoria
– Memoria volátil y no volátil
– ROM y RAM
– Tecnologías de ROM
– Tecnologías de RAM
– Decodificación de direcciones en memorias
– Medios magnéticos
– Otras tecnologías de almacenamiento
– Jerarquía de memoria en una computadora
– Memoria caché
– Memoria principal
– Memoria externa

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

¿Qué es la memoria en
una computadora?

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

La memoria en una computadora se refiere al hardware (circuitos integrados) que almacena


información para su uso inmediato. La memoria también recibe el nombre de “memoria
principal” o “almacenamiento primario”.

Dentro de los parámetros más importantes para evaluar el rendimiento de una memoria
tenemos: capacidad de la memoria, velocidad de la memoria y organización de la memoria.

La capacidad de la memoria es el número de bits que un chip semiconductor de memoria


puede almacenar. A pesar de que la capacidad de memoria de un circuito integrado se
expresa en bits, la capacidad de memoria de una computadora se expresa en bytes.

La velocidad de la memoria es la rapidez con la cual se puede acceder a la información


almacenada en la memoria (lectura). La velocidad de la memoria es comúnmente llamada
“tiempo de acceso”. Dependiendo de la tecnología empleada, este tiempo puede variar desde
unos cuantos nanosegundos hasta cientos de nanosegundos.

La organización de la memoria indica como los chips de memoria se encuentran


internamente organizados en un número de ubicaciones. Cada ubicación puede almacenar
1bit, 4 bits, 8 bits o incluso 16 bits, dependiendo del diseño interno.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

Prefijos empleados en computación para expresar capacidad de memoria.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

1K Memoria 1K Memoria 1K Memoria

Bit 1 Byte 1 Word 1


Bit 2 Byte 2 Word 2
Bit 3 Byte 3 Word 3

Bit 1024 Byte 1024 Word 1024

Ejemplos de memoria con 1024 ubicaciones de almacenamiento.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

8 bits

000h

Memoria
01

3FFh

Ejemplo de memoria de 1K x 8 bits.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.1.- Memoria

16 bits 8 bits 8 bits


000h 000h 000h

Memoria
03
Memoria
Memoria 02
1FFh
01

25Fh

FFFh

Determinar la capacidad de las memorias 01, 02 y 03.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.2.- Clasificación de memorias

Se han desarrollado diversas tecnologías para la fabricación de memorias, cada una con
ventajas y desventajas (dependiendo de la aplicación). Por sus características, las memorias
pueden ser clasificadas en grupos.

Por el trabajo que requiere borrar y escribir datos en una unidad de memoria, ésta puede
clasificarse dos grupos: memoria de solo lectura (ROM) y memoria de acceso aleatorio
(RAM).

Por la vigencia de los datos luego de haber retirado la energía eléctrica a la unidad de
memoria, ésta puede clasificarse en dos grupos: memoria volátil y memoria no-volátil.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.2.- Clasificación de memorias

Memoria volátil

 Los datos permanecen almacenados en la memoria


siempre y cuando ésta se encuentre energizada, es decir,
conectada al voltaje de alimentación correspondiente. Si
se retira el suministro de energía, entonces los datos se
pierden.

Memoria no-volátil

 Los datos permanecen almacenados en la memoria


independientemente de si ésta se encuentra o no
energizada. Se emplea este tipo de memoria para
almacenar datos de configuración y para realizar
monitoreo de eventos.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.2.- Clasificación de memorias

Memoria de acceso aleatorio (RAM)

 Almacena información temporal que puede cambiar a


través del tiempo.
 Se puede leer y escribir fácilmente sobre ella.
 Los datos almacenados se pierden cuando se retira la
energía del sistema (memoria volátil).

Memoria de solo lectura (ROM)

 Almacena información que es fija (sin cambio) y


permanente.
 Es de sólo lectura (borrar y escribir datos requiere un
procedimiento especial).
 Los datos almacenados se mantienen aún cuando se
retira la energía del sistema (memoria no volátil).

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

PROM (Programmable ROM)


Es el tipo de memoria ROM en donde el usuario puede almacenar información. En otras
palabras, PROM es una memoria programable por el usuario (en contraste con otras
memorias ROM que son programadas en fábrica). Para cada bit de la PROM existe un
fusible. Una PROM es programada “quemando” fusibles. Si la información “quemada” en la
PROM es errónea, la memoria debe ser descartada ya que los fusibles se queman de forma
permanente. Por esta razón la PROM es también conocida como memoria OTP (one time
programmable). Programar una ROM requiere un equipo especial llamado programador o
quemador de ROM.

Circuito integrado de PROM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

EPROM (Erasable Programmable ROM)


La EPROM fue inventada para permitirle al usuario cambiar el contenido de la PROM
después de qhe ésta ha sido programada. En una EPROM, el usuario puede programar y
borrar el chip de memoria miles de veces. Esto es especialmente necesario durante la etapa
de desarrollo (prototipo) de un sistema embebido. Una EPROM ampliamente usada es la
llamada UV-EPROM (EPROM Ultravioleta). El único problema con la UV-EPROM es que
borrar su contenido puede tomar hasta 20 minutos. Todos los chips UV-EPROM tienen una
ventana, a través de la cual el programador puede emitir radiación ultravioleta para borrar el
contenido del chip. Para grabar datos en la EPROM se requiere un voltaje de programación
(Vpp), el cual es de, aproximadamente, 12V.

Circuito integrado y programador de EPROM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

EEPROM (Electrically Erasable Programmable ROM)


Las EEPROM tienen varias ventajas sobre las EPROM, como el hecho de que su método de
borrado de datos es eléctrico y, por lo tanto, no hace falta esperar el periodo extenso
requerido por la UV-EPROM. Además, en una EEPROM el usuario puede elegir el byte que
desea borrar, en contraste con la UV-EPROM, donde todo el contenido de la ROM es
borrado. Sin embargo, la principal ventaja de la EEPROM es que el usuario puede
programarla y borrar su contenido mientras ésta se encuentra en el circuito del sistema (la
UV-EPROM debía extraerse del circuito y colocarse en un programador). Finalmente, en una
EEPROM el usuario puede programar y borrar el chip de memoria hasta 1 000 000 veces.

Circuito integrado de EEPROM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

Flash EPROM
Desde principios de los 90’s las Flash EPROM se han vuelto memorias programables muy
populares entre los usuarios, por buenas razones. Primero, el borrado de todo el contenido
de la memoria toma menos de 1 segundo (de ahí su nombre, memoria Flash). Además, el
método de borrado de datos es eléctrico y, por esta razón, a este tipo de memoria también se
le llamaba Flash EEPROM. Para evitar confusión este tipo de memoria es llamada
simplemente Flash. La principal diferencia entre una memoria Flash y una EEPROM es que
cuando el contenido de una memoria Flash es borrado, éste es borrado por bloques
(formados de múltiples bytes), en contraste con la EEPROM donde el usuario puede borrar
solo los bytes que desea. Finalmente, en una memoria Flash el usuario puede programar y
borrar el chip de memoria hasta 100 000 veces.

Memoria BIOS en una tarjeta de computadora.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

Mask ROM
Mask ROM se refiere a un tipo de ROM en la cual el contenido es programado por el
fabricante del circuito integrado. En otras palabras, no es una ROM programable por el
usuario. El teŕmino mask (máscara) es empleado en la fabricación de circuitos integrados.
Dado que el proceso es costoso, las Mask ROM son usadas cuando el volumen requerido es
alto (cientos de miles de unidades) y existe la certeza de que el contenido no va a cambiar
(ya que es programable solo una vez). Este tipo de memoria es usada, por ejemplo, en la
findustria de los juguetes, donde se produce en gran cantidad.

Juguete que (posiblemente) usa una Mask ROM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.3.- Memorias de solo lectura (ROM)

Consideraciones para la ROM en la producción


Es una práctica común usar Flash o EEPROM para la fase de desarrollo de un producto
(pruebas y prototipado), y solo después que el código ha sido finalizado se ordena la versión
final en una ROM que no es programable por el usuario.

Si la producción no es muy alta (cientos de unidades), entonces se suele emplear las OTP
(PROM), por tener un menor costo que las memorias programables múltiples veces.

Si la producción es muy alta (cientos de miles de unidades), entonces se suele emplear las
Mask ROM, ya que el costo de producción es menor que cuando se usan las memorias OTP.

En conclusión, la elección final depende del volumen de producción.

Analogía: Fabricación de sillas.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

SRAM (Static RAM)


Las celdas de almacenamiento en una SRAM están hechas de flip-flops y, por lo tanto, no es
necesario “refrescarlas” para que mantengan sus datos (esto contrasta con las DRAM que se
tratarán más adelante). El problema con el uso de flip-flops para celdas de almacenamiento
es que cada celda requiere que se construyan, al menos, 6 transistores (ver imagen) y la
célula almacena solo un bit de datos. Con el tiempo esta tecnología ha avanzado y ha
logrado construir celdas con 4 transistores, incrementando el rendimiento de las SRAM. Sin
embargo, la capacidad de las SRAM está todavía muy por debajo de las DRAM.

Construcción de una celda de SRAM con transistores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

NV-RAM (RAM No volátil)


Mientras que la SRAM es volátil, existe un nuevo tipo de RAM llamado NV-RAM. Como las
demás RAMs, esta memoria permite al CPU leer y escribir sobre ella, pero cuando se retira la
energía el contenido no se pierde. La NV-RAM combina lo mejor de la RAM y la ROM: la
habilidad de lectura y escritura de la RAM, más la “no volatilidad” de la ROM. Para mantener
su contenido, cada chip de NV-RAM internamente está hecho de los siguientes componentes:
células de memoria SRAM hechas con tecnología CMOS con consumo de energía extra
bajo, una batería de litio interna como fuente de energía de respaldo, circuitería de control
inteligente. Debido a los componentes que contiene es una batería bastante costosa.

Representación de una NV-RAM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

DRAM (Dynamic RAM)


En 1970, Intel Corporation introdujo al mercado la primera RAM dinámica. Su densidad era de
1024 bits y usaba un capacitor para almacenar cada bit. El usar un capacitor para almacenar
información reduce considerablemente el número de transistores requeridos para construir
una celda; sin embargo, se requiere refrescar frecuentemente el capacitor debido a la
corriente de fuga. La principal ventaja de la DRAM es que el uso de capacitores en lugar de
flip-flops hace que las DRAM tengan una gran densidad (un chip puede almacenar hasta 2
Gigabits). La principal desventaja de las DRAM es que los capacitores deben ser refrescados
de manera periódica, y mientras esto ocurre no se puede acceder a la información.

Módulos de memoria DRAM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

DRAM Mejorada
Existen muchos tipos de DRAM y nuevos tipos aparecen en el mercado con regularidad, ya
que los fabricantes tratan de mantenerse a la par son el rápido incremento en la velocidad de
los procesadores. Cada tipo está basado en céldas DRAM convencionales, con
optimizaciones que mejoran la velocidad con la cual se puede acceder a estas céldas. Entre
las versiones mejoradas tenemos: Fast page mode DRAM (FPM DRAM), Extended data out
DRAM (EDO DRAM), Synchronous DRAM (SDRAM), Double data rate synchronous DRAM
(DDR, DDR2, DDR3), Rambus DRAM (RDRAM), Video RAM (VRAM).

Aspecto físico de los módulos de memoria DDR, DDR2 y DDR3.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

Problemas de empaque en la DRAM

● En la DRAM hay un problema de empaque para un gran número de celdas dentro de un


solo chip con el número normal de pines asignados a las direcciones.

● Por ejemplo: Un chip de 64K-bit (64K x 1) debe tener 16 líneas de dirección y una línea de
datos, requiriendo 16 pines para recibir la dirección si el método convencional es usado. A
esto se le debe agregar los pines de alimentación (VCC y GND) y los pines de control (leer
y escirbir).

● Usando el método convencional de acceso a los datos, el gran número de pines


requeridos impide llegar al propósito de los diseñadores de chips, que es obtener una gran
densidad con un empaque pequeño.

● Por lo tanto, para reducir el número de pines requeridos para la dirección, se emplea
multiplexación/demultiplexación. El método empleado consiste en partir la dirección en dos
y enviar cada mitad de la dirección a través de los mismos pines. Internamente la
estructura DRAM está dividida en filas y columnas: la primera mitad de la dirección es
llamada la fila y la segunda mitad es llamada la columna.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

Organización de la DRAM
En el caso de una DRAM con una organización de 64Kx1, la primera mitad de la dirección es
enviada a través de los 8 pines A0-A7, y activando la señal RAS (row address strobe), los
latches internos dentro de la DRAM hacen la conexión con la primera mitad de la dirección.
Después de eso, la segunda mitad de la dirección es enviada a través de los mismos pines, y
activando la señal CAS (column address strobe), los latches internos dentro de la DRAM
hacen la conexión con la segunda mitad de la dirección. Esto resulta en el uso de 10 pines en
lugar de los 16 pines que se requerirían sin multiplexación.

Chip de DRAM de 64K x 1.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.4.- Memorias de acceso aleatorio (RAM)

FRAM (Ferroelectric RAM)


Es un tipo de RAM no volátil con una construcción muy similar a la DRAM. La diferencia
radica en que el capacitor de almacenamiento en una FRAM usa una capa ferroeléctrica en
lugar de una capa dielectrica para alcanzar su no volatilidad. A la fecha, este es el único tipo
de RAM no volátil que se ha producido y difundido en grandes cantidades. La FRAM ofrece
propiedades que la diferencian de otro tipo de memorias no volátiles incluyendo la
extremadamente alta cantidad de ciclos de borrado/escritura que soporta (hasta 10 16),
consumo de energía ultra bajo, velocidad de escritura en un ciclo y tolerancia a la radiación
gamma.

Comparación entre tecnologías FRAM y DRAM.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.5.- Decodificación de la dirección de memoria


Es una práctica común emplear múltiples chips de memoria (o bloques) para alcanzar
capacidades mayores. En estos casos, el CPU proporciona la dirección del dato deseado,
pero es trabajo del circuito decodificador el ubicar el bloque de memoria seleccionado.

Para explorar el concepto de circuito decodificador, se mostrarán diferentes métodos usados


en decodificación de direcciones.

Los chips de memoria tienen uno o más pines denominados CS (chip select) o CE (chip
enable), los cuales deben activarse para poder acceder al contenido de la memoria.
Entonces, al conectar un chip de memoria con el CPU se deben tomar en cuenta los
siguientes puntos:

● El bus de datos del CPU es conectado directamente a los pines de datos del chip de
memoria.

● Las señales de control RD(leer) y WR(escribir) del CPU son conectadas a los pines OE
(habilitar salida) y WE (habilitar esccritura) del chip de memoria, respectivamente.

● En el caso de los buses de direcciones: Por un lado, los bits menos significativos de la
dirección van conectados directamente del CPU a los pines de memoria del chip. Por otro
lado, los bits más significativos de la dirección que salen del CPU son usados para activar
el CS del chip de memoria correspondiente. Ningún dato puede ser leído o escrito en una
memoria si el CS no se encuentra activado.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.5.- Decodificación de la dirección de memoria

Decodificador de direcciones con lógica simple


Considerando que la entrada CS de un chip de memoria es, usualmente, activa en bajo, el
método más simple para construir un circuito decodificador es el uso de una compuerta
NAND. La salida de una compuerta NAND es activa en bajo, al igual que la entrada CS (en
casos donde la entrada CS es activa en alto, debe usarse una compuerta AND). Usando una
combinación de compuertas NAND e inversores es posible decodificar cualquier rango de
direcciones. Un ejemplo es mostrado en la imagen, donde se nota que las señales A12-A15
deben ser 0011 para seleccionar el chip. Como resultado, el rango de direcciones 3000H a
3FFFH ha sido asignado al chip de memoria.

Circuito decodificador de direcciones con lógica simple.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.5.- Decodificación de la dirección de memoria

Decodificador de direcciones comercial


Existen circuitos integrados que cumplen la función del decodificador de direcciones. Por
ejemplo, el 74LS138 solía ser uno de los decodificadores más ampliamente usados. Sus 03
entradas A, B y C generan 8 salidas activas en bajo Y0-Y7 (ver imagen). Cada salida Y es
conectada a una entrada CS de un chip de memoria, permitiendo el control de 8 bloques de
memoria con un solo circuito integrado 74LS138.

Decodificador comercial 74LS138.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.5.- Decodificación de la dirección de memoria

Uso del 74LS138 como decodificador.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.5.- Decodificación de la dirección de memoria


Tarea para el estudiante

1) Buscar en Internet las características de la laptop Sony VAIO, modelo SVE14125CLW, y


responder a lo siguiente:

● ¿Qué tecnología emplea esta computadora en su memoria RAM?

2) Los microcontroladores son computadoras de bajos recursos y bajo costo que se utilizan
para automatizar procesos dedicados. Leer la hoja de datos de diferentes microcontroladores:
ATmega2560, PIC18F4550, dsPIC33FJ16GS402, . Luego, responder a las siguientes
preguntas:

● ¿Qué tecnología (PROM, DRAM, EPROM, etc) utilizan estos microcontroladores para su
memoria de datos ?

● ¿Qué tecnología utilizan estos microcontroladores para su memoria de programa


(instrucciones)?

● Imagine que programa una aplicación donde necesita ingresar parámetros de


configuración que permanezcan almacenados luego de retirar la energía. ¿Qué tipo de
memoria se estila usar en estos casos? ¿Viene SIEMPRE ese tipo de memoria
incorporada en el microcontrolador?

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Los discos magnéticos son el “caballo de batalla” de los dispositivos de almacenamiento para
almacenar grandes cantidades de información, en el orden de los cientos de miles de
gigabites, en contraste con los cientos o miles de megabytes que pueden almacenarse en
una memoria basada en RAMs. Sin embargo, para leer información en un disco se requiere
periodos de tiempo en el orden de los milisegundos, es decir, unas 100 000 veces más de lo
que se requiere para leer una DRAM y 1 000 000 veces más de lo que se requiere para leer
una SRAM. Por sus características, los discos magnéticos constituyen el componente más
importante de la memoria externa de, prácticamente, cualquier computadora personal actual.

Unidades de disco magnético: disquetes y disco duro.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Platos
Los discos están hechos de platos circulares. Cada plato tiene dos caras o superficies, está
hecho de material no magnético (llamado el substrato) y está cubierto con material
magnetizable. Por su forma de fabricación los discos magnéticos pueden clasificarse en dos
grupos básicos: disco flexible (floppy disk) y disco duro (hard disk). Por un lado, un disco
flexible emplea como “plato” una lámina delgada de plástico. Por otro lado, un disco duro
emplea un grupo de platos metálicos apilados.

Vista del interior de un disquete y un disco duro.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Mecanismo de lectura y escritura


Los datos son almacenados y luego recuperados del disco mediante una bobina conductora
llamada el cabezal. Los discos flexibles y los discos duros antiguos empleaban un mismo
cabezal para la lectura y escritura, mientras que los discos duros actuales cuentan con dos
cabezales (uno para lectura y otro para escritura). Durante una operación de lectura o
escritura , el cabezal está estacionario mientras que los platos rotan debajo de los cabezales.

Cabezal de escritura inductiva y lectura magneto-resistiva.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Mecanismo de lectura y escritura


El mecanismo de escritura está basado en el hecho de que la electricidad fluyendo a través
de una bobina produce un campo magnético. Se envían pulsos a través de la cabecera de
escritura, y los patrones magnéticos son registrados en la superficie del disco, con patrones
diferentes para corrientes positivas y negativas. El mecanismo tradicional de lectura está
basado en el hecho de que un campo magnético en movimiento con respecto a una bobina
produce una corriente eléctrica dicha bobina.

Principio de lectura y escritura en un disco magnético.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Formato y organización de datos


La cabecera es un dispositivo relativamente pequeño, capaz de leer o escritir una porción de
la superficie que rota debajo de él. Esto da origen a la organización de datos en el plato en un
conjunto de anillos concéntricos, llamados Pistas. Existen miles de pistas en cada superficie,
y cada pista tiene el mismo grosor que la cabecera. Las pistas adyacentes están separadas
por espacios, con el fin de prevenir errores debido a un mal alineamiento de la cabecera. Los
datos son transferidos desde y hacia el disco en sectores. Típicamente, hay cientos de
sectores por cada pista, y estos pueden ser de longitud fija o variable. Para evitar una
demanda de precisión excesiva, los sectores adyacentes son separados por espacios.

Organización de los datos en pistas y sectores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Sectores Pistas

Espacio entre sectores


Espacio entre pistas

Distribución de datos en un disco magnético.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos


Características físicas
Existen varios tipos de discos magnéticos, y todos ellos se diferencian por diversas
características físicas:

Movimiento de la cabecera:
● Cabezal fijo (uno por pista)
● Cabezal móvil (uno por superficie)

Portabilidad del disco:


● Disco no-removible (fijo)
● Disco removible

Número de lados (caras):


● Una cara
● Doble cara

Número de platos:
● Un plato
● Múltiples platos

Mecanismo de la cabecera:
● Contacto
● Espacio fijo
● Espacio aerodinámico (Winchester)

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

(a) Vista de un solo plato. (b) Vista de múltiples platos.

Estructura del disco.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Operación del disco


Los discos leen y escriben bits almacenados en la superficie magnética usando el cabezal de
lectura/escritura conectado al final de un brazo actuador. Moviendo el brazo hacia adelante y
hacia atrás, a lo largo de su eje radial, el mecanismo puede ubicar el cabezal sobre cualquier
pista de la superficie. Una vez que el cabezal se ubica sobre la pista deseada, cada bit de la
pista pasa por debajo y el cabezal puede sensar el valor del bit (leer) o alterar el valor del bit
(escribir). Los discos con múltiples platos tienen cabezales de lectura/escritura separados
para cada superficie.

Cabezal de escritura inductiva y lectura magneto-resistiva.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Parámetros de rendimiento del disco

Tiempo de búsqueda (Seek Time)


● Es el tiempo requerido para mover el brazo del disco a la pista que corresponde. El tiempo
de búsqueda consta de dos componentes clave: el tiempo de arranque inicial y el tiempo
que toma atravesar las pistas que deben cruzarse una vez que el brazo de acceso ha
ganado veocidad.

Retardo rotacional (Rotational delay)


● Es el tiempo que le toma al disco duro rotar hasta que el sector donde se encuentran los
datos requeridos alcance la cabecera de lectura/escritura. Los discos duros rotan a
velocidades en un rango desde 3600 rpm hasta 15000 rpm; a esta última velocidad, hay
una revolución cada 4ms. Por lo tanto, en promedio, el retardo rotacional será de 2ms. Los
discos flexibles (floppy disks) usualmente rotan a velocidades entre 300 rpm y 600 rpm,
por lo que su retardo promedio se encuentra entre 100ms y 50ms.

Tiempo de transferencia (Transfer Time)


● El tiempo de transferencia desde o hacia el disco depende de la velocidad de rotación del
disco, el número de bytes en una pista y el número de bytes que se va a transferir.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

Arreglo redundante de discos independientes (RAID)

Es un arreglo de discos que opera de manera independiente y en paralelo. Con múltiples


discos, es posible manejar solicitudes de E/S separadas en paralelo, ya que los datos
requeridos residen en discos separados. Además, una solicitud de E/S puede ser ejecutada
en paralelo si el bloque da datos al que se debe acceder está distribuido en múltiples discos.

Con el uso de múltiples discos, existe una gran variedad de maneras en que los datos
pueden ser organizados y en las cuales se puede agregar redundancia para mejorar la
confiabilidad.

Con el propósito de tener arreglos de discos que sean compatibles con diferentes plataformas
y sistemas operativos, la industria ha creado esquemas estandarizados para el diseño de
bases de datos para múltiples discos conocidos como RAID (Redundant Array of Independent
Disks). El esquema RAID consta de 7 niveles (de 0 a 6), los cuales comparten 03
caraterísticas comunes:

● RAID es un conjunto de discos físicos que son vistos como una sola unidad por el sistema
operativo.
● Los datos son distribuidos a través de los discos físicos de un arreglo.
● La capacidad redundante del disco es usada para almacenar información de paridad, la
cual garantiza la recuperabilidad de los datos en caso de una falla de disco.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

RAID 0
El RAID Nivel 0 no es un verdadero miembro de la familia RAID, porque no incluye
redundancia para mejorar el rendimiento. Sin embargo, existen algunas aplicaciones en las
cuales el rendimiento, la capacidad y el bajo costo son más importantes que la confiabilidad.
En un RAID 0 los datos del usuario y del sistema son distribuidos a través de todos los discos
en el arreglo. La ventaja es que si dos solicitudes de E/S diferentes están pendientes para
dos bloques de datos, entonces es muy probable que los bloques requeridos se encuentren
en diferentes discos. De esta manera, las dos solicitudes pueden ser atendidas en paralelo.

RAID 0 (No redundante).

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

RAID 1
Se diferencia de los demás RAIDs por la manera en que alcanza la redundancia. En los otros
esquemas RAID, se usa algún tipo de cálculo de paridad para introducir redundancia,
mientras que en RAID 1 la redundancia es alcanzada por el simple recurso de duplicar todos
los datos.

RAID 2
Los RAIDs de nivel 2 y nivel 3 hacen uso de técnicas de acceso en paralelo. En un array con
acceso en paralelo, todos los discos miembros participan en la ejecución de cada solicitud de
E/S. En RAID 2, el código de correción de errores es calculado a través de los bits
correspondientes en cada disco de datos, y los bits del código son almacenados en las
posiciones de bits correspondientes de múltiples discos de paridad. Típicamente se emplea el
código Hamming.

RAID 3
Está organizado de manera similar que el RAID 2. La diferencia está en que RAID 3 requiere
solo un disco redundante, sin importar que tan grande sea el arreglo de discos. RAID 3
emplea acceso en paralelo, con los datos distribuidos en pequeñas tiras. En lugar de un
código de error, se calculan bits de paridad para el grupo de bits individuales en la misma
posición en todos los discos de datos.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

RAID 1
(Reflejado)

RAID 2
(Redundancia mediante
Código Hamming)

RAID 3
(Paridad de bits intercalados)

Esquemas RAID 1, RAID 2 y RAID 3.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

RAID 4
Los RAIDs del nivel 4 al 6 también distribuyen sus datos en tiras, pero hacen uso de una
técnica de acceso independiente. En un arreglo de acceso independiente, cada disco
miembro opera de manera independiente, de modo que las solicitudes de E/S pueden ser
atendidas en paralelo. En un RAID 4 una tira de paridad bit por bit es calculada a través de
las tiras correspondientes en cada disco, y los bits de paridad son almacenados en la tira
correspondiente del disco de paridad.

RAID 5
Está organizado de manera similar que RAID 4. La diferencia es que RAID 5 distribuye las
tiras de paridada a través de todos los discos. La distribución de las tiras de paridad a través
de todos los discos evita el riesgo potencial de un cuello de botella de E/S, que se puede
encontrar en RAID 4.

RAID 6
En el esquema RAID 6, dos diferentes cálculos de paridad son llevados a cabo y
almacenados y almacenados en bloques separados, en discos diferentes. La ventaja de
RAID 6 es que proporciona una disponibilidad de datos extremadamente alta.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.6.- Discos magnéticos

RAID 4
(Paridad a nivel de bloques)

RAID 5
(Paridad distribuida a nivel de bloques)

RAID 6
(Redundancia dual)

Esquemas de RAID 4, RAID 5 y RAID 6.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.7.- Discos ópticos

CD (Disco Compacto)
Tanto el CD de audio como el CD-ROM (compact disk read only memory) comparten una
tecnología similar. La diferencia principal es que los reproductores de CD-ROM son más
robustos y cuentan con dispositivos de corrección de errores. Ambos tipos de disco son
hechos de la misma manera. El disco está formado por una resina (como el policarbonato).
La información almacenada digitalmente es impresa como una serie de agujeros
microscópicos sobre la superficie del policarbonato. Esto se logra mediante el uso de un láser
de alta densidad finamente concentrado. Por otro lado, la lectura de los datos se realiza
mediante un láser de baja potencia, incorporado en un reproductor de discos ópticos. Al inico,
el usuario solamente podía leer los discos ópticos, hasta la aparición de los CD Grabables y
los CD Reescribibles.

Tecnología de disco compacto.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.7.- Discos ópticos

Operación del disco compacto.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.7.- Discos ópticos

CD-ROM: Capacidad 682 MB.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.7.- Discos ópticos

DVD (Disco versátil digital)


Con la gran capacidad de los DVDs, la industria de la electrónica finalmente ha encontró un
reemplazo aceptable para las cintas de video analógicas de VHS. El DVD ha llevado al video
a la era digital, ha reemplazado al CD-ROM en computadoras personales y servidores, ha
permitido el almacenamiento de software más complejo (videojuegos más realistas y
enciclopedias con más contenido multimedia. La gran capacidad de los DVDs es debido a
tres diferencias con los CDs: Los bits son empaquetados de manera más cercana en un
DVD, el DVD emplea una segunda capa de agujeros sobre la superficie de la primera capa, el
DVD-ROM puede tener dos caras (mientras que el CD solo cuenta con una cara para guardar
los datos).

Tecnología de disco versátil digital.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.7.- Discos ópticos

DVD-ROM, doble cara, doble capa: Capacidad 17 GB.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- TECNOLOGÍAS DE ALMACENAMIENTO

1.8.- Cinta magnética

Los sistemas de cinta magnética usan las mismas técnicas de lectura y escritura que usan
los discos magnéticos. El medio es una cinta de poliester flexible cubierta de material
magnetizable. Las cintas solían venir empacadas en carretes abiertos que debían ser
acoplados a un segundo eje para ser usados. Hoy en día, todas las cintas vienen empacadas
en cartuchos. Los datos en la cinta se encuentran estructurados como un número de pistas
paralelas corriendo a lo largo de la cinta. Los primeros sistemas de cinta usaban 9 pistas.
Esto hacía posible almacenar un byte de datos a la vez, con un bit adicional de paridad en la
novena pista. Luego aparecieron sistemas de cinta con 18 y 36 pistas, las cuales permitían
transferir palabras de múltiples bytes. El grabar los datos de esta manera se conoce como
grabación paralela. Los sistemas modernos usan grabación serial (secuencia de bits en una
pista) en lugar de paralela.

Cintas magnéticas en diferentes presentaciones.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.1.- Limitaciones de las tecnologías de almacenamiento

¿Cuál es la mejor tecnología para almacenar datos en una computadora?

Las restricciones de diseño en la memoria de una computadora pueden ser resumidas en 03


preguntas: ¿Cuánta capacidad? ¿Qué tan rápida? ¿Qué tan cara?

● La primera pregunta queda abierta. Si la capacidad está disponible, lo más probable es


que la aplicación la utilice.

● La segunda pregunta es, en cierto modo, más fácil de responder. Para alcanzar el mayor
rendimiento, la memoria debe ser capaz de seguir el ritmo del procesador. Esto quiere
decir que, si el procesador está ejecutando instrucciones, no deseamos que éste tenga
que hacer una pausa para esperar a las instrucciones o a los operandos.

● La última pregunta debe ser considerada en un sistema práctico, ya que el costo de la


memoria debe ser razonable en relación a los demás componentes.

Como se puede esperar, existe un trade-off entre las tres características clave de la
memoria: costo, capacidad y tiempo de acceso.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.1.- Limitaciones de las tecnologías de almacenamiento

Concepto de trade-off

En las áreas de diseño e ingeniería se


conoce como trade-off a una situación en la
cual se tiene dos o más opciones para
implementar un sistema o aplicación, y en
donde cada una de las opciones mejora el
sistema en un aspecto, pero lo degrada en
otro aspecto.

En palabras sencillas, cada opción presenta la


misma característica: Ganas algo pero
también pierdes algo.

Ejemplo:

¿Arreglo yo mismo mi caño o llamo a un


gasfitero?

¿Construyo un amplificador o compro uno ya


hecho?

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.1.- Limitaciones de las tecnologías de almacenamiento

A través del tiempo, una variedad de tecnologías han sido usadas para implementar sistemas
de memoria. A lo largo de este espectro de tecnologías se han mantenido las siguientes
relaciones:

● Cuanto más rápido es el tiempo de acceso, mayor es el costo por bit


● Cuanto mayor es la capacidad, menor es el costo por bit
● Cuanto mayor es la capacidad, más lento es el tiempo de acceso

Inicialmente, un diseñador desearía usar tecnologías que proporcionen gran capacidad de


memoria (por ejemplo, un disco duro), tanto por la capacidad que se requiere como por el
bajo costo por bit.

Sin embargo, para cumplir con los requerimientos de rendimiento (velocidad), el diseñador
necesita utilizar memoria costosa, con capacidad más baja y con tiempo de acceso corto
(más rápidas).

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.2.- Principio de localidad

La respuesta al dilema es no confiar en un solo componente o tecnología de memoria, sino


emplear una jerarquía de memoria. A medida que uno va bajando en la jerarquía, ocurre lo
siguiente:

a) Se reduce el costo por bit


b) Se incrementa la capacidad
c) Se incrementa el tiempo de acceso (se reduce la velocidad)
d) Se reduce la frecuencia con la que el procesador accede a la memoria

De esta manera, las memorias más pequeñas, más caras y más rápidas se complementan
con memorias más grandes, más baratas y más lentas.

La clave del éxito de esta organización es el item (d): reducción de la frecuencia con la que el
procesador accede a la memoria.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.2.- Principio de localidad

Ejemplo simple de jerarquía:

● Suponga que un procesador tiene acceso a dos niveles de memoria.

● El nivel 1 contiene 1000 palabras y tiene un tiempo de acceso de 0.01 us (T 1); el nivel 2
contiene 100 000 palabras y tiene un tiempo de acceso de 0.1 us (T 2).

● Asumir que si se debe acceder a una palabra en el nivel 1, el procesador accede a ella
directamente.

● Si la palabra se encuentra en el nivel 2, la palabra primero es transferida al nivel 1 y luego


el procesador accede a ella.

● Por simplicidad, ignorar el tiempo requerido para que el procesador determine si la palabra
se encuentra en el nivel 1 o el nivel 2.

¿Qué ocurre con el tiempo promedio de acceso cuando se incrementa porcentaje de


accesos a palabras almacenadas en el nivel 1?

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.2.- Principio de localidad

T1 + T2
Tiempo promedio de acceso

T2

T1

0 1
Fracción de accesos únicamente al nivel 1.

Rendimiento de una memoria simple de 2 niveles.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.2.- Principio de localidad

El comportamiento mostrado el ejemplo anterior sirve como base del Principio de Localidad,
el cual establece lo siguiente:

“Los programas, durante su ejecución, no acceden con la misma probabilidad a todos sus
datos o instrucciones. Partiendo de esto, basándonos en el pasado reciente de un programa,
podemos predecir con una precsión razonable que instrucciones y datos se utlizarán en un
futuro próximo.”

Pueden encontrarse diferentes casos de localidad, como por ejemplo:

Localidad espacial .- Cuando un programa accede a una instrucción o a un dato, existe una
elevada probabilidad de que instrucciones o datos cercanos sean accedidos pronto.

Localidad temporal.- Cuando un programa accede a una instrucción o a un dato, existe una
elevada probabilidad de que esa misma instrucción o dato vuelva a ser accedido pronto.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.3.- Jerarquía de memoria

El principio de localidad puede ser aplicado en más de dos niveles de memoria. Por ejemplo,
en un sistema de memoria típico (ver imagen en la página siguiente):

● El tipo de memoria más rápido, más pequeño y más costoso consiste en los registros
internos del procesador. Típicamente un procesador puede contener desde algunas
docenas hasta cientos de registros.

● Dos niveles más abajo se tiene la memoria principal, que es el sistema de memoria interno
más importante de la computadora. Cada ubicación en la memoria principal tiene una
dirección única.

● La memoria principal usualmente es extendida con una memoria más pequeña y de mayor
velocidad, llamada caché.

Las tres formas de memoria que se acaban de describir son volátiles y emplean tecnología de
semiconductores (RAM). Todas ellas forman lo que se conoce como memoria interna.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.3.- Jerarquía de memoria

Frecuencia
de acceso Tiempo de
Capacidad
a memoria acceso

Jerarquía de memoria típica en una computadora.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- JERARQUÍA DE MEMORIA EN UNA COMPUTADORA

2.3.- Jerarquía de memoria


● Por otro lado, los datos son almacenados de manera más permanente en dispositivos
externos de almacenamiento masivo, siendo los más comunes los discos duros y los
medios removibles., tales como discos removibles, cintas y discos ópticos. Estos
dispositivos conforman lo que se conoce como memoria externa.

● La memoria externa no volátil es llamada también Memoria Secundaria o Memoria Auxiliar.


Es usada para almacenar archivos de datos y programas y sólo es visible al programador
en términos de archivos y grabaciones.

● Cuando el dispositivo de memoria externa es intercambiado con frecuencia (como en el


caso de las memorias USB o los CDs), se dice que este dispositivo es un tipo de
almacenamiento fuera de línea (off-line).

● Los discos tambien son usados para proporcionar una extensión para la memoria principal,
conocida como memoria virtual, la cual es importante cuando se trabaja con sistemas
operativos.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.1.- Visión general


● Las dos tecnologías básicas de memoria de acceso aleatorio (RAM) basadas en
semiconductores son la RAM estática (SRAM) y la RAM dinámica (DRAM).

● La tecnología SRAM es más rápida, más costosa y menos densa que la DRAM, y es
usada para la memoria caché.

● La tecnología DRAM es usada para la memoria principal.

● Es común utilizar técnicas de corrección de errores en sistemas de memoria. Éstos


implican agregar bits de redundancia, cuyo valor es una función de los bits de datos, para
formar un código de corrección de errores.

● Para compensar la velocidad relativamente baja de la DRAM existen diferentes


organizaciones avanzadas para este tipo de memoria.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.2.- Caché

La caché tiene el propósito de mejorar la velocidad promedio de la memoria mediante el uso


de las memorias más rápidas que se encuentran disponibles (SRAM) y, al mismo tiempo,
proporcionar una gran capacidad de almacenamiento mediante el uso de memorias
semiconductoras de menor costo (DRAM).

Existe una memoria principal, relativamente grande, junto con una memoria caché más
pequeña y más rápida. La memoria caché contiene una copia de porciones de la memoria
principal.

Transferencia Transferencia
de palabras de bloques

Memoria
CPU Caché principal

La memoria principal y la caché.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.2.- Caché

Estructura de la caché y la memoria principal.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.2.- Caché
● Cuando el procesador intenta leer una palabra de la memoria, se hace un chequeo para
determinar si la palabara se encuentra en la caché.

● De ser así, la palabra es enviada al procesador; de lo contrario, un bloque de memoria


principal, que consta de un número fijo de palabras, es copiado a la caché y luego la
palabra es enviada al procesador.

● Debido al principo de localidad, cuando un bloque de datos es copiado dentro de la


caché para satisfacer una única referencia de memoria, es muy probable que haya futuras
referencias a la misma posición de memoria o a otras palabras en el bloque.

● Como la cantidad de bloques existentes en la memoria principal es mucho mayor que la


cantidad de líneas de la caché, una línea individual no puede dedicarse a un único bloque
de manera permanente. Por esta razón cada línea incluye una etiqueta que identifica el
bloque particular que está siendo almacenado en el instante.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.2.- Caché

Estructura de la caché y la memoria principal.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.2.- Caché

Organización típica de la caché.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Los principales parámetros para el diseño de la memoria caché son:

Tamaño de la caché: Se desea que la caché sea lo suficientemente pequeña para que el
costo promedio por bit sea cercano al de la memoria principal, y lo suficientemente grande
para que el tiempo de acceso sea cercano al de la memoria caché..

Función de mapeo: el mapeo puede ser directo, asociativo o asociativo grupal.

Algoritmo de reemplazo: Cuando un nuevo bloque es copiado a la caché, uno de los


bloques existentes debe ser reemplazado. Para seleccionar el bloque a ser remplazado se
implementan algoritmos en hardware: usado menos recientemente (LRU), primero en entrar
primero en salir (FIFO), usado menos recientemente (LFU), al azar.

Política de escritura: Cuando el CPU modifica uno de los bloques en la caché, el bloque
correspondiente en la memoria principal debe ser actualizado. Para esto se tienen diferentes
políticas: escribir a través, escribir de regreso, escribir una vez.

Tamaño de la línea: Cuando el tamaño de los bloques es demasiado grande la eficiencia de


la memoria caché se reduce.

Número de cachés: En los primeros sistemas solo había una caché, pero actualmente el uso
de múltiples cachés es una norma: caché multinivel, caché unificada o dividida.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Función de mapeo

En vista que la cantidad de líneas en la caché es menor que la cantidad de bloques en la


memoria principal, es necesario emplear algoritmos para mapear los bloques de memoria en
las líneas de la caché. Más aún, se necesita un medio para determinar cuál bloque de
memoria ocupa una línea de la caché en un instante determinado.

Existen tres técnicas que pueden ser usadas para llevar a cabo este mapeo: directa,
asociativa y asociativa grupal.

Para demostrar el funionamiento de cada una de las técnicas se empleará un mismo ejemplo,
el cual incluye los siguientes elementos:

● La caché puede almacenar 64 Kbytes.

● Los datos son transferidos entre la memoria principal y la caché en bloques de 4 bytes.
Esto quiere decir que la caché se encuentra organizada en 16K = 2 14 líneas de 4 bytes
cada una.

● La memoria principal consta de 16 Mbytes, con cada byte directamente direccionable


mediante una dirección de 24 bits (2 24 = 16M). Por lo tanto, para propósitos de mapeo,
podemos considerar que la memoria principal consta de 4M bloques de 4 bytes.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Organización de la caché mediante mapeo directo.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Ejemplo de mapeo directo.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Organización de la caché por mapeo asociativo.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Ejemplo de mapeo asociativo.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Organización de la caché por mapeo asociativo grupal de k vías.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.3.- Elementos en el diseño de la caché

Ejemplo de mapeo asociativo grupal de dos vias.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.4.- Memoria principal

Como se mencionó anteriormente, la memoria principal está construida en base a tecnologías


de memoria DRAM.

Una memoria hecha de semiconductores está sujeta a errores. Estos errores pueden ser
categorizados como fallas de hardware y errores de software.

Una falla de hardware es un defecto físico permanente que impide que la celda o celdas de
memoria afectadas puedan almacenar datos de manera confiable.

Un error de software es un evento aleatorio y no destructivo que altera el contenido de una o


más celdas de memoria, sin dañar la memoria.

Ambos tipos de errores son indeseables y la mayoría de sistemas de memoria principal


incluyen bloques lógicos tanto para detectar como para corregir errores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

El más simple de los códigos de detección de errores es el código Haming, desarrollado por
Richard Hamming. El uso de este código puede ser explicado mediante diagramas de Venn
(en la página siguiente). Por simplicidad se tomará como ejemplo palabras de 4 bits:

a) Con 03 círculos intersectándose, existen 07 compartimentos. Asignamos 04 bits de datos a


los compartimentos internos.

b) Los compartimentos restantes son llenados con lo que se conoce como bits de paridad.
Cada bit de paridad es elegido de modo que el número total de 1s en su círculo es par. Así,
dado que el círculo A incluye tres 1s, el bit de paridad en ese círculo es 1.

c) Ahora, si un error cambia uno de los bits de datos, puede ser detectado fácilmente.
Verificando los bits de paridad, se pueden encontrar discrepancias en el círculo A y el
círculo C, pero no en el círculo B.

d) Solo uno de los 7 compartimentos se encuentra en A y C pero no en B. El error, por lo


tanto, puede ser corregido cambiando ese bit

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Diagrama de Venn código Hamming para detección y corrección de errores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Función código de corrección de errores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

¿Cómo se desarrolla un código Hamming que pueda detectar y corregir errores de 1 bit
en palabras de 8 bits?

Determinar la longitud del código. De acuerdo con el diagrama de la página anterior, la lógica
de comparación recibe como entrada dos valores de K bits. El resultado de esta comparación
es llamado palabra síndrome.

La palabra síndrome tiene K bits de ancho y su rango va desde 0 hasta 2 K – 1. El valor 0


indica que ningún error fue detectado, mientras que cualquier otro valor indicará, si hubo un
error, en cual bit se encuentra el error.

Como el error puede ocurrir en cualquiera de los M bits de datos o los K bits de verificación,
debe cumplirse que:

2K – 1 ≥ M + K

Esta desigualdad permite calcular el número de bits requeridos para corregir un error de un
solo bit en una palabra que contiene M bits de datos. Por ejemplo, para una palabra de 8 bits
de datos (M = 8) se tiene:

K = 3; 23 – 1 < 8 + 3 K = 4; 24 – 1 > 8 + 4

Por lo tanto, los 8 bits de datos requieren 4 bits de verificación (K = 4).

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Incremento de la longitud de las palabras para la corrección de errores.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Por conveniencia, se desea generar un síndrome de 4 bits para una palabra de 8 bits de
datos con las siguientes características:

● Si el síndrome contiene solo 0s, ningún error ha sido detectado.

● Si el síndrome contiene un solo bit 1, entonces un error ha ocurrido en uno de los 4 bits de
verificación. No hace falta ninguna corrección.

● Si el síndrome contienemás de un bit 1, entonces el valor numérico del síndrome indica la


posición del bit de datos errado. Este bit de datos debe ser invertido para su corrección.

Para lograr estas características, los bits de datos y los bits de verificación (paridad) son
distribuidos en una palabra de 12 bits tal como se muestra.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Las posiciones de los bits son enumeradsa del 1 al 12. Las posiciones de los bits cuyos
números de posición son potencias de 2 son designados los bits de verificación. La
verificación se realiza como se muestra a continuación:

C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7
C2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7
C4 = D2 ⊕ D3 ⊕ D4 ⊕ D8
C8 = D5 ⊕ D6 ⊕ D7 ⊕ D8

Cada bit de verificación opera sobre cada bit de datos cuyo número de posición contiene un 1
en la misma posición que el número de posición de ese bit de verificación.

Por ejemplo, asumiendo que la palabra de datos es 00111001, y que D1 es el bit menos
significativo, el cálculo sería:

C1 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1
C2 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1
C4 = 0 ⊕ 0 ⊕ 1 ⊕ 0 = 1
C8 = 1 ⊕ 1 ⊕ 0 ⊕ 0 = 0

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Cálculo de los bits de verificación.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

Supongamos que el bit 3 de datos contiene un error y es cambiado de 0 a 1. Cuando los bits
de verificación son recalculados, tenemos:

C1 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 1
C2 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0
C4 = 0 ⊕ 0 ⊕ 1 ⊕ 0 = 0
C8 = 1 ⊕ 1 ⊕ 0 ⊕ 0 = 0

Cuando los nuevos bits de verificación son comparados con los bits de verificación
anteriores, se forma la palabra síndrome:

C8 C4 C2 C1
0 1 1 1
⊕ 0 0 0 1
--------------------------
0 1 1 0

El resultado es 0110, lo cual indica que el bit en la posición 6, el cual corresponde al bit 3 de
datos, contiene un error.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.5.- Código Hamming

El código descrito anteriormente se conoce como código para corrección de un solo error
(SEC). Sin embargo, es más común que las memorias semiconductoras empleen un código
para corrección de un solo error y detección de dos errores (DED). Como se vió en una tabla
anterior, estos bits requieren un bit adicional en comparación con los códigos SEC.

La siguiente imagen muestra el funcionamiento del Hamming SEC-DED para palabras de


datos de 4 bits.

Código Hamming SEC_DED.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- MEMORIA INTERNA

3.6.- Memorias especiales

En una computadora personal, existen dos casos especiales que se consideran dentro de la
memoria interna: la memoria BIOS y la memoria CMOS.

La memoria BIOS (Basic input/Output System) almacena un programa con un pequeño


conjunto de funciones de entrada y salida, necesarias al momento del arranque de la
computadora. A diferencia del resto de la memoria interna, la BIOS es una ROM (usualmente
de tipo Flash).

El programa de la BIOS permite configurar diferentes parámetros básicos para el


funcionamiento correcto de la computadora (fecha y hora, prioridad de arranque, puertos).
Estos parámetros son almacenados en la memoria CMOS, la cual es de tipo SRAM y
requiere de una batería de respaldo para mantener los datos almacenados al apagar la PC.

Chip de memoria BIOS.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

4.- MEMORIA EXTERNA

4.1.- Visión general


● A diferencia de la memoria interna, a la cual el procesador podía acceder directamente
meidnate el bus de datos y el bus de direcciones, la memoria externa se comunica con el
procesador a través de módulos de Entrada/Salida.

● Los discos magnéticos representan el componente principal de la memoria externa. Tanto


los discos removibles como los discos fijos (discos duros) son usados en diversos
sistemas, desde computadoras personales hasta supercomputadoras.

● Para alcanzar un mayor rendimiento y confiabilidad, un esquema popular en lo servidores y


sistemas más grandes es la tecnología de discos RAID (uso de últiples discos para
almacenamiento de datos en paralelo).

● La tecnología de almacenamiento óptico (CD, DVD) se ha vuelto tremendamente


importante en todos los tipos de sistemas computarizados actuales.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

4.- MEMORIA EXTERNA

4.2.- Módulo de Entrada/Salida

Cada módulo de E/S crea la interfaz entre el bus del sistema y los dispositivos periféricos
(incluyendo unidades de almacenamiento externo). Estos módulos son necesarios para
acondicionar (formato, tiempo) la información proporcionada y recibida por cada uno de los
periféricos.

Los módulos de E/S tienen dos funciones principales:

● Permitir la comunicación de los periféricos con el procesador y la memoria a través del bus
principal.
● Permitir la comunicación entre dispositivos periféricos mediante enlaces de datos
específicos (a meidida).

Modelo genérico de un módulo de E/S.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

4.- MEMORIA EXTERNA

4.3.- Conclusión

Jerarquía de memoria en una computadora personal.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

4.- MEMORIA EXTERNA

4.3.- Conclusión

Aspecto físico de los dispositivos de memoria en la jerarquía.

Semana 02 – Memoria Miguel A. Torres Lázaro


Arquitectura de Computadoras

5.- PREGUNTAS

Semana 02 – Memoria Miguel A. Torres Lázaro

Вам также может понравиться