¿En qué se mide la memoria del ordenador?

Originalmente, la memoria se medía en palabras, que solía ser el ancho de datos de los registros del ordenador. Los ordenadores de primera generación (de tubo de vacío) y de segunda generación (transistorizados) solían tener longitudes de palabra bastante amplias, como 36 bits (IBM 701, 704, 709/7090). El IBM 7090 tenía 32K palabras de memoria central (RAM), lo que equivale a 144 KB en la actualidad. En estas máquinas, a menudo se empaquetaban dos instrucciones en cada palabra.

Algunos de los primeros ordenadores empresariales tenían variaciones de memoria basadas en el sistema decimal, como el UNIVAC I (1000 palabras de 12 caracteres de 6 bits) y el IBM 650 (4000 palabras, cada una de ellas un número de 10 dígitos con signo o cinco caracteres).

Digital Equipment (DEC) introdujo el primer miniordenador (PDP-8) en 1964, con 4K palabras de memoria de 12 bits cada una. Cada instrucción también ocupaba una palabra. En una palabra cabían dos caracteres de 6 bits (sólo en mayúsculas).

IBM cambió el juego ese mismo año cuando presentó su línea de ordenadores centrales IBM System/360. Cada uno tenía la memoria dividida en caracteres de 8 bits que llamaban bytes. (Anteriormente, los bytes se habían utilizado a veces para nombrar trozos de memoria de 6 bits en las máquinas anteriores). Cada byte también podía contener un carácter EBCDIC de 8 bits, que IBM utilizaba en lugar de ASCII.

Las memorias de sus máquinas introducidas en la década de 1960 oscilaban entre 8KB (8192 bytes) y 4.096 KB (4.194.304 bytes), o 4 MB. Una palabra ahora se refería a 32 bits, con 16 bits llamados media palabra. Las instrucciones eran de longitud variable (de dos a seis bytes, o de una a tres medias palabras).

El UNIVAC 1107 (segunda generación) y el 1108 (tercera generación) seguían utilizando una memoria de 36 bits, con seis caracteres en mayúsculas por palabra. Debido al cambio a caracteres de 8 bits por parte de IBM, el 1108 también soportaba cuatro caracteres ASCII por palabra, utilizando un formato no estándar de 9 bits.

Desde la aparición de los microprocesadores en 1971, la memoria RAM se mide casi universalmente en bytes de 8 bits, kilobytes (KB, o 1024 bytes), megabytes (MB, o 1024 KB o 1024*1024 bytes) y gigabytes (GB, o 1024 MB o 1024*1024 bytes).

Los dispositivos de almacenamiento masivo suelen medirse en GB y terabytes (TB, o 1024 GB). Algún día veremos petabytes (PB, o 1024 TB).

Antes mencioné sólo la memoria RAM. Aunque la mayoría de los microordenadores utilizan la arquitectura von Neumann, en la que los programas y los datos residen en la misma memoria (como su ordenador de sobremesa o portátil), muchos microcontroladores utilizados en sistemas embebidos utilizan la arquitectura Harvard, en la que la memoria de programas y la de datos están separadas. En ese caso, el ancho de la memoria de instrucciones no tiene por qué ser el mismo que el de la RAM.

Por ejemplo, el ancho de muchos de los microcontroladores PIC de 8 bits de Microchip utilizan instrucciones de 14 bits. Por ejemplo, el PIC16F887 tiene 8K (8192) palabras de memoria flash de programa de 14 bits, lo que equivale a (14/8*8192)/1024 = 14 KB. También tiene 368 bytes (no KB) de RAM.

main-qimg-bc0486f77afee0fcb52d258f17379bde