Elemento de un sistema digital que almacena información ... · Existen dos tipos de memorias...
Transcript of Elemento de un sistema digital que almacena información ... · Existen dos tipos de memorias...
Ing. Marglorie Colina
Elemento de un sistema digital que almacena información binaria en grandes cantidades (datos o instrucciones). Puede verse como un conjunto de m registros de almacenamiento (palabras) de n bits.
Dn-1 Dn-2 D1 D0
Palabra 0
Palabra 1
Palabra m-1
Capacidad de la memoria: viene determinada por el numero de palabras que es capaz de almacenar (m) y el tamaño de cada palabra (n), en el formato mxn. Ejemplos: Memoria de 128x1bits Memoria de 512x8bits (0 512bytes)
Palabra: igual al numero de bits utilizados para representar un numero entero y la longitud de una instrucción
Acceso a la memoria: Requiere indicar sobre que palabra se desea operar, el tipo de operación, y disponer de un canal para el flujo de datos => 3 buses distintos.
Memoria
Bus de direcciones A[M-1:0]
M
Bus de control R/W , CS
Bus de Datos
n D[n-1:0]
Bus de direcciones: M líneas de entrada (siendo 2M=m) para seleccionar la palabra. Bus de datos: n líneas, una por cada bit de la palabra. Bus de Control: líneas auxiliares para llevar acabo la operación de lectura o escritura.
• R/W: Tipo de operación (Lectura o Escritura) • CS: Señal de habilitación del chip
Se sitúa en el bus de direcciones la posición donde se quiere escribir. Se introduce el dato por el bus de datos. Se aplica la orden de escritura mediante las líneas de control.
Registro de dirección
Matriz de memoria organizada en bytes
Registro de datos
Bus de direcciones
Bus de datos
Escritura
Se sitúa en el bus de direcciones la posición donde se quiere leer. Se aplica la orden de lectura. En el bus de datos se dispone de la información almacenada.
Registro de dirección
Matriz de memoria organizada en bytes
Registro de datos
Bus de direcciones
Bus de datos
Lectura
Tamaño= N° de localidades*Datos (1)
Ejemplo:
N° de localidades = 2N° direcciones Si
Tamaño = 2N° direcciones * Datos (2)
Dec
od
ific
ado
r
A0
A1
A2
Direcciones
0 1 2 3 4 5 6 7
8x8
(1) Tamaño = N°Loc * Datos = 8 * 8 = 64bits
(2) Tamaño = 2N° direcciones * Datos = 23 * 8 = 64bits
N°de Localidades = m
Las medidas mas empleadas para la capacidad de memoria son:
Recordemos que: 1Byte = 8bits = 23
Ejercicio 1: Si se tiene un tamaño de 2GB con datos de 64 bits ¿Cuántas localidades tiene la memoria?
Nota: 2GB= 2*230B*23 = 234b 64b = 26 b
Tamaño= N° de localidades*Datos => N° L = Tamaño / Datos N° L = 2GB / 64b = 234b / 26b = 228
Ejercicio 2: Un modulo de memoria tiene un bus de datos de 16 bits y un bus de direcciones de 16bits ¿Cuál seria su máxima capacidad?
Tamaño = 2N° direcciones * Datos
Tamaño = 216 * 16 = 216 * 24 = 220 = 1Mbits
Tamaño = 220 / 23 = 217 Bytes
Memoria Interna
Formada por circuitos integrados (Memoria Semiconductora)
Tiene mayor relación directa con el procesador
Sus unidades son
Memoria cache Memoria Principal
Existen dos tipos de memorias semiconductoras que pueden utilizarse para configurar la memoria interna del computador
SRAM o RAM Estática (Static Random Access Memory) Cada celda de memoria (circuito capaz de almacenar un bit) esta constituida por un biestable de unos 6 transistores.
DRAM o RAM Dinámica (Dynamic Random Access Memory) Consta básicamente de tan solo un transistor funcionando como condensador que almacena la carga correspondiente al valor binario que memoriza
La memoria cache es usada por el sistema de memoria para mantener la información mas comúnmente usada por el procesador, evitando así los relativamente lentos accesos a la memoria principal. El control de la cache, a partir de la dirección emitida por el procesador comprueba si su contenido esta o no en la cache; si lo esta se produce un acierto y se realiza la lectura o escritura en la cache. Por el contrario, se produce un fallo.
• El espacio en la memoria cache esta dividido en líneas • El espacio de la memoria principal esta dividida en bloques
Recibe dirección D
del CPU
Asigna espacio en cache para el bloque de Memoria
Principal
Leer de Memoria Principal el Bloque y llevarlo a la
memoria Cache
Extraer la palabra con dirección D y entregarla
al CPU
¿Esta en la cache
el bloque que
contiene D?
No
Si