Memoria (Informtica) La memoria es el dispositivo que retiene o almacena datos informticos durante un intervalo de tiempo. La memoria permite implementar una de las principales funciones de la computacin moderna (arquitectura de Von Neumann): el almacenamiento de datos.
Memoria (Informtica) En la actualidad el trmino memoria se refiere a una forma de almacenamiento de estado slido (memoria RAM o ROM), pero inicialmente este trmino abarca otras formas de almacenamiento masivo como: tarjetas perforadas, cintas magnticas, discos pticos, discos magnticos (discos duros), etc.
Memoria (Informtica) Las diferencias entre memoria y dispositivos de almacenamiento masivo, se ha ido diluyendo por el uso histrico de los trminos Almacenamiento Primario o Almacenamiento Principal (para memorias de acceso aleatorio), y Almacenamiento Secundario (para dispositivos de almacenamiento masivo). La mayora de los sistemas operativos usan los dispositivos de almacenamiento secundario como rea de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora (a esta utilizacin del almacenamiento secundario se le denomina memoria virtual).
Definicin de Memoria En el sentido amplio, se denomina memoria a todo dispositivo que sirva para almacenar datos. Desde ese punto de vista tenemos una gran variedad de "memorias" como podemos ver en el siguiente grfico:
Tipos de Memoria Registros: Son "lugares" de almacenamiento que estn ubicados dentro del procesador (en el ncleo) y que no son direccionables (no tiene una posicin de memoria). Cada registro tiene un "nombre" (normalmente una o dos letras). Se les referencia mediante la propia instruccin.
Tipos de Memoria Memoria Cache: Son memorias del tipo SRAM. Son muy rpidas y estn ubicadas entre la memoria principal y el ncleo (core) del procesador o CPU.
Tipos de Memoria Memoria Principal: Son memorias del tipo DRAM, que tiene gran capacidad de almacenamiento. Son mas lentas que las memorias cach. Ejemplo: memoria ROM y RAM.
Tipos de Memoria Memoria Secundaria: Son dispositivos de almacenamiento: Almacenamiento magntico como los discos duros. Aalmacenamiento de estado slido: SSD
Tipos de Memoria Memoria Auxiliar: Son dispositivos de almacenamiento magntico y ptico como los diskettes, cintas magnticas, CD, memorias USB. El trmino auxiliar se refiere a que no siempre estn accesibles por el procesador.
Tipos de Memoria Memoria en la Red: Los datos se almacenan en Internet y son accedidos desde cualquier lugar. Esto es una funcionalidad del denominado Cloud Computing.
Memorias Semiconductoras La memoria semiconductora es un dispositivo electrnico el cual puede almacenar bits de informacin en forma permanentemente (ROM) o temporalmente (RAM); dicha informacin puede ser datos a ser procesados o instrucciones de programas.
Memorias Semiconductoras Posiciones de memoria: Es donde se almacena los datos (bits). El tamao depende del tipo de memoria: 1 bit 4 bits (nibble) 8 bits (byte) 16 bits (word) 32 bits (double word) 64 bits. etc.
Memorias Semiconductoras Registro de direcciones: Indica que registro dentro de la memoria queremos acceder (leerla o escribirla). Esta direccin tambin llamado posicin de memoria, se expresa en numeracin hexadecimal.
Memorias Semiconductoras Decodificador: Convierte una direccin en habilitacin del registro direccionado. Datos: Es por donde ingresa (escribir) o sale (leer) un dato almacenado en un determinado registro. Control: Sirve para habilitar a la memoria y decirle si queremos escribirla o leerla.
Memorias Semiconductoras Las memorias externamente estn compuestas por tres buses (conjunto de lneas): Bus de direcciones: Este bus sirve para indicar que ubicacin dentro de la memoria queremos leer o escribir. Estas lneas se especifican mediante la letra A (address). Bus de Datos: Sirve para que la informacin ingrese a la memoria (cuando estamos escribiendo) o salga de la memoria (cuando estamos leyendo). Estas lneas se especifican mediante la letra D (data).
Memorias Semiconductoras Bus de Control: Sirve para indicar a la memoria si la estamos: Seleccionando: CS (Chip Select) Si queremos leerla: RD (Read) Si queremos escribirla: WR (Write).
Memorias Semiconductoras Velocidad de una memoria: La velocidad de una memoria se especifica mediante el parmetro Tiempo de Acceso. Es el tiempo que se demora la memoria en entregar un dato. Se especifica en nanosegundos (nseg).
Tiempo de acceso es el retardo temporal o latencia entre una
peticin a un sistema electrnico y la finalizacin de la misma o la devolucin de los datos solicitados.
ROM (Read Only Memory) La memoria ROM es una memoria de solo lectura, en donde se almacena datos que no queremos que se pierdan cuando se le quita la energa elctrica a la memoria. Tambin se dice que una memoria ROM es una memoria permanente.
Tipos de memorias ROM PROM (Programmable Read Only Memory): Memoria que poda ser grabado una sola vez por el usuario. EPROM (Erasable Programmable Read- Only): Memoria grabable elctricamente y borrable mediante luz ultravioleta.
Tipos de memorias ROM EEPROM (Electrically Erasable Programmable Read- Only Memory): Memoria grabable y borrable elctricamente. Actualmente es la memoria que se emplean en las mainboard para almacenar el BIOS. Debido al empleo de este tipo de memoria, es posible realizar una actualizacin a dicho programa (esto normalmente se requiere cuando nuestra mainboard es antigua y queremos conectar una nueva interfase o instalar un nuevo sistema operativo).
Tipos de memorias ROM Las actualizaciones para el BIOS por lo general son creadas y publicadas para: Corregir errores. Aadir compatibilidad con hardware y estndares nuevos. Agregar nuevas funcionalidades.
Tipos de memorias ROM Para realizar la actualizacin del BIOS en algunas mainboard antiguas, se requiere realizar una configuracin por hardware; eso significa habilitar la grabacin elctrica de la memoria EEPROM. mediante una accin de jumpeo:
Tipos de memorias ROM Si se interrumpe un proceso de actualizacin del BIOS, puede que su equipo no funcione correctamente. Es recomendable que el proceso se realice en un entorno con una fuente de alimentacin estable (de preferencia con UPS).
Factor de Forma o Encapsulados de memorias ROM Las memorias ROM bsicamente viene en dos tipos de encapsulados: DIP (Dual in-line package). SMP (Surface Mount Technology)
Aplicaciones de las memorias ROM Las memorias tipo ROM se utilizan para almacenar datos que deben requerir de alguna o varias de estas caractersticas: Que exista un programa de inicio para un procesador. Ejemplos: BIOS (Basic Input Output Sytem) de las computadoras. En esta memoria en el caso de las computadoras personales, se tiene: BIOS, que es el programa de inicio de la computadora, junto con los programas que inicializan a las interfases. POST (Power On Self Test), es una programa inicializa y prueba cada uno a uno los componentes de la PC: controladores de teclado, controlador de interrupciones, acceso directo a memoria, etc. SETUP: Configuracin de la PC. Benchmark: Programa de diagnstico y evaluacin de performance.
Aplicaciones de las memorias ROM Firmware de perifricos como teclados, impresoras, escners, etc. Que exista datos que nunca se modifiquen. Ejemplos: ROM de caracteres en una tarjeta de video. ROM de tarjeta de red, en donde se almacena entre otras cosas la direccin MAC.
RAM (Random Access Memory) Las memorias RAM son memorias de almacenamiento temporal o memorias voltiles porque mantiene almacenado los datos y programas mientras est energizada. Si la energa es interrumpida se pierden los datos. Las memorias RAM son memorias de acceso aleatorio porque el tiempo para leer o escribir en cualquier posicin de memoria es igual. Esto no sucede con las antiguas "memorias" como son las cintas magnticas, las cuales tiene un acceso secuencial.
RAM (Random Access Memory) Cuando encendemos una computadora, en la memoria RAM se carga: A: El sistema operativo que tenga instalado la PC. Observar que cuando "instalamos" el sistema operativo, lo que realmente estamos haciendo es copiar todos los programas que forman el sistema operativo al disco duro. B: Los drivers que son programas que permiten la comunicacin con perifricos. Ejemplo: el driver de nuestra impresora. C: Las aplicaciones que estn programadas de cargarse cuando se enciende el computador. Ejemplo: programa de antivirus. Todos los programas que estemos ejecutando en la computadora. Ejemplo: Word, navegador de internet, etc.
Tipos de memorias RAM Existe dos tipos de memorias RAM: DRAM (Dynamic Random Access Memory) La informacin se almacena en capacidades parsitas. Requiere de pulsos de refresco. Es relativamente lenta, pero barata. Ejemplo: memoria RAM de las computadoras personales. SRAM (Static Random Access Memory) Los datos se almacenan en dispositivos electrnicos denominados Flip/Flop. No requieren de pulsos de refresco. Es rpida pero costosas. Ejemplo: memoria cach.
Tipos de memorias RAM La mayora de estas memorias son implementadas en "mdulos de memoria":
Tarjeta (1): es una placa plstica sobre la cul estn
soldadas los componentes de la memoria. Chips (2): son mdulos de memoria voltil. Conector (3): sirve para insertar la memoria a la ranura especial para memoria llamado slot. Muesca (4): indica la posicin correcta para insertar la memoria en la ranura o slot de la mainboard.
implementan con este tipo de memorias. Son memorias que requiere de un proceso de lectura llamado "refresco de memoria" para que los datos almacenados no se pierdan (recuerde que estas memorias almacenan la informacin en capacidades parsitas). Su gran ventaja es que son memorias baratas en comparacin a las memorias SRAM.
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) DIP (Dual in-line package): Fueron el primer formato de memorias RAM que se emplearon en una mainboard. Se usaron en las mainboards 8088 (XT) y 80286 (AT). Las memorias ms usadas eran: DRAM 4116: Memoria de 16Kx1bit, por ende se requera 8 memorias para formas un byte. Adicionalmente se tena una memoria ms para el bit de paridad. Las 9 memorias formaban lo que se denomina un banco. DRAM 4164: Memoria de 64Kx1bit. DRAM 4464: Memoria de 64Kx4bits. DRAM 41256: Memoria de 256Kx1bit. DRAM 44256: Memoria de 256Kx4bits.
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) Algunas de estas memorias se usaron para realizar las primeras implementaciones de memoria cach.
Memoria DRAM 41256 con 120 milisegundos de tiempo de acceso.
Ver el siguiente enlace: http://fuyn.dtdns.net/wiki/index.php/44256
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) SIPP (Single In-line Pin Package): Son memorias de 8 bits. Se emplearon en mainboard 80286. Su velocidad de trabajo era la misma que los microprocesadores de la poca, entre 25 MHZ y 33 MHz. Esta memoria estaba compuesta por: Tarjeta (1): es una placa sobre la cul estn soldadas los componentes de la memoria. Chips (2): son mdulos de memoria voltil. Conector (3): son 30 pines que se insertan en el mainboard.
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) SIMM (Single in line Memory Module): Debido a que se requera mayores capacidades de memoria de las computadoras comenz a utilizar mdulos de memoria para ahorrar espacio en la mainboard. En lugar de conectar individualmente 9 chips del tipo DIP solo se requera un slo mdulo de memoria SIMM para incrementar la memoria del computador. Haban dos tipos de memoria SIMM: SIMM de 30 pines y de 8 bits de datos (adicionalmente tienen 1 bits para la paridad). Fueron utilizados en mainboards 80286, 80386 y 80486. Ejemplos: Para una mainboard 80286 se requera 2 mdulos SIMM de 30 pines por banco (para formar los 16 bits de datos que manejaba el 80286). Para una mainboard 80386DX se requera 4 mdulos SIMM de 30 pines por banco (32 bits).
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) SIMM tiene 72 pines y 32 bits de datos. Fueron empleados en mainboards 80486, Pentium I, Pentium Pro, y en las primeras mainboards de Pentium II. Ejemplos: Para 80386DX se requera de un solo mdulo por banco para tener los 32 bits del procesador.
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) Las tecnologas DRAM implementados en SIMM fueron: FPM RAM (Fast Page Mode RAM): Fue inspirado en tcnicas como el Burst Mode usado en procesadores como el Intel 80486. Se implant un modo direccionamiento en el que el controlador de memoria enva una sola direccin y reciba el contenido de esa y varias consecutivas sin necesidad de generar todas las direcciones. Esto supuso un ahorro de tiempos ya que ciertas operaciones son repetitivas cuando se desea acceder a muchas posiciones consecutivas. Se fabricaban con tiempos de acceso de 70 60 ns. Se emplearon en mainboard Pentium I. Estas memorias se implementaron en formato SIMM de 30 pines y 72 pines.
DRAM Asincrnica (Asynchronous Dynamic Random Access Memory) EDO RAM (Extended Data Output RAM): Versin mejora de FPM RAM. Se fabricaron con tiempos de accesos de 40 y 30 ns. Se implementaron en formato SIMM de 72 pines.
SDRAM (Synchronous Dynamic Random-Access Memory) Son memoria que est sincronizada con el clock del sistema. Esto le permite mayor velocidad de respuesta.
SDRAM (Synchronous Dynamic Random-Access Memory) SDR SDRAM (Single Data Rate Synchronous Dynamic Random-Access Memory): Son memorias de 64 bits. Memoria sncrona, con tiempos de acceso de entre 25 y 10 ns. Fue utilizada en las mainboards: Pentium II, Pentium III, AMD K6, AMD Athlon K7 y Duron. Los tipos disponibles son: PC66: SDR SDRAM, funciona a un mximo de 66.6 MHz. Tasa de transferencia: 533 MB/s. PC100: SDR SDRAM, funciona a un mximo de 100 MHz. Tasa de transferencia: 800MB/s. PC133: SDR SDRAM, funciona a un mximo de 133.3 MHz. Tasa de transferencia: 1066MB/s.
SDRAM (Synchronous Dynamic Random-Access Memory) RDRAM (Rambus Dynamic Random Access Memory): Fueron memorias de 16 bits (aunque luego parecieron memorias de 32 bits, pero no fueron muy comerciales). Trabajaba con los flancos de subida y bajada del clock. Fue utilizada en las mainboards Pentium 4. Era la memoria ms rpida en su tiempo, pero por su elevado costo fue rpidamente cambiada por la econmica DDR.
SDRAM (Synchronous Dynamic Random-Access Memory) Los tipos disponibles fueron (16 bits): PC600: RIMM RDRAM, funciona a un mximo de 300 MHz. Tasa de transferencia: 1200MB/s. PC700: RIMM RDRAM, funciona a un mximo de 356 MHz. Tasa de transferencia: 1400MB/s. PC800: RIMM RDRAM, funciona a un mximo de 400 MHz. Tasa de transferencia: 1600MB/s. PC1066: RIMM RDRAM, funciona a un mximo de 533 MHz. Tasa de transferencia: 2132MB/s PC1200: RIMM RDRAM, funciona a un mximo de 600 MHz. Tasa de transferencia: 2400MB/s.
SDRAM (Synchronous Dynamic Random-Access Memory) Estas memorias son implementadas en mdulos RIMM de 184 contactos:
Disipador (1): es una placa metlica que cubre la tarjeta
plstica y los chips, ya que tienden a sobrecalentarse y de este modo absorbe el calor y lo transmite al ambiente. Conector (2): son 184 contactos que se insertan en la mainboard. Muescas (3): son 2 hendiduras caractersticas de la memoria RIMM y que indican la posicin correcta dentro de la ranura de memoria.
SDRAM (Synchronous Dynamic Random-Access Memory) Estas memorias al ser instalas requieren de un terminator denominado CRIMM (Continuity-RIMM) en todos los conectores de memoria que estn vacos para evitar el efecto de "reflejo de la seal".
SDRAM (Synchronous Dynamic Random-Access Memory) DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access Memory): Memoria sncrona, enva los datos dos veces por cada ciclo de clock (trabajan con flanco de subida y bajada).
SDRAM (Synchronous Dynamic Random-Access Memory) La nomenclatura utilizada para DDR, DDR2, DDR3 y DDR4 es: DDRx-yyyy PCx-zzzz x representa a la generacin DDR yyyy la frecuencia aparente en MHz. zzzz la mxima tasa de transferencia de datos por segundo, en megabytes. La tasa de transferencia depende de dos factores: Ancho de bus de datos (por lo general 64 bits) Frecuencia aparente. Ejemplo: igual a dos veces la frecuencia de clock. Tasa de transferencia en MB/s = (Frecuencia de aparente) x (8)
SDRAM (Synchronous Dynamic Random-Access Memory) Ejemplo: 1 GB DDR-400 PC-3200, representa un mdulo de 1 GB (Gigabyte) de tipo DDR; con frecuencia aparente de 400 MHz (su frecuencia de clock es de 200MHz); y una tasa de transferencia de datos mxima de 3200 MB/s. Los tipos disponibles son: PC1600 o DDR 200: funciona a un mximo de 100 MHz. PC2100 o DDR 266: funciona a un mximo de 133.3 MHz. PC2700 o DDR 333: funciona a un mximo de 166.6 MHz. PC3200 o DDR 400: funciona a un mximo de 200 MHz.
SDRAM (Synchronous Dynamic Random-Access Memory) Existe versiones DIMM para computadoras porttiles denominados SO-DIMM (Small Outline DIMM): SO-DIMM de 72 contactos para memorias FPM y EDO. SO-DIMM DDR de 100 contactos: son de 32 bits. SO-DIMM SDRAM de 144 contactos para memorias FPM y EDO: son de 64 bits. SO-DIMM DDR de 200 contactos para memorias DDR1 y DDR2: son de 64 bits. SO-DIMM DDR de 204 contactos para memorias DDR3. SO-DIMM DDR de 256 contactos para memorias DDR4.
SDRAM (Synchronous Dynamic Random-Access Memory) DDR2 SDRAM (Double Data Rate type two SDRAM): Trabajan al doble de la frecuencia del clock, permitiendo que durante cada ciclo de reloj se realicen cuatro transferencias.
SDRAM (Synchronous Dynamic Random-Access Memory) Los tipos disponibles son: PC2-3200 o DDR2-400: funciona a un mximo de 100 MHz. PC2-4200 o DDR2-533: funciona a un mximo de 133.3 MHz. PC2-5300 o DDR2-667: funciona a un mximo de 166.6 MHz. PC2-6400 o DDR2-800: funciona a un mximo de 200 MHz. PC2-8500 o DDR2-1066: funciona a un mximo de 266.6 MHz. PC2-9600 o DDR2-1200: funciona a un mximo de 300 MHz. Se presentan en mdulos DIMM de 240 contactos.
SDRAM (Synchronous Dynamic Random-Access Memory) DDR3 SDRAM (Double Data Rate type three SDRAM): Trabajan al cudruple de la frecuencia del ncleo, permitiendo que durante cada ciclo de reloj se realicen ocho transferencias. Trabaja con un voltaje menor al DDR2, (1.35 o 1.5 voltios), lo que genera una disminucin en el consumo elctrico.
SDRAM (Synchronous Dynamic Random-Access Memory) Los tipos disponibles son: PC3-6400 o DDR3-800: funciona a un mximo de 100 MHz. PC3-8500 o DDR3-1066: funciona a un mximo de 133.3 MHz. PC3-10600 o DDR3-1333: funciona a un mximo de 166.6 MHz. PC3-12800 o DDR3-1600: funciona a un mximo de 200 MHz. PC3-14900 o DDR3-1866: funciona a un mximo de 233.3 MHz. PC3-17000 o DDR3-2133: funciona a un mximo de 266.6 MHz. PC3-19200 o DDR3-2400: funciona a un mximo de 300 MHz. PC3-21300 o DDR3-2666: funciona a un mximo de 333.3 MHz.
SDRAM (Synchronous Dynamic Random-Access Memory) Se presentan en mdulos DIMM de 240 contactos (el mismo nmero que DDR2); sin embargo son fsicamente incompatibles, debido a una ubicacin diferente de la muesca.
SRAM (Static Random Access Memory) Memoria Cach: Es una memoria muy rpida y que es usada por el procesador para reducir el tiempo de acceso a datos ubicados en la memoria principal que se utilizan con ms frecuencia. Existen varios tipos de memoria cach dependiendo de su ubicacin:
SRAM (Static Random Access Memory) Memoria cach Nivel 1 (Level 1): Es una memoria ubicada en el ncleo del procesador. Inicialmente esta memoria estaba implementada en las mainboard. Ejemplo: mainboard 80386. Es muy rpida pero de pequea capacidad.
SRAM (Static Random Access Memory) En los procesadores actuales se tienen dos memorias cach Nivel 1: Nivel 1 Cach de Datos: Se encarga de almacenar datos usados frecuentemente y cuando sea necesario volver a utilizarlos, accede a ellos en muy poco tiempo, por lo que se agilizan los procesos. Nivel 1 Cach de Instrucciones: Se encarga de almacenar instrucciones usadas frecuentemente y cuando sea necesario volver a utilizarlas, inmediatamente las recupera, por lo que se agilizan los procesos.
SRAM (Static Random Access Memory) Memoria cach Nivel 2 (Level 2): Es una memoria ubicada fuera del ncleo del procesador, pero en el mismo encapsulado. Inicialmente esta memoria estaba implementado en la mainboard. Ejemplo: mainboard 80486.
SRAM (Static Random Access Memory) Existen dos tipos de memoria cach Nivel 2: Cach Exclusivo: Los datos solicitados se eliminan de la memoria cach Nivel 2. Cach Inclusivo: Los datos solicitados se quedan en la memoria cach Nivel 2.
Normalmente la memoria cach 2 se implementa por
ncleo y no distingue entre datos e instrucciones. Autor: Mauricio Galvez Legua (mgalvez@uni.edu.pe) 80 SRAM (Static Random Access Memory) Memoria cach Nivel 3 (Level 3): Esta memoria se encuentra en algunos procesadores modernos (fuera del ncleo). Es ms rpida que la memoria principal, pero ms lenta que las memorias cach Nivel 2. En esta memoria se agiliza el acceso a datos e instrucciones que no fueron localizadas en L1 o L2. Es generalmente de un tamao mayor y ayuda a que el sistema guarde gran cantidad de informacin agilizando las tareas del procesador.
Tecnologas en la memoria cach Con la aparicin de los procesadores multi-ncleos, se tienen dos opciones para conectar las memorias cach: Memoria cach privada (private): Cada ncleo tiene asignado su propia memoria cach. Ejemplos: La memoria cach Nivel 1 en los procesadores Intel y AMD.
Tecnologas en la memoria cach Memoria cach compartida (shared): Los diversos ncleos de un procesador comparte la memoria cach. Ejemplos: La memoria cach Nivel 2 en los procesadores Intel Core Duo.
Tecnologas en la memoria cach Smart Cache: Es una tecnologa desarrollada por Intel que se aplica a las memorias cach Nivel 2 o 3, en procesadores mltiples ncleos de ejecucin. Smart Cache comparte la memoria cach real entre los ncleos de un procesador multincleo (multicore). En comparacin a la opcin de una cach por cada ncleo. Un solo ncleo puede utilizar todo el nivel 2 o nivel 3 de cach si los otros ncleos estn inactivos. Por otra parte, la memoria cach compartida hace que sea ms rpido para compartir la memoria entre los diferentes ncleos de ejecucin.
Aplicaciones de las memorias RAM Bsicamente las memorias RAM se utilizan para: Almacenar los programas que esta ejecutando un procesador. Dicho programa previamente ha sido "cargado" a la memoria desde un dispositivo de almacenamiento secundario como un disco duro. Ejemplos: Memoria Principal de una computadora. Memoria Cach.
Aplicaciones de las memorias RAM Almacenar datos que est procesando un procesador. Ejemplo: VRAM o RAM de video que tiene toda interfase de video. Almacenar datos que se transmite entre el procesador y un perifrico o viceversa. Ejemplo: Buffer de impresora.