2008. E.P.S. de Zamora

03/04/2008 E.P.S. de Zamora Informática La memoria Escuela Politécnica Superior de Zamora Departamento de Informática y Automática Informática ITOP ...
3 downloads 0 Views 3MB Size
03/04/2008

E.P.S. de Zamora Informática

La memoria Escuela Politécnica Superior de Zamora Departamento de Informática y Automática Informática ITOP José Mª González Ríos Curso 2007/2008

Memoria ¿Qué es? Es un dispositivo para almacenar información cuando trabajamos con ella.

¿Como se organiza? En agrupaciones de 8 bits, llamadas bytes Toda la información se almacena igual, pero con distinta codificación.

¿Como se localiza la información? A cada agrupación de 8 bits se le asigna una dirección: 00 . . . 0 hasta FF ...F

¿Qué podemos hacer con ella? Operaciones de Lectura/Escritura

José Mª González Ríos

Informática – 2007/2008

2

1

03/04/2008

Características de las memorias Las que mejor definen y diferencian los distintos tipos de memorias son: Duración de la información Modo de acceso a la información Tiempo de acceso Capacidad

Una memoria es un dispositivo capaz de almacenar información. Operaciones:

Escritura: Introducir información en una posición determinada de la Escritura: memoria Lectura:: Obtener información existente en una posición determinada de Lectura la memoria

Palabra de memoria

Unidad de almacenamiento típica. Contienen números binarios. La capacidad es el número de palabras: C El tamaño el número de bytes.

Direcciones de memoria

Cada palabra se identifica por un número que llamamos dirección. El tamaño de las direcciones el número de bits de las direcciones: B El espacio direccionable es D=2B. Se ha de cumplir D>=C D>=C..

José Mª González Ríos

Informática – 2007/2008

3

Parámetros básicos de las memorias Capacidad Velocidad Tiempo de acceso: acceso: tiempo que pasa desde que empieza un operación de lectura o de escritura hasta que concluye. Tiempo de ciclo: ciclo: tiempo que pasa desde que comienza una operación de lectura o de escritura hasta que se pueda empezar con la siguiente. Velocidad de ciclo: ciclo: número de palabras que se pueden leer o escribir por unidad de tiempo

Coste Medido en euros/bit o euros/byte

Ideal: memorias grandes, muy rápidas y muy baratas.

José Mª González Ríos

Informática – 2007/2008

4

2

03/04/2008

Tipos de memorias por la duración de la información

Memorias permanentes

No pueden borrarse (ROM)

Memorias volátiles Necesitan alimentación eléctrica para no perder su contenido (RAM)

Memorias de lectura destructiva Al leerlas se borran (FERRITAS)

Memorias con refresco Hay que grabar la información de forma periódica (DRAM) José Mª González Ríos

Informática – 2007/2008

5

Tipos de memorias En función de la persistencia de datos: persistentes y volátiles. En función de la naturaleza del medio: electrónicas, magnéticas y ópticas. En función del tipo de memoria semiconductora: RAM, ROM y PROM.

José Mª González Ríos

Informática – 2007/2008

6

3

03/04/2008

Jerarquía de la memoria El PC utiliza la memoria para acceder rápido a la información. El disco es más lento, pero es necesario porque la información en la RAM del sistema no es permanente. Los datos vienen de los dispositivos de entrada (ej. teclado), o del disco. Siempre van a parar a la RAM del sistema. La CPU almacena en la caché los fragmentos de información a los que accede. La CPU mantiene en los registros información para las instrucciones que ejecuta.

José Mª González Ríos

Informática – 2007/2008

7

Jerarquía de la memoria Tipo memoria Tamaño Registros CPU < 1 Kb Caché 256256-2048 Kb Mem.. Ppal. (RAM) 64Mem 64-4096 Mb Disco duro >= 4 Gb Cinta >= 4 Gb Procesador (registros)

Memoria caché

Tiempo de acceso 10 ns 20 20-100 ns 0.25 0.25-1 microseg 10 10-25 miliseg miliseg.. 1-10 seg seg.. Memoria principal Memoria secundaria

José Mª González Ríos

Informática – 2007/2008

8

4

03/04/2008

Esquema de buses y memorias Bus Local y Bus del Sistema

Buses local, del sistema y de expansión Bus Local Procesador

Cache

⌦ ⌦

Memoria

Coprocesador Matemático

Optimizados para la  arquitectura Nº fijo de dispositivos de  prestaciones conocidas

Bus Sistema

Interfaz con Bus Expansión Interfaz bus

Bus de expansión ⌦ ⌦

Bus Expansión o de E/S

Adaptador Vídeo

Monitor

Disco José Mª González Ríos

Adaptador  Red

Red

Buses más largos y lentos Bus abierto (estándar)

Accesible por el usuario Nº indeterminado de dispositivos de  distintas prestaciones 

Adapta las velocidades de ambos buses Convierte las señales de un bus a otro

Controlador  Disco

Buses rápidos, cortos Buses Propietarios (no estándares)

Adaptador  Fax/módem

Adaptador  Puerto serie

Módem

Ratón

Informática – 2007/2008

Adaptador  Puerto paralelo

Impresora 9

Memorias de ferritas Constan de una serie de anillos magnéticos de décimas de milímetros de diámetro. Cada anillo puede ser magnetizado en un sentido, o en otro, en función del sentido de la corriente que circula por un hilo conductor que atraviesa el orificio central del anillo. Permanece magnetizado cuando se interrumpe el paso de la corriente, por tanto, no son volátiles. (Toro de ferrita).

José Mª González Ríos

Informática – 2007/2008

10

5

03/04/2008

Memorias de ferritas

4 hilos en cada ferrita 2 posicionamiento 1 lectura 1 inhibición

José Mª González Ríos

Informática – 2007/2008

11

Modo de acceso Según el método utilizado para localizar la información tenemos: 1. Acceso aleatorio: aleatorio: En las memorias de acceso aleatorio se accede directamente al byte o posición deseada, en un tiempo independiente de la dirección a la que se quiere acceder, por ejemplo las memorias RAM son de acceso aleatorio. 2. Acceso secuencial: En las memorias de acceso secuencial se llega a la posición deseada a través de una secuencia de posiciones, que depende de donde esté la información en el momento en el que se quiere acceder a ella, por ejemplo para acceder a una información en una cinta magnética es necesario recorrer la cinta hasta encontrar la información deseada. José Mª González Ríos

Informática – 2007/2008

12

6

03/04/2008

Tiempo de acceso Se denomina tiempo de acceso al que transcurre entre el instante en que se envía una operación de acceso a memoria y el instante en que se dispone de la primera información buscada. Según el tiempo de acceso se puede hablar de memorias rápidas o lentas, pero como eso no es demasiado preciso, es mejor citar el tiempo de acceso, que se mide normalmente en nanosegundos.

Informática – 2007/2008

José Mª González Ríos

13

Capacidad Es la cantidad de información que puede almacenar una memoria. La unidad de almacenamiento tanto en discos como en cintas y en memoria de trabajo (RAM) es el Byte Byte.. Un Byte está constituido por 8 pulsos o señales, señales, llamados bits (abreviatura de binary digit = dígito binario). Cada símbolo interpretable, que se puede almacenar en la computadora: letras del alfabeto, signos de puntuación, etc., está formado por un byte. La capacidad de almacenamiento (fijo o temporal) se mide de acuerdo a la cantidad de bytes que pueden contener los dispositivos, y suelen utilizarse las siguientes unidades de medida: 8 bits Kilobyte (KB) Megabyte (MB) Gigabyte (GB) Terabyte (TB) Petabyte (PB) Exabyte (EB) Zettabyte (ZB) Yottabyte (YB) Brontobyte(BB) Brontobyte (BB) José Mª González Ríos

= = = = = = = = = =

1 1024 1024 1024 1024 1024 1024 1024 1024 1024

Byte Bytes Kilobytes Megabytes Gigabytes Terabytes Petabytes Exabytes Zettabytes Yottabytes

(= (= (= (= (= (= (= (= (=

210 220 230 240 250 260 270 280 290

bytes) bytes) bytes) bytes) bytes) bytes) bytes) bytes) bytes)

(1 ( 1048 048576 576 bytes) (1073 (1 073741 741824 824 bytes) (1099 (1 099511 511627 627776 776 bytes) (1125 (1 125899 899906 906842 842624 624 bytes) (1152 (1 152921 921504 504606 606846 846976 976 bytes) (1180 (1 180591 591620 620717 717411 411303 303424 424 bytes) (1208 (1 208925 925819 819614 614629 629174 174706 706176 176 bytes) (1… bytes)

Informática – 2007/2008

14

7

03/04/2008

Memorias de semiconductores Este es el tipo de memoria que se emplea actualmente, con carácter universal, como memoria principal de los computadores. La primera comercial en 1968 64 bits IBM. En 1972 el primer ordenador con la memoria principal de semiconductores. Basadas en transistores. La memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar información. Un chip de memoria de semiconductor puede contener millones de minúsculos transistores o condensadores. Existen memorias de semiconductor de ambos tipos: volátiles y no volátiles. En las computadoras modernas, la memoria principal consiste, casi exclusivamente, en memoria de semiconductor volátil y dinámica, también conocida como memoria dinámica de acceso aleatorio. aleatorio. Con el cambio de siglo, ha habido un crecimiento constante en el uso de un nuevo tipo de memoria de semiconductor no volátil llamado memoria flash. Dicho crecimiento se ha dado, principalmente en el campo de las memorias fuera de línea en computadoras domésticas. Las memorias de semiconductor no volátiles se están usando también como memorias secundarias en varios dispositivos de electrónica avanzada y computadoras especializadas. José Mª González Ríos

Informática – 2007/2008

15

Tipos de memorias

Memoria principal: Memoria ROM Memoria RAM

Memoria secundaria: Disco duro Disquetera Cd--Rom Cd Pendrive

José Mª González Ríos

Informática – 2007/2008

16

8

03/04/2008

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera Cd--Rom Cd Pendrive

Read Only Memory José Mª González Ríos

Informática – 2007/2008

17

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera Cd--Rom Cd Pendrive

Random Access Memory José Mª González Ríos

Informática – 2007/2008

18

9

03/04/2008

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera Cd--Rom Cd Pendrive

Grandes capacidades de almacenamiento José Mª González Ríos

Informática – 2007/2008

19

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera Cd--Rom Cd Pendrive

Capacidad de 1.44Mb José Mª González Ríos

Informática – 2007/2008

20

10

03/04/2008

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera CdCd -Rom o DVD Pendrive Capacidad de 700Mb (4 u 8 Gb)… Gb)… José Mª González Ríos

Informática – 2007/2008

21

Tipos de memorias Memoria Principal Memoria ROM Memoria RAM Memoria Secundaria Disco Duro Disquetera Cd--Rom Cd Pendrive

Capacidad hasta varios Gb José Mª González Ríos

Informática – 2007/2008

22

11

03/04/2008

Memorias ROM Los fabricantes de computadoras siempre acompañan el hardware del que nos proveen con ciertas rutinas de software básicas para comunicación con los dispositivos a bajo nivel. El Sistema Operativo maneja la comunicación con los dispositivos a través de estas rutinas. El conjunto de estas rutinas se conoce como el BIOS (Basic Input – Output System = Sistema Básico de Entrada y Salida), Salida), que entra en acción desde el momento en que se enciende el ordenador: Revisa la presencia y el estado de los dispositivos conectados al sistema (programas de control de periféricos: unidades de disco, teclado, puertos serie y paralelo, tarjeta gráfica, etc). etc). Revisa la cantidad de memoria disponible (Chequeo del hardware). Transfiere el control al registro de arranque (carga del S.O.), etc.

Estas rutinas son colocadas por el fabricante en un chip especial de memoria que va montado sobre la placa base (Motherboard (Motherboard). ). Por lo general el conjunto de estas rutinas no cambia y no debe ser alterado por los usuarios. Por ello ese chip especial de memoria es de “solo lectura”: Read Only Memory (ROM (ROM)) = Memoria de solo lectura. José Mª González Ríos

Informática – 2007/2008

23

Tipos de memoria ROM Hay varios tipos de ROM que pueden ser utilizados en una computadora personal: ROM: La palabra ROM puede ser aplicada a cualquiera de estos tipos de memoria, pero en este caso vamos a reservarla para memorias grabadas de fábrica en las que los transistores están dispuestos de la manera necesaria para que se lean los valores que debe contener.

PROM: Programable ReadRead-Only Memory = Memoria Programable de Solo Lectura. Se programa utilizando un tipo de dispositivo conocido como Quemador PROM o Programador PROM, PROM, el cual almacena permanentemente las instrucciones binarias en el chip.

EPROM: Erasable Programable ReadRead-Only Memory = Memoria Borrable y Programable de Solo Lectura. Este tipo

de chip puede reprogramarse. Contiene una ventana de cuarzo a través de la cuál se exponen los circuitos interiores del chip. Cuando se aplica luz ultravioleta a través de la ventana se produce una reacción química que borra el EPROM. Para hacer el borrado y la reprogramación se debe retirar el chip de la computadora.

José Mª González Ríos

Informática – 2007/2008

24

12

03/04/2008

EEPROM: Electronically Erasable Programable ReadRead-Only Memory = Memoria Electrónicamente Borrable y Programable de Solo Lectura. Puede reprogramarse sin ser extraído de la

computadora, para lo cual debe utilizarse un software especializado. Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces. Estos dispositivos suelen comunicarse mediante protocolos como I²C, SPI y Microwire. En otras ocasiones se integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez. La memoria flash es una forma avanzada de EEPROM creadas por el Dr. Fujio Masuoka mientras trabajaba para Toshiba en 1984 y fueron presentadas en la Reunión de Aparatos Electrónicos de la IEEE de 1984. Intel vio el potencial de la invención y en 1988 lanzó el primer chip comercial del tipo NOR Flash rom: Soluciona el problema de la lentitud de la reprogramación de la memoria: la realiza en bloques de 512 bytes. Esto impide que se puedan reprogramar solo pequeñas porciones de la ROM, pero debido a la velocidad, no es un problema. Los fabricantes permiten que se bajen las actualizaciones de las ROM desde Internet. José Mª González Ríos

Informática – 2007/2008

25

Memorias RAM Son memorias de lectura/escritura, acceso aleatorio y volátiles. La memoria principal de un ordenador es RAM, ya que la ROM al no permitir la escritura tiene un uso limitado. El sistema operativo y los programas y datos del usuario se almacenan en memoria RAM para poder ser usados por el procesador. Memorias de semiconductores Acceso aleatorio Volátiles

Se hace referencia a esta memoria como de “acceso aleatorio” debido a su capacidad de tener acceso a cada byte de forma directa. A diferencia de la memoria ROM, la RAM es “volátil”, es decir, pierde su contenido una vez se apaga la computadora. Tipos: DRAM -RAM Dinámica SRAM -RAM Estática SDRAM -RAM Dinámica de acceso síncrono de tasa de datos simple

José Mª González Ríos

Informática – 2007/2008

26

13

03/04/2008

Memorias RAM

José Mª González Ríos

Informática – 2007/2008

27

Memorias DRAM El 0 ó 1 se almacena en un dispositivo que se puede comparar con un condensador: tiende a descargarse: Necesita una señal de refresco emitida por el procesador, entre 1 y 18 millones de veces por segundo

Capacidades:

La capacidad de estos chips se mide en bits (entre 64 Kbit y 32 Mbit)) Mbit Los chips se agrupan en pequeñas placas: SIMM:30 y 72 contactos (S (Single In-line Memory Module)

DIMM:168 contactos (Dual InIn-line Memory Module - Módulo de Memoria lineal doble) doble)

La capacidad de las placas oscila entre 8 MB y 128 MB y su velocidad entre 80 y 50 ns José Mª González Ríos

Informática – 2007/2008

28

14

03/04/2008

Evolución de las DRAM

SDRAM

Modo de encapsulado: módulo DIMM Se sincroniza la memoria con el bus de datos y con el reloj del procesador Aumenta la tasa de trasferencia de datos Admite que se envíen comandos en los que se especifica los bancos a refrescar o actualizar. La memoria es la que espera para establecer sincronía con el resto del sistema.

José Mª González Ríos

Informática – 2007/2008

Evolución de las DRAM Data Rate Rate))

29

DDR ((Double Double

DDR, Double Data Rate ate,, significa memoria de doble tasa de transferencia de datos, en castellano. Son módulos compuestos por memorias síncronas (SDRAM), disponibles en encapsulado DIMM, que permite la transferencia de datos por dos canales distintos simultáneamente en un mismo ciclo de reloj. Los módulos DDRs soportan una capacidad máxima de 1 Gb También se utiliza la nomenclatura PC1600 a PC4800, ya que pueden transferir un volumen de información de 8 bytes en cada ciclo de reloj a las frecuencias descritas. Un ejemplo de cálculo para PCPC-1600: 100 MHz x 2 Ciclos x 8 B = 1600 MB/s Muchas placas base permiten utilizar estas memorias en dos modos de trabajo distintos: Single Memory Channel: Channel: Todos los módulos de memoria intercambian información con el bus a través de un sólo canal, para ello sólo es necesario introducir todos los módulos DIMM en el mismo banco de slots. Dual Memory Channel Channel: Se reparten los módulos de memoria entre los dos bancos de slots diferenciados en la placa base, y pueden intercambiar datos con el bus a través de dos canales simultáneos, uno para cada banco.

José Mª González Ríos

Informática – 2007/2008

30

15

03/04/2008

Evolución de las DRAM (Direct Rambus)

DRRAM

RIMM, acrónimo de Rambus Inline Memory Module, designa a los RIMM, módulos de memoria RAM que utilizan una tecnología denominada RDRAM, desarrollada por Rambus Inc. a mediados de los años 1990 con el fin de introducir un módulo de memoria con niveles de rendimiento muy superiores a los módulos de memoria SDRAM de 100 MHz y 133 MHz disponibles en aquellos años. Los módulos RIMM RDRAM cuentan con 184 pins y debido a sus altas frecuencias de trabajo requieren de difusores de calor consistentes en una placa metálica que recubre los chips del módulo. Se basan en un bus de datos de 16 bits y están disponibles en velocidades de 300MHz (PC(PC-600), 356 MHz (PC (PC-700), 400 MHz (PC(PC-800) y 533 MHz (PC (PC--1066) que por su pobre bus de 16 bits tenía un rendimiento 4 veces menor que la DDR. La RIMM de 533MHz tiene un rendimiento similar al de un módulo DDR133, a pesar de que sus latencias son 10 veces peores que la DDR. Fueron introducidos por Intel para su uso en servidores. José Mª González Ríos

Informática – 2007/2008

Evolución de las DRAM (Direct Rambus)

31

DRRAM

Modo de encapsulado: módulo RIMM con 168 pines Utiliza una tecnología de bus No puede haber slot vacío, el canal queda abierto y no funciona Módulos de continuidad Pueden ser de una o de doble cara Admite cualquier número de chips, hasta 32 Las velocidades de trasferencia de datos pueden llegar hasta 3.2 GB/s

José Mª González Ríos

Informática – 2007/2008

32

16

03/04/2008

Canal Direct Rambus

José Mª González Ríos

Informática – 2007/2008

33

SRAM Static Random Access Memory (Memoria Estática de Acceso Aleatorio)

ESTÁTICA No necesitan señal de refresco Utilizan varios transistores por bit Reduciendo su capacidad y elevando su precio. Son más rápidas: de 50 a 15 ns La memoria SRAM es muy cara, por lo que se suele usar con más frecuencia la memoria DRAM la cual es más barata y más pequeña, pero también más lenta, además necesita periódicas señales de refresco para que no pierda su contenido. La SRAM por su parte no necesita ser refrescada. Ambas memorias son volátiles, queriendo decir con esto, que cuando se corta el suministro de corriente, los datos almacenados se pierden. De este tipo es la CMOS. (ver sgte diapositiva). Tipos: 1. Async SRAM Es asíncrona, esto es, independiente de la frecuencia de reloj y con tiempos de acceso entre 20 y 12 nanosegundos. Podemos encontrar este tipo de memoria en la caché de los antiguos i386, i486 y primeros Pentium. 2. Sync SRAM Todas las sincronizaciones se inician por el tiempo de subida/bajada del reloj. La dirección, dato almacenado y otras señales de control se asocian a las señales del reloj. José Mª González Ríos

Informática – 2007/2008

34

17

03/04/2008

CMOS Memoria RAM conectada a una pila de botón Su tamaño es de 64 ó 128 bytes Mantiene: Un reloj en tiempo real Configuración del ordenador

Ventajas:

Cantidad de memoria, tipo de discos, ...

El bajo consumo de potencia, gracias a la alta impedancia de entrada de los transistores y a que, en estado de reposo, un circuito CMOS sólo experimentará corrientes parásitas. Gracias a su carácter regenerativo, son robustos frente a ruido o degradación de señal debido a la impedancia del metal de interconexión y sencillos de diseñar. La tecnología de fabricación está muy desarrollada, y es posible conseguir densidades de integración muy altas a un precio mucho menor que otras tecnologías

E inconvenientes: inconvenientes:

Debido al carácter capacitivo de los transistores, y al hecho de que estos son empleados por duplicado en parejas nMOSnMOS-pMOS, pMOS, la velocidad de los circuitos CMOS es comparativamente menor que la de otras familias lógicas. Según se va reduciendo el tamaño de los transistores, las corrientes parásitas empiezan a ser comparables a las corrientes dinámicas (debidas a la conmutación de los dispositivos).

José Mª González Ríos

Informática – 2007/2008

35

Funcionamiento de la memoria La forma en que está organizada una memoria principal es la siguiente: está dividida en N palabras, donde N es generalmente una potencia de 2, y a cada palabra se le asigna una dirección, o posición en la memoria. Cada palabra tiene el mismo número de bits, llamados longitud de palabra. Dicha longitud es también una potencia de 2, puede ser 8, 16, 32, etc. Por compatibilidad con los procesadores anteriores las posiciones de memoria se suelen numerar siempre de 8 en 8 bits, con independencia de que el procesador pueda acceder directamente a 16 bits, o más. Las direcciones, o números de dirección en la memoria, van consecutivamente. Se suelen expresar en hexadecimal partiendo de 00....000 y llegando hasta la dirección más grande posible que será la FF....FFF. El procesador puede leer o escribir una palabra en cada posición de memoria. Es muy importante entender la diferencia entre el contenido de una dirección de memoria y la dirección en sí misma. misma. La memoria es como un gran gabinete con muchos cajones, los cuales corresponden a las direcciones de memoria. En cada cajón hay una palabra y la dirección de cada palabra se escribe en la parte externa del cajón. Para obtener el contenido de un cajón debemos saber cual es, es decir debemos tener la dirección, pero el contenido es lo que hay dentro del cajón que no tiene nada que ver con su dirección. José Mª González Ríos

Informática – 2007/2008

36

18

03/04/2008

Funcionamiento de la memoria Los chips de memoria tienen exteriormente un conjunto de patas con los que pueden ser conectados al resto de componentes del ordenador. Se pueden dividir en tres grupos fundamentales: a) Bus de direcciones: direcciones: Este conjunto de patas contiene la dirección en forma de número binario del dato que se busca, se conectan a otro conjunto de patas similares que tiene el procesador, cuando éste quiere leer un dato coloca en el bus de direcciones la dirección del dato y espera a que la memoria se lo envíe por el bus de datos que se explica a continuación. b) Bus de datos: datos: Estas patas se conectan al bus de datos del procesador y por ellas circulan los datos entre ambos. Por ejemplo, si un chip de memoria contiene un bus de datos de 1 bit (es decir una sola pata) en cada celda de memoria de ese chip se puede almacenar sólo un bit; si el procesador accede a la memoria de 8 en 8 bits, será preciso poner 8 chips similares y conectar el bus de datos de cada uno a cada una de las 8 patas del bus de datos del procesador, así cada dato de 8 bits que maneje el procesador tendrá cada uno de sus bits en un chip distinto. c) Señales de control: control: Sirven para controlar el proceso, por ejemplo una de ellas llamada W / R sirve para que la memoria sepa si el procesador quiere leer o escribir. José Mª González Ríos

Informática – 2007/2008

37

Funcionamiento de la memoria Para permitir ampliar posteriormente la memoria, normalmente el ancho del bus de direcciones del procesador es mayor que el ancho del bus de direcciones de los chips de memoria, en ese caso las líneas superiores del bus de direcciones del procesador tienen que pasar por un decodificador, que se encarga de seleccionar el chip correcto que contiene el dato. Por ejemplo supongamos que el procesador tiene un bus de direcciones de 16 bits y que empleamos para la memoria chips con un bus de direcciones de 14 bits y 1 bit para el bus de datos. El procesador puede acceder a 64Kb, mientras que los chips de memoria tienen capacidad de sólo 16Kbits, juntando 8 chips obtenemos 16Kb y con 4 grupos de 8 chips llenamos los 64Kb, en ese caso los 14 bits bajos del bus de direcciones se conectan a los 14 bits del bus de direcciones de todos los chips. Los 2 bits altos del bus de direcciones se conectan al decodificador que saca 4 señales, una cuando dichos bits son 00, otra cuando son 01, otra para 10 y finalmente otra para 11. Cada una de las señales del decodificador va a parar a una pata, llamada chip select, select, de los 8 chips de cada grupo, cada chip está seleccionado sólo cuando recibe la señal chip select. select. José Mª González Ríos

Informática – 2007/2008

38

19

03/04/2008

Ram direccionada por los procesadores de Intel Cada posición de memoria o byte se identifica mediante una dirección o número de posición, al igual que las casas y las calles en las que habitamos. ¿Cuántos bytes de memoria RAM puede tener cada ordenador?. La cantidad de bytes de memoria depende del tamaño del bus de direcciones del microprocesador. El bus de direcciones está formado por líneas de 1 bit cada una, por las que viajan en paralelo (1 bit por todas las líneas a la vez) las direcciones de las celdas de memoria. Una línea de 1 bit es un circuito por el que puede viajar 1 bit (un 0 ó un 1). Si el bus de direcciones es de 2 bits (tiene 2 líneas), sólo podrá gestionar 4 direcciones de celdas de memoria de 1 byte; es decir, 4 bytes. Con 2 líneas se pueden enviar estas 4 direcciones: 00, 01, 10 y 11. En general, el número de direcciones de un microprocesador es 2n siendo n el número de líneas del bus de direcciones. En este caso 22 es igual a 4. Los microprocesadores de los ordenadores PC poseen los siguientes tamaños en el bus de direcciones. El 8088/8086 propio de los PC y XT tenía 20 líneas, por tanto gestionaba 220, que es igual a 1.048.576 bytes; es decir, 1024K (1MB). El 286 tenía un bus de direcciones de 24 bits; por tanto, 224 direcciones, que es igual a 16MB. Y los micros 386 y superiores tienen 32 líneas; por tanto, 232, que es igual a 4 GB. Por supuesto, esto es la capacidad máxima que puede llegar a tener el ordenador. Otra cosa es el número de chips de memoria RAM que tenga realmente instalados el ordenador. En resumen, el máximo de direcciones es 1MB en el microprocesador 8088/8086, 16MB en el 286 y 4.096MB en los 386 y superiores. (4 TB los de 64 bits) José Mª González Ríos

Informática – 2007/2008

39

Leyendo de la memoria Cuando el procesador quiere acceder a un dato, es decir, para leer un dato de la memoria, realiza la siguiente secuencia: 1. Coloca la dirección del dato en el bus de direcciones. 2. Coloca en la pata W / R un 0 para indicar que desea leer. 3. Espera un tiempo prefijado a que la memoria coloque en el bus de datos el dato en cuestión. 4. Lee el dato del bus de datos y da por concluida la secuencia. Como se ha dicho antes las posiciones de memoria se numeran en bytes, sin embargo el procesador puede acceder a datos de tamaño mayor, por ejemplo de 16 bits, hay dos posibles alternativas para esta situación, una es colocar en la parte baja del número leído el contenido de la posición baja de memoria y en la parte alta el de la posición alta, por ejemplo si la posición de memoria 1234 contiene el número 56 y la posición 1235 contiene el 78, al leer un dato de 16 bits de 1234 se obtiene 7856 (todos los números están en hexadecimal). Éste es el comportamiento de los procesadores de Intel, pero existen otros, por ejemplo la familia 68000 de Motorola, que emplean el inverso, es decir en el caso anterior un procesador 68000 leería de memoria el dato 5678. José Mª González Ríos

Informática – 2007/2008

40

20

03/04/2008

Escribiendo en memoria Cuando el procesador transfiere un dato hacia la memoria, es decir, cuando se escribe en la memoria, se produce la siguiente secuencia: 1. Coloca la dirección del dato en el bus de direcciones. 2. Coloca en la pata W / R un 1 para indicar que desea escribir. 3. Coloca el dato en el bus de datos. 4. Espera un tiempo prefijado a que la memoria lea el dato del bus de datos y almacene dicho valor en la dirección pedida, pasado ese tiempo da por concluida la operación. El esquema para escribir datos multibyte es el mismo que emplea a la hora de leer, por tanto al escribir un dato de 16 bits y posteriormente volverlo a leer se obtiene el mismo valor, con independencia del orden en que se guarde en memoria (bajo(bajo-alto o alto alto--bajo), ya que se emplea el mismo orden a la hora de leerlo. José Mª González Ríos

Informática – 2007/2008

41

Memoria caché Incluso con un bus muy ancho y muy rápido, la CPU procesa los datos más rápido que lo que tardan en llegar desde memoria a CPU. Las cachés alivian este problema haciendo que los datos que se utilizan con mayor frecuencia sean accesibles inmediatamente por la CPU. Esto se consigue porque una pequeña cantidad de memoria llamada caché primaria o de nivel 1, está dentro de la CPU. El intercambio de datos entre la CPU y la memoria RAM es una de las tareas que se hacen con mayor frecuencia. Dado que la RAM es mucho más lenta que la CPU se ha incorporado a la CPU y a la Motherboard, Motherboard, un circuito de memoria Caché, la cuál es una memoria de alta velocidad. Esta es una de las cosas que mejora el desempeño del sistema en general. La memoria Caché es un circuito de memoria de alta velocidad en el que se almacenan bloques de instrucciones del programa en ejecución y un bloque de datos del conjunto de datos que se está utilizando. Esto bajo el supuesto de que los siguientes datos o instrucciones que se van a ejecutar están inmediatamente después de los últimos datos o instrucciones utilizados. José Mª González Ríos

Informática – 2007/2008

42

21

03/04/2008

Niveles de memoria caché Existen dos tipos de memoria caché: Caché N1 (de Nivel 1 = L1) Caché N2 (de Nivel 2 = L2)

Antiguamente, la memoria caché solo venía en circuitos montados sobre la placa madre. Actualmente, se puede encontrar memoria caché incorporada dentro del microprocesador. La caché que está más cerca del procesador es la de nivel 1. 1. La caché de nivel 2 puede encontrarse en la placa madre, o incluso en un segundo bloque de caché dentro del procesador (como en los actuales). La caché de nivel 1 es muy pequeña, normalmente normalmente entre 2 kilobytes (KB) y 64 KB. La caché secundaria o de nivel 2 está en un chip fuera de la CPU, con conexión directa con la CPU. El tamaño de la caché de nivel 2 está entre 256 KB y 2 megabytes (MB). En la mayoría de los sistemas, los datos necesarios por la CPU están en la caché (95%), lo que recude mucho el tiempo perdido por la CPU. SRAM (static (static random access memory) memory) es el tipo de chips empleados para las cachés. Son peculiares porque no necesitan refresco. José Mª González Ríos

Informática – 2007/2008

43

Memoria caché: funcionamiento La memoria caché funciona de la siguiente manera: Cuando un programa está ejecutándose y la CPU necesita ir a traer datos (o más instrucciones) a la RAM, primero verifica que los datos estén en la memoria caché. Si no los encuentra en la caché, traerá una copia de esos datos de la RAM a la CPU y también realizará una copia en la memoria caché. La próxima vez que los necesita, los irá a buscar a la memoria caché, de donde los podrá extraer más rápidamente.

El último bloque de datos leído desde la RAM también se copia en la memoria caché. Este bloque es, con mucha probabilidad, el mismo que se necesitará en la próxima lectura de datos. José Mª González Ríos

Informática – 2007/2008

44

22

03/04/2008

Otros tipos de caché A parte de la caché con respecto a la memoria RAM, en un PC existen muchos otros sistemas de caché, como:

Memoria RAM como caché: Las unidades de almacenamiento (discos

duros, discos flexibles, etc.) y otros muchos periféricos utilizan la memoria RAM como sistema de caché, una zona de la RAM contiene la información que se ha buscado últimamente en dichos dispositivos, de forma que basta con acceder a la RAM para recuperarla. Disco duro como caché: Se emplea al disco duro como caché a dispositivos aún más lentos (unidades CDCD-ROM). Estos sistemas de caché suelen estar gobernados mediante software, que se suele integrar en el sistema operativo. La caché de disco almacena direcciones concretas de sectores, almacena una copia del directorio y en algunos casos almacena porciones o extensiones del programa o programas en ejecución. Los navegadores Web utilizan el disco duro como caché, al solicitar una página Web, el navegador acude a Internet y comprueba la fecha de la misma. Si la página no ha sido modificada, se toma directamente del disco duro, con lo que la carga es muy rápida. En caso contrario se descarga desde Internet y se actualiza la caché, con un cierto tiempo de espera. En el caso de los navegadores Web, el uso del disco duro es más que suficiente, ya que es extremadamente más rápido que el acceso a Internet. José Mª González Ríos

Informática – 2007/2008

45

23