En quoi la mémoire d’un ordinateur est-elle mesurée ?


À l'origine, la mémoire était mesurée en mots, ce qui correspondait généralement à la largeur des données des registres de l'ordinateur. Les ordinateurs de première génération (tube à vide) et de deuxième génération (transistorisé) avaient généralement des longueurs de mots assez larges, comme 36 bits (IBM 701, 704, 709/7090). L'IBM 7090 avait 32K mots de mémoire centrale (RAM), soit l'équivalent de 144 Ko aujourd'hui. Sur ces machines, souvent deux instructions étaient emballées dans chaque mot.


Certains des premiers ordinateurs professionnels avaient des variantes de la mémoire décimale, comme l'UNIVAC I (1000 mots de 12 caractères de 6 bits) et l'IBM 650 (4000 mots, chacun un nombre signé de 10 chiffres ou cinq caractères).

Digital Equipment (DEC) a introduit le premier mini-ordinateur (PDP-8) en 1964, avec 4K mots de mémoire de 12 bits chacun. Chaque instruction prenait également un mot. Deux caractères de 6 bits (majuscules uniquement) pouvaient tenir dans un mot.


IBM a changé la donne la même année en présentant sa gamme d'ordinateurs centraux IBM System/360. Chacun avait une mémoire divisée en caractères de 8 bits qu'ils appelaient octets. (Auparavant, les octets étaient parfois utilisés pour nommer des morceaux de mémoire de 6 bits sur les machines précédentes). Chaque octet pouvait également contenir un caractère EBCDIC de 8 bits, qu'IBM utilisait à la place de l'ASCII.

La mémoire de leurs machines introduites dans les années 1960 allait de 8 Ko (8192 octets) à 4 096 Ko (4 194 304 octets), soit 4 Mo. Un mot correspondait désormais à 32 bits, 16 bits étant appelés demi-mot. Les instructions étaient de longueur variable (deux à six octets, ou un à trois demi-mots).

L'UNIVAC 1107 (deuxième génération) et 1108 (troisième génération) utilisaient cependant toujours une mémoire de 36 bits, six caractères majuscules par mot. En raison du passage aux caractères 8 bits par IBM, le 1108 supportait également quatre caractères ASCII par mot, en utilisant un format 9 bits non standard.

Depuis l'arrivée des microprocesseurs en 1971, la mémoire RAM est presque universellement mesurée en octets 8 bits, en kilobytes (KB, ou 1024 octets), en mégaoctets (MB, ou 1024 KB ou 1024*1024 octets) et en gigaoctets (GB, ou 1024 MB ou 1024*1024*1024 octets).

Les dispositifs de stockage de masse sont généralement mesurés en Go et en téraoctets (TB, ou 1024 Go). Un jour, nous verrons des pétaoctets (PB, ou 1024 TB).

J'ai mentionné précédemment la seule mémoire RAM. Bien que la plupart des micro-ordinateurs utilisent l'architecture de von Neumann, où les programmes et les données résident dans la même mémoire (comme votre ordinateur de bureau ou portable), beaucoup de microcontrôleurs utilisés dans les systèmes embarqués utilisent l'architecture de Harvard, dans laquelle les mémoires de programmes et de données sont séparées. Dans ce cas, la largeur de la mémoire d'instructions ne doit pas nécessairement être la même que celle de la RAM.

Par exemple, la largeur de nombreux microcontrôleurs PIC 8 bits de Microchip utilise des instructions de 14 bits. Par exemple, le PIC16F887 possède 8K (8192) mots de mémoire flash de programme de 14 bits, ce qui équivaut à (14/8*8192)/1024 = 14 Ko. Il dispose également de 368 octets (et non Ko) de RAM.

main-qimg-bc0486f77afee0fcb52d258f17379bde