Memorias Repaso Total.pptx

  • Uploaded by: Erika Tatiana Iza
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Memorias Repaso Total.pptx as PDF for free.

More details

  • Words: 6,211
  • Pages: 113
Unidad de Memoria Memorias

Definiciones y conceptos básicos

Velocidad

Jerarquía de memorias

Parámetros en la jerarquía de las memorias Capacidad  Velocidad  Costo por bit  Frecuencia de utilización  Principio de localidad referencia: 

 Se entiende como el índice de probabilidad de uso de la

información que está en memoria  Localidad temporal:  Tendencia a reutilizar los datos e instrucciones utilizados recientemente.  Localidad espacial:  Tendencia a referenciar las instrucciones y datos próximos a los que están utilizando

Principio de Localidad • Los programas acceden a una porción relativamente pequeña del espacio de direcciones en un determinado lapso de tiempo. – Localidad temporal • Si un ítem es referenciado en determinado momento, es común que vuelva a ser referenciado poco tiempo después. • Mantener los datos más recientemente accedidos “cercanos” al procesador

– Localidad Espacial • Cuando un ítem es referenciado en determinado momento, es común que los ítems con direcciones “cercanas” también sean accedidos poco tiempo después. • Mover bloques de palabras contiguas al nivel superior

Uso y Manejo de la Jerarquía • Registros <-> Memoria – por el compilador (programador?)

• cache <-> memoria – por el hardware

• memoria <-> discos – por el hardware y el sistema operativo (memoria virtual) – por el programador (archivos)

Terminología • Acierto (Hit): los datos están en algún bloque del nivel superior – Hit Rate: fracción de accesos a memoria encontrados en el nivel superior – Hit Time: Tiempo de acceso al nivel superior • Tiempo para determinar hit/miss + tiempo de lectura/escritura

• Falla (Miss): los datos deben ser traídos desde un bloque en el nivel inferior – Miss Rate = 1 - (Hit Rate) – Miss Penalty

• Tiempo adicional requerido en caso de Miss.

• Hit Time << Miss Penalty • Tiempo medio de acceso a memoria – Hit time + Miss Rate * Miss Penalty

Principios 



Con la utilización de las jerarquías de memoria las memorias rápidas de baja capacidad y alto coste se complementan con las memorias lentas de gran capacidad y bajo coste. El tiempo de acceso medio total (tA) empleado por la UCP para acceder a una palabra se puede expresar por la relación:

Rendimiento • Tiempo de Acceso – Tiempo transcurrido entre presencia de direcciones y obtención de datos válidos

• Tiempo de Ciclo de Memoria – Tiempo entre dos accesos consecutivos – Tiempo de Ciclo: acceso + recuperación

• Tasa de Transferencia – Tasa a la que se mueven los datos

Memoria Principal: La organización puede mejorar el rendimiento • Simple: • CPU, Cache, Bus, Memoria mismo ancho(32 bits) • Ancho (Wide): • CPU/Mux 1 palabra; Mux/Cache, Bus, Memoria N palabras

Memoria Principal: La organización puede mejorar el rendimiento

• Entrelazado (Interleaved): • CPU, Cache, Bus 1 palabra: Memoria N Módulos; el ejemplo es de 4 módulos, word interleaved ( estrelazado de palabra)

Entrelazado

Memorias de semiconductor 

Características  Un CIM está organizado internamente como una matriz de N x

m celdas elementales, en la que se pueden almacenar N palabras de m bits. A cada palabra almacenada en el CIM se le asigna una única dirección.

Estructura de la celda básica de memoria El elemento básico de un CIM es la celda de memoria que permite almacenar un bit de información.  Propiedades de las celdas de memoria de tipo semiconductor: 

 Presentan

dos estados estables (o semiestables)  Se pueden escribir (al menos una vez ) para fijar su estado  Se pueden leer para conocer su estado

Celda de memoria

Celda de memoria

seleccionar

entrada

S

S Q

R

R

Q

salida

seleccionar entrada

BC salida

leer/escribir (1/0) leer/escribir (1/0)

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

Organización interna: 2D La organización 2D da lugar a matrices de celdas excesivamente largas y estrechas que no son adecuadas para su realización en un circuito integrado.

Memorias: Memorias semiconductoras:Organización(2) • Decodificación por filas y columnas.:

N

N/2

M

M

M

N/2 MUX (si lectura)/DEMUX (si escritura)

CELDA BÁSICA

M

BUFFERS

M

BUS DE DATOS

Organización 2D 1/2

Diseños de bloques de memoria

Unidad de memoria de 4 x 3 bits

Unidad de memoria de 4 × 3 bits

Dato de entrada (3 bits)

A0 A1 Entrada de selección de memoria

D0 BC

BC

BC

BC

BC

BC

BC

BC

BC

BC

BC

BC

D1

D2 D3 Decoder 2×4

leer/escribir

Dato de salida

Características de los circuitos integrados de memorias

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 de Solo Lectura: memoria ROM Sea D0=“1” (Es decir, se selecciona la dirección “00”, que corresponde a D0=“1”, D2D3…D15=“0”) En ese caso, en X3 se tiene un “0” (no hay conexión entre D0 y X3). Por otra parte, X2=“1”, por el diodo entre D0 y X2.

D0

X3

X2

El DIODO correspondiente a “1” en realidad se implementa como un transistor:

Palabra n-ésima

Palabra n-ésima

Bit m-ésimo BIPOLAR

Bit m-ésimo MOS

Memorias de Solo Lectura: memoria PROM Las memorias ROM vienen grabadas de fábrica (cuando se realiza el propio componente de silicio). El usuario a veces quiere grabar su propia memoria ROM. Surgen las memorias PROM, PROGRAMMABLEROM. Se utiliza un programador, que programa la ROM en cuestión de minutos.

FUNDIR FUSIBLE

Palabra nésima

Cada CELDA Básica es, inicialmente: Palabra nésima

Bit m-ésimo

“0”

Bit m-ésimo

NO FUNDIR FUSIBLE

Palabra nésima

Bit m-ésimo

“1”

Memorias de Solo Lectura: memoria EPROM Una vez fundido el fusible de la PROM, no se puede regenerar. Surgen las memorias EPROM y EEPROM, que se basan en transistores MOS de puerta flotante, y que pueden REPROGRAMARSE. EPROM: ERASABLE-PROGRAMMABLE-ROM. Se borra mediante luz UV (5-20 minutos).

Puerta Flotante

Puerta NO aislada

Transistor MOS de Puerta Flotante

PROGRAMACIÓN: Se aplica una tensión lo suficientemente elevada en la puerta NO aislada, de manera que se llega a cargar la puerta flotante (ruptura temporal del aislante). Al quitar la tensión de la puerta no aislada, la puerta flotante mantiene su carga (70% durante 10 años). Cuando se seleccione esa celda, la carga que hay en la puerta flotante impide que el transistor conduzca. BORRADO: se aplica luz ultravioleta que hace que el aislante alrededor de la puerta flotante conduzca, vaciándose de cargas.

Memorias de Solo Lectura: memoria EEPROM Existen memorias que también pueden borrarse eléctricamente. EEPROM: ELECTRICALLY ERASABLE-PROGRAMMABLE-ROM. PROGRAMACIÓN: Idéntica a la EPROM BORRADO: Se aplica una tensión al propio aislante de la puerta flotante, de manera que se descarga la misma. El borrado ocurre en un “destello”. Son las Flash EPROM, o memorias “Flash”.

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 Funcionamiento: LECTURA: Selección a “1”. T5 y T6 conducen. El estado de T1 y T2 (uno conduciendo y el otro cortado ) pasa a las lineas I e I. ESCRITURA: Selección a “1”. T5 y T6 conducen. Forzamos el estado de T1 y T2 mediante I e I.

Memorias de Semiconductor RAM

MOS (SRAM) Celda básica de memoria; tiene las líneas de E/S de información, I e I, y la línea de selección. T3 y T4 funcionan sólo como resistencia.

VDD

T3

T4

Funcionamiento: LECTURA: Selección a “1”. T5 y T6 conducen. El estado de T1 y T2 (uno conduciendo y el otro cortado ) pasa a las lineas I e I. ESCRITURA: Selección a “1”. T5 y T6 conducen. Forzamos el estado de T1 y T2 mediante I e I.

T5

T1

T2

T6

SELECCIÓN I

I

Memorias: Memorias semiconductoras: RAM (2) • Ejemplo de SRAM 6116 • 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 AB

11101 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

AB[15:1] CB[..]

$0000 110 1110 $0001 $0002 AB 15 $0003

Byte Byte Byte Byte

1 3 5 7

Word 0 Word 1 Word 2 Word 3

16 DB

Microprocesador

0 2 4 6

BE[1,0] 2

DB[15:0]

Byte Byte Byte Byte

$7FFE $7FFF

Byte 65532 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 física (14bits)

Dirección lógica (16bits)

110

11101 110

AB[15:2] CB[..]

111

$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

14 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 Byte Byte Byte

Byte Byte Byte Byte

0 2 4 6

$7FFE Byte 65532 $7FFF Byte 65534

1 3 5 7

Byte 65533 Byte 65535

Memoria principal

Word 0 Word 1 Word 2 Word 3

Word 32766 Word 32767

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 Byte Byte Byte

Byte Byte Byte Byte

0 2 4 6

$7FFE Byte 65532 $7FFF Byte 65534

1 3 5 7

Byte 65533 Byte 65535

Memoria principal

Word Word Word Word

0 1 2 3

Word 32766 Word 32767

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 Byte Byte Byte

Byte Byte Byte Byte

0 2 4 6

$7FFE Byte 65532 $7FFF Byte 65534

1 3 5 7

Byte 65533 Byte 65535

Memoria principal

Word Word Word Word

0 1 2 3

Word 32766 Word 32767

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 física (15bits)

Dirección lógica (16bits)

00...00 0101

[15:1] CB[..]

$AB

BE0 BE1 R/#W

DB[15:0]

Microprocesador

$0000 00...0010 $0001 $0002 15 $0003 0 1 DB[7:0] DB[15:8]

BE0=1

BE1=1

Byte Byte Byte Byte

Byte Byte Byte Byte

0 2 4 6

$7FFE Byte 65532 $7FFF Byte 65534

1 3 5 7

Byte 65533 Byte 65535

Memoria principal

Word Word Word Word

0 1 2 3

Word 32766 Word 32767

Memorias: Mapas de memoria (1) • El espacio de direccionamiento lógico identifica

la máxima capacidad de memoria con la que puede trabajar un microprocesador (CM).

• La capacidad física (CF) o real de la memoria viene

dada por la suma de las capacidades de todos los chips de memoria que la forman. (CF
CHIP1 RAM

DL1 DL2

CHIP2 RAM

DL3

CHIP3 ROM

DL4

CAPACIDAD FÍSICA

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

CHIP4 RAM

ESPACIO

DL5

DE MEMORIA LIBRE

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

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

64K

DECODIFICACIÓN

$1

CS2

AB[15:12]

ESPACIO DE MEMORIA

LIBRE

AB[12:0]

$102A

uP DB[7:0]

13

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 CS1

AND

0

CB[..]

AB[15:12]

DEC

1 2

OR

4:16

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

$0000

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 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 AND RAM 2

0

AB[15:13]

DEC

1

OR

8Kx8

CSrom

AB[12:0]

3:8 6

CSram1

R/#W

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

$00000

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. - El espacio de direccionamiento es de 1M.

$00000

$00000 A18=0

A19=0

$3FFFF

$7FFFF

$7FFFF

A18=0

CSram1 = A19+A18+A17’+A16

CSram2 = A19+A18+A17’+A16’

A18=1

ROM 128K

RAM 64K

RAM2 64K A16=1

1M byte

A19=1

128K

A16=0 RAM1 64K

A14=1

-Las ecuaciones de los CS son: CSrom = A19+A18+A17

256K

$20000

A17=1 $2FFFF $30000 $3FFFF $3FFFF

$80000

512K

$1FFFF $20000

R0M 128K A17=0

$FFFFF

Espacio de 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 OR 0

AB[19:16]

DEC

1 2

4:16

3

15

uP AB[19:0] DB[7:0]

AND

AB[15:0]

RAM1 64Kx8

CSrom

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). OR ACCESO ROM (CS1)

AB[15:1]

AND

DECODIFICACIÓN

CSrom1

ROM

ROM

8Kx8

8Kx8

AB[13:1] uP

CB DB[15:0]

BE0 BE1

CSrom2

AB[13:1]

DB[7:0]

DB[15:8]

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 en la parte inferior del espacio de direccionamiento.

ROM 16K 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 altas.

• Cada una de las regiones ocupadas se etiqueta con CSx (x=1,2,3).

• Se obtienen las expresiones lógicas de

A14=1

64K $7FFF

$7FFF

$8000

$8000

dichas etiquetas:

A14=0

CS1 = A15’ A14’ A15=1

CS2 = A15 A14 A13’

$BFFF $C000

$C000

CS3 = A15 A14 A13

A13=0 A14=1

$DFFF

CS2

RAM 8K

$E000 A13=1 CS3 $FFFF

$FFFF

$FFFF

RAM 8K

Memorias: Mapas de memoria: Ejemplo 3 (3) BE0

R/#W

AND

CS3

• Las líneas MSB del AB se conectan al

BE1 CS3

CS

CS

AB[12:1]

DEC 3:8 para generar CS1, CS2 y CS3.

R/#W

AND

AB[12:1] RAM

• Atendiendo a BE0, BE1, y CSx, se

4Kx8

RAM 4Kx8

obtienen los CS de los chips de memoria

• El bus de datos de los chips que se

DB[7:0]

habilitan con BE0 se conecta a DB[7:0] y los que se habilitan con BE1 al DB[15:8].

DB[15:8]

BE0 CS2

R/#W AND

AB[12:1]

CS

BE1 CS2

AB[12:1]

RAM 4Kx8

0

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

DEC

1

3:8 6 7

uP

CB DB[15:0]

CS2 CS3

R/#W BE0 CS1

RAM 4Kx8

DB[15:8] R/#W BE1 CS1

AND

AB[13:1]

CS ROM

R/#W BE0 BE1

CS

DB[7:0]

CS1 OR

R/#W

AND

8Kx8

DB[7:0]

AND

AB[13:1]

CS

ROM 8Kx8

DB[15:8]

Fabricación de Memorias

Fábrica Kingston (Shangai) 2.5 millones de módulos al mes

Panel con 8 módulos de memoria

Panel ingresando a la etapa de soldadura

Inspección de defectos en la soldadura

Etiquetado de los módulos

Sección de control de calidad: test por módulo y en PC

Etiquetado final

Ejercicios 1. A un CPU cuyo microprocesador posee un DB 16 bits y un AB de 20 bits, se le quiere proporcionar una memoria con las siguientes características: · 256 Kpalabras (256 K x 16) de memoria ROM. · 512 Kpalabras (512 K x 16) de memoria RAM. Diseñar la memoria con el menor número de integrados, sabiendo que deseamos que la RAM ocupe las posiciones más bajas del mapa de memoria, seguida de la ROM y se poseen los siguiente tipos de integrados: Integrados de memoria ROM 64 K x 8 128 K x 1 128 K x 8 Integrados de memoria RAM 128 K x 1 256 K x 8

2. Una CPU posee un bus de datos con 16 bits, además, el bus de direcciones cuenta con 20 bits. Se quiere dotar a esa CPU de una memoria, sin multiplexación de buses, con las siguientes características: · 128 Kpalabras (128K x 16) de memoria ROM. · 640 Kpalabras (640K x 16) de memoria RAM. La memoria ROM debe situarse en las posiciones más altas del mapa de memoria direccionable y la memoria RAM debe situarse en las posiciones más bajas. Diseñar la memoria con el menor número de pastillas sabiendo que disponemos de: Integrados de memoria RAM Integrados de memoria ROM 217 x 1 216 x 8 218 x 8 217 x 1 218 x 16 217 x 16 La memoria ROM debe situarse en las posiciones más altas del mapa de memoria direccionable y la memoria RAM debe situarse en las posiciones más bajas.

3. En un PC con bus de direcciones de 32 bits y ancho de palabra de 64 bits, el mapa de memoria tiene dos secciones: · El área conocida como memoria convencional (los primeros 640 Kbytes de memoria), utilizada principalmente por el sistema operativo y programas residentes. · El área entre la memoria superior (situada a continuación, hasta ocupar 1 Mbyte), reservada para adaptadores hardware y la ROM BIOS, entre otros. Los primeros 1024 Kbytes de este computador (en 128 K direcciones) se distribuyen de la siguiente manera: · 640 Kbytes de memoria RAM (en 80 Kdirecciones) · 384 Kbytes de memoria ROM (en 48 Kdirecciones) Se disponen los siguiente tipos de integrados: Integrados de memoria RAM Integrados de memoria ROM 211 x 16 214 x 8 215 x 32 214 x 16 216 x 16 216 x 1 a. Indicar cuántos módulos de memoria y de qué características serían necesarios para diseñar el mapa de memoria, utilizando el menor número de módulos posible. c. Realizar el diseño del mapa de memoria de manera que la RAM inicie en la dirección 00000 y la ROM se ubique a continuación de ella d. Dibujar el esquema de memoria resultante.

Lección 2 Diseñar el sistema de decodificación de una memoria de un Computador basado en un microprocesador de 16 bits en su bus de direcciones y 8 bits en su bus de datos, suponiendo que se necesitan 12K×8 de memoria ROM y 8K×8 de memoria RAM. Se disponen de circuitos integrados ROM de 211×8 y 210x16 y circuitos integrados RAM de 211×8 y 210x16. La memoria está situada a partir de la dirección $0 empezando por la ROM, posterior a ella se tiene un espacio libre de 12k*8 y a continuación tendremos la RAM.

2.4 Memorias caché 

 

Para solucionar el compromiso entre velocidad, costo y capacidad se coloca una memoria pequeña y rápida entre la UCP y la memoria principal, la memoria caché. La memoria caché almacena una copia de ciertas partes de la memoria principal. Cuando la UCP intenta leer una palabra en primer lugar comprueba si está en la caché.  Si está, se lee,  Si no está, se transfiere a la memoria caché un bloque de la

memoria principal, con un determinado número de palabras. 

Acierto  Cuando el dato solicitado por la CPU está en la Mca

 Fallo  Cuando el dato solicitado por la CPU no está en la Mca

Organización  La memoria principal consta de 2n palabras y cada palabra se

puede referenciar mediante una dirección única de n bits  Para realizar la transformación entre la memoria principal y la caché, se considera que la memoria principal está constituida por una serie de bloques de longitud fija de k palabras/bloque, es decir, hay M = 2 / k bloques.  La memoria caché contiene C particiones de k palabras ( C << M). n

Acceso a la memoria caché en operación de lectura

Operación de lectura en Memoria Cache

Rendimiento de la memoria caché El rendimiento de una memoria caché se mide en la tasa de acierto. 

 Tasa

de acierto = Acierto/( Acierto + Fallo)

Índice de mejora λ de la Mca en función de la tasa de acierto h

Capacidad de la caché 

El tamaño de la caché plantea el compromiso de ser pequeña para disminuir el costo medio por bit almacenado en la memoria interna (caché + principal), por otro lado debe ser grande como para que tenga una tasa de acierto elevada.

Organización de la memoria caché Establecer la función de correspondencia que asigna a los bloques de la memoria principal en las posiciones definidas en la memoria caché  Técnicas 

 Directa  Totalmente

asociativa  Asociativa por conjuntos

Parámetros del ejemplo a utilizar en las descripciones a) Ancho de palabra de datos; p.ej. 16 bits  b) Tamaño de la Memoria caché; p.ej.512 B = 2 Bytes  c) Tamaño de bloque; k = 8  d) Tamaño de la Memoria principal = 32 KB  Ejemplos: 

9

15

 32 KB = 2 ⇒ Bus de direcciones = 15 bits ⇒ A0 a A14

 512B = 2 ⇒ Bus direcciones de la caché ⇒ 9 bits  512B y k = 8 -> Nº bloques = 512/8 = 64 bloques  k = 8 ->2 3 bits  64 bloques = 2 6 bits 9

3

6

Correspondencia directa 

Cada bloque de memoria principal se transforma en una única partición de la memoria caché.

Correspondencia totalmente asociativa  Permite que se cargue un bloque de memoria principal en cualquier partición de la memoria caché  Este sistema permite decidir cual es el bloque que será sustituido en la caché por el nuevo bloque leído en memoria principal.  Su principal desventaja es la necesidad de una circuitería compleja para examinar en paralelo los campos de etiqueta de todas las particiones de la memoria caché. Formato de instrucción

Asociativa por conjunto  Auna las ventajas de los dos métodos anteriores.  Está compuesta por “r” bloques y “q” conjuntos de modo que C =

q×r , siendo C el nº de bloques de la mem. caché.  El funcionamiento consiste en que cada bloque de la mem. ppal. tiene asignado un conjunto de la caché, pero se puede ubicar en cualquiera de los bloques que pertenecen a dicho conjunto. Ello permite mayor flexibilidad que la correspondencia directa y menor cantidad de comparaciones que la totalmente asociativa.

Algoritmos de reemplazamiento Necesarios en asociativo y conjunto  Partición más antigua en la memoria caché sin ser referenciada (LRU). 

Partición más antigua en la memoria caché (FIFO).  Partición utilizada menos frecuentemente. (LFU). 



Partición elegida de forma aleatoria.

Estrategia de escritura 

Se plantean dos problemas:  Más

de un dispositivo tiene acceso a la memoria principal. 

 Se

Si la palabra ha sido modificada en la memoria caché el dato de la memoria principal no es válido, si por el contrario ha sido modificado en memoria principal el dato de la caché no es válido.

conectan varias UPC’s a un bus y cada una tiene su propia memoria caché local.

Escritura Directa 



Efectuar todas las operaciones de escritura tanto en memoria principal como en memoria caché Su desventaja  Que

genera un tráfico elevado con la memoria y puede crear un cuello de botella

Postescritura Cuando se produce una modificación se pone a “1” un bit de actualización asociado con cada partición de la memoria caché.  Si se reemplaza un bloque se reescribe la memoria principal si y sólo si el bit de actualización está a “1”.  El problema es saber que partes de la memoria principal ya no son válidas, para evitarlo los accesos de los módulos de E/S se permiten únicamente a través de la caché. 

2.5 Memorias asociativas    





Búsqueda por contenido Consiste en una matriz de celdas de memoria, con su lógica asociada, organizada en n palabras con m bits/palabra. El registro argumento A y el registro de máscara k tienen m bits cada uno y el registro de marca M consta de n bits. Cada palabra de la memoria se compara en paralelo con el contenido del registro argumento, y se pone a “1” el bit del registro de marca asociado a aquellas palabras cuyo contenido coincide con el del registro argumento. El proceso de lectura se realiza mediante un acceso secuencial a las palabras de memoria cuyos bits en el registro de marca están a “1” El registro de máscara proporciona la clave para seleccionar la parte que se desee en la palabra argumento.

2.8 Discos magnéticos

Controlador de disco

Related Documents

Memorias Repaso Total.pptx
December 2019 4
Memorias
June 2020 20
Memorias
November 2019 29
Memorias
October 2019 28
Memorias
June 2020 15
Memorias
June 2020 15

More Documents from ""