La Unidad de Memoria y su La Unidad de Memoria y su conexiconexióón al n al µµPP
Microprocesadores
Carlos Canto Q.
Forma en el que el µP realiza una operación de escritura de memoria
11..--Pone en el bus de Pone en el bus de direcciones la direcciones la direccidireccióón de 16 bits n de 16 bits de la localidad de de la localidad de memoria donde un memoria donde un byte va a ser byte va a ser almacenado.almacenado.
22..--Deposita el byte en el Deposita el byte en el bus de datos.bus de datos.
3.3.-- EnvEnvíía la sea la seññal de al de control de escritura control de escritura de memoria para de memoria para habilitar el buffer de habilitar el buffer de entrada de la entrada de la memoria y almacena memoria y almacena el byte. el byte.
Microprocesadores
Carlos Canto Q.
µPµP
Decodificación de m
emoria
Decodificación de m
emoria
Datos
MEMWR Escritura de Memoria
Chip de Memoria
A15-A0
D7-D0
Bus de Datos
Dirección de memoria de 16 bitsDirección de memoria de 16 bits
Bus de Direcciones
11
22
33
Forma en el que el µP realiza una operación de lectura de memoria
11..--Pone en el bus de Pone en el bus de direcciones la direcciones la direccidireccióón de 16 bits de n de 16 bits de la localidad de memoria la localidad de memoria donde esta byte que va donde esta byte que va a ser a ser leidoleido..
2.2.-- EnvEnvíía la sea la seññal de al de control de lectura de control de lectura de memoria para habilitar memoria para habilitar el buffer salida del chip el buffer salida del chip de la memoria .de la memoria .
33..--el chip de memoria el chip de memoria deposita el byte de deposita el byte de datos en el bus de datos en el bus de datos de donde el datos de donde el µµPPtoma o lee el datotoma o lee el dato
Microprocesadores
Carlos Canto Q.
µPµP
Decodificación de m
emoria
Decodificación de m
emoria
Datos
MEMRD Lectura de Memoria
Chip de Memoria
A15-A0
D7-D0
Bus de Datos
Dirección de memoria de 16 bitsDirección de memoria de 16 bits
Bus de Direcciones
11
33
22
Microprocesadores
Carlos Canto Q.
Escribiendo a un registro de la Memoria
CICLOS DE MÁQUINA DE LECTURA Y ESCRITURA DE MEMORIA
IN OUT
Microprocesadores
Carlos Canto Q.
Arquitectura interna de una Memoria
En la figura se observa la estructura bEn la figura se observa la estructura báásica de una memoria de 1K sica de una memoria de 1K de 4 de 4 bitsbits, en la cual se indican sus partes b, en la cual se indican sus partes báásicas.sicas.
Microprocesadores
Carlos Canto Q.
Un chip de memoria de Lecto/Escritura típico de 1 k (RAM)
• Una memoria requiere líneas de dirección para identificar un registro de memoria, una señal de chip select (CS) para habilitar el chip y señales de control para leer de o para escribir en los registros de la memoria
Decodificador interno
Decodificador interno
1024X81024X8
A0A1A2A3A4A5A6A7A8A9
CS RD WR
LÍNEAS DE DIRECCIONES
LÍNEAS DE DATOS DE E/S
Microprocesadores
Carlos Canto Q.
Configuración de terminales y símbolo lógico de la memoria estática R/W CMOS 6116
Microprocesadores
Carlos Canto Q.
Data In/Data OutDQ0-DQ7
Output EnableOEGroundVSS
Write EnableWEChip EnableCE
Potencia(+5)VCCEntradas de Direcciones
A0-A10
Nombre de los terminales
A10
A0
Datos E/S
CE WE OE
Bus de direcciones
A7 1
A6 2
A5 3
A4 4
A3 5
A2 6
A1 7
A0 8
DQ0 9
DQ1 10
DQ2 11
Vss 12
24 Vcc
23 A8
22 A9
21 WE
20 OE
19 A10
18 CE
17 DQ7
16 DQ6
15 DQ5
13 DQ3
14 DQ4
PINS DEL CHIP
CMOS 6116
ENTRADA100
SALIDA010
TRI-STATE111
TRI-STATExx1
BUS DE DATOSOEWECS
Características TécnicasReferenciaMCM6264CTipoSRAMCapacidad (bits)8192 X 8Tipo de salida5VTiempos de Acceso12/15/20/25/35 nsEncapsuladoDIL-28
SRAM MCM6264C
Microprocesadores
Carlos Canto Q.
Configuración de terminales y símbolo lógico de la memoria EPROM 2764
Microprocesadores
Carlos Canto Q.
Nombre de los terminales
A12
A0
Líneas de datos
CE OE
Líneas de direcciones
PINS DEL CHIP
No ConectadaN.C.
Programar PGM
SalidasQ0-Q7
Output EnableOE
Chip EnableCE
DIRECCIONESA0-A12
High ZVCCVPPXXXVIHProgram inhibit
DOUTVCCVPPXVIHVILVILVerify
DINVCCVPPXVILVIHVILProgram
High ZVCCVCCXXXVIHstandby
High ZVCCVCCXVIHVIHVILOutput disable
DOUTVCCVCCXVIHVILVILRead
SALIDAS (11-13, 15-19)
Vcc(28)
Vpp(1)
A9 (24)
PGM (27)
OE (22)
CE
(20)
MODE
PINS
1. X puede ser VIH o VIL2. VH=12 v+0.5-
Selección de Modo
VPP
A12
A7
A6
A5
A4
A3
A2
A1
A0 Q0
Q1
VccPGMNCA8
A9
A11
OE
A10
16 DQ6Q7
Q4
Q6
Q3
Q2GND
CE
Q5
2764
1
2
3
4
5
6
7
8
9
10
11
1213
14
28
27
26
25
24
23
22
21
20
19
18
1716
15
Microprocesadores
Carlos Canto Q.
(a) Diagrama de tiempo de lectura de memoria ; (b) diagrama de bloques: decodificación de direcciones y operaciones de lecturta/escritura de memoria
Habilita el buffer de entrada para leer
Habilita el buffer de salida para
escribir
líneas dedirecciones
de alto orden
líneas dedirecciones
de alto orden
Decodificadorinterno
Decodificadorinterno
líneas dedirecciones
de bajo orden
líneas dedirecciones
de bajo orden
Decodificadorde direcciones
Decodificadorde direcciones
Selección del registro de memoria
Selección del chip de
memoria
RDRD
WRWR
MREQMREQ
MSEL
O
Microprocesadores
Carlos Canto Q.
Schematic of Interfacing 2764 EPROM
Microprocesadores
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
(a) Generando señales de Control ; (b) Diagrama de Bloques : Soluciónalternativa para operaciones de Lectura /Escritura de memoria
MREQ
MEMRD
MEMWRRD
WR
MREQ
MEMRD
MEMWRRD
WR Habilita el buffer de entrada
Habilita el buffer de salida
líneas dedirecciones
de alto orden
líneas dedirecciones
de alto orden
Decodificadorinterno
Decodificadorinterno
líneas dedirecciones
de bajo orden
líneas dedirecciones
de bajo orden
Decodificadorde direcciones
Decodificadorde direcciones
Selección del registro de memoria
Selección del chip de
memoria
RDRD
WRWR
OROR
ORORMREQMREQ
MEMRD
MEMWR
ConexiConexióón de Memoria al n de Memoria al µµPPZZ--8080
Microprocesadores
Carlos Canto Q.
A11A12
PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM
Microprocesadores
Carlos Canto Q.
SIN MEMORIASIN MEMORIA
RAM6116
RAM6116
EPROM2716
EPROM2716
0000H
0800H07FFH
0FFFH1000H
FFFFH
A15 A14 A10 A9 A8 A7 A6 A5 A3A4 A2 A1 A0A13
SI A11=0 selecciona EPROMSi A11=1 selecciona RAM
Líneas conectadas directamente a las memorias
X X 0 0 0 0 0 0 00 0 0 0XX 0
X X 1 1 1 1 1 1 11 1 1 1XX 0
MEMORIA DEL SISTEMA CON EL Z80
Microprocesadores
Carlos Canto Q.
SIN MEMORIASIN MEMORIA
RAM6116
RAM6116
EPROM2716
EPROM2716
0000H
0800H07FFH
0FFFH1000H
FFFFH
MAPA DE MEMORIA PROPUESTO PARA EL DEL SISTEMA
PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM
Microprocesadores
Carlos Canto Q.
Manera simplificada para decodificar direcciones de memoria
EPROM2716
EPROM2716
RAM6116
RAM6116
74LS14
½ 74LS32
Bus de Datos (D0-D7)
Bus de Direcciones (A0-A15)
HALT
MREQ
Z80
RD
WR MEMWR
MEMRD
ABC
G2A
RSTCLK
RESET Y RELOJ
RESET Y RELOJ
WROE
RDCE CE
1/4 74LS244
+5V
220Ω
A0-A10 A0-A10A11
A11
220Ω
IORQ
MemOKMem
error
Carlos Canto Q.
MICROPROCESADORESRutina generadora de retardos
Cont1 N1 Cont1 N1
Cont1=0?
Cont1=0?
Cont2 cont2-1Cont2 cont2-1
Cont1 cont1-1Cont1 cont1-1
Cont2=0?
Cont2=0?
DELAYDELAY
N1 EQU 0FFHN2 EQU 0FFH
LD B, N2LOOP2: LD C , N1LOOP1: DEC C
JP NZ, LOOP1DEC BJP NZ , LOOP2HALT
PROGRAMA FUENTECont2 N2 Cont2 N2
si
si
No
No
HALTHALT
Programa para generar retardoPrograma para generar retardo
00000B
02000A
Activa señal HALT476HALT000C
¿Se terminó el conteo?10C2JP NZ, LOOP20009
Decrementar el conteo de lazo ext.405DEC B0008
000007
040006
¿ Se terminó el conteo?1OC2JP NZ, LOOP10005
Decrementar el conteo de lazo int.40DDEC CLOOP1:0004
3FF0003
Inicializar conteo del lazo interno40ELD C,0FFHLOOP2:0002
3FF0001
Inicializar conteo del lazo externo406LD B,0FFH0000
Comentarios
Ciclos de Reloj (T)
Código de OperaciónMnemónicoEtiqueta
Dirección de
memoria
Microprocesadores
Carlos Canto Q.
LOOP INTERNO
LOOP EXTERNO
CCáálculo para generar retardolculo para generar retardo
000B
000A
1x4T=4T4HALT000C
255x10x4=10240T10JP NZ, LOOP20009
255x4=1024T4DEC B0008
0007
0006
255x255x10=650,250T1OJP NZ, LOOP10005
255x255x4=260,100T4DEC CLOOP1:0004
255x3=765T30003
255x4=1024T4LD C,0FFHLOOP2:0002
1x3=3T30001
1x4=4T4LD B,0FFH0000
Veces de ejecución
Ciclos de Reloj (T)MnemónicoEtiqueta
Dirección de
memoria
Microprocesadores
Carlos Canto Q.
Carlos Canto Q.
MICROPROCESADORESRutina para checar la memoria RAMRutina para checar la memoria RAM
patrón de prueba patrón de prueba
Es dato leido=patrón de prueba?
Es dato leido=patrón de prueba?
Leer de la memoriapatrón escrito
Leer de la memoriapatrón escrito
escribir en la memoria el patrón de prueba
escribir en la memoria el patrón de prueba
Es última localidad RAM?
Es última localidad RAM?
Ram_testRam_test
Inicializar apuntadorde memoria
Inicializar apuntadorde memoria
si
si
No
No
Pasa a siguiente localidad de
memoria
Pasa a siguiente localidad de
memoria
Memoria OK Memoria OK Memoria dañada
Memoria dañada
SIN MEMORIASIN MEMORIA
RAM6116
RAM6116
EPROM2716
EPROM2716
0000H
0800H07FFH
0FFFH
1000H
FFFFH
Mapa de Memoria de sistema
Carlos Canto Q.
MICROPROCESADORESRutina para checar la memoria RAMRutina para checar la memoria RAM
patrn_prueba EQU 0AAHRam_dir EQU 0FFFH
LD HL,Ram_dirsiguiente: LD A,patrn_prueba
LD (HL),ALD A,(HL)CP patrn_pruebaJP NZ , errorLD A,HCP 07HJP Z,Mem_OKDEC HLJP siguiente
error: OUT (C),AJP error
Mem_OK: HALT
PROGRAMA FUENTE
A patrón de prueba A patrón de prueba
Es A=patrón de prueba
?
Es A=patrón de prueba
?
A (HL)A (HL)
(HL) A(HL) A
Es última localidad RAM
?
Es última localidad RAM
?
Ram_testRam_test
HL Dirección inicialHL Dirección inicial
si
si
No
No HL HL-1HL HL-1
HaltHalt Output Output
Decodificador de direcciones
ABC
G1A
G1B
G2
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
74LS138
Microprocesadores
Carlos Canto Q.
EPROM 27C16B
Características TécnicasReferencia27C16BTipoEPROM CMOSCapacidad (bits)2048 X 8Tipo de salida(5V) (Vp=12.75V)Tiempos de Acceso150/250 nsEncapsuladoDIL-24
Microprocesadores
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
Programa para generar retardoPrograma para generar retardo
000B
000A
000C
0009
0008
0007
0006
0005
0004
0003
0002
0001
0000
Comentarios
Ciclos de Reloj (T)
Código de OperaciónMnemónicoEtiqueta
Dirección de
memoria
Microprocesadores
Carlos Canto Q.
Programa para checar la RAMPrograma para checar la RAM
000B
000A
000C
0009
0008
0007
0006
0005
0004
0003
0002
0001
0000
Comentarios
Ciclos de Reloj (T)
Código de OperaciónMnemónicoEtiqueta
Dirección de
memoria
Microprocesadores
Carlos Canto Q.
0018
0017
0019
0016
0015
0014
0013
0012
0011
0010
000F
000E
000D
Carlos Canto Q.