14 La Memoria y El z80

download 14 La Memoria y El z80

of 15

Transcript of 14 La Memoria y El z80

  • La Unidad de Memoria y su La Unidad de Memoria y su conexiconexin al n al PP

    Microprocesadores

    Carlos Canto Q.

    Forma en el que el P realiza una operacin de escritura de memoria

    11..--Pone en el bus de Pone en el bus de direcciones la direcciones la direccidireccin 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.-- EnvEnva la sea la seal 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.

    PP

    Decodificacin de memoriaDecodificacin de memoria

    Datos

    MEMWR Escritura de Memoria

    Chip de Memoria

    A15-A0

    D7-D0

    Bus de Datos

    Direccin de memoria de 16 bitsDireccin de memoria de 16 bitsBus de Direcciones

    11

    22

    33

  • Forma en el que el P realiza una operacin de lectura de memoria

    11..--Pone en el bus de Pone en el bus de direcciones la direcciones la direccidireccin 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.-- EnvEnva la sea la seal 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.

    PP

    Decodificacin de memoriaDecodificacin de memoria

    Datos

    MEMRD Lectura de Memoria

    Chip de Memoria

    A15-A0

    D7-D0

    Bus de Datos

    Direccin de memoria de 16 bitsDireccin de memoria de 16 bitsBus de Direcciones

    11

    33

    22

    Microprocesadores

    Carlos Canto Q.

    Escribiendo a un registro de la Memoria

  • CICLOS DE MQUINA 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 bsica 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 bsicas.sicas.

    Microprocesadores

    Carlos Canto Q.

  • Un chip de memoria de Lecto/Escritura tpico de 1 k (RAM)

    Una memoria requiere lneas de direccin para identificar un registro de memoria, una seal de chip select (CS) para habilitar el chip y seales de control para leer de o para escribir en los registros de la memoria

    Decodificador interno

    Decodificador interno

    1024X81024X8

    A0A1A2A3A4A5A6A7A8A9

    CS RD WR

    LNEAS DE DIRECCIONES

    LNEAS DE DATOS DE E/S

    Microprocesadores

    Carlos Canto Q.

    Configuracin de terminales y smbolo lgico de la memoria esttica R/W CMOS 6116

    Microprocesadores

    Carlos Canto Q.

    Data In/Data OutDQ0-DQ7Output EnableOEGroundVSSWrite 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 1A6 2

    A5 3A4 4A3 5A2 6A1 7A0 8

    DQ0 9DQ1 10DQ2 11Vss 12

    24 Vcc23 A8 22 A9 21 WE20 OE 19 A1018 CE

    17 DQ716 DQ615 DQ5

    13 DQ3

    14 DQ4

    PINS DEL CHIP

    CMOS 6116

    ENTRADA100

    SALIDA010

    TRI-STATE111

    TRI-STATExx1

    BUS DE DATOSOEWECS

  • Caractersticas TcnicasReferenciaMCM6264CTipoSRAMCapacidad (bits)8192 X 8Tipo de salida5VTiempos de Acceso12/15/20/25/35 nsEncapsuladoDIL-28

    SRAM MCM6264C

    Microprocesadores

    Carlos Canto Q.

    Configuracin de terminales y smbolo lgico de la memoria EPROM 2764

    Microprocesadores

    Carlos Canto Q.

    Nombre de los terminales

    A12

    A0

    Lneas de datos

    CE OE

    Lneas de direcciones

    PINS DEL CHIP

    No ConectadaN.C.Programar PGMSalidasQ0-Q7

    Output EnableOEChip EnableCEDIRECCIONESA0-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-Seleccin de Modo

    VPPA12A7A6A5 A4A3A2 A1 A0 Q0Q1

    VccPGMNCA8A9A11OE A10

    16 DQ6Q7

    Q4

    Q6

    Q3Q2

    GND

    CE

    Q5

    2764

    1

    23

    4

    56

    7

    89

    1011

    121314

    28

    2726

    25

    2423

    22

    2120

    1918

    171615

  • Microprocesadores

    Carlos Canto Q.

    (a) Diagrama de tiempo de lectura de memoria ; (b) diagrama de bloques: decodificacin de direcciones y operaciones de lecturta/escritura de memoria

    Habilita el buffer de entrada para leer

    Habilita el buffer de salida para

    escribir

    lneas dedirecciones

    de alto orden

    lneas dedirecciones

    de alto orden

    Decodificadorinterno

    Decodificadorinterno

    lneas dedirecciones

    de bajo orden

    lneas dedirecciones

    de bajo orden

    Decodificadorde direcciones

    Decodificadorde direcciones

    Seleccin del registro de memoria

    Seleccin 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 seales de Control ; (b) Diagrama de Bloques : Solucinalternativa 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

    lneas dedirecciones

    de alto orden

    lneas dedirecciones

    de alto orden

    Decodificadorinterno

    Decodificadorinterno

    lneas dedirecciones

    de bajo orden

    lneas dedirecciones

    de bajo orden

    Decodificadorde direcciones

    Decodificadorde direcciones

    Seleccin del registro de memoria

    Seleccin del chip de

    memoria

    RDRD

    WRWR

    OROR

    ORORMREQMREQ

    MEMRD

    MEMWR

    ConexiConexin de Memoria al n de Memoria al PPZZ--8080

    Microprocesadores

    Carlos Canto Q.

  • A11A12

    PRCTICA N 3: LAS MEMORIAS EPROM Y RAM

    Microprocesadores

    Carlos Canto Q.

    SIN MEMORIASIN MEMORIA

    RAM6116

    RAM6116

    EPROM2716

    EPROM2716

    0000H

    0800H07FFH

    0FFFH1000H

    FFFFHA15 A14 A10 A9 A8 A7 A6 A5 A3A4 A2 A1 A0A13

    SI A11=0 selecciona EPROMSi A11=1 selecciona RAM

    Lneas 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

  • PRCTICA 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

    ABCG2A

    RSTCLK

    RESET Y RELOJRESET 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

    00000B02000A

    Activa seal HALT476HALT000C

    Se termin el conteo?10C2JP NZ, LOOP20009Decrementar el conteo de lazo ext.405DEC B0008

    000007040006

    Se termin el conteo?1OC2JP NZ, LOOP10005Decrementar el conteo de lazo int.40DDEC CLOOP1:0004

    3FF0003Inicializar conteo del lazo interno40ELD C,0FFHLOOP2:0002

    3FF0001Inicializar conteo del lazo externo406LD B,0FFH0000

    ComentariosCiclos de Reloj (T)

    Cdigo de OperacinMnemnicoEtiqueta

    Direccin de

    memoria

    Microprocesadores

    Carlos Canto Q.

    LOOP INTERNO

    LOOP EXTERNO

    CClculo para generar retardolculo para generar retardo

    000B000A

    1x4T=4T4HALT000C

    255x10x4=10240T10JP NZ, LOOP20009255x4=1024T4DEC B0008

    00070006

    255x255x10=650,250T1OJP NZ, LOOP10005255x255x4=260,100T4DEC CLOOP1:0004255x3=765T30003255x4=1024T4LD C,0FFHLOOP2:0002

    1x3=3T300011x4=4T4LD B,0FFH0000

    Veces de ejecucinCiclos de Reloj (T)MnemnicoEtiqueta

    Direccin de

    memoria

    Microprocesadores

    Carlos Canto Q.

  • Carlos Canto Q.

    MICROPROCESADORESRutina para checar la memoria RAMRutina para checar la memoria RAM

    patrn de prueba patrn de prueba

    Es dato leido=patrn de prueba?

    Es dato leido=patrn de prueba?

    Leer de la memoriapatrn escrito

    Leer de la memoriapatrn escrito

    escribir en la memoria el patrn de prueba

    escribir en la memoria el patrn 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 daada

    Memoria daada

    SIN MEMORIASIN MEMORIA

    RAM6116

    RAM6116

    EPROM2716

    EPROM2716

    0000H

    0800H07FFH

    0FFFH1000H

    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

    Apatrn de prueba Apatrn de prueba

    Es A=patrn de prueba

    ?

    Es A=patrn de prueba

    ?

    A (HL)A (HL)

    (HL) A(HL) A

    Es ltima localidad RAM

    ?

    Es ltima localidad RAM

    ?

    Ram_testRam_test

    HL Direccin inicialHL Direccin inicial

    si

    si

    No

    No HL HL-1HL HL-1

    HaltHalt Output Output

  • Decodificador de direcciones

    ABC

    G1A

    G1B

    G2

    Y0

    Y1

    Y2Y3Y4

    Y5

    Y6Y7

    74LS138

    Microprocesadores

    Carlos Canto Q.

    EPROM 27C16B

    Caractersticas TcnicasReferencia27C16BTipoEPROM 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

    000B000A

    000C

    0009000800070006000500040003000200010000

    ComentariosCiclos de Reloj (T)

    Cdigo de OperacinMnemnicoEtiqueta

    Direccin de

    memoria

    Microprocesadores

    Carlos Canto Q.

  • Programa para checar la RAMPrograma para checar la RAM

    000B000A

    000C

    0009000800070006000500040003000200010000

    ComentariosCiclos de Reloj (T)

    Cdigo de OperacinMnemnicoEtiqueta

    Direccin de

    memoria

    Microprocesadores

    Carlos Canto Q.

    00180017

    0019

    0016001500140013001200110010000F

    000E000D

    Carlos Canto Q.