La mémoire
La mémoire est un ensemble de puces qui
peuvent mémoriser une quantité énorme de bits.
On distingue deux types de mémoires : la mémoire ROM
et la mémoire RAM.
ROM signifie Read Only Memory, c'est-à-dire qu'on ne peut
que la lire. Cette mémoire contient le BIOS (Basic Input/Output
System), qui va se charger à la mise sous tension du PC de
son initialisation : détection des périphériques
installés tels que le disque dur, tests du matériel
(processeur, mémoire, ports, etc...), puis lancement du système
d'exploitation. En outre, le BIOS contient des routines systèmes
pour accéder à l'écran, au clavier, à
l'heure et à la date, etc... que les programmes ou le système
d'exploitation peuvent appeler.
RAM signifie Random Access Memory (mémoire à accès
aléatoire, ce qui veut dire qu'on peut lire/écrire
à partir de n'importe quel emplacement). Cette mémoire
est réinitialisée à chaque démarrage
du PC. La mémoire est une suite de bits, cependant elle est
organisée par octets, c'est-à-dire par suites de 8
bits. Chaque octet de la mémoire possède une "adresse".
C'est par l'intermédiaire de cette adresse que l'on pourra
lire ou écrire un octet de mémoire. Plus concrètement,
cela signifie que l'on ne peut pas lire/écrire un seul bit
directement, car toutes les opérations de lecture/écriture
se font à partir de l'adresse donnée, donc agissent
sur au moins un octet.
En mode 32 bits (voir la section mode réel
et mode protégé), la limite théorique de la
RAM est de 4 Go, car on utilise 32 bits pour représenter
les adresses, et 2^32 = 4294967296 octets, soit 4 Go (en effet vous
devez savoir que 1 Ko = 1024 octets, 1 Mo = 1024 Ko, etc...).
Vocabulaire : Une suite de deux octets forme un
mot, une suite de deux mots ou quatre octets forme un double-mot,
ou long mot.
En anglais, cela donne : byte (octet), word (mot), double word (double
mot) ou long word (long mot).
Le microprocesseur
C'est le cerveau du PC. Il est placé sur
la carte mère. Son unique rôle est d'exécuter
des instructions machines qu'il va chercher dans la mémoire.
Ces instructions sont toutes codées par un nombre, appelé
"opcode". Voici ce que fait le microprocesseur :
- Il va chercher dans la mémoire l'opcode de l'instruction
à exécuter.
- En l'analysant, il prend connaissance de l'instruction à
exécuter, et aussi du nombre et de la taille des opérandes
(les opérandes sont les paramètres de l'instruction).
- Il va chercher dans la mémoire les opérandes.
- Enfin il exécute l'instruction.
- Puis il recommence avec l'opcode suivant...
La vitesse à laquelle sont effectuées ces actions
dépend évidemment de la fréquence du microprocesseur.
Les contrôleurs
Les contrôleurs servent à gérer
et à programmer tous les périphériques externes
et leur permettre de communiquer avec le microprocesseur. Par exemple,
il existe des contrôleurs de disque dur, de disquettes, de
clavier, d'écran (c'est la carte vidéo). Tous les
périphériques ne possèdent pas de contrôleurs
: ainsi l'imprimante, la souris, le modem communiquent avec le microprocesseur
par l'intermédiaire des ports (série, parallèle,
USB).
Le bus
Il permet à tous ces composants de communiquer
entre eux. Ainsi, le microprocesseur accède à la mémoire
à travers le bus. Mais sa connaissance n'est pas nécessaire
pour programmer en asm, car son utilisation est tout à fait
transparente. Sachez simplement qu'on peut y distinguer deux voies
: le bus d'adresses et le bus de données. Dans le bus d'adresses
le microprocesseur dépose l'adresse de l'octet en RAM désigné,
et le bus de données servira soit en envoyer l'octet à
écrire, soit à recevoir le contenu de l'octet visé.
La largeur du bus d'adresses définit la
quantité maximale d'octets disponibles. Sur le 386, elle
est de 32 bits, donc la limite théorique est de 4 Go, comme
vu précédemment.
La largeur du bus de données est liée avec le nombre
d'octets que l'on peut envoyer simultanément. Sur les anciens
ordinateurs elle était seulement de 8 bits, c'est-à-dire
que pour envoyer un mot (16 bits), il fallait procéder en
deux étapes. Sur le 386, le bus de données est de
32 bits, donc on peut envoyer un double-mot en une seule opération.

|
Copyright 2000 Jean-Rémy Lacharnay.
Je ne pourrais être tenu pour responsable des éventuelles conséquences
que l'exécution des exemples fournis peut avoir sur votre machine (plantages,
pertes de données, etc...).
|
|
|