Mémoire

La mémoire est une partie fondamentale d'un ordinateur et d'un système d'exploitation. C'est dans la mémoire que tout est stocké :

Son accès est plus rapide que les autres devices, mais est plus lent que la mémoire (beaucoup plus chère) cache du processeur.

définition

La mémoire est tableau de taille $2^{64}-1$ contenant des byte

Un byte correspond à 8 bit, que l'on range par convention de droite à gauche, pour pouvoir facilement lire sa valeur. Le byte ci-dessous correspond au nombre binaire :0b11001101, c'est à dire 205 :

index  : 76543210
valeur : 11001101

Si le bit représente la quantité d'information minimale (0 ou 1), le byte est l'unité fondamentale de stockage. On ne pourra jamais véhiculer moins d'un byte et toute donnée sera constituée d'un multiple de byte.

Objets manipulés

Il ne faut pas confondre l'adresse en mémoire, souvent donnée en bit et son contenu, donné en byte.

Pour stocker un tableau adressé sur 8bits il faut $2^8 = 256$ byte, c'est à dire $2^8 \cdot 8 = 2048$ bits.

Unités

Attentions aux unités :

64b correspond à 8B.

On a coutume de considérer les quantités suivantes :

Multiples

Les taille de mémoire sont grande, on ne peut les manipuler directement en byte. Le système décimal nous permet de parler de multiples en kilo, méga, giga et tera :

Mais lorsque l'on parle de mémoire, on a coutume de chercher à voir la taille en byte de mémoire d'objets selon une quantité d'adresses exprimé en bit. De là 1 KB n'a que peu de sens. C'est 1024B qui en a (le nombre de byte adressable par 10 bits).

C'est pourquoi, on parlera de multiple binaires comme le kibi byte, pour kilo binaire d'unité kiB, qui vaut $2^{10} = 1024$ byte.

La différence n'est pas grande mais autant être précis.

On peut ainsi progresser dans les multiples :

Valeurs

La valeur de ce qu'il y a en mémoire dépend du contexte. Un byte peut être :

La signification d'un byte ou d'un ensemble de byte contiguës (dans un tableau) est toujours dépendant du contexte.

index          : 76543210
valeur binaire : 11001101
int > 0        : 205
int < 0        : -51
ASCII 8b       : Í