II Les bases

3. Les constituants du PC

 

• 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...).