Memorias: Definiciones y características (1) • Un memoria es un dispositivo físico capaz de almacenar información. • Existen una gran variedad de parámetros que permiten caracterizar o clasificar una memoria: - Naturaleza física del almacenamiento: * Semiconductor (Ej. RAM, ROM, FlashROM, StickMemory, ...) * Magnético (Ej. Unidades de cinta o disco) * Óptico (Ej. Unidades DVD, CDROM) - Modo de Acceso a la Información: * Secuencial: Para acceder a un byte se requieren leer o escribir en las posiciones previas. (Ej. Unidad de cinta, FIFO) * Aleatorio: Se puede acceder a cualquier byte sin condición de acceder a bytes previos (Ej. RAM, ROM, DVD, Discos magnéticos). Memorias: Definiciones y características (2) - Mantenimiento de la información: * Volátiles: pierden la información almacenada transcurrido cierto tiempo o si se desconecta la alimentación de la memoria. (Ej. DRAM, RAM) * No volátiles: la información almacenada perdura en el tiempo independientemente de la alimentación del dispositivo y hasta que ésta sea sustituida por una nueva. (Ej. NVRAM, FLASH, Magnéticas, Ópticas. - Tiempo de acceso: Mide el intervalo de tiempo que transcurre desde que se solicita un dato a la memoria y ésta lo devuelve. * Bajo. Ej. SRAM (caché), DRAM, ROM (en general las de tipo semiconductor) * Alto. Ej. Unidades magnéticas y ópticas. Memorias: Jerarquías CAPACIDAD CRECIENTE DISCO MAGNÉTICO DRAM Caché DISCO ÓPTICO SRAM ROM REGISTROS FLASH UNIDADES DE CINTA Microprocesador NVRAM Memoria principal o primaria COSTE CRECIENTE OTROS Memoria secundaria o masiva Memorias: Memorias semiconductoras:Organización(1) • La unidad mínima de almacenamiento es el bit y la estructura física que lo soporta se denomina celda básica. • La memoria organiza las celdas por filas y columnas (estructura matricial). • Existen varias formas de acceder la celdas (o grupos de ellas): decodificación por filas y decodificación por filas y columnas. • Decodificación por filas: CELDA BÁSICA N BUS DE DIRECCIONES DECODIFICADOR BUFFERS M BUS DE DATOS Memorias: Memorias semiconductoras:Organización(2) N N/2 DECODIFICADOR BUS DE DIRECCIONES[N] • Decodificación por filas y columnas.: M M M N/2 MUX (si lectura)/DEMUX (si escritura) CELDA BÁSICA M BUFFERS M BUS DE DATOS Memorias: Memorias semiconductoras: ROM (1) • Son memorias de sólo lectura. • No pierden la información aunque se interrumpa la alimentación. • Tipos: ROM, PROM (OTP ROM), EPROM, EEPROM (FLASH) • Las memorias ROM se programan en fábrica y no es posible modificar su contenido • Las memorias PROM contienen una matriz de fusibles que es programable por el usuario una sola vez. • Las EPROM permiten su reprogramación después de someter al chip a un proceso de borrado por radiación ultravioleta. • Las EEPROM permiten su reprogramación eléctrica. Las FLASH EEPROM son más rápidas por permitir borrado y escritura por bloques aunque tienen el inconveniente del desgaste (10.00090.000 borrados). Memorias: Memorias semiconductoras: ROM (2) • Ejemplo: Memoria EPROM • Señales de control: #OE (habilitador salida), #CE (habilitador chip) Memorias: Memorias semiconductoras: ROM (3) • Proceso de lectura: - Establecer dirección - Habilitar chip y salidas Tiempo de acceso Memorias: Memorias semiconductoras: RAM (1) • Son memorias de lectura y escritura. • Tipos: SRAM y DRAM. • Características de la SRAM: - Celda básica basada en un biestable (6 transistores) - Rápidas (-> Caché) - La información no se pierde mientras exista alimentación Memorias: Memorias semiconductoras: RAM (2) • Ejemplo de SRAM • Señales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura; #OE, Habilitador de salida) Establecer la dirección Proceso de lectura Poner #WE a 1 lógico Habilitar salidas y chip Memorias: Memorias semiconductoras: RAM (3) • RAM DINÁMICA (DRAM) - celda básica: 1 transistor + condensador - Necesita refresco. - Requiere lógica externa compleja. - Mayor densidad que SRAM -> mayor capacidad - Menor velocidad de acceso Memorias: Memorias semiconductoras: RAM (4) • Ejemplo de DRAM: • Señales de control: #RAS, (Habilitador de fila), #CAS, (Habilitador de columna), #CS, #WE y #OE. Establecer la FILA (primera mitad de la dirección) Validar FILA (#RAS) Proceso de lectura (ver secuencia de pasos en el cronograma) Establecer la COLUMNA (segunda mitad de la dirección) Validar COLUMNA (#CAS) Poner #WE a 1 lógico Habilitar salidas y chip Tiempo de pulso de la señal RAS Tiempo de establecimiento de columna Tiempo de mantenimiento de columna TIEMPO DE LATENCIA Memorias: Memorias semiconductoras: RAM (5) • La reducción del tiempo de latencia es imprescindible para mejorar la velocidad de las DRAM. - FPM (Fast Page Mode)/EDO (Extended Data Output) DRAM. Agiliza los accesos a los bits de una misma fila (página). Dentro de una página sólo es necesario identificar la columna. - El tiempo de acceso a n datos de una página es Trac*n en DRAM y Trac+(n1)*Tpc en FPM/EDO RAM (Tpc = tiempo de ciclo en modo pagina). Tpc es menor en EDO DRAM que en FPM DRAM. - Ejemplo: Si n=8, Trac=60ns y Tpc=25ns -> Tacceso DRAM = 480ns, Tacceso FPM/EDO DRAM = 235ns Memorias: Memorias semiconductoras: RAM (6) • Los microprocesadores tienden a buscar bytes en posiciones consecutivas de la memoria y, si disponen de caché, además, en ráfagas. (Ej. Caché L2 de un Pentium busca bloques de 32 bytes). • Las SDRAM (DRAM síncronas) incorporan una señal de reloj que establece la base de tiempos para el modo paginado y un contador interno que genera las direcciones de columna para cada ciclo de reloj. • El tiempo de acceso para n palabras (de m bits) es Trac+(n-1)Tclk. • Ejemplo: Una SDRAM PC-100Mhz, tiene Tclk = 10ns, si Trac=60ns y n=8, entonces Tacceso SDRAM = 130ns. Tclk Trac Memorias: Memorias semiconductoras: RAM (7) • Las DDR (Double Data Rate) RAM permiten duplicar la velocidad al utilizar, tanto los flancos de subida como los de bajada del reloj para transferir un bit. Tacceso de n palabras (de m bits) en DDR RAM = Trac + (n-1)*Tclk/2. (95ns si se usan los mismos datos de la SDRAM anterior) • Futuro: QDR (Quad Data Rate) RAM (cuatro transferencias por ciclo de reloj) • Las memorias para un ordenador personal vienen en módulos: SIMM , DIMM Memorias: Mapas de memoria: Generalidades • Todo microprocesador dispone de AB un bus de direcciones (AB), bus de datos (DB) y bus de control (CB) para gestionar el flujo de información entre la memoria y el propio procesador • Desde el punto de vista del microprocesador, la memoria está organizada en una “ristra” de bytes en la que cada uno ocupa una dirección concreta dentro de la “ristra”. CB DB MICROPROCESADOR DIRECCIÓN P-1 Dato (p-1) P Dato (p) P+1 Dato (p+1) MEMORIA PRINCIPAL Memorias: Mapas de memoria: Organización • El valor que el microprocesador sitúa en el AB en un momento determinado se denomina dirección física (DF). • Cada byte almacenado en la memoria se distingue de cualquier otro porque ocupa o tiene asignado una dirección lógica (DL). El microprocesador trabaja con direcciones lógicas. • El conjunto de todas las posibles direcciones lógicas determina el espacio de direccionamiento. • El tamaño del espacio de direccionamiento y su organización dependen del número de líneas de los buses AB y DB: - Un bus AB con n líneas identifica 2n direcciones físicas diferentes. - Un DB con mx8 líneas (m=1, 2, 4, 8...) asigna m direcciones lógicas a una dirección física. - Espacio de direccionamiento = 2n x m Memorias: Mapas de memoria: Organización:Ejs: (1) • Ejemplo 1: Microprocesador con 16 líneas en bus de direcciones y 8 líneas en el bus de datos (n=16 y m=1). - Existen 216 = 65536 direcciones físicas. - Cada dirección física tiene asignada una lógica (m=1) y por cada dirección lógica existe un byte. - Espacio de direccionamiento es de 64Kbytes Dirección física (16bits) Dirección lógica (16bits) 110....11101 AB[15:0] 110....11101 AB 16 $0000 $0001 $0002 $0003 Byte 0 Byte 1 Byte 2 Byte 3 CB[..] DB[7:0] Microprocesador 216=64K Direcciones 8 DB Lógicas y físicas $FFFE $FFFF Byte 65534 Byte 65535 Memoria principal Memorias: Mapas de memoria: Organización:Ejs: (2) • Ejemplo 2: Microprocesador con 15 líneas en bus de direcciones y 16 líneas en el bus de datos (n=15 y m=2). - Existen 215 =32768 direcciones físicas. - Cada dirección física tiene asignada dos lógicas (m=2) y por cada dirección lógica existe un byte. - Espacio de direccionamiento es de 64Kbytes (físicamente org. 32Kwords) Dirección física (15bits) Dirección lógica (16bits) 110....11101 $0000 110....1110 $0001 $0002 AB[15:1] AB 15 $0003 CB[..] Word 0 Word 1 Word 2 Word 3 16 DB Microprocesador Byte 1 Byte 3 Byte 5 Byte 7 BE[1,0] 2 DB[15:0] Byte 0 Byte 2 Byte 4 Byte 6 $7FFE Byte 65532 $7FFF Byte 65534 Byte 65533 Byte 65535 Memoria principal Word 32766 Word 32767 Memorias: Mapas de memoria: Organización:Ejs: (3) • Ejemplo 1: Microprocesador con 14 líneas en bus de direcciones y 32 líneas en el bus de datos (n=14 y m=4). -Existen 214 =16384 direcciones físicas. -Cada dirección física tiene asignada cuatro lógicas (m=4) y por cada dirección lógica existe un byte. -Espacio de direccionamiento es de 64Kbytes (físicamente 16Klong words) Dirección lógica (16bits) 110....11101 AB[15:2] CB[..] 110....111 14 Dirección física (14bits) $0000 Byte 0 Byte 1 Byte 2 Byte 3 LWord 0 $0001 Byte 4 Byte 5 Byte 6 Byte 7 LWord 0 $0002 Byte 8 Byte 9 Byte 10 Byte 11 LWord 0 $3FFE Byte 65528 Byte 65529 Byte 65530 Byte 65531 LWord 16382 $3FFF Byte 65532 Byte 65533 Byte 65534 Byte 65535 LWord 16383 BE[3:0] 4 DB[31:0] Microprocesador 32 Memoria principal Memorias: Mapas de memoria: Conexión lectura • Para LEER, el microprocesador activa la señal R/#W que posee el BUS de CONTROL. Esta señal llega hasta todos los chips de memoria. • Si el tamaño del bus de datos es de 8 bits, sólo se podrá leer un byte por cada acceso a memoria. • Para el siguiente ejemplo: dirección física = dirección lógica. Microprocesador CB[..] AB[15:0] R/#W 1 $10 $FF $0000 $0001 $01 $A0 $BC $15 $32 $1200 $1201 $1202 $1203 $1204 $45 $66 $FFFE $FFFF $1202 $BC DB[7:0] Memoria principal Memorias: Mapas de memoria: Conexión lectura (2) • Si el tamaño del bus de datos es de 16 bits, se podrá leer un byte o un word por cada acceso a memoria. • El CB tiene dos líneas que regulan qué parte del DB se usa para accesos a bytes. Se controlan por el bit menos significativo de la dirección lógica y por el tamaño del operando de la instrucción que realiza el acceso a memoria. Para la lectura de un byte situado en una dirección impar, se activa BE1. Dirección lógica (16bits) LECTURA DE BYTE EN DIRECCIÓN IMPAR Dirección física (15bits) 00...00 0111 AB[15:1] CB[..] BE0 BE1 R/#W DB[15:0] Microprocesador $0000 00...0011 $0001 $0002 15 $0003 0 1 DB[7:0] DB[15:8] BE0=1 BE1=1 Byte 0 Byte 2 Byte 4 Byte 6 Byte 1 Byte 3 Byte 5 Byte 7 Word 0 Word 1 Word 2 Word 3 $7FFE Byte 65532 Byte 65533 Word 32766 $7FFF Byte 65534 Byte 65535 Word 32767 Memoria principal Memorias: Mapas de memoria: Conexión lectura (3) • En la lectura de un dato de tamaño byte que se encuentra en una dirección par se activa BE0. Dirección lógica (16bits) LECTURA DE BYTE EN DIRECCIÓN PAR Dirección física (15bits) 00...00 0110 AB[15:1] CB[..] BE0 BE1 R/#W DB[15:0] Microprocesador $0000 00...0011 $0001 $0002 15 $0003 1 0 DB[7:0] DB[15:8] BE0=1 BE1=1 Byte 0 Byte 2 Byte 4 Byte 6 Byte 1 Byte 3 Byte 5 Byte 7 Word 0 Word 1 Word 2 Word 3 $7FFE Byte 65532 Byte 65533 Word 32766 $7FFF Byte 65534 Byte 65535 Word 32767 Memoria principal Memorias: Mapas de memoria: Conexión lectura (4) • En la lectura de un dato de tamaño word, se activan las líneas BE0 y BE1. • En este caso se requiere que la dirección lógica sea siempre par. Dirección lógica (16bits) LECTURA DE PALABRA (siempre direcciones pares) Dirección física (15bits) 00...00 0110 AB[15:1] CB[..] BE0 BE1 R/#W DB[15:0] Microprocesador $0000 00...0011 $0001 $0002 15 $0003 1 1 DB[7:0] DB[15:8] BE0=1 BE1=1 Byte 0 Byte 2 Byte 4 Byte 6 Byte 1 Byte 3 Byte 5 Byte 7 Word 0 Word 1 Word 2 Word 3 $7FFE Byte 65532 Byte 65533 Word 32766 $7FFF Byte 65534 Byte 65535 Word 32767 Memoria principal Memorias: Mapas de memoria: Conexión escritura • Para ESCRIBIR, el microprocesador desactiva la señal R/#W que posee el BUS de CONTROL. • Si el tamaño del bus de datos es de 8 bits, sólo se podrá escribir un byte por cada acceso a memoria. Microprocesador CB[..] AB[15:0] R/#W 0 $10 $FF $0000 $0001 $01 $A0 $BC $15 $32 $1200 $1201 $1202 $1203 $1204 $45 $66 $FFFE $FFFF $1202 $BC DB[7:0] Memoria principal Memorias: Mapas de memoria: Conexión escritura (2) • Si el tamaño del bus de datos es de 16 bits, se podrá escribir un byte o un word por cada acceso a memoria. Dirección lógica (16bits) 00...00 0101 [15:1] CB[..] $AB BE0 BE1 R/#W DB[15:0] Microprocesador Dirección física (15bits) $0000 00...0010 $0001 $0002 15 $0003 0 1 DB[7:0] DB[15:8] BE0=1 BE1=1 Byte 0 Byte 2 Byte 4 Byte 6 Byte 1 Byte 3 Byte 5 Byte 7 Word 0 Word 1 Word 2 Word 3 $7FFE Byte 65532 Byte 65533 Word 32766 $7FFF Byte 65534 Byte 65535 Word 32767 Memoria principal Memorias: Mapas de memoria (1) • El espacio de direccionamiento lógico identifica la DL1 DL2 máxima capacidad de memoria con la que puede trabajar un microprocesador (CM). CHIP1 RAM • La capacidad física (CF) o real de la memoria viene dada por la suma de las capacidades de todos los chips CAPACIDAD FÍSICA de memoria que la forman. (CF<CM). CHIP2 RAM DL3 CHIP3 ROM DL4 • Cada chip de memoria tiene asignado un rango de direcciones lógicas. Dicho rango es igual a la capacidad del chip de memoria expresada en bytes. Cualquier dirección lógica (DL) que esté incluida en dicho rango provocará el acceso a un chip del conjunto, mientras que los restantes chips están inactivos. Ejemplos: -Direcciones Lógicas DL1 y DL2 acceden al chip1 de RAM, la DL3 y DL6 a los chips 2 y 3 de RAM respectivamente. La dirección DL5 no accede a ningún chip de memoria y la DL4 a un chip de ROM. • Los mapas de memorias son representaciones gráficas que representan los rangos de direcciones lógicas que tienen asignados cada uno de los chips que constituyen la memoria física. CHIP4 RAM ESPACIO DL5 DE MEMORIA LIBRE CHIP5 RAM DL6 CHIP6 ROM ESPACIO DE DIRECCIONAMIENTO Memorias: Mapas de memoria (2) • Los microprocesadores necesitan de un sistema de decodificación que permita habilitar las memorias según la dirección física que aquel sitúe en el bus de direcciones. CS1 $0000 CHIP1 ROM $02A AB[11:0] Dirección lógica 12 $0FFF ROM 4Kx8 $1000 $102A CHIP2 RAM SISTEMA DE $102A AB[15:0] $2FFF DECODIFICACIÓN $1 CS2 AB[15:12] $102A DB[7:0] ESPACIO DE MEMORIA AB[12:0] uP 64K 13 LIBRE RAM 8Kx8 Memorias: Mapas de memoria (3) • Los chips de memoria reciben los bits menos significativos del AB, en cambio, el sistema de decodificación utiliza los más significativos, en concreto, los bits del AB que no se llevan hasta los buses de dirección de los chips de memoria. • Para determinar el sistema de decodificación, se puede proceder dividiendo el espacio de direccionamiento en diferentes regiones según las líneas MSB del AB. $0000 $0000 $0000 A13=0 A14=0 $1FFF $2000 A13=1 A15=0 $3FFF $3FFF $4000 $4000 A14=1 A12=0 A12=1 A13=1 $7FFF $7FFF $7FFF $8000 $8000 $8000 A13=0 A14=0 $9FFF $A000 A13=1 A15=1 $BFFF $BFFF $C000 $C000 A13=0 A14=1 $DFFF A13=1 ROM 4K RAM 8K $FFFF $FFFF $FFFF A12=0 A12=1 $E000 4K A12=0 $6000 CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ 8K A12=1 A12=1 $5FFF CS1 = A15’ A14’ A13’ A12’ 16K A12=0 A13=0 • Para la ROM de 4K y RAM de 8K, del ejemplo anterior se tiene: 32K $0000 $0FFF $1000 $1FFF $2000 $2FFF Memorias: Mapas de memoria (4) • El sistema de decodificación estará formado por los subsistemas combinacionales y puertas lógicas necesarias que permitan la activación de los CSx de los chips de memoria. Además, para las ROMs, se deberá prohibir el acceso a escritura de las mismas. CS1 = A15’ A14’ A13’ A12’ (sólo si el acceso es de lectura, ya que es una ROM) CS CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ AB[11:0] ROM 4Kx8 R/#W 0 CB[..] AB[15:12] DEC 1 4:16 . 2 CS1 & >1 CS2 . 15 uP RAM AB[15:0] DB[7:0] 8Kx8 AB[12:0] R/#W Memorias: Mapas de memoria: Ejemplo 1 (1) • Se dispone de un microprocesador con 16 bits en su AB y 8 en su DB y de 2 chips de 8Kx8 de RAM y uno de 16Kx8 de ROM. Se desea que las posiciones de memoria más bajas estén ocupadas por ROM y las más altas por RAM. Diseñar el sistema de decodificación. - El espacio de direccionamiento se subdivide, a partir de los bits MSB del AB, en regiones más pequeñas hasta que se alcancen las capacidades de los chips de memoria. $0000 $0000 A14=0 R0M 16K A15=0 $3FFF $4000 A14=1 $7FFF $7FFF $8000 $8000 A13=0 A14=0 -Se determinan las expresiones de los CSx de los dispositivos en función de los bits del AB que delimitan la región del espacio de direccionamiento donde se sitúa el contenido del chip de memoria: A13=1 A15=1 $BFFF $C000 CSrom = A15’ A14’ $C000 A14=1 CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’ $DFFF A13=0 RAM2 8K $E000 A13=1 RAM1 8K 32K 16K 8K RAM 8K R0M 16K $FFFF $FFFF $FFFF Memorias: Mapas de memoria: Ejemplo 1 (2) - Se implementa el sistema de decodificación usando los bits MSB del AB para activar los CSx CS - El bus de direcciones de los chips se conectan a los bits LSB del AB del microprocesador AB[13:0] ROM 16Kx8 - El bus de datos de los chips se conectan al del microprocesador. R/#W CSram2 CB[..] R/#W & 0 AB[15:13] DEC 1 3:8 . . 6 RAM 2 >1 8Kx8 CSrom AB[12:0] R/#W CSram1 7 uP AB[15:0] RAM1 AB[12:0] DB[7:0] 8Kx8 Memorias: Mapas de memoria: Ejemplo 2 (1) • Se dispone de un microprocesador con 20 bits en su AB y 8 en su DB y de 2 chips de 64kx8 de RAM y uno de 128kx8 de ROM. Se desea que las posiciones de memoria más bajas estén ocupadas por ROM y, a continuación, se sitúa la memoria RAM. Diseñar el sistema de decodificación suponiendo que los CS de los chips son activos en bajo. $00000 - El espacio de direccionamiento es de 1M. $7FFFF $00000 $00000 A18=0 A19=0 $3FFFF $7FFFF Espacio de A19=1 CSram1 = A19+A18+A17’+A16 CSram2 = A19+A18+A17’+A16’ A18=1 ROM 128K RAM1 64K 8K RAM2 A16=1 1M byte A18=0 CSrom = A19+A18+A17 128K A16=0 RAM1 64K A14=1 -Las ecuaciones de los CS son: 256K $20000 A17=1 $2FFFF $30000 $3FFFF $3FFFF $80000 512K $1FFFF $20000 R0M 128K A17=0 A13=0 RAM 64K $FFFFF direccionamiento Memorias: Mapas de memoria: Ejemplo 2 (2) - Se implementa el sistema de decodificación usando los bits MSB del AB para activar los CSx CS - El bus de direcciones de los chips se conectan a los bits LSB del AB del microprocesador AB[16:0] ROM 128Kx8 - El bus de datos de los chips se conectan al del microprocesador. R/#W CSram1 CB[..] R/#W >1 0 AB[19:16] DEC 1 4:16 3 & AB[15:0] RAM1 64Kx8 CSrom 2 .. 15 uP AB[19:0] DB[7:0] R/#W CSram2 RAM2 AB[15:0] 64Kx8 Memorias: Mapas de memoria: Ejemplo 3 (1) • Se dispone de un microprocesador con 15 bits en su AB y 16 en su DB y de 4 chips de 4kx8 de RAM y dos de 8kx8 de ROM. Se desea que las posiciones de memoria más bajas estén ocupadas por ROM y las más altas por RAM. Diseñar el sistema de decodificación. - El espacio de direccionamiento tiene 64Kbytes pero organizado, físicamente, en 32Kwords. - El microprocesador puede acceder a un byte individual o a dos bytes consecutivos simultáneamente. Esto exige decodificación por dirección par o impar. - El uP dispone de las líneas BE1 y BE0, que identifican si el acceso es a dirección par o impar para bytes o, a ambas, para word. - Desde un punto de vista lógico, los chips de memoria se deben agrupar por parejas. La pareja ocupa una región, dentro del espacio de direccionamiento, igual al doble de la capacidad de cada uno (ACCESO ROM). & ACCESO ROM (CS1) AB[15:1] & CSrom1 DECODIFICACIÓN AB[13:1] uP CB DB[15:0] BE0 BE1 CSrom2 ROM ROM 8Kx8 8Kx8 AB[13:1] DB[7:0] DB[15:8] Memorias: Mapas de memoria: Ejemplo 3 (2) • Se representa el espacio de direccionamiento $0000 $0000 A14=0 • Los dos chips de ROM de 8K se consideran como uno de 16K que se sitúa en la parte inferior del espacio de direccionamiento. CS1 ROM 16K A15=0 $4000 • Los 4 chips de RAM de 4K se agrupan de dos en dos para formar dos chips de 8K que ocupan las direcciones lógicas más altas. • Cada una de las regiones ocupadas se etiqueta con CSx (x=1,2,3). • Se obtienen las expresiones lógicas de dichas etiquetas: $3FFF A14=1 64K $7FFF $7FFF $8000 $8000 A14=0 CS1 = A15’ A14’ A15=1 CS2 = A15 A14 A13’ $BFFF $C000 $C000 A13=0 CS3 = A15 A14 A13 A14=1 $DFFF CS2 RAM 8K $E000 A13=1 CS3 $FFFF $FFFF $FFFF RAM 8K Memorias: Mapas de memoria: Ejemplo 3 (3) BE0 CS3 • Las líneas MSB del AB se conectan al DEC 3:8 para generar CS1, CS2 y CS3. R/#W & AB[12:1] CS3 CS RAM • Atendiendo a BE0, BE1, y CSx, se obtienen los CS de los chips de memoria BE1 AB[12:1] BE0 DB[15:8] R/#W & AB[12:1] CS RAM BE1 CS2 AB[15:13] AB[15:1] 3:8 1 AB[12:1] . 6 7 uP CB DB[15:0] R/#W BE0 BE1 CS2 CS3 CS RAM 4Kx8 DB[7:0] CS1 >1 R/#W & 4Kx8 DEC RAM DB[7:0] CS2 0 CS 4Kx8 4Kx8 • El bus de datos de los chips que se habilitan con BE0 se conecta a DB[7:0] y los que se habilitan con BE1 al DB[15:8]. R/#W & R/#W BE0 CS1 R/#W BE1 CS1 & AB[13:1] DB[15:8] CS ROM 8Kx8 DB[7:0] & AB[13:1] CS ROM 8Kx8 DB[15:8]