Está en la página 1de 24

Memorias

Ingeniería de Telecomunicación
3º Curso

Departamento de Tecnología Electrónica


Universidad de Málaga

Grupo A: Cristina Urdiales García


Grupo B: Eva González Parada

SISTEMAS DIGITALES 08/09 1.1

Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.2


Introducción
Definición:
• Dispositivo que se encarga de almacenar toda
la información necesaria para la ejecución y
funcionamiento de un sistema basado en micro
(programa y datos)
• Permite reprogramar el sistema sin cambios en el
hardware

SISTEMAS DIGITALES 08/09 1.3

Introducción

Modelo básico de memoria

DIVISIÓN FUNCIONAL DIVISIÓN FÍSICA


MEMORIA DE PROGRAMA MEMORIA CENTRAL
MEMORIA DE DATOS MEMORIA PERIFÉRICA

SISTEMAS DIGITALES 08/09 1.4


Introducción
Modelo básico de memoria

BUS DE DATOS

MEMORIA MEMORIA
CENTRAL PERIFÉRICA
#CS #CS

BUS DE DIRECCIONES

SISTEMAS DIGITALES 08/09 1.5

Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.6


Características de una memoria

– CAPACIDAD DE ALMACENAMIENTO:
Es la cantidad de información binaria que se puede
almacenar en la memoria y depende del número de
posiciones que tenga y de su tamaño de palabra.

– MODO DE ACCESO:
Es el método que sigue la memoria para acceder a
una determinada posición.

SISTEMAS DIGITALES 08/09 1.7

Características de una memoria


– TIEMPO DE ACCESO:
Tiempo que tarda la memoria en presentar el dato
en los terminales de salida a partir del momento en
que tiene una dirección válida en sus terminales de
dirección.

– COSTE POR BIT:


Precio que se paga por cada unidad de
información: Bit + rápido más coste

SISTEMAS DIGITALES 08/09 1.8


Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.9

Arquitectura de la UCM
Estructura de la memoria
– La UCM se compone de tres elementos básicos:
– BLOQUE DE MEMORIA
– BLOQUE DE DECODIFICACIÓN Y CONTROL
– INTERFAZ AL BUS DEL SISTEMA

SISTEMAS DIGITALES 08/09 1.10


Arquitectura de la UCM

BLOQUE DE MEMORIA
– Las celdas de memoria son elementos capaces de almacenar
información. 1 celda = 1 bit de información.
– Se almacenan en forma matricial para hacer el acceso más
sencillo y minimizar el espacio que ocupan.
– Se pueden usar diversas tecnologías para almacenar la
información: TTL, MOS, ECL ...
– La división más común es entre memorias de
lectura/escritura o sólo lectura (ROM)

SISTEMAS DIGITALES 08/09 1.11

Arquitectura de la UCM
Memorias ROM
• Son aquellas que sólo admiten operaciones de
lectura
• Existen varios tipos de memorias ROM:
• Programables por máscara
• PROM
• EPROM o UVPROM
• EAROM o EEROM
• FLASH

SISTEMAS DIGITALES 08/09 1.12


Arquitectura de la UCM
Memorias de lectura/escritura
Suelen diferenciarse por su modo de acceso:
ESTATICAS
• ALEATORIO (RAM) DINAMICAS
• SECUENCIAL
• DIRECTO:
» Búsqueda aleatoria del bloque
» Búsqueda secuencial dentro del bloque
• ASOCIATIVO

SISTEMAS DIGITALES 08/09 1.13

Arquitectura de la UCM
BLOQUE DE DECODIFICACIÓN Y CONTROL
DECODIFICADOR DE DIRECCIONES
– La dirección de memoria se divide en dos partes, FILAS y
COLUMNAS, para seleccionar una celda de la matriz.

DECODIFICADOR
DE FILAS ...
...
A0- Ai DECODIFICADOR
DE COLUMNAS
A0- An-1 Ai+1- An-1

SISTEMAS DIGITALES 08/09 1.14


Arquitectura de la UCM
BLOQUE DE DECODIFICACIÓN Y CONTROL
CIRCUITOS DE CONTROL
Control de activación (SELECCIÓN DE PASTILLA)
• Las memorias pueden estar en estado ACTIVO o REPOSO.
• En estado de REPOSO, NO se realizan funciones de
DECODIFICACIÓN ni CONTROL. Además, las salidas están en
ALTA IMPEDANCIA.
• En reposo, se reduce el consumo de potencia de la memoria.
Control de ciclo
• Las memorias que pueden desarrollar dos tipos de ciclo: LECTURA y
ESCRITURA presentan un terminal de lectura/escritura (R/#W)
Control de salida de datos
• Las memorias R/W tienen bufferes triestado en sus terminales de datos,
cuya dirección controla R/#W

SISTEMAS DIGITALES 08/09 1.15

Arquitectura de la UCM

INTERFAZ AL BUS DEL SISTEMA


– Al BUS DE DIRECCIONES:
• Los terminales del bus de direcciones sirven para confeccionar la
lógica de selección de cada pastilla. En función de la dirección a que
se quiera acceder y del mapa de memoria, se genera el #CS
adecuado a partir de éstos terminales.
– Al BUS DE DATOS:
• Las salidas de las pastillas de memoria se cablean al bus de datos del
sistema. Si el tamaño de palabra es mayor, se cablean a la parte
superior o inferior y se define un selector de zona de bus.
• Las conexiones se hacen mediante buffers triestado.

SISTEMAS DIGITALES 08/09 1.16


Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.17

Expansión de memorias
Expansión del tamaño de palabra

SISTEMAS DIGITALES 08/09 1.18


Expansión de memorias
Expansión del tamaño de palabra

0101 1001 ($59)


1001

0101

SISTEMAS DIGITALES 08/09 1.19

Expansión de memorias
Expansión del número de posiciones

SISTEMAS DIGITALES 08/09 1.20


Expansión de memorias
Expansión del número de posiciones

0101 1001 ($59)


01011001

SISTEMAS DIGITALES 08/09 1.21

Expansión de memorias
Expansión mixta

SISTEMAS DIGITALES 08/09 1.22


Expansión de memorias
Expansión mixta

SISTEMAS DIGITALES 08/09 1.23

Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.24


Modelo de almacenamiento en memoria
•El modelo de almacenamiento se define bajo las
diferentes unidades de información con las
trabaja el sistema
–Tamaño de datos: potencias binarias ( 8bits byte,
16 bits palabra, 32 bits doble palabra)
–Organización en memoria: big-endian vs little-
endian
– Relacionado con el tamaño del bus de datos
– Modelo Byte
– Modelo Word. Acceso a información tamaño byte
y word
SISTEMAS DIGITALES 08/09 1.25

Modelo de almacenamiento en memoria


•Modelo Byte
– Acceso a información sólo tamaño byte
– Bytes ocupan posiciones de memoria consecutivas

N-1 BYTE N-1


Direcciones N BYTE N
de los bytes
N+1 BYTE N+1

8 bits

SISTEMAS DIGITALES 08/09 1.26


Modelo de almacenamiento en memoria
•Modelo Word
– Acceso a información de tamaño byte y word
– Bytes ocupan posiciones de memoria consecutivas
– Words ocupan posiciones de memoria pares
– Si la word M ocupa una posición de memoria N, la word (M+1) ocupará la
posición (N+2)
– Dentro de la word:
• El byte de mayor peso ocupará la posición N y el de la menor N+1 (Big-endian)
• Al contrario (Little-endian)
_ _
▪ ▪

Direcciones
de las Word
Direcciones
de las Word

▪ ▪
N BYTE ALTO (N) BYTE BAJO (N+1) N BYTE BAJO (N) BYTE ALTO (N+1)
N+2 BYTE ALTO (N+2) BYTE BAJO (N+3) N+2 BYTE BAJO (N+2) BYTE ALTO (N+3)
N+4 BYTE ALTO (N+4) BYTE BAJO (N+5) N+4 BYTE BAJO (N+4) BYTE ALTO (N+5)
▪ ▪
▪ ▪
BIG- ENDIAN LITTLE- ENDIAN
+ (Freescale) + (Intel)
SISTEMAS DIGITALES 08/09 1.27

Modelo de almacenamiento en memoria


•Modelo Word
– Acceso a información de tamaño byte y word
– Bytes ocupan posiciones de memoria consecutivas
– Words ocupan posiciones de memoria pares
– Si la word M ocupa una posición de memoria N, la word (M+1) ocupará la
posición (N+2)
– Dentro de la word:
• El byte de mayor peso ocupará la posición N y el de la menor N+1 (Big-endian)
• Al contrario (Little-endian)
+
▪ ▪
Direcciones
de las Word
Direcciones
de las Word

▪ ▪
N BYTE ALTO (N) BYTE BAJO (N+1) BYTE ALTO (N+5) BYTE BAJO (N+4) N+4
N+2 BYTE ALTO (N+2) BYTE BAJO (N+3) BYTE ALTO (N+3) BYTE BAJO (N+2) N+2
N+4 BYTE ALTO (N+4) BYTE BAJO (N+5) BYTE ALTO (N+1) BYTE BAJO (N) N
▪ ▪
▪ ▪
BIG- ENDIAN LITTLE- ENDIAN _
+ (Freescale) (Intel)
SISTEMAS DIGITALES 08/09 1.28
Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso
• Interfaz de conexión
SISTEMAS DIGITALES 08/09 1.29

Mapa de memoria
Definición
Es un diagrama que describe la organización de la memoria
del sistema, tanto a nivel de pastillas (mapa físico) como a
nivel de organización (mapa funcional).
Ejemplo
$0
2 ROM 1k8 Zona reservada
$7FF

$1388
2 ROM 1k8 Programa
$1B87
$1B88
4 RAM 1k8 Datos
$2B87

SISTEMAS DIGITALES 08/09 1.30


Mapa de memoria
Implementación
• Un mapa de memoria SIEMPRE está asociado a un micro

• Para implementarlo es imprescindible conocer el tamaño de


palabra (bus datos) del micro y su memoria direccionable
(bus direcciones)

• Hay que evitar siempre dos tipos de errores:


• CONFLICTOS DE ACCESO
• “ESPEJOS DE MEMORIA”

SISTEMAS DIGITALES 08/09 1.31

Mapa de memoria
Lógica de selección
• Para ubicar una pastilla en un mapa de memoria hay que
determinar qué terminales del bus de direcciones provocan su
activación
• Para cada combinación de terminales deben activarse una o
varias pastillas tal que el número de terminales de datos del
conjunto sea igual al tamaño del bus de datos del sistema
• Para direccionar una pastilla hacen falta tantas líneas del bus
de direcciones como terminales de direcciones tenga ésta. El
resto se usan para sintetizar el chip select (#CS).

SISTEMAS DIGITALES 08/09 1.32


Mapa de memoria
Dispositivos entrada/salida
Mapeado en memoria (von Neumann):
• Cualquier dispositivo se cablea en el mapa de memoria
como si se tratase de una memoria y ocupa el espacio
equivalente:
– Calcular su número de registros direccionables para determinar
cuantos terminales del bus de direcciones necesita
– Usar el resto para sintetizar el #CS
– Determinar a qué parte del bus de datos va cableado

SISTEMAS DIGITALES 08/09 1.33

Mapa de memoria
Dispositivos Entrada/salida
PUERTO DE SALIDA

BUS DATOS INTERNO SEÑALES ACCESIBLES DESDE


EL EXTERIOR

ENABLE

SISTEMAS DIGITALES 08/09 1.34


Mapa de memoria
Dispositivos Entrada/salida
PUERTO DE ENTRADA

BUS DATOS INTERNO SEÑALES ACCESIBLES DESDE


EL EXTERIOR

ENABLE

SISTEMAS DIGITALES 08/09 1.35

Mapa de memoria
Dispositivos Entrada/salida
CONEXIÓN DE PUERTOS AL MICRO
BUS DATOS

BUS DIRECCIONES
PUERTO

LOGICA
SELECC.

SISTEMAS DIGITALES 08/09 1.36


Índice
• Introducción
• Características de una memoria
• Arquitectura de la UCM
• Expansión de memorias
• Modelo de almacenamiento en memoria
• Mapa de memoria
• Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.37

Ciclos de acceso
Las memorias asíncronas necesitan de un
protocolo para poder realizar la transferencia de
datos

SISTEMAS DIGITALES 08/09 1.38


Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.39

Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.40


Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.41

Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.42


Ciclos de acceso

SISTEMAS DIGITALES 08/09 1.43

Interconexión de señales: sistemas abiertos


• En los sistemas abiertos, es posible conectar las señales de control, dirección, y datos de
la CPU a las señales de control de las memorias y otros dispositivos; a veces es necesario
usar una lógica intermedia.
• El análisis temporal es más complejo: hay que compatibilizar la evolución de las señales
de la CPU con las del dispositivo.

Ejemplo: Conexión asíncrona entre un chip de memoria y una CPU (68000)

SISTEMAS DIGITALES 08/09 1.44


Interconexión de señales: sistemas abiertos
Ejemplo: Cronograma de escritura de la CPU 68000 y del chip de memoria.

• Hay que asegurar que la evolución de las señales (en conexión directa, o
combinadas/retrasadas a través de una lógica) cumple las temporizaciones en
ambos cronogramas.

SISTEMAS DIGITALES 08/09 1.45

Interconexión de señales: sistemas cerrados


• Las señales de control, dirección, y datos de la CPU no son accesibles Æ las señales de
control se generan por SW a través de los pines de los puertos E/S.
• Mucho más sencillo pero menos eficaz (HW vs SW).
Ejemplo: Conexión entre un microcontrolador (PIC) y un Display LCD

inicio movlw 0fch


org 0
tris ptoa
goto inicio
movlw 00
org 05
tris ptob
retardo movlw 0ffh
begin movlw 30h
movwf r13
call control
decre decfsz r13,r
movlw 07h
goto decre
call control
retlw 0
movlw 0ch
control bcf ptoa,rs
call control
goto dato2
muestra movlw 0
dato bsf ptoa,rs
movwf r0c
dato2 bsf ptoa,e
ciclo movf r0c,w
movwf ptob
call tabla2
call retardo
call dato
bcf ptoa,e
movlw 09fh
call retardo
movwf r0d
retlw 0
reta1 call retardo
tabla2 addwf pc,r
call retardo
retlw "c"
decfsz r0d,r
retlw "u“
goto reta1
….
incf r0c,r
retlw "c"
movlw 28h
retlw " "
xorwf r0c,w
retlw 0
btfss status,z
goto ciclo
goto muestra
end

Diagrama de tiempos para escribir un dato

SISTEMAS DIGITALES 08/09 1.46


Interconexión de señales: sistemas abiertos y cerrados
• Otros dispositivos se comunican con la CPU mediante algún protocolo de comunicaciones
(UART, SPI, I2C, CAN…). La conexión y programación es más sencilla, ya que es más
estándar.

Ejemplo: Conexión entre un microcontrolador (MSP430) y una tarjeta MMC mediante SPI

SISTEMAS DIGITALES 08/09 1.47

También podría gustarte