Cours structure interne des ordinateurs, tutoriel & guide de travaux pratiques en pdf.
Architecture du Pentium
Historique
L’histoire de la famille 80×86 d’Intel commence dans les années 70 avec le 8080, un processeur de 8 bits avec un bus d’adresses de 16 bits, qui pouvait adresser un total de 64 Ko.
Vers 1980, le 8086 et le 8088 font leur apparition, ce dernier avec le premier PC d’IBM. Ce sont des processeurs de 16 bits avec un bus d ’adresses de 20 bits, qui avaient une capacité d ’adressage de 1 Mo. Le 8088 diffère du 8086 par la largeur du bus de données externe qui est de 16 bits dans le 8086 et de 8 bits dans le 8088.
Toutefois, même si le bus d’adresses était de 20 bits, les registres internes d’adresses étaient toujours de 16 bits pour assurer la compatibilité avec le 8080. Comment donc accéder au reste de la mémoire? Toute la complexité des processeurs Intel vient de la solution adoptée à cette époque pour régler ce problème. On décida que l’adresse serait constituée des 16 bits des registres internes ajoutée à 16 fois le contenu d’un de quatre registres appelés registres de segment. Ces quatre registres étaient CS (Code Segment), DS (Data Segment), SS (Stack Segment) et ES (Extra Segment). On remarque que chaque segment a une taille de 64 Ko (offset 16 bits et 216), et que la distance entre chaque segment peut aller de 16 octets à 64 Ko.
La capacité totale d’adressage est 0xFFFF0 + 0xFFFF = 0x10FFEF, qui dépasse légèrement 1 Mo (0xFFFFF). Le 80286 fait son apparition quelques années plus tard avec un bus d’adresses de 24 bits (capacité de 16 Mo). C’est là que les choses se compliquent.
Registres d’entiers
Pour l’instant, nous n’abordons que la partie visible au programmeur qui travaille en mode utilisateur. Nous aborderons l’architecture du Pentium II plus en détail au chapitre X.
Un registre est un contenant dans lequel on peut placer des motifs de bits de 8, 16 ou 32 bits. On peut appeler un registre par son nom et effectuer des opérations en utilisant les instructions machine. Par exemple, add eax, 4 additionne 4 au contenu du registre eax et place le résultat dans eax. Dans ce processeur, un motif de 8 bits s’appelle un octet (byte), un motif de 16 bits s’appelle un mot et un motif de 32 bits, un double mot.
………