Vous êtes sur la page 1sur 14

Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

mémoire. L’instruction, enregistrée sous forme binaire à l’adresse


CHAPITRE 4 : L’UNITE donnée, est transférée vers l’unité de commande, où son décodage
CENTRALE DE TRAITEMENT permet de déterminer l’opération demandée. Cette information est
utilisée pour générer les signaux nécessaires à l’UAL pour déclencher
1. Architecture l’exécution de l’instruction. Les données à traiter sont aussi cherchées
1.1. Description en mémoire par l’unité de contrôle et transférées directement à
L’unité centrale de traitement ou processeur central est l’UAL.
l’élément moteur de l’ordinateur qui interprète et exécute les
1.3. Les bus
instructions des programmes. Véritable cerveau de l’ordinateur, le
Les différentes unités de l’ordinateur sont interconnectées par
CPU est intimement associé à la mémoire où sont stockées les
des systèmes de câblage transportant des signaux électriques. Pour
instructions et les données à traiter. L’ensemble CPU et mémoire
éviter de relier chaque unité à toutes les autres, on fait usage de
centrale est souvent appelée unité centrale.
lignes exploitées en commun par les dispositifs qui y sont rattachés.
L’unité centrale de traitement se compose de deux unités
On appelle bus ces ensembles de câbles. On distingue des
fonctionnellement séparées : l’unité arithmétique et logique (UAL) et
architectures basées sur un bus unique sur lequel sont branchés tous
de l’unité de commande ou de contrôle. L’UAL est la zone du CPU où
les organes de l’ordinateur. En général, les interconnexions sont
les opérations arithmétiques et logiques sont réalisées. L’unité de
assurées par des bus spécialisés, tels le bus système, le bus
commande dirige le fonctionnement de toutes les autres unités (UAL,
d’entrées/sorties, etc. Caque bus est constitué d’un certain nombre
mémoire, entrées/sorties) en leur fournissant les signaux de cadence
de câbles qui sont généralement affectés à des tâches spécifiques,
et de commande ; ses circuits génèrent les signaux nécessaires à
par exemple, le transport d’adresse, de données ou de commandes.
l’exécution de chaque instruction d’un programme.

1.2. Principe de fonctionnement


Le fonctionnement peut être décrit de la façon suivante :
l’unité de commande va chercher en mémoire centrale une
instruction en envoyant une adresse et une commande à la

vanel.divin@gmx.fr Page 1
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

2. Unité de commande
2.1. Architecture
L’unité de commande est l’ensemble des dispositifs
coordonnant le fonctionnement de l’ordinateur afin de lui faire
exécuter la suite d’opérations spécifiées dans les instructions.
Les principaux dispositifs de l’unité de commande, qui entrent
en jeu lors de la recherche en mémoire et du décodage d’une
instruction, sont :
• le compteur ordinal, qui est un registre contenant
l’adresse en mémoire où est stockée l’instruction à
chercher ; Figure 4.1: Cycle de recherche d'une instruction

• le registre d’instruction qui reçoit l’instruction qui doit Les différentes étapes du cycle de recherche peuvent être
être exécutée ; résumées ainsi :
• le décodeur de code opération, qui détermine quelle
1) transfert de l’adresse de la nouvelle instruction du CO vers
opération doit être effectuée, parmi toutes les
le RA, registre d’adresse de la mémoire ;
opérations possibles ;
2) une impulsion de lecture, générée par l’unité de
• le séquenceur qui génère les signaux de commande
commande, provoque le transfert de l’instruction
• l’horloge, qui émet des impulsions électroniques
cherchée vers le RM, qui fonctionne comme un registre
régulières, synchronisant ainsi toutes les actions de
tampon pour toutes les informations lues ou écrites en
l’unité centrale.
mémoire ;
2.2. Cycle de recherche 3) transfert de l’instruction dans le RI
La circulation des informations pendant un cycle de recherche 4) pendant que l’adresse de l’opérande est envoyé vers le
est illustré par la figure suivante. RA, le code opération est transmis au décodeur qui

vanel.divin@gmx.fr Page 2
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

détermine le type d’opération demandée et le transmet Le cycle d’exécution comprend normalement les étapes
au séquenceur en envoyant un signal sur la ligne de sortie suivantes :
correspondante ;
1) le séquenceur commence à envoyer les signaux de
5) le CO est incrémenté en vue du cycle de recherche
commande vers la mémoire pour lire l’opérande à
suivant.
l’adresse déjà stockée dans le RA et le faire parvenir au
2.3. Cycle d’exécution RM ;

Le cycle de recherche est suivi par le cycle d’exécution durant 2) transfert du contenu du RM vers l’UAL, et plus précisément

lequel l’opération spécifiée dans l’instruction est effectuée par l’UAL. vers l’accumulateur ou tout autre registre affecté à

La séquence exacte des actions coordonnées par le séquenceur l’opération spécifiée. Dans certains cas, par exemple,

dépendra naturellement de l’opération ; en général, pendant un mémorisation d’un résultat, c’est le contenu de

cycle d’exécution, l’information circulera selon le schéma de la l’accumulateur qui sera transféré vers le RM. S’il s’agit

figure ci-après. d’une instruction de branchement, le champ adresse de


l’instruction doit alors être transférée dans le CO ;
3) l’opération est effectuée sous contrôle du séquenceur.

Une fois le cycle d’exécution terminé, l’unité de commande


passe immédiatement au cycle de recherche suivant et prend en
compte la nouvelle instruction indiquée par l’adresse contenue dans
le CO.

3. Synchronisation des opérations


Les circuits qui synchronisent et contrôlent toutes les opérations
de l’ordinateur sont situés dans l’unité de commande. Les signaux
Figure 4.2: Cycle d'exécution
périodiques générés par l’horloge définissent le cycle de base ou

vanel.divin@gmx.fr Page 3
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

cycle machine, durée élémentaire régissant le fonctionnement de la capable de commander son déroulement. Le sous circuit approprié
machine. est activé par un signal provenant du décodeur.
Le cycle CPU désigne le temps d’exécution de l’instruction la On peut obtenir le même résultat avec une suite de micro-
plus courte ou la durée d’une action élémentaire provoquant un instructions stockées dans une mémoire de microprogramme. Ce
changement d’état. Le cycle mémoire est beaucoup plus long que microprogramme est capable de générer une suite de signaux de
le cycle CPU et limite la performance de l’ordinateur. Pour pallier commande équivalente à celle produite par un séquenceur câblé.
cette lenteur relative de la mémoire centrale, on a introduit des
mémoires entrelacées permettant le recouvrement des cycles, ainsi
5. Niveaux de programmation
que des mémoires caches permettant d’anticiper les transferts de Pour écrire un programme, l’utilisateur a souvent le choix entre

données et d’instructions vers le CPU. La vitesse de fonctionnement plusieurs langages. L’ordinateur, par contre comprend seulement

d’un ordinateur ne dépend donc pas seulement de sa fréquence son propre langage, le langage machine, avec son jeu d’instructions

d’horloge, mais aussi du cycle et de la structure de la mémoire, du niveau machine.

temps d’accès de l’éventuelle cache, etc. En programmation, on utilise le terme langage pour indiquer un
ensemble d’instructions et de règles syntaxiques permettant l’écriture
4. Séquenceur de ce que l’on appelle le code source. Mais la machine n’est
Le séquenceur est un automate générant les signaux de capable d’exécuter que des programmes écrits en code machine
commande nécessaires pour actionner et contrôler les unités ou code objet ; d’où la nécessité de traduire le code source en code
participant à l’exécution d’une instruction donnée. Ces signaux sont objet avant de le soumettre à la machine. Ce travail de traduction
distribués aux différents points de commande des organes se fait automatiquement à l’aide de programmes traducteurs, tels les
concernés selon un chronogramme tenant compte des temps de assembleurs et les compilateurs. Si le code objet n’est pas produit
réponse des circuits sollicités. Cet automate peut être réalisé de deux explicitement, on parle alors d’interprétation du code source. On
façons : séquenceur câblé ou séquenceur microprogrammé. interprète un langage en exécutant directement ses instructions en
Le séquenceur câblé est un circuit séquentiel complexe qui fait code source. Ce travail est accompli par un programme interpréteur.
correspondre à chaque instruction exécutable un sous-circuit

vanel.divin@gmx.fr Page 4
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

On distingue plusieurs niveaux de langage de programmation, programmeur. Le nombre d’instructions varie typiquement entre 50
les niveaux supérieurs se rapprochant du langage utilisateur, les et 250.
niveaux inférieurs s’adaptant mieux aux caractéristiques de la Historiquement, les jeux d’instructions se sont progressivement
machine. complexifiés. Instructions de tailles variables, opérations composées,
opérandes de types multiples (adresse mémoire, registre,
6. Structure des instructions niveau machine composition de registre, etc.) se sont multipliés, compliquant par la
Une instruction machine doit fournir au CPU toutes les même occasion la construction du CPU, par exemple en imposant la
informations pour déclencher une opération élémentaire présence d’un séquenceur microprogrammé afin d’exécuter
(additionner deux nombres, tester le signe d’une valeur numérique, convenablement de très nombreuses instructions différentes. Cette
copier le contenu d’un registre dans un autre registre, stocker en architecture se dénomme CISC (Complex Instruction Set Computer).
mémoire le résultat d’une opération, etc.). Elle doit contenir le code En réaction, d’autres constructeurs ont préconisé de se
opération qui est essentiel pour spécifier le type d’action demandé. restreindre à un petit nombre d’instructions élémentaires dans un
En outre, elle doit contenir une ou plusieurs adresses. Par conséquent, format fixe, facile à réaliser dans le matériel et d’exécution rapide.
le format d’une instruction machine comportera un champ code Cela implique un séquenceur câblé et un compilateur capable
opération et jusqu’à quatre champs adresse. On dit d’une machine d’exploiter à fond les caractéristiques de la machine. Cette
qu’elle est à n adresses, si la plupart de ses instructions sont à n architecture s’est appelée RISC (Reduced Instruction Set Computer)
adresses. Les instructions que l’on trouve dans les répertoires de toutes les
Le répertoire et la structure des instructions machine font partie machines peuvent être classées en six groupes :
des choix architecturaux fondamentaux. • transfert de données (Load, Move, transfert de registre
à registre ou de mémoire à regustre, etc.)
7. Jeu d’instruction
• opérations arithmétiques (les 4 opérations en virgule fixe
Chaque machine a son jeu d’instructions de base. Il est souvent ou flottante et en simple ou double précision)
le résultat d’un compromis entre des exigences contradictoires, • opérations logiques (AND, OR, NOT, XOR, etc.)
comme la simplicité, l’universalité, l’efficacité ou le confort du

vanel.divin@gmx.fr Page 5
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

• contrôle de séquence (branchement impératifs et mémoire de microprogramme pour déterminer l’opération à


conditionnels, boucles, appels de procédure, etc.) exécuter.
• entrées/sortie (Read, Write, Print, etc.)
8.3. Accumulateur (ACC)
• manipulations diverses (décalages, conversions de
Dans les machines à une adresse, l’accumulateur est un
format, incrémentation de registres, etc.)
registre très important de l’UAL. Dans la plupart des opérations

8. Registres du CPU arithmétiques et logiques, l’ACC contient un des opérandes avant

Le nombre et le type des registres que possède le CPU sont une l’exécution et le résultat après. Il peut aussi servir de registre tampon

partie déterminante de son architecture et ont une influence dans les opérations d’entrées/sorties. Naturellement, le programmeur

importante sur la programmation. La structure des registres du CPU a accès à l’ACC, qui est toujours très sollicité pendant le traitement

varie considérablement d’un constructeur à l’autre. Cependant, les des données.

fonctions de base réalisées par les différents registres sont


8.4. Registres généraux
essentiellement les mêmes.
Les registres généraux ou banalisés, appelés aussi parfois bloc-

8.1. Compteur Ordinal (CO) notes, permettent de sauvegarder des informations fréquemment

Le registre CO (IP : Program Counter, IP :Instruction Pointer) utilisées pendant le programme, ou des résultats intermédiaires ; cela

contient toujours l’adresse en mémoire de la prochaine instruction à évite des accès à la mémoire, accélérant ainsi l’exécution du

exécuter. Le CO est automatiquement incrémenté après chaque programme.

utilisation. Le programmeur n’a pas accès au CO directement.


8.5. Registres d’indice (XR)
8.2. Registre instruction (RI) Les registres d’indice ou d’index peuvent être utilisés comme

Lorsque le CPU va chercher une instruction en mémoire, il la des registres généraux pour sauvegarder et pour compter. Mais en

place dans le RI. La taille du RI correspond à la taille de l’instruction. plus, ils ont une fonction spéciale qui est de grande utilité dans la

Le programmeur n’a pas accès au RI. Les bits correspondant à la manipulation des tableaux de données. Ils peuvent en effet être

zone code opération sont envoyés soit au décodeur, soit à la

vanel.divin@gmx.fr Page 6
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

utilisés pour manipuler des adresses, suivant une forme particulière 9. Adressage des opérandes
d’adressage, appelée adressage indexé.
Le champ adresse d’une instruction ne contient pas toujours

8.6. Registres de base l’adresse effective d’un opérande. Cependant, si c’est le cas, on dit
qu’il s’agit d’un adressage direct.
Utilisés comme les registres d’index pour calculer les adresses
Pour faciliter la programmation, les fabricants de processeurs
effectives, les registres de base sont conçus pour contenir une
offrent toute une gamme de méthodes pour adresser les opérandes.
adresse de référence ; pour obtenir l’adresse effective, il faut y
Le format des instructions prévoit un champ dont les bits indiquent le
ajouter le contenu du champ d’adresse de l’instruction.
mode choisi. Parmi les différents modes d’adressage, les plus
8.7. Registre d’état (PSW ; SR) importants sont :
Appelé aussi registre condition, le registre d’état contient
• direct : le champ adresse contient l’adresse effective ;
différents bits appelés drapeaux indiquant l’état d’une condition
• indirect le champ adresse contient l’adresse où se
particulière dans le CPU. Ce registre contient aussi des bits donnant
trouve l’dresse effective ; on peut parfois avoir plusieurs
l’état du CPU vis-à-vis du système d’exploitation.
niveaux d’indirection ;
8.8. Registre pointeur de pile (SP) • immédiat le champ adresse contient l’opérande ;
Ce registre est utilisé pour simuler une pile dans la mémoire • implicite le code opération indique où se trouve
centrale, dans laquelle on réserve une zone mémoire. Le registre SP l’opérande ; c’est le cas d’une machine à zéro
fonctionne comme un registre d’adresse mémoire utilisé uniquement adresse ;
pour la partie pile de la mémoire RAM. • indexé l’adresse effective est le contenu du champ
adresse additionné au contenu du registre d’index ;
8.9. Registres spécialisés
• basé l’adresse effective est le contenu du champ
Dans certains ordinateurs on peut trouver des registres
d’adresse additionné au contenu du registre de base ;
spécialisés pour des opérations particulières, par exemple registres à
• relatif comme l’adressage basé, mais utilise le contenu
décalage, registres pour opérations arithmétiques en virgule
du CO comme adresse de base.
flottante, etc.

vanel.divin@gmx.fr Page 7
Support de cours Architecture des ordinateurs – Chapitre 4 : L’unité centrale de traitement

10. Taille de l’adresse et taille de la mémoire en pages. La mémoire réelle est divisée en cadres de
page capables de contenir exactement une page de
Soit ADR le nombre de bits dans le champ adresse d’une
programme (notion de pagination).
instruction. Soit 2n la taille de la mémoire centrale. On peut distinguer
trois cas :
11. L’unité Arithmétique et logique
• 𝐴𝐷𝑅 = 𝑛 : la mémoire physique est accessible dans sa
Tous les ordinateurs modernes ont des UAL capables de réaliser
totalité. Toutes les méthodes d’adressage proposées
une grande variété d’opérations.
par le fabriquant peuvent être utilisées ;
Certaines opérations ne concernent qu’un seul registre et
• 𝐴𝐷𝑅 < 𝑛 : ADR ne suffit pas pour adresse toute la
qu’un seul opérande, par exemple, la remise à zéro, la
mémoire. On peut utiliser l’adressage basé, si le registre
complémentation logique, le décalage, l’incrémentation, etc.
de base a une taille suffisante. il suffit de diviser la
D’autres concernent deux opérande, par exemple l’addition, le
mémoire en blocs de taille telle que ADR puisse adresser
soustraction, les opération logiques.
complètement un bloc. On utilisera le champ adresse
Les opérations en virgule flottante et en double précision
pour indiquer le déplacement à l’intérieur du bloc.
étaient historiquement réservées aux machines à vocation
L’adresse du premier bloc sera mémorisée dans le
scientifique. Elles sont maintenant intégrées à tous les processeurs
registre de base. On calculera l’adresse effective en
modernes dans une UAL spécifique, autrefois positionnée dans un
faisant la somme des contenus du registre de base et
circuit externe, le coprocesseur.
du champ adresse de l’instruction.
Tout traitement de données a lieu dans l’UAL. Cette partie du
• 𝐴𝐷𝑅 > 𝑛 : ADR peut adresser des positions de mémoire
CPU, où se trouvent tous les circuits capables d’effectuer les
qui n’existent pas dans la mémoire physique. On peut
opérations élémentaires qui sont à la base de tout algorithme, est
profiter de cette possibilité et envisager des
totalement asservie à l’unité de commande. C’est précisément
mécanismes permettant de déborder sur des mémoires
cette dernière qui déclenche, contrôle et synchronise toute activité
auxiliaires, par exemple des unités disques (notion de
de l’UAL.
mémoire virtuelle).On peut réaliser une mémoire
virtuelle en découpant le programme stocké sur disque

vanel.divin@gmx.fr Page 8
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

performances en remplaçant, par exemple, le CPU ou en le


CHAPITRE 5 : doublant, on espère constater une certaine accélération.
SUPERORDINATEURS ET Les progrès technologiques mettent à disposition du processeur
MIRCROPROCESSEURS un nombre croissant de transistors. Grâce au rétrécissement de la
taille du trait, le nombre de transistors que l’on peut actuellement
1. Introduction intégrer dans un circuit intégré est de l’ordre de quelques milliards
Le développement des ordinateurs se poursuit de nos jours pour une taille de gravure de 10 nm.
dans deux directions principales : accroissement des performances La diminution constante du prix des puces mémoires permet
et miniaturisation des composants. de doter les ordinateurs de mémoires centrales toujours plus grandes.
Pour ce qui concerne les puces mémoires DRAM, la capacité
1.1. Accroissement de la puissance des ordinateurs
augmente d’un facteur 4 tous les 3 ans. En revanche, si on veut utiliser
Un ordinateur séquentiel se compose essentiellement d’un
des mémoires plus rapides, le coût augmente fortement. Pour
processeur, d’une mémoire centrale, de plusieurs dispositifs
alimenter le CPU en instructions et en données à un coût raisonnable,
d’entrée/sortie et d’un système de communication entre les
la hiérarchie des mémoires continuera à être développée.
différentes unités.
L’importance du cache et des registres au sommet de cette
Il y a une limite à la puissance de calcul d’un processeur qui est
pyramide ne pourra qu’augmenter.
due à la vitesse de la lumière dans le vide. Cette vitesse ne peut en
aucun cas être dépassée. Les ordinateurs contemporains n’arrivent 1.3. Evaluation de la performance
à dépasser cette limite que grâce aux pipelines et à l’exécution Les ordinateurs sont classés en fonction de leurs capacités et
parallèle à tous les niveaux. performances. Si l’évaluation de la capacité d’une mémoire est
aisée (on compte le nombre d’octets, mégaoctets ou gigaoctets),
1.2. Technologie et performance
l’évaluation de la performance de traitement d’un ordinateur est
Les programmes doivent tourner de plus en plus vite. Si l’on
beaucoup plus complexe. Concernant les processeurs, les unités de
apporte à l’ordinateur une amélioration censée augmenter ses
mesure les plus élémentaires sont les MIPS et les Flops. Le MIPS [Million
of Instructions Per Second] est l’unité de mesure la plus simple. Elle

vanel.divin@gmx.fr Page 1
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

sert de référence et peut s’appliquer à tous les processeurs. Le MFlops 2.3. Micro-ordinateurs
[Million of FLoating point Operations Per Second] est une mesure Un micro-ordinateur contient de nombreux éléments et
spécifique du nombre d’opérations arithmétiques en virgule flottante notamment le microprocesseur, qui est son CPU. Ceci est illustré
que peut exécuter une machine en une seconde. sur la figure ci-dessous qui montre la structure d’un micro-
ordinateur.
2. Microprocesseurs
2.1. Microprocesseur et micro-ordinateur
Un microprocesseur est un circuit intégré réalisant une unité de
traitement complète (unité de commande et UAL)
Un micro-ordinateur est une ensemble formé de
microprocesseur, mémoires, entrées/sorties et unités périphériques.

2.2. Evolution des microprocesseurs

La mémoire comprend généralement plusieurs boîtiers RAM


pour enregistrer les données, les résultats intermédiaires et finaux, et
tout opérande susceptible de varier au cours de l’exécution d’un
programme. Souvent, elle comprend aussi des boîtiers ROM où sont
enregistrées les programmes de démarrage, les constantes,
certaines routines du système d’exploitation.
Les boîtiers d’entrée/sortie contiennent des registres
tampons, ainsi que des circuits d’interface permettant aux unités
périphériques de communiquer avec l’ordinateur. Toutes ces
unités sont reliées à un système de bus, divisé en bus de
données, bus d’adresse et bus de commande.

vanel.divin@gmx.fr Page 2
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

Le bus de données permet des transferts d’information dans les prédiction de branchement, pipelines, registres, exécution dans le
deux sens. Dans un micro-ordinateur 8, 16, 32, 64, voire 128 bits, le bus désordre).
de données aura respectivement 8, 16, 32, 64, voire 128 lignes. Ce Les performances dépendent des compilateurs et varient avec
qui correspond aussi au nombre de broches du microprocesseur la version. Des micro-ordinateurs sont adaptés au calcul intensif et
affectées aux données. d’autres au support d’applications graphiques. L’horloge tourne
Le bus d’adresse est unidirectionnel, ne devant servir qu’au toujours au maximum et dépasse les 4 GHz. On obtient des centaines
processeur pour adresser les mémoires et les registres tampons des de MIPS et on atteint quelques dizaines de gigaflops, et même le
interfaces avec les périphériques. Il aura autant de lignes qu’il faut téraflops avec les coprocesseurs graphiques.
pour adresser l’espace mémoire disponible. Par exemple, un bus Pour rester dans des prix raisonnables on utilise de plus en plus
avec 16 lignes d’adresses peut transporter 65 536 adresses des groupes (réseaux, grappes [cluster], grilles [grids]) de stations
différentes. de travail ou de PC interconnectés afin d’augmenter la capacité de
Le bus de commandes transporte tous les signaux utilisés pour traitement. L’important est de présenter à l’utilisateur un système
synchroniser les différentes activités qui se déroulent dans les unités intégré, cachant sa structure interne et permettant l’exploitation des
fonctionnelles du micro-ordinateur. Par exemple, signaux d’horloge, ressources distribuées sans devoir se soucier des détails. Un ensemble
signaux de lecture et écriture, signaux d’interruption, de stations de travail peut être utilisé aussi bien pour des traitements
d’acquittement. Le nombre de lignes peut varier considérablement en série qu’en parallèle.
d’un micro-ordinateur à un autre. Les performances se mesurent maintenant en tenant compte
de la consommation électrique, tant pour les microprocesseurs en
2.4. Performances des micro-ordinateurs
raison des usages mobiles, que pour les superordinateurs où l’on ne
Les performances des micro-ordinateurs contemporains sont
cherche pas toujours la performance absolue.
très proches les unes des autres. Tous adoptent les mêmes
technologies de base (CMOS, finesse du trait, haute densité des 3. Machines parallèles
composants) et les architectures se ressemblent (cache L1 et L2, Le progrès technologique permet désormais de réaliser des
unités superscalaires, multiplication des unités fonctionnelles, architectures d’un très haut niveau de parallélisme, avec des

vanel.divin@gmx.fr Page 3
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

dizaines, voire des centaines de milliers de processeurs. Ces 3.2. Parallélisme externe
machines sont aussi des superordinateurs qui offrent des Concernant l’évolution du parallélisme externe, on peut
performances remarquables et dépassent les anciens distinguer trois types d’architectures :
superordinateurs vectoriels. • SISD
On parle de granularité pour indiquer la taille des tâches • SIMD
allouées aux unités d’exécution. La granularité fine correspond au • MIMD
niveau des instructions ; une granularité plus grossière implique des
parties de programmes avec une fonctionnalité appréciable. 3.3. Parallélisme et applications
Un système parallèle peut être défini comme un ensemble Le problème central du parallélisme est la décomposition du

d’unités de traitement et de mémoires pouvant communiquer et code et des données. Le modèle de calcul et l’architecture sont en

coopérer afin de résoudre de gros problèmes rapidement. relation avec le type de problème à résoudre.
La puissance des ordinateurs permet de simuler des objets, des
4. Parallélisme processus, des phénomènes de plus en plu complexes. Les
On distingue deux principaux niveaux de parallélisme à savoir chercheurs utilisent désormais l’approche de simulations à la place
le parallélisme interne, à l’intérieur d’un ordinateur classique, et le ou en complément des techniques expérimentales. En effet, il faut
parallélisme externe lorsqu’on se réfère à plusieurs processeurs d’abord créer des modèles mathématiques de réalité et, ensuite,
travaillant en liaison plus ou moins étroite. trouver des algorithmes efficaces conduisant à des solutions
numériques calculables avec des machines adaptées et ceci dans
3.1. Parallélisme interne
des temps acceptables.
Le parallélisme interne peut se présenter sous trois formes :
• Parallélisme par duplication 5. Evolution de l’architecture du CPU
• Parallélisme par anticipation 5.1. Architectures RISC et CISC
• Parallélisme par multiplexage
À la fin des années soixante-dix, on remarqua que, dans 80 %
des cas, un processeur n’utilise que 20 % de son jeu d’instructions. Les
instructions les plus utilisées sont celles de transfert entre unité

vanel.divin@gmx.fr Page 4
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

centrale et mémoire, et les branchements aux sous-programmes. À • Une augmentation de la fréquence de fonctionnement
partir de cette constatation, est né le concept d’un microprocesseur des circuits ;
avec un jeu limité d’instructions : les microprocesseurs RISC [Reduced • Une complexification de l’architecture interne des
Instruction Set Computer]. Ces microprocesseurs sont caractérisés cœurs d’exécution
par un jeu restreint d’instructions simples effectuées rapidement en
La seconde progression vient de l’extrême sophistication de
un cycle d’horloge.
l’architecture interne d’un processeur. Les principaux changements
Cette approche contraste avec les machines CISC [Complex
architecturaux sont les suivants :
Instruction Set Computer] où le jeu d’instructions est riche et les
instructions complexes afin de simplifier la tâche du compilateur. • Exécution pipeline ;
Les caractéristiques fondamentales d’un processeur RISC sont • UAL superscalaire ;
les suivantes : • Exécution dans le désordre ;
• Exécution des instructions en un seul cycle d’horloge ; • Exécution spéculative ;
• Simplification du format des instruction ; • Extensions vectorielles ;
• Réduction et simplification du jeu d’instructions ; • Hyperthreading ;
• Utilisation intensive des registres et séquenceur câblé. • Cœurs multiples ;
• Variation de la fréquence d’horloge
5.2. Amélioration des performances
Entre le premier microprocesseur, le 4004 d’Intel en 1971, et les 5.3. Tendances futures
processeurs récents, il y a un rapport de performance pouvant Depuis que les fréquences d’horloge plafonnent vers 3-4 GHz,
atteindre quelques millions. D’où vient ce gain d’efficacité ? les fabricants ont profité de la réduction de la taille de gravure pour
Depuis 45 ans, la technologie de gravure ne cesse de intégrer de plus en plus de transistors dans la puce. Cela a permis de
progresser (la fameuse loi de Moore) et a diminué la taille des complexifier l’architecture interne et de gagner en performance.
transistors de 10 µm (1971) à 10 nm (2017). Cette réduction a permis Malheureusement, plus on met de transistors, plus la chaleur
deux avancées : dégagée est importante car l’accroissement dû au nombre n’est pas
suffisamment compensé par le gain issu de la réduction de taille. On

vanel.divin@gmx.fr Page 5
Support de cours Architecture des ordinateurs – Chapitre 5 : Superordinateurs et microprocesseurs

ne pourra donc pas multiplier indéfiniment les cœurs et avoir toujours Un développeur souhaitant profiter de toute la puissance disponible
100 % des transistors du processeur qui soient actifs. L’évolution future dans un processeur doit découper son programme en tâches
semble plutôt être vers des processeurs hétérogènes intégrant des disjointes et lancer plusieurs threads d’exécution. Cela est
cœurs généralistes et des circuits accélérateurs, spécialisés dans malheureusement beaucoup plus compliqué que la programmation
l’exécution de certains algorithmes (traitement et synthèse d’images séquentielle classique car il faut gérer l’accès simultané à des
en 2D et 3D, calculs mathématiques complexes, chiffrement…) et variables partagées, les situations de concurrence dynamique, les
pouvant rester au repos le reste du temps. Cependant, reste le interblocages…
problème d’alimenter ces toujours plus nombreuses unités
d’exécution avec des données provenant de la mémoire : le lien
6. Conclusion
mémoire-processeur est souvent le principal goulot d’étranglement Avec l’arrivée des processeurs multicœurs, la problématique

des systèmes actuels. L’augmentation du nombre de transistors s’est déplacée vers l’intégration du parallélisme dans les algorithmes.

permet également de ramener à l’intérieur même de la puce des Un développeur souhaitant profiter de toute la puissance disponible

circuits se trouvant auparavant sur la carte-mère : coprocesseur dans un processeur doit découper son programme en tâches

graphique, contrôleur mémoire, circuits de gestion des disjointes et lancer plusieurs threads d’exécution. Cela est

entrées/sorties… Cette intégration plus fine réduit la latence des malheureusement beaucoup plus compliqué que la programmation

communications et permet d’optimiser la conception. séquentielle classique car il faut gérer l’accès simultané à des
variables partagées, les situations de concurrence dynamique [race
5.4. L’importance du logiciel condition], les interblocages…
Les architectures RISC se sont développées en même temps
que les compilateurs. Le but est d’optimiser l’ensemble du système.
On conçoit un jeu d’instructions simple et utilisable par le
compilateur. Les techniques modernes de compilation sont en pleine
évolution.
Avec l’arrivée des processeurs multicœurs, la problématique
s’est déplacée vers l’intégration du parallélisme dans les algorithmes.

vanel.divin@gmx.fr Page 6

Vous aimerez peut-être aussi