Ao_cours2
Ao_cours2
Ao_cours2
ordinateurs
Chapitre 2: Architecture du processeur
Chargé de cours:
Dr. ATTA Amanvon Ferdinand
Institut Universitaire d’Abidjan
Année académique 2024-2025
Note
Ce document est un ensemble de notes de cours du chapitre 2 du cours intitulé
Architecture et technologie des ordinateurs délivré par Dr. ATTA Amanvon Ferdinand
durant le Licence I MIAGE 2024-2025. S’il vous plaît, envoyez vos commentaires et/ou
corrections à ferdinand.atta@outlook.fr
(Alan J. Perlis)
1
TABLE DES MATIÈRES Processeur
2 Composants du Processeur 3
2.1 L’Unité de Contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 L’Unité Arithmétique et Logique (ALU) . . . . . . . . . . . . . . . . . . . 5
2.3 Les bus de communication . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Les Registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Conclusion 13
1 Introduction
Un processeur est un circuit intégré complexe caractérisé par une très grande intégration
et doté des facultés d’interprétation et d’exécution des instructions d’un programme. Il est
chargé d’organiser les tâches précisées par le programme et d’assurer leur exécution. Il doit
aussi prendre en compte les informations extérieures au système et assurer leur traitement.
C’est le cerveau du système.
Les objectifs de la leçon sont les suivants :
2 Composants du Processeur
Le processeur exécute les instructions d’un programme. Cette tâche est réalisée par deux
blocs principaux : l’unité de contrôle et l’Unité Arithmétique et Logique (ALU). La figure
1 illustre l’architecture simplifiée d’un processeur.
et recommencer. Pour cela l’unité de commande ou de contrôle est constituée d’un certain
nombre de composants internes qui assurent chacun une fonction bien déterminée.
intégré), qui permettent le transfert des informations électriques binaires. Ces ensembles de
« fils » constituent les bus :
— Le bus d’adresses permet au processeur de désigner l’adresse d’un octet en mémoire.
Selon le cas, il peut s’agir de l’adresse d’un ou de plusieurs octets à charger dans le
processeur ou à stocker en mémoire.
En d’autres termes, Le bus d’adresses (Address Bus) comme son nom l’indique, est
destiné à véhiculer des adresses, que ce soit l’adresse de l’instruction à charger dans
le registre instruction, ou celle de la donnée à charger dans un registre particulier ou
à envoyer sur une entrée de l’UAL. La largeur du bus d’adresses détermine la taille
de la mémoire qui sera directement adressable (adressage physique) par le micropro-
cesseur. Ainsi, avec un bus d’adresses d’une largeur de 16 bits on peut obtenir 216
combinaisons soit autant de cellules mémoires où loger instructions ou données (avec
un bus d’adresses de 32 bits on peut ainsi adresser 4 Go de mémoire physique). Dans
ce type de bus les adresses ne circulent que dans le sens unité centrale vers mémoire,
ce bus est dit unidirectionnel.
— Le bus de données permet de désigner la valeur à charger dans le processeur ou à
stocker en mémoire.
En d’autres termes, Le bus de données (Data Bus) permet, comme son nom l’indique,
le transfert de données (instructions, ou données à traiter) entre les composants du sys-
tème. Suivant le nombre de « fils » que compte le bus, on pourra véhiculer des mots de
8, 16, 32 ou 64 bits. Ce nombre de bits pouvant circuler en même temps (en parallèle)
détermine ce que l’on appelle la largeur du bus. Les informations pouvant circuler
dans les deux sens sur un tel bus (de la mémoire vers l’unité centrale ou de l’unité
centrale vers la mémoire par exemple), le bus de données est dit bidirectionnel.
— Le bus de commande permet au processeur de désigner l’opération à effectuer, char-
gement dans le processeur ou stockage en mémoire.
— XR : Registre d’index. Ce registre peut être utilisé comme un registre GPR. En plus
on dispose d’instructions permettant de l’incrémenter ou de le décrémenter. En plus
il a une fonction spéciale qui d’une grande utilité dans la manipulation des tableaux
de données. Il est en effet utilisé comme paramètre pour calculer les adresse suivant
une forme particulière d’adressage appelée adressage indexé.
— RE : Registre d’état appelé aussi registre de condition. Il est formé de plusieurs bits
appelés drapeaux qui sont positionné par l’ALU après chaque opération. On dispose
d’un jeux d’instruction conditionnées par l’état de différents drapeaux. Par exemple
le bit indicateur Z indique quand il est positionné que le résultat de l’opération est
égal à Zéro. Le bit C indique que l’opération éxécutée à produit une retenue. Lz bit O
indique un dépassement de capacité dans l’ACC est que le résultat est faux. Le bit N
indique que le résultat est négatif . . .
— SP : pointeur de pile (Stack Pointer). Ce registre pointe (contient l’adresse) sur une
zone mémoire qu’on appelle pile (LIFO) dans laquelle le processeur (ou le program-
meur) peut sauvegarder momentanément des données sans être obliger de gérer le
problème d’adressage.
— Adresse mémoire : Indique que l’opérande est stocké à une adresse spéci-
fique en mémoire.
— Valeur immédiate : Une donnée directement incluse dans l’instruction.
ADD R1, R2
5.1.2 Comment
C’est donc une architecture avec un grand nombre d’instructions où le microprocesseur doit
exécuter des tâches complexes par instruction unique. Pour une tâche donnée, une machine
CISC exécute ainsi un petit nombre d’instructions mais chacune nécessite un plus grand
nombre de cycles d’horloge. Le code machine de ces instructions varie d’une instruction à
l’autre et nécessite donc un décodeur complexe (micro-code).
Avantages
— Peu instructions par programme : Grâce à des instructions complexes, un programme
écrit pour une architecture CISC peut utiliser moins d’instructions.
— Flexibilité : Le nombre d’instructions et de modes d’adressage permet une plus grande
flexibilité dans le développement logiciel.
Inconvénients
— Exécution plus lente par instruction : Chaque instruction complexe peut prendre
plusieurs cycles d’horloge pour s’exécuter, ce qui peut rendre l’exécution plus lente
par rapport aux processeurs RISC.
— Matériel plus complexe : La gestion des instructions complexes et du microcodage
rend le matériel plus compliqué et plus coûteux à produire.
5.2.2 Comment
C’est donc une architecture dans laquelle les instructions sont en nombre réduit (charge-
ment, branchement, appel sous-programme). Les architectures RISC peuvent donc être réa-
lisées à partir de séquenceur câblé. Leur réalisation libère de la surface permettant d’aug-
menter le nombres de registres ou d’unités de traitement par exemple. Chacune de ces ins-
tructions s’exécutent ainsi en un cycle d’horloge. Bien souvent, ces instructions ne disposent
que d’un seul mode d’adressage. Les accès à la mémoire s’effectue seulement à partir de
deux instructions (Load et Store). Par contre, les instructions complexes doivent être réa-
lisées à partir de séquences basées sur les instructions élémentaires, ce qui nécessite un
compilateur très évolué dans le cas de programmation en langage de haut niveau.
Avantages
— Performance élevée : Grâce à l’exécution rapide des instructions en un seul cycle
d’horloge, les processeurs RISC offrent une haute performance par cycle.
— Moins de complexité matérielle : La simplification des instructions permet de conce-
voir des processeurs plus simples et moins coûteux en termes de ressources maté-
rielles.
Inconvénients
— Plus d’instructions pour certaines tâches : Certaines opérations complexes néces-
sitent plusieurs instructions simples, ce qui peut augmenter le nombre total d’instruc-
tions pour des tâches complexes.
5.3 Comparaison
Le choix dépendra des applications visées. En effet, si on diminue le nombre d’instructions,
on crée des instructions complexes (CISC) qui nécessitent plus de cycles pour être déco-
dées et si on diminue le nombre de cycles par instruction, on crée des instructions simples
(RISC) mais on augmente alors le nombre d’instructions nécessaires pour réaliser le même
traitement.
6 Conclusion
Le processeur est l’un des composants principaux constitué de deux grands blocs (UAL&UC)
et qui est chargé de l’exécution des programmes.