Anda di halaman 1dari 66

ARQUITECTURA DE COMPUTADORES I

Profesor:
Duvn Fernando Garca Cedeo

Universidad del Valle Facultad de Ingeniera


Escuela de Ingeniera Elctrica y Electrnica EIEE
Grupo de Arquitecturas Digitales y Microelectrnica GADYM
Memoria Interna
4.1. Conceptos bsicos sobre sistemas de computadores
Caractersticas de los sistemas de memoria
Jerarqua de memoria
4.2. Memoria principal semiconductora
Organizacin
DRAM y SRAM
Tipos de ROM
Lgica del chip
Encapsulado de los chips
Organizacin en mdulos
4.3. Correccin de errores
4.4. Organizacin avanzada de memorias DRAM
DRAM sncrona
DRAM rambus
SDRAM DDR
DRAM caches
Memoria del Computador

La memoria de un computador tiene una organizacin


jerrquica. En el nivel superior (el mas prximo al
procesador) estn los registros, despus se encuentran uno
o mas niveles de cache (L1, L2, etc.), posteriormente la
memoria principal (DRAM), todas estas memorias internas
del computador, pero se contina con la memoria externa
que es generalmente un disco duro fijo, uno o mas niveles
de soporte extrable (discos pticos y cintas magnticas)
Memoria del Computador

Es importante saber que a medida que descendemos en la


jerarqua de memoria disminuye el coste por bit, aumenta
la capacidad y crece el tiempo de acceso. Este es un
problema para los diseadores y la estrategia a seguir
consiste en utilizar los datos y los programas en memoria
de manera que las palabras de memoria necesarias estn
normalmente en la memoria mas rpida.
Memoria del Computador

Es probable que la mayora de accesos futuros a la


memoria principal por parte del procesador, sean
posiciones accedidas recientemente. Por lo que la cach
retiene una copia de esas palabras, haciendo que la mayor
parte del tiempo el procesador solicite palabras que estan
en la cach.
Conceptos Bsico sobre Sistemas de Memoria
de Computadores
Caractersticas de los Sistemas de Memoria
Es mas fcil este tema si se clasifican las memorias segn sus
caractersticas principales.
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Ubicacin: indica si la memoria es interna o externa al


computador, la memoria interna suele identificarse con la
principal, aunque existen otros tipos de memoria interna como lo
son los registros de la CPU, en algunos casos posee su propia
memoria interna, la memoria cach, la memoria principal.
La memoria externa consta de dispositivos perifricos de
almacenamiento, como discos y cintas y son accesibles a travs
de los controladores E/S.
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Capacidad: la capacidad para las memorias internas se


expresa normalmente en trminos de bytes (1 byte = 8 bits)
o de palabras. Normalmente las longitudes de palabras
pueden ser de 8, 16 y 32 bits. Y la capacidad de las
memorias externas se suele expresar en bytes.
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Unidad de transferencia: para las memorias internas la


unidad de transferencia es igual al numero de lneas de
entrada/salida de datos del modulo de memoria. A menudo
es igual a la longitud de palabra, pero suele ser mayor, por
ejemplo 64, 128, o 256 bits.
Palabra
Unidades direccionables
Unidad de transferencia
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Palabra: es la unidad natural de organizacin de memoria.


El tamao de la palabra suele coincidir con el numero de bits
utilizados para representar nmeros y con la longitud de las
instrucciones.
Unidades direccionables: en algunos sistemas la unidad
direccionable es la palabra. Sin embargo muchos de ellos
permiten direccionar a nivel de bytes. En cualquier caso la
relacin entre longitud A de una direccin y el numero N de
unidades direccionables es 2A= N
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Unidad de transferencia: para la memoria principal es el


numero de bits que se leen o escriben en memoria a la vez. La
unidad de transferencia no tiene porque coincidir con una
palabra o con una unidad direccionable. Para la memoria
externa los datos se transfieren normalmente en unidades mas
grandes que la palabra denominadas bloques
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Mtodo de Acceso: es la forma en que se accede a la


memoria para leer o escribir datos e incluye las siguientes
variantes:
Acceso Secuencial
Acceso directo
Acceso Aleatorio
Asociativa
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Acceso Secuencial: en este caso la memoria se organiza en


unidades de datos llamadas registros y el acceso debe realizarse
con una secuencia lineal especifica. Se utiliza un mecanismo de
lectura/escritura compartida que debe ir trasladndose desde su
posicin actual a la deseada, pasando y obviando cada registro
intermedio, por lo que el tiempo de acceso es muy variable.
Ejemplo: Unidades de Cinta
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Acceso Directo: como en el caso de acceso secuencial, el


directo tiene asociado un mecanismo de lectura/escritura, sin
embargo los bloques individuales o registros tienen una
direccin nica basada en su direccin fsica. Se accede a una
vecindad dada y se realiza una bsqueda secuencial. El tiempo
de acceso tambin es variable.
Ejemplo: Unidades de Disco
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Acceso Aleatorio (random): cada posicin direccionable de


memoria tiene un nico mecanismo de acceso cableado
fsicamente. El tiempo de acceso es constante e independiente de
los accesos previos y cualquier posicin puede seleccionarse
<aleatoriamente> y ser direccionada y accedida directamente.
Ejemplo: La Memoria Principal y algunas Cach
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Asociativa: es del tipo de acceso aleatorio que permite hacer


comparacin de ciertas posiciones de bits dentro de una palabra
buscando que coincidan con unos valores dados, esto se hace
simultneamente para todas las palabras. Por lo cual la palabra se
recupera basndose en una porcin de su contenido y el tiempo
de acceso es constante e independiente.
Ejemplo: Algunas Memorias Cach
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Prestaciones: Se utilizan tres parmetros de medida de prestaciones:


1.Tiempo de Acceso (Latencia): para memorias de acceso aleatorio
es el tiempo que tarda en realizarse una operacin de escritura o de
lectura, es decir el tiempo que transcurre desde el instante en que se
presenta una direccin a la memoria hasta que el dato ha sido
memorizado o esta listo para su uso. En otros tipos de memoria es el
tiempo que tarda en situar la posicin dada.
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

2. Tiempo de ciclo de memoria: se aplica principalmente a las


memorias de acceso aleatorio y consiste en el tiempo de acceso
y algn tiempo mas que se requiere antes de que pueda iniciarse
un segundo acceso a memoria. El tiempo de ciclo de memoria
depende de las caractersticas del bus del sistema y no del
procesador
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

3. Velocidad de transferencia: es la velocidad a la que se pueden


transferir datos a, o desde, una unidad de memoria. Para
memorias de acceso aleatorio coincide con el inverso del tiempo
de ciclo. Para otras memorias se utiliza la siguiente relacin:
TN=TA+(N/R)
Donde:
TN= Tiempo medio de escritura o de lectura de N bits
TA= Tiempo de acceso medio
N= Numero de bits
R= Velocidad de transferencia, en bits por segundo (bps)
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Dispositivo Fsico: se han empleado varios soportes fsicos


para las memorias, los mas comunes son las memorias
semiconductoras, las memorias de superficie magntica,
utilizadas para discos y cintas, las memorias pticas y
magneto-pticas
Conceptos Bsico sobre Sistemas de Memoria
de Computadores

Caractersticas Fsicas: las memorias voltiles son aquellas en


las que la informacin se pierde cuando se desconecta la
alimentacin, mientras que en las no voltiles la informacin
permanece grabada hasta que se modifique. Las memorias no
borrables no pueden modificarse, las memorias ROM son de este
tipo, una memoria no borrable es necesariamente no voltil.

Organizacin: es la disposicin o estructura fsica en bits para


formar palabras.
Jerarqua de Memoria

En esta parte del tema es muy importante hacerse tres preguntas:


Cunta capacidad?, Qu tan rpida? y De qu coste?.
Se debe tener en cuenta que existe un compromiso entre las tres
caractersticas clave de coste, capacidad, y tiempo de acceso. Sin
importar la tecnologa con la que se fabriquen las memorias
todas cumplen las siguientes relaciones:
A menor tiempo de acceso, mayor coste por bit.
A mayor capacidad, menor coste por bit.
A mayor capacidad, mayor tiempo de acceso.
Jerarqua de Memoria

El dilema que tiene el diseador de querer mayor capacidad,


menor tiempo de acceso y menor coste por bit, se soluciona con
la utilizacin de la jerarqua de memoria.
Cuando se desciende en la jerarqua ocurre:
a. Disminuye el coste por bit.
b. Aumenta la capacidad.
c. Aumenta el tiempo de acceso.
d. Disminuye la frecuencia de accesos a la memoria por parte del procesador
Jerarqua de Memoria

Jerarqua de memoria tpica


Jerarqua de Memoria

Con la implementacin de la jerarqua de memoria en un sistema


de computo las memorias mas pequeas, mas costosas y mas
rpidas se complementan con otras mas grandes, mas
econmicas y mas lentas. La clave del xito esta en el ultimo
tem (d): la disminucin de la frecuencia de acceso.

Ver ejemplo 4.1 pag. 109


Jerarqua de Memoria
En principio el uso de dos
niveles de memoria para reducir
el tiempo de acceso medio
funciona, pero solo si se aplican
las condiciones (a) a (d)
anteriores.
La base para la validez de la
condicin (d) es el principio
conocido como localidad de
referencias.
Prestaciones de una memoria de dos niveles sencilla
Jerarqua de Memoria

La memoria principal es normalmente ampliada con una


cach, que es mas pequea y rpida. La cach no suele
estar visible al programado, y realmente tampoco al
procesador. Es un dispositivo para escalonar las
transferencias de datos entre memoria principal y los
registros del procesador a fin de mejorar las prestaciones.
Jerarqua de Memoria

Las memorias externas no voltiles o permanentes se


denominan tambin memorias secundarias y se utilizan
para almacenar programas y ficheros de datos, y suelen
estar visibles al programador solo en trminos de ficheros y
registros en lugar de bytes aislados o de palabras. El disco
se emplea adems como una ampliacin de la memoria
principal conocida como memoria principal.
Memoria Principal Semiconductora

En los computadores antiguos, el almacenamiento de acceso


aleatorio para la memoria principal era una matriz de pequeos
anillos ferromagneticos denominados ncleos. Hoy en da se
usan chips semiconductores.
Organizacin: el elemento bsico es la celda de memoria. Estas
celdas comparten ciertas propiedades:
Presentan dos estados estables (o semiestables), que pueden emplearse para
representar el 1 y el 0 binarios.
Pueden escribirse en ellas (al menos una vez) para fijar estado.
Pueden leerse para detectar su estado
Memoria Principal Semiconductora

El terminal de seleccin se utiliza para seleccionar la celda con la cual


se va a realizar una operacin de escritura o de lectura.
El terminal de control indica la operacin lectura o escritura.
Para escritura el tercer terminal proporciona la seal que fija el estado
de la celda a 1 o a 0. En una lectura se utiliza como salida del estado de
la celda.
Memoria Principal Semiconductora

DRAM Y SRAM
Estas memorias son de acceso aleatorio, es decir, las
palabras individuales de la memoria son accedidas
directamente mediante lgica de direccionamiento cableada
internamente.
Las tecnologas de RAM se dividen en dos variantes:
RAM dinmica (DRAM).
RAM esttica (SRAM).
Memoria Principal Semiconductora

Tipos de memorias conductoras


Memoria Principal Semiconductora

RAM dinmica (DRAM)


Esta hecha con celdas que almacenan los datos como
cargas elctricas en condensadores. Este tipo de RAM
requiere de refrescos peridicos para mantener
memorizados los datos puesto que los condensadores
poseen una tendencia a descargarse.
Memoria Principal Semiconductora

RAM esttica (SRAM)


Es un dispositivo digital basado en los mismos elementos
que se usan en el procesador. Los valores binarios se
almacenan utilizando configuraciones de puertas que
forman biestables (filp-flops). Una RAM esttica retendr
sus datos en tanto se mantenga alimentada.
Memoria Principal Semiconductora

T1, T2, T3 y T4 conectados


en configuracin cruzada.
Estado lgico 1, C1 en alta y
C2 en baja, T1 y T4 en corte,
y T2 y T3 en conduccin.
Estado lgico 0, C1 en baja y
C2 en alta, T1 y T4 en
conduccin, y T2 y T3 en
corte.

Estructuras tpicas de celdas de memoria


Memoria Principal Semiconductora

SRAM frente a DRAM


Tanto las RAM estticas como las dinmicas son voltiles, debe
mantenerse alimentada para retener los valores de los bits. Una
celda de memoria dinmica es mas simple y pequea que la de
una memoria esttica. Las DRAM son mas densas y por tanto
mas econmicas que las SRAM. Las DRAM requieren
circuitera de refresco, las SRAM son algo mas rpidas, por lo
tanto las SRAM son usadas generalmente como memorias cachs
y las DRAM para memoria principal
Memoria Principal Semiconductora

Tipos de ROM
Son memorias de solo lectura y contienen datos que no pueden
alterarse, son no voltiles y se utilizan en microprogramacin,
subrutinas de biblioteca para funciones de uso frecuente, programas
del sistema y tablas de funciones entre otras.
Se construyen con los datos cableados en el chip presentando dos
problemas:
Su fabricacin es costosa ya sea para una o miles de copias de la misma ROM.
No se permite fallo, si hay un error debe desecharse el chip.
Memoria Principal Semiconductora

Tipos de ROM
La ROM programable (PROM), permite el proceso de escritura
elctricamente y puede realizarlo el suministrador o el cliente,
proporcionando flexibilidad y comodidad.
Las memorias de sobre todo lectura son tiles para aplicaciones en
las que la lectura es mas frecuente que la escritura, pero que
requiere almacenamiento no voltil y que se pueda reprogramar,
entre estas encontramos las EPROM, EEPROM y las flash.
Memoria Principal Semiconductora

Tipos de ROM
La EPROM memoria programable y borrable pticamente, se lee y
escribe elctricamente, pero necesita exponerse a radiacin
ultravioleta para ser borrada.
La EEPROM memoria programable y borrable elctricamente, no
requiere ser borrada completamente, puesto que se pueden
actualizar bytes direccionados.
La memoria flash denominada as por la velocidad para
reprogramarse y utilizan tambin borrado elctrico.
Memoria Principal Semiconductora

Lgica del CHIP


Cada chip contiene una matriz de celdas de memoria. Uno de
los aspectos fundamentales de diseo es el numero de bits de
datos que pueden ser ledos/escritos a la vez. La matriz esta
organizada en W palabras de B bits cada una. Por ejemplo un
chip de 16 Mb podra estar estructurado en 1 M palabras de
16 bits.
Memoria Principal Semiconductora

DRAM tpica de 16 megabits (4M x 4)


Memoria Principal Semiconductora

Encapsulado de los CHIPS


Un ejemplo de EPROM encapsulada en un chip de 8Mb
organizados en 1Mx8, en este caso se habla de una palabra por
chip. El chip tiene 32 terminales, siendo un tamao estndar de
encapsulado. Los terminales transfieren las siguientes seales:
La direccin de la palabra, para 1M = 220 terminales (A0-A19).
El dato a leer con ocho lneas (D0-D7).
Los terminales de alimentacin Vcc y de tierra.
Terminal de habilitacin del chip CE.
Una tensin de programacin Vpp para la programacin durante la escritura.
Memoria Principal Semiconductora

Terminales y seales tpicas de un chip encapsulado de memoria


Memoria Principal Semiconductora

Organizacin en Mdulos
Si un chip contiene un bit por palabra se necesitaran al menos un
numero de chips igual al numero de bits por palabra. Por ejemplo si
se necesita una memoria de 256K palabras de 8 bits con chips de
256K cada uno con un bit de entrada/salida, es necesario la
organizacin de un modulo con 8 chips de memoria.
En caso de necesitar una memoria mayor se requiere implementar
una matriz de chips.
Memoria Principal Semiconductora

Organizacin de una memoria de 256KB


Memoria Principal Semiconductora

Organizacin de una memoria de 1MB


Correccin de Errores

Una memoria semiconductora esta sujeta a errores y estos pueden


clasificarse en fallos permanentes y errores transitorios u
ocasionales. Un fallo permanente corresponde a un defecto fsico,
ocasionando que no se pueda almacenar datos en la celda afectada.
Un error transitorio es un evento aleatorio no destructivo que altera
el contenido de la celda sin daar la memoria, estos pueden deberse
a la alimentacin o a partculas alfa.
Correccin de Errores

Ejemplo: cuando se van a escribir datos en memoria, se realiza un


calculo con los datos, por la funcin f , para producir un cdigo. Se
almacenan los datos y el cdigo, es decir la palabra es de M bits de
datos y k bits de cdigo, (M + k)bits.
Cuando se va a leer una palabra almacenada se utiliza el cdigo
para detectar errores e incluso corregirlos. Se genera un cdigo de k
bits con los M bits almacenados, se compara con los k bits
almacenados, produciendo tres resultados:
No hay errores, los bits de datos se envan.
Se detecta un error y es posible corregirlo, se emplea un corrector que enva
los bits de datos corregidos.
Se detecta un error y no e posible corregirlo, informndose de esta situacin .
Correccin de Errores

Funcin del cdigo de correcciones de errores


Correccin de Errores

El cdigo de correccin de errores mas sencillo es el cdigo


haming, ideado por Richard Haming en los laboratorios Bell. A
continuacin se muestra el cdigo mediante diagramas de Ven, con
palabra de 4 bits (M=4). Se interceptan 3 crculos, se obtienen 7
compartimentos, los cuatro mas internos son para los bits de datos,
los otros para los bits de paridad, estos bits de paridad se escogen
de forma tal que el numero de 1 en un circulo sea par.
Correccin de Errores

Cdigo corrector de errores Hamming


Correccin de Errores

Primero debemos saber el largo del cdigo, despus se realiza la


comparacin de los k bits, bit a bit mediante una OR exclusiva de
dos entradas, el resultado es la palabra sndrome. Y se debe cumplir
que:
2k - 1 M + k
Por ejemplo para una palabra de 8 bits (M = 8)
K = 3 : 23 1 < 8 + 3
K = 4 : 24 1 > 8 + 4
El sndrome contiene solo ceros, no se ha detectado error.
El sndrome tiene un 1 bit en 1, el error esta en uno de los bits de comprobacin.
El sndrome tiene mas de 1 bit en 1, el valor de dicho sndrome indica la posicin del
error y se invierte el dato para corregirlo.
Correccin de Errores

Aumento de la longitud de palabra con la correccin de errores


Correccin de Errores

Los bits de datos y de comprobacin se distribuyen en una palabra


de 12 bits. Las posiciones de bit estn numeradas de uno a doce y a
los bits de comprobacin se asignan aquellas posiciones cuyos
nmeros son potencias de dos y los bits de comprobacin se
calculan as:
Correccin de Errores

Utilicemos la palabra de entrada de 8 bits 00111001 como ejemplo,


siendo el dato D1 el de la derecha.

Supongamos un error en el bit 3, cambio de 0 a 1.


Correccin de Errores

Cuando se compara los nuevos bits de comprobacin con los


antiguos se genera la palabra sndrome.

El resultado es 0110 indicando la posicin de bit 6 que contiene el


dato D3, el cual es errneo.
Correccin de Errores

Al realizar la XOR entre los valores de posicin de los datos iguales a 1 se


produce el cdigo Hamming 0111, que el cdigo de comprobacin. Una
XOR del cdigo Hamming con todos los valores de posicin para los
cuales el valor de dato es 1 da como resultado 0110, detectando el error.
Correccin de Errores

El anterior es el cdigo corrector de errores simples (SEC). Es mas


comn equipar las memorias semiconductores con el cdigo
corrector de errores simples y detector de errores dobles (SEC-
DED). Este cdigo necesita un bit mas de comprobacin.
Como ejemplo se presenta a continuacin una palabra de cuatro bits
en la que ocurren dos errores. Y se detecta una secuencia de errores
errnea con el cdigo anterior.
Correccin de Errores

Cdigo SEC-DED de Hamming


Organizacin Avanzada de Memorias DRAM

La forma de abordar el problema de prestaciones de la memoria


principal DRAM ha sido insertar uno o mas niveles de cachs
SRAM de alta velocidad entre la DRAM y el procesador, el
problema continua en el costo y el tamao limitado de las memorias
SRAM. Por lo que en los ltimos aos se han explorado diversas
versiones mejoradas de la arquitectura bsica DRAM

Comparacin de prestaciones de diversas de DRAM


Organizacin Avanzada de Memorias DRAM

DRAM Sncrona
Es una de las mas usadas (SDRAM). A diferencia de las RAM
tradicionales esta intercambia datos con el procesador de forma
sincronizada con una seal de reloj externa, funcionando a la
velocidad tope del bus procesador/memoria sin imponer tiempos de
espera.
Con el acceso sncrono, la DRAM introduce y saca datos bajo el
control del reloj, el procesador enva informacin de instruccin y
direccin y espera unos ciclos para recibir respuesta.
Organizacin Avanzada de Memorias DRAM

Lgica interna de una SDRAM de 64 Mb de IBM


Organizacin Avanzada de Memorias DRAM
Las SDRAM emplea un modo de rfagas para eliminar los tiempos
de establecimiento de direccin y de precarga de las lneas de fila y
de columna posteriores al primer acceso. El registro de modo y la
lgica de control permiten ajustar la longitud de rfaga y la latencia
entre la recepcin de una orden y el comienzo de la transferencia.
La SDRAM funciona mejor cuando se transfieren bloques largos de
datos.

Temporizacin de una lectura de SDRAM (long rfaga =4, latencia =2)


Organizacin Avanzada de Memorias DRAM
DRAM RAMBUS
La RDRAM desarrollada por Rambus y adoptada por Intel para sus
procesadores Pentium e Itaniun, es la principal competidora de la
SDRAM. El bus puede direccionar hasta 320 chips de RDRAM y a
razn de 1.6GBps.
El bus especial entrega direcciones e informacin de control
utilizando un protocolo asncrono orientado a bloques. Tiene un
tiempo de acceso inicial de 480ns y obtiene las peticiones de
memoria a travs de un bus de alta velocidad.
Organizacin Avanzada de Memorias DRAM

La configuracin consta de un controlador y de varios mdulos


RDRAM conectados a un bus comn. Incluye 18 lneas de datos (2
de paridad) que circulan al doble de la velocidad, cada bit por
flanco de un ciclo de reloj, y posee otro conjunto de lneas para
direcciones y seales de control.
Organizacin Avanzada de Memorias DRAM

DDR SDRAM
Una nueva versin de SDRAM denominada de doble velocidad de
datos, enva datos dos veces por cada ciclo de reloj.
DRAM CACHS
CDRAM desarrollada por Mitsubishi e integra una pequea cache
SRAM (16 Kb) en un chip normal de DRAM.
Puede usarse como cache o como buffer para soportar el acceso
serie a un bloque de datos.

Anda mungkin juga menyukai