SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
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




                    Caché            DRAM
                                                        DISCO ÓPTICO
                    SRAM
                                     ROM
    REGISTROS
                                    FLASH
Microprocesador                                       UNIDADES DE CINTA
                                    NVRAM

                               Memoria principal
                                    o primaria               OTROS



                                                   Memoria secundaria o masiva
                  COSTE CRECIENTE
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)

           • Decodificación por filas y columnas.:




                                  DECODIFICADOR
BUS DE DIRECCIONES[N]




                        N   N/2




                                                                                                                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.000-
   90.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   Establecer la COLUMNA (segunda mitad de la dirección)

(ver secuencia de pasos   Validar COLUMNA (#CAS)

     en el cronograma)    Poner #WE a 1 lógico
                          Habilitar salidas y chip
                                                                  Tiempo de establecimiento de columna
                                Tiempo de pulso de la señal RAS              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+(n-
1)*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                      CB
gestionar el flujo de información
entre la memoria y el propio
procesador
                                                           DB



• Desde el punto de vista del            MICROPROCESADOR         MEMORIA PRINCIPAL

microprocesador, la memoria está
organizada en una “ristra” de bytes
en la que cada uno ocupa una
dirección concreta dentro de la       DIRECCIÓN

“ristra”.
                                         P-1        Dato (p-1)
                                         P           Dato (p)
                                        P+1         Dato (p+1)
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 lógica (16bits)        Dirección física (16bits)


 110....11101
                                       $0000         Byte 0
                     110....11101      $0001         Byte 1
         AB[15:0]                      $0002         Byte 2
                       AB      16      $0003         Byte 3             216=64K
            CB[..]                                                  Direcciones
                              8                                   Lógicas y físicas
           DB[7:0]                     $FFFE     Byte 65534
                       DB              $FFFF     Byte 65535

Microprocesador                           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 lógica (16bits)         Dirección física (15bits)


 110....11101
                              $0000              Byte 0          Byte 1     Word 0
                  110....1110 $0001              Byte 2          Byte 3     Word 1
         AB[15:1]             $0002              Byte 4          Byte 5     Word 2
                      AB 15 $0003                Byte 6          Byte 7     Word 3
                      BE[1,0]
          CB[..]
                       2
                              16
         DB[15:0]                     $7FFE Byte 65532         Byte 65533   Word 32766
                             DB       $7FFF Byte 65534         Byte 65535   Word 32767

Microprocesador                                   Memoria principal
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)        Dirección física (14bits)


 110....11101                              Byte 0       Byte 1       Byte 2       Byte 3
                                 $0000                                                       LWord 0
                    110....111   $0001     Byte 4       Byte 5       Byte 6       Byte 7     LWord 0

         AB[15:2]                $0002     Byte 8       Byte 9      Byte 10      Byte 11     LWord 0
                        14

                       BE[3:0]
          CB[..]
                       4


       DB[31:0]                  $3FFE   Byte 65528   Byte 65529   Byte 65530   Byte 65531   LWord 16382
                           32    $3FFF   Byte 65532   Byte 65533   Byte 65534   Byte 65535   LWord 16383



 Microprocesador                                      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                               Memoria principal
                                   R/#W
                 CB[..]                                    $10       $0000
                                      1                    $FF       $0001

              AB[15:0]            $1202
                                                           $01       $1200
                                                           $A0       $1201
                                                           $BC       $1202
                                                           $15       $1203
                                                           $32       $1204
                                    $BC
               DB[7:0]
                                                           $45       $FFFE
                                                           $66       $FFFF
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.
                               LECTURA DE BYTE EN DIRECCIÓN IMPAR
Dirección lógica (16bits)
                                       Dirección física (15bits)

                                                   BE0=1           BE1=1
  00...00 0111
                                      $0000         Byte 0         Byte 1   Word 0
                            00...0011 $0001         Byte 2         Byte 3   Word 1
            AB[15:1]                  $0002         Byte 4         Byte 5   Word 2
                                   15 $0003         Byte 6         Byte 7   Word 3
                  BE0       0
       CB[..]
                  BE1       1
                R/#W
                                          $7FFE Byte 65532 Byte 65533 Word 32766
          DB[15:0]           DB[7:0]      $7FFF Byte 65534 Byte 65535 Word 32767
                            DB[15:8]
     Microprocesador                          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.




                                LECTURA DE BYTE EN DIRECCIÓN PAR
Dirección lógica (16bits)
                                       Dirección física (15bits)

                                                   BE0=1           BE1=1
  00...00 0110
                                      $0000         Byte 0         Byte 1   Word 0
                            00...0011 $0001         Byte 2         Byte 3   Word 1
            AB[15:1]                  $0002         Byte 4         Byte 5   Word 2
                                   15 $0003         Byte 6         Byte 7   Word 3
                  BE0       1
       CB[..]
                  BE1       0
                R/#W
                                          $7FFE Byte 65532 Byte 65533 Word 32766
          DB[15:0]           DB[7:0]      $7FFF Byte 65534 Byte 65535 Word 32767
                            DB[15:8]
     Microprocesador                          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.




                            LECTURA DE PALABRA (siempre direcciones pares)
Dirección lógica (16bits)
                                       Dirección física (15bits)

                                                   BE0=1           BE1=1
  00...00 0110
                                      $0000         Byte 0         Byte 1   Word 0
                            00...0011 $0001         Byte 2         Byte 3   Word 1
            AB[15:1]                  $0002         Byte 4         Byte 5   Word 2
                                   15 $0003         Byte 6         Byte 7   Word 3
                  BE0       1
       CB[..]
                  BE1       1
                R/#W
                                          $7FFE Byte 65532 Byte 65533 Word 32766
          DB[15:0]           DB[7:0]      $7FFF Byte 65534 Byte 65535 Word 32767
                            DB[15:8]
     Microprocesador                          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                                Memoria principal
                                   R/#W
                 CB[..]                                   $10         $0000
                                      0                   $FF         $0001

             AB[15:0]            $1202
                                                          $01         $1200
                                                          $A0         $1201
                                                          $BC         $1202
                                                          $15         $1203
                                                          $32         $1204
                                    $BC
               DB[7:0]
                                                          $45         $FFFE
                                                          $66         $FFFF
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)         Dirección física (15bits)

                                                 BE0=1           BE1=1
  00...00 0101
                                    $0000         Byte 0         Byte 1   Word 0
                          00...0010 $0001         Byte 2         Byte 3   Word 1
                 [15:1]             $0002         Byte 4         Byte 5   Word 2
                                 15 $0003         Byte 6         Byte 7   Word 3
                   BE0    0
        CB[..]
                   BE1    1
                 R/#W
                                        $7FFE Byte 65532 Byte 65533 Word 32766
  $AB     DB[15:0]         DB[7:0]      $7FFF Byte 65534 Byte 65535 Word 32767
                          DB[15:8]
     Microprocesador                        Memoria principal
Memorias: Mapas de memoria (1)
• El espacio de direccionamiento lógico identifica la                         CHIP1 RAM    DL1
máxima capacidad de memoria con la que puede trabajar                                      DL2
un microprocesador (CM).
• La capacidad física (CF) o real de la memoria viene                         CHIP2 RAM    DL3
dada por la suma de las capacidades de todos los chips CAPACIDAD FÍSICA
de memoria que la forman. (CF<CM).
                                                                              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                             CHIP4 RAM
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:
                                                                              ESPACIO      DL5
-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            DE MEMORIA
accede a ningún chip de memoria y la DL4 a un chip de ROM.                      LIBRE



• Los mapas de memorias son representaciones gráficas
que representan los rangos de direcciones lógicas que
                                                                              CHIP5 RAM    DL6
tienen asignados cada uno de los chips que constituyen
la memoria física.
                                                                              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
                                                                $0FFF
                                          AB[11:0]
                             $02A                    ROM        $1000
                                                     4Kx8
 Dirección lógica                              12           $102A       CHIP2 RAM

                            SISTEMA
                              DE                                $2FFF                64K
    $102A                DECODIFICACIÓN

                    $1                               CS2
                                                                         ESPACIO

    AB[15:0]             AB[15:12]                                      DE MEMORIA
                                                                           LIBRE
                                          AB[12:0]
                                                     RAM

 uP                                $102A       13
                                                     8Kx8




      DB[7:0]
Memorias: Mapas de memoria (3)
                                                      $0000           $0000           $0000           $0000
• Los chips de memoria reciben los                                                            A13=0
                                                                                                      $0FFF
                                                                                                              A12=0
                                                                                                      $1000
bits menos significativos del AB, en                                          A14=0
                                                                                      $1FFF           $1FFF   A12=1
cambio, el sistema de decodificación                                                  $2000
                                                                                                      $2000
                                                                                                      $2FFF   A12=0
                                                                                              A13=1
utiliza los más significativos, en                                                                            A12=1
concreto, los bits del AB que no se                           A15=0
                                                                      $3FFF           $3FFF
                                                                      $4000           $4000
llevan hasta los buses de dirección                                                           A13=0
                                                                                                              A12=0

de los chips de memoria.                                                      A14=1
                                                                                      $5FFF
                                                                                                              A12=1

                                                                                      $6000
• Para determinar el sistema de                                                               A13=1           A12=0

decodificación, se puede proceder                     $7FFF           $7FFF           $7FFF
                                                                                                              A12=1
dividiendo el espacio de direcciona-                  $8000           $8000           $8000
miento en diferentes regiones según                                                           A13=0

las líneas MSB del AB.                                                        A14=0
                                                                                      $9FFF
                                                                                      $A000
• Para la ROM de 4K y RAM de 8K,                                                              A13=1

del ejemplo anterior se tiene:                                A15=1
                                                                      $BFFF           $BFFF
                                                                      $C000           $C000
      CS1 = A15’ A14’ A13’ A12’                                                               A13=0

      CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’                                   $DFFF
                                                                              A14=1
                                                                                      $E000
                                                                                              A13=1

                                                      $FFFF           $FFFF           $FFFF
32K    16K    8K     4K    ROM 4K     RAM 8K
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,                   CS
                           ya que es una ROM)
CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’                      AB[11:0]
                                                                               ROM
                                                                               4Kx8
                              R/#W

                                                  CS1   &
                                              0

         CB[..]         AB[15:12]    DEC      1
                                                              >1
                                              2
                                                                                      R/#W
                                     4:16     .                                CS2
                                              .
                                             15
uP                                                                            RAM
                                                                               8Kx8
     AB[15:0]
                                                                   AB[12:0]

     DB[7:0]
Memorias: Mapas de memoria: Ejemplo 1 (1)
                                                 $0000           $0000
• Se dispone de un microprocesador
con 16 bits en su AB y 8 en su DB y                                      A14=0
de 2 chips de 8Kx8 de RAM y uno de
                                                                           R0M 16K
16Kx8 de ROM. Se desea que las
posiciones de memoria más bajas                                  $3FFF
                                                         A15=0
estén ocupadas por ROM y las más                                 $4000
altas por RAM. Diseñar el sistema de
decodificación.                                                          A14=1

- El espacio de direccionamiento se
subdivide, a partir de los bits MSB del AB, en
                                                 $7FFF           $7FFF
regiones más pequeñas hasta que se
                                                 $8000           $8000
alcancen las capacidades de los chips de
                                                                                         A13=0
memoria.                                                                 A14=0

-Se determinan las expresiones de los CSx
de los dispositivos en función de los bits del                                           A13=1
AB que delimitan la región del espacio de                        $BFFF
                                                         A15=1
direccionamiento donde se sitúa el                               $C000           $C000
contenido del chip de memoria:                                                           A13=0
CSrom = A15’ A14’                                                                           RAM2 8K
                                                                                 $DFFF
                                                                         A14=1
CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’                                     $E000
                                                                                         A13=1
                                                                                           RAM1 8K
                                                 $FFFF           $FFFF           $FFFF
32K   16K   8K      RAM 8K   R0M 16K
Memorias: Mapas de memoria: Ejemplo 1 (2)

- Se implementa el sistema de decodificación
                                                                         CS
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a          AB[13:0]       ROM
los bits LSB del AB del microprocesador                                    16Kx8

- El bus de datos de los chips se conectan al del
microprocesador.

                                                                                   R/#W
                                                                  CSram2

                  R/#W
       CB[..]                                           &
                                                                           RAM 2
                                        0
                                             >1                            8Kx8
                                                    CSrom
                     AB[15:13]   DEC    1
                                        .                     AB[12:0]
                                 3:8    .
                                        6
                                                                  CSram1           R/#W
                                        7
uP

     AB[15:0]                                                              RAM1
                                                                           8Kx8
                                                            AB[12:0]


     DB[7:0]
Memorias: Mapas de memoria: Ejemplo 2 (1)
                                             $00000           $00000           $00000
• Se dispone de un microprocesador                                                       R0M 128K
                                                                                        A17=0
                                                                                        A13=0
con 20 bits en su AB y 8 en su DB y                                    A18=0
                                                                               $1FFFF
de 2 chips de 64kx8 de RAM y uno de                   A19=0
                                                                               $20000        $20000    A16=0
                                                                                                      RAM1 64K
128kx8 de ROM. Se desea que las                                                       A17=1 $2FFFF
                                                                                            $30000
posiciones de memoria más bajas                               $3FFFF           $3FFFF       $3FFFF
                                                                                                      RAM1 8K
                                                                                                      RAM2 64K
                                                                                                       A16=1
estén ocupadas por ROM y, a
continuación, se sitúa la memoria
RAM. Diseñar el sistema de                                             A14=1
decodificación suponiendo que los CS
de los chips son activos en bajo.
- El espacio de direccionamiento es de 1M.   $7FFFF           $7FFFF
                                                                                               1M byte
                                             $80000

-Las ecuaciones de los CS son:                                                                Espacio de
                                                                       A18=0
CSrom = A19+A18+A17                                                                        direccionamiento
                                                      A19=1
CSram1 = A19+A18+A17’+A16
CSram2 = A19+A18+A17’+A16’


                                                                       A18=1




                                             $FFFFF
512K   256K   128K   ROM 128K    RAM 64K
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                         ROM
los bits LSB del AB del microprocesador                      AB[16:0]
                                                                           128Kx8

- El bus de datos de los chips se conectan al del
microprocesador.

                                                                                    R/#W
                                                                  CSram1

                  R/#W
       CB[..]                                           >1
                                                             AB[15:0]      RAM1
                                        0
                                              &                            64Kx8
                     AB[19:16]   DEC    1           CSrom
                                        2

                                 4:16   3
                                        ..
                                                                                    R/#W
                                        15                       CSram2
uP

     AB[19:0]                                                              RAM2
                                                             AB[15:0]      64Kx8




     DB[7:0]
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).


                                                                                       &

                                                     &                  CSrom1                   CSrom2
                   ACCESO ROM (CS1)



                                                                      ROM                       ROM

        AB[15:1]             DECODIFICACIÓN                           8Kx8                      8Kx8

                                                         AB[13:1]                AB[13:1]

uP                     BE0
            CB
                       BE1                                                DB[7:0]                      DB[15:8]

        DB[15:0]
Memorias: Mapas de memoria: Ejemplo 3 (2)
• Se representa el espacio de              $0000           $0000
direccionamiento
                                                                   A14=0
• Los dos chips de ROM de 8K se                                                     CS1
consideran como uno de 16K que se sitúa                            ROM 16K
en la parte inferior del espacio de
direccionamiento.                                  A15=0
                                                           $3FFF
                                                           $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                             A14=1
altas.
• Cada una de las regiones ocupadas se                                                                64K
                                           $7FFF           $7FFF
etiqueta con CSx (x=1,2,3).
                                           $8000           $8000
• Se obtienen las expresiones lógicas de
dichas etiquetas:                                                  A14=0




CS1 = A15’ A14’
                                                           $BFFF
                                                   A15=1
CS2 = A15 A14 A13’                                         $C000           $C000
                                                                                   A13=0        CS2
CS3 = A15 A14 A13
                                                                           $DFFF      RAM 8K
                                                                   A14=1
                                                                           $E000
                                                                                   A13=1
                                                                                                CS3
                                                                                       RAM 8K
                                           $FFFF           $FFFF           $FFFF
Memorias: Mapas de memoria: Ejemplo 3 (3)
                                                   BE0               R/#W   BE1             R/#W
                                                           &                       &
                                                   CS3                      CS3
• Las líneas MSB del AB se conectan al                         CS                      CS
DEC 3:8 para generar CS1, CS2 y CS3.               AB[12:1]                 AB[12:1]
                                                                RAM                    RAM
• Atendiendo a BE0, BE1, y CSx, se                              4Kx8                   4Kx8
obtienen los CS de los chips de memoria
• El bus de datos de los chips que se                     DB[7:0]                             DB[15:8]
habilitan con BE0 se conecta a DB[7:0] y
los que se habilitan con BE1 al DB[15:8].          BE0               R/#W   BE1             R/#W
                                                           &                CS2    &
                                                   CS2
                                                                CS                     CS
                                                   AB[12:1]                 AB[12:1]
                                                                RAM                    RAM

                                                                4Kx8                   4Kx8




                                             CS1          DB[7:0]                             DB[15:8]
                                     0
                                            >1
                                     1             R/#W                     R/#W
                              DEC                  BE0                      BE1
                  AB[15:13]          .
                                                   CS1
                                                          &
                                                                            CS1
                                                                                   &
                               3:8
       AB[15:1]                      6
                                             CS2                CS                     CS
                                     7             AB[13:1]                 AB[13:1]
                                             CS3                ROM                    ROM

                   R/#W                                         8Kx8                   8Kx8
uP                  BE0
           CB
                    BE1
                                                          DB[7:0]                             DB[15:8]
       DB[15:0]

Más contenido relacionado

La actualidad más candente (20)

La memoria ram
La memoria ramLa memoria ram
La memoria ram
 
Trabajo de modalidad
Trabajo de modalidadTrabajo de modalidad
Trabajo de modalidad
 
Trabajo 1! ;)
Trabajo 1! ;)Trabajo 1! ;)
Trabajo 1! ;)
 
Evolucion de la memoria
Evolucion de la memoriaEvolucion de la memoria
Evolucion de la memoria
 
Memoria ram ::: http://leymebamba.com
Memoria ram  ::: http://leymebamba.comMemoria ram  ::: http://leymebamba.com
Memoria ram ::: http://leymebamba.com
 
Tipos de memoria ram por orden cronologico
Tipos de memoria ram por orden cronologicoTipos de memoria ram por orden cronologico
Tipos de memoria ram por orden cronologico
 
Memoria ram
Memoria ramMemoria ram
Memoria ram
 
Las memorias
Las memoriasLas memorias
Las memorias
 
Brenda
BrendaBrenda
Brenda
 
Memoria Ram
Memoria RamMemoria Ram
Memoria Ram
 
Memoria ram
Memoria ramMemoria ram
Memoria ram
 
Memorias (Tecnología)
Memorias (Tecnología)Memorias (Tecnología)
Memorias (Tecnología)
 
Módulos de memoria RAM
Módulos de memoria RAMMódulos de memoria RAM
Módulos de memoria RAM
 
Arath ram
Arath ramArath ram
Arath ram
 
Orao s1 a1
Orao s1 a1Orao s1 a1
Orao s1 a1
 
Yessenia
YesseniaYessenia
Yessenia
 
Ram
RamRam
Ram
 
Ram
RamRam
Ram
 
Tipos de memoria ram
Tipos de memoria ramTipos de memoria ram
Tipos de memoria ram
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 

Destacado (6)

Mapa memoria
Mapa memoriaMapa memoria
Mapa memoria
 
Previo4
Previo4Previo4
Previo4
 
Mpi
Mpi Mpi
Mpi
 
Tema 8: Memorias RAM y CAM.
Tema 8: Memorias RAM y CAM.Tema 8: Memorias RAM y CAM.
Tema 8: Memorias RAM y CAM.
 
Cuestionario previo #4
Cuestionario previo #4Cuestionario previo #4
Cuestionario previo #4
 
MEMORIA DRAM
MEMORIA DRAMMEMORIA DRAM
MEMORIA DRAM
 

Similar a Etc2 0304 memorias

Similar a Etc2 0304 memorias (20)

Etc2 0304 memorias
Etc2 0304 memoriasEtc2 0304 memorias
Etc2 0304 memorias
 
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptxUNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
 
Memorias
MemoriasMemorias
Memorias
 
Unida ii 3a
Unida ii 3aUnida ii 3a
Unida ii 3a
 
Evolución de las memorias ram.pptx
Evolución de las memorias ram.pptxEvolución de las memorias ram.pptx
Evolución de las memorias ram.pptx
 
Diapositiva memoria ram
Diapositiva memoria ramDiapositiva memoria ram
Diapositiva memoria ram
 
Memorias
MemoriasMemorias
Memorias
 
Memorias
MemoriasMemorias
Memorias
 
Ec5
Ec5Ec5
Ec5
 
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptxU02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
 
Memorias
MemoriasMemorias
Memorias
 
Grupo 3 informatica
Grupo 3 informaticaGrupo 3 informatica
Grupo 3 informatica
 
Trabajo de las memorias ram
Trabajo de las memorias ramTrabajo de las memorias ram
Trabajo de las memorias ram
 
13 tipos de_memoria
13 tipos de_memoria13 tipos de_memoria
13 tipos de_memoria
 
13 tipos de_memoria
13 tipos de_memoria13 tipos de_memoria
13 tipos de_memoria
 
13 tipos de_memoria
13 tipos de_memoria13 tipos de_memoria
13 tipos de_memoria
 
Grupo 3 informatica
Grupo 3 informaticaGrupo 3 informatica
Grupo 3 informatica
 
Grupo 3 informatica (1)
Grupo 3 informatica (1)Grupo 3 informatica (1)
Grupo 3 informatica (1)
 
Exposición Grupo 4 Estructura del Computador
Exposición Grupo 4 Estructura del Computador Exposición Grupo 4 Estructura del Computador
Exposición Grupo 4 Estructura del Computador
 
MEMORIA RAM
MEMORIA RAMMEMORIA RAM
MEMORIA RAM
 

Etc2 0304 memorias

  • 1. 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).
  • 2. 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.
  • 3. Memorias: Jerarquías CAPACIDAD CRECIENTE DISCO MAGNÉTICO Caché DRAM DISCO ÓPTICO SRAM ROM REGISTROS FLASH Microprocesador UNIDADES DE CINTA NVRAM Memoria principal o primaria OTROS Memoria secundaria o masiva COSTE CRECIENTE
  • 4. 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
  • 5. Memorias: Memorias semiconductoras:Organización(2) • Decodificación por filas y columnas.: DECODIFICADOR BUS DE DIRECCIONES[N] N N/2 M M M N/2 MUX (si lectura)/DEMUX (si escritura) CELDA BÁSICA M BUFFERS M BUS DE DATOS
  • 6. 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.000- 90.000 borrados).
  • 7. Memorias: Memorias semiconductoras: ROM (2) • Ejemplo: Memoria EPROM • Señales de control: #OE (habilitador salida), #CE (habilitador chip)
  • 8. Memorias: Memorias semiconductoras: ROM (3) • Proceso de lectura: - Establecer dirección - Habilitar chip y salidas Tiempo de acceso
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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 Establecer la COLUMNA (segunda mitad de la dirección) (ver secuencia de pasos Validar COLUMNA (#CAS) en el cronograma) Poner #WE a 1 lógico Habilitar salidas y chip Tiempo de establecimiento de columna Tiempo de pulso de la señal RAS Tiempo de mantenimiento de columna TIEMPO DE LATENCIA
  • 13. 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+(n- 1)*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
  • 14. 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
  • 15. 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
  • 16. 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 CB gestionar el flujo de información entre la memoria y el propio procesador DB • Desde el punto de vista del MICROPROCESADOR MEMORIA PRINCIPAL microprocesador, la memoria está organizada en una “ristra” de bytes en la que cada uno ocupa una dirección concreta dentro de la DIRECCIÓN “ristra”. P-1 Dato (p-1) P Dato (p) P+1 Dato (p+1)
  • 17. 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
  • 18. 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 lógica (16bits) Dirección física (16bits) 110....11101 $0000 Byte 0 110....11101 $0001 Byte 1 AB[15:0] $0002 Byte 2 AB 16 $0003 Byte 3 216=64K CB[..] Direcciones 8 Lógicas y físicas DB[7:0] $FFFE Byte 65534 DB $FFFF Byte 65535 Microprocesador Memoria principal
  • 19. 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 lógica (16bits) Dirección física (15bits) 110....11101 $0000 Byte 0 Byte 1 Word 0 110....1110 $0001 Byte 2 Byte 3 Word 1 AB[15:1] $0002 Byte 4 Byte 5 Word 2 AB 15 $0003 Byte 6 Byte 7 Word 3 BE[1,0] CB[..] 2 16 DB[15:0] $7FFE Byte 65532 Byte 65533 Word 32766 DB $7FFF Byte 65534 Byte 65535 Word 32767 Microprocesador Memoria principal
  • 20. 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) Dirección física (14bits) 110....11101 Byte 0 Byte 1 Byte 2 Byte 3 $0000 LWord 0 110....111 $0001 Byte 4 Byte 5 Byte 6 Byte 7 LWord 0 AB[15:2] $0002 Byte 8 Byte 9 Byte 10 Byte 11 LWord 0 14 BE[3:0] CB[..] 4 DB[31:0] $3FFE Byte 65528 Byte 65529 Byte 65530 Byte 65531 LWord 16382 32 $3FFF Byte 65532 Byte 65533 Byte 65534 Byte 65535 LWord 16383 Microprocesador Memoria principal
  • 21. 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 Memoria principal R/#W CB[..] $10 $0000 1 $FF $0001 AB[15:0] $1202 $01 $1200 $A0 $1201 $BC $1202 $15 $1203 $32 $1204 $BC DB[7:0] $45 $FFFE $66 $FFFF
  • 22. 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. LECTURA DE BYTE EN DIRECCIÓN IMPAR Dirección lógica (16bits) Dirección física (15bits) BE0=1 BE1=1 00...00 0111 $0000 Byte 0 Byte 1 Word 0 00...0011 $0001 Byte 2 Byte 3 Word 1 AB[15:1] $0002 Byte 4 Byte 5 Word 2 15 $0003 Byte 6 Byte 7 Word 3 BE0 0 CB[..] BE1 1 R/#W $7FFE Byte 65532 Byte 65533 Word 32766 DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767 DB[15:8] Microprocesador Memoria principal
  • 23. 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. LECTURA DE BYTE EN DIRECCIÓN PAR Dirección lógica (16bits) Dirección física (15bits) BE0=1 BE1=1 00...00 0110 $0000 Byte 0 Byte 1 Word 0 00...0011 $0001 Byte 2 Byte 3 Word 1 AB[15:1] $0002 Byte 4 Byte 5 Word 2 15 $0003 Byte 6 Byte 7 Word 3 BE0 1 CB[..] BE1 0 R/#W $7FFE Byte 65532 Byte 65533 Word 32766 DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767 DB[15:8] Microprocesador Memoria principal
  • 24. 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. LECTURA DE PALABRA (siempre direcciones pares) Dirección lógica (16bits) Dirección física (15bits) BE0=1 BE1=1 00...00 0110 $0000 Byte 0 Byte 1 Word 0 00...0011 $0001 Byte 2 Byte 3 Word 1 AB[15:1] $0002 Byte 4 Byte 5 Word 2 15 $0003 Byte 6 Byte 7 Word 3 BE0 1 CB[..] BE1 1 R/#W $7FFE Byte 65532 Byte 65533 Word 32766 DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767 DB[15:8] Microprocesador Memoria principal
  • 25. 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 Memoria principal R/#W CB[..] $10 $0000 0 $FF $0001 AB[15:0] $1202 $01 $1200 $A0 $1201 $BC $1202 $15 $1203 $32 $1204 $BC DB[7:0] $45 $FFFE $66 $FFFF
  • 26. 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) Dirección física (15bits) BE0=1 BE1=1 00...00 0101 $0000 Byte 0 Byte 1 Word 0 00...0010 $0001 Byte 2 Byte 3 Word 1 [15:1] $0002 Byte 4 Byte 5 Word 2 15 $0003 Byte 6 Byte 7 Word 3 BE0 0 CB[..] BE1 1 R/#W $7FFE Byte 65532 Byte 65533 Word 32766 $AB DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767 DB[15:8] Microprocesador Memoria principal
  • 27. Memorias: Mapas de memoria (1) • El espacio de direccionamiento lógico identifica la CHIP1 RAM DL1 máxima capacidad de memoria con la que puede trabajar DL2 un microprocesador (CM). • La capacidad física (CF) o real de la memoria viene CHIP2 RAM DL3 dada por la suma de las capacidades de todos los chips CAPACIDAD FÍSICA de memoria que la forman. (CF<CM). 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 CHIP4 RAM 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: ESPACIO DL5 -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 DE MEMORIA accede a ningún chip de memoria y la DL4 a un chip de ROM. LIBRE • Los mapas de memorias son representaciones gráficas que representan los rangos de direcciones lógicas que CHIP5 RAM DL6 tienen asignados cada uno de los chips que constituyen la memoria física. CHIP6 ROM ESPACIO DE DIRECCIONAMIENTO
  • 28. 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 $0FFF AB[11:0] $02A ROM $1000 4Kx8 Dirección lógica 12 $102A CHIP2 RAM SISTEMA DE $2FFF 64K $102A DECODIFICACIÓN $1 CS2 ESPACIO AB[15:0] AB[15:12] DE MEMORIA LIBRE AB[12:0] RAM uP $102A 13 8Kx8 DB[7:0]
  • 29. Memorias: Mapas de memoria (3) $0000 $0000 $0000 $0000 • Los chips de memoria reciben los A13=0 $0FFF A12=0 $1000 bits menos significativos del AB, en A14=0 $1FFF $1FFF A12=1 cambio, el sistema de decodificación $2000 $2000 $2FFF A12=0 A13=1 utiliza los más significativos, en A12=1 concreto, los bits del AB que no se A15=0 $3FFF $3FFF $4000 $4000 llevan hasta los buses de dirección A13=0 A12=0 de los chips de memoria. A14=1 $5FFF A12=1 $6000 • Para determinar el sistema de A13=1 A12=0 decodificación, se puede proceder $7FFF $7FFF $7FFF A12=1 dividiendo el espacio de direcciona- $8000 $8000 $8000 miento en diferentes regiones según A13=0 las líneas MSB del AB. A14=0 $9FFF $A000 • Para la ROM de 4K y RAM de 8K, A13=1 del ejemplo anterior se tiene: A15=1 $BFFF $BFFF $C000 $C000 CS1 = A15’ A14’ A13’ A12’ A13=0 CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ $DFFF A14=1 $E000 A13=1 $FFFF $FFFF $FFFF 32K 16K 8K 4K ROM 4K RAM 8K
  • 30. 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, CS ya que es una ROM) CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ AB[11:0] ROM 4Kx8 R/#W CS1 & 0 CB[..] AB[15:12] DEC 1 >1 2 R/#W 4:16 . CS2 . 15 uP RAM 8Kx8 AB[15:0] AB[12:0] DB[7:0]
  • 31. Memorias: Mapas de memoria: Ejemplo 1 (1) $0000 $0000 • Se dispone de un microprocesador con 16 bits en su AB y 8 en su DB y A14=0 de 2 chips de 8Kx8 de RAM y uno de R0M 16K 16Kx8 de ROM. Se desea que las posiciones de memoria más bajas $3FFF A15=0 estén ocupadas por ROM y las más $4000 altas por RAM. Diseñar el sistema de decodificación. A14=1 - El espacio de direccionamiento se subdivide, a partir de los bits MSB del AB, en $7FFF $7FFF regiones más pequeñas hasta que se $8000 $8000 alcancen las capacidades de los chips de A13=0 memoria. A14=0 -Se determinan las expresiones de los CSx de los dispositivos en función de los bits del A13=1 AB que delimitan la región del espacio de $BFFF A15=1 direccionamiento donde se sitúa el $C000 $C000 contenido del chip de memoria: A13=0 CSrom = A15’ A14’ RAM2 8K $DFFF A14=1 CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’ $E000 A13=1 RAM1 8K $FFFF $FFFF $FFFF 32K 16K 8K RAM 8K R0M 16K
  • 32. Memorias: Mapas de memoria: Ejemplo 1 (2) - Se implementa el sistema de decodificación CS usando los bits MSB del AB para activar los CSx - El bus de direcciones de los chips se conectan a AB[13:0] ROM los bits LSB del AB del microprocesador 16Kx8 - El bus de datos de los chips se conectan al del microprocesador. R/#W CSram2 R/#W CB[..] & RAM 2 0 >1 8Kx8 CSrom AB[15:13] DEC 1 . AB[12:0] 3:8 . 6 CSram1 R/#W 7 uP AB[15:0] RAM1 8Kx8 AB[12:0] DB[7:0]
  • 33. Memorias: Mapas de memoria: Ejemplo 2 (1) $00000 $00000 $00000 • Se dispone de un microprocesador R0M 128K A17=0 A13=0 con 20 bits en su AB y 8 en su DB y A18=0 $1FFFF de 2 chips de 64kx8 de RAM y uno de A19=0 $20000 $20000 A16=0 RAM1 64K 128kx8 de ROM. Se desea que las A17=1 $2FFFF $30000 posiciones de memoria más bajas $3FFFF $3FFFF $3FFFF RAM1 8K RAM2 64K A16=1 estén ocupadas por ROM y, a continuación, se sitúa la memoria RAM. Diseñar el sistema de A14=1 decodificación suponiendo que los CS de los chips son activos en bajo. - El espacio de direccionamiento es de 1M. $7FFFF $7FFFF 1M byte $80000 -Las ecuaciones de los CS son: Espacio de A18=0 CSrom = A19+A18+A17 direccionamiento A19=1 CSram1 = A19+A18+A17’+A16 CSram2 = A19+A18+A17’+A16’ A18=1 $FFFFF 512K 256K 128K ROM 128K RAM 64K
  • 34. 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 ROM los bits LSB del AB del microprocesador AB[16:0] 128Kx8 - El bus de datos de los chips se conectan al del microprocesador. R/#W CSram1 R/#W CB[..] >1 AB[15:0] RAM1 0 & 64Kx8 AB[19:16] DEC 1 CSrom 2 4:16 3 .. R/#W 15 CSram2 uP AB[19:0] RAM2 AB[15:0] 64Kx8 DB[7:0]
  • 35. 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). & & CSrom1 CSrom2 ACCESO ROM (CS1) ROM ROM AB[15:1] DECODIFICACIÓN 8Kx8 8Kx8 AB[13:1] AB[13:1] uP BE0 CB BE1 DB[7:0] DB[15:8] DB[15:0]
  • 36. Memorias: Mapas de memoria: Ejemplo 3 (2) • Se representa el espacio de $0000 $0000 direccionamiento A14=0 • Los dos chips de ROM de 8K se CS1 consideran como uno de 16K que se sitúa ROM 16K en la parte inferior del espacio de direccionamiento. A15=0 $3FFF $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 A14=1 altas. • Cada una de las regiones ocupadas se 64K $7FFF $7FFF etiqueta con CSx (x=1,2,3). $8000 $8000 • Se obtienen las expresiones lógicas de dichas etiquetas: A14=0 CS1 = A15’ A14’ $BFFF A15=1 CS2 = A15 A14 A13’ $C000 $C000 A13=0 CS2 CS3 = A15 A14 A13 $DFFF RAM 8K A14=1 $E000 A13=1 CS3 RAM 8K $FFFF $FFFF $FFFF
  • 37. Memorias: Mapas de memoria: Ejemplo 3 (3) BE0 R/#W BE1 R/#W & & CS3 CS3 • Las líneas MSB del AB se conectan al CS CS DEC 3:8 para generar CS1, CS2 y CS3. AB[12:1] AB[12:1] RAM RAM • Atendiendo a BE0, BE1, y CSx, se 4Kx8 4Kx8 obtienen los CS de los chips de memoria • El bus de datos de los chips que se DB[7:0] DB[15:8] habilitan con BE0 se conecta a DB[7:0] y los que se habilitan con BE1 al DB[15:8]. BE0 R/#W BE1 R/#W & CS2 & CS2 CS CS AB[12:1] AB[12:1] RAM RAM 4Kx8 4Kx8 CS1 DB[7:0] DB[15:8] 0 >1 1 R/#W R/#W DEC BE0 BE1 AB[15:13] . CS1 & CS1 & 3:8 AB[15:1] 6 CS2 CS CS 7 AB[13:1] AB[13:1] CS3 ROM ROM R/#W 8Kx8 8Kx8 uP BE0 CB BE1 DB[7:0] DB[15:8] DB[15:0]