You are on page 1of 39

CAHIER

03

Architecture d'un ordinateur

L'UNITE CENTRALE GENERALITES Les traitements automatiss de l'information sont raliss par un ensemble de circuits lectroniques qui composent le "cur" de l'ordinateur. Ces circuits assurent les grandes fonctions suivantes : le stockage temporaire, par la mmoire centrale, des programmes et des donnes, le temps du droulement du traitement ; l'excution, par le processeur, des instructions du programme et qui entrane la transformation des donnes (cration, modification, suppression, ...) ; l'change, par le sous-systme d'entre/sortie, des donnes avec les units priphriques.

L'unit centrale est donc compose de la mmoire centrale, du processeur et du sous-systme dispositif d'entre/sortie. La mmoire centrale stocke les instructions et les donnes traites par le processeur et de ce fait, le processeur et la mmoire centrale sont intimement associs. Le processeur (Central Processing Unit ou CPU) est l'lment de l'unit centrale qui interprte et excute les instructions du programme. Ses circuits gnrent les signaux ncessaires l'excution de chaque instruction. Le processeur se compose de l'unit de commande et de contrle (control unit) et de l'unit arithmtique et logique (UAL).

1 Schma de principe de lunit centrale

L'unit centrale communique avec les units priphriques par l'intermdiaire du sous-systme d'entre/sortie. Une opration d'entre/sortie est ralise en excutant une instruction d'entre/sortie. Cette instruction tait l'origine traite par l'organe de commande, mais les volutions des architectures des processeurs ont conduit dlguer la gestion de l'change au sous-systme d'entre/sortie capable de travailler de faon autonome. Les diffrentes composantes de l'unit centrale sont interconnectes par des systmes de cblage transportant des signaux lectriques. Afin d'viter une multiplication des interconnexions entre les divers lments de l'unit centrale un systme de cblage appel "bus" est mis en commun. Les bus sont un ensemble de lignes de connexions capables de transmettre des signaux correspondant trois types d'informations: adresses, donnes et commandes. Pour ce faire, chaque cble est affect aux tches spcifiques de transport d'adresses, de donnes ou de commandes. Un bus peut tre utilis par toutes les units qui y sont connectes, mais jamais par plus de deux units en mme temps. Plusieurs bus spcialiss peuvent coexister au sein d'une mme unit centrale tels le busmmoire, le bus d'entre/sortie, etc. Les micro-ordinateurs utilisent des architectures bus unique auquel sont connects tous les organes de l'ordinateur.

DEROULEMENT D'UNE INSTRUCTION DANS L'UNITE CENTRALE L'excution d'un programme se droule de la faon suivante : le programme et les donnes sont chargs en mmoire centrale (d'o le nom de machine programme interne) ; les instructions du programme sont amenes squentiellement (une par une) l'unit de commande et de contrle qui les analyse et dclenche le traitement appropri en envoyant des signaux l'unit arithmtique et logique. Le passage l'instruction suivante est automatique ; le traitement peut ncessiter de faire appel l'unit d'entre/sortie.

LA MEMOIRE CENTRALE (CF. INFRA) La mmoire centrale stocke principalement deux types d'informations : les instructions de diffrents programmes ; les donnes ncessaires l'excution des programmes.

Les donnes et les programme rsident temporairement en mmoire centrale, le temps ncessaire au droulement du traitement. Le programme est charg avant son excution. Les donnes sont implantes en mmoire bloc par bloc, puis aprs traitement, mmorises sur support externe. Au niveau lmentaire et physique, la mmoire centrale ne contient que des bits, qui constituent l'unit de stockage lmentaire de l'information. Un bit peut prendre soit la valeur "0", soit la valeur "1".

Registre de slection

0
Adressage

Cellule Mmoire

Lecture
Dispositif de Slection

Ecriture

Registre Mot

Figure 2 Principe de lecture criture en mmoire

Les instructions et les donnes sont stockes sous une forme binaire et reprsente selon une codification standardise telle les codifications internationales ASCII (sur 7 bits) ou EBCDIC (sur 8 bits). La codification sur 8 bits tend se gnraliser. Un groupe de 8 bits, appel octet (byte), constitue un caractre. L'UNITE DE CONTROLE ET DE COMMANDE (CF. 3.1) L'unit de contrle et de commande coordonne le fonctionnement de l'unit centrale afin de lui faire excuter les suites des instructions spcifies dans chaque programme. Dans le traitement d'une instruction (cycle de recherche) l'unit de contrle et de commande met en uvre diffrents dispositifs qui sont : le compteur ordinal qui est un registre contenant l'adresse en mmoire o est stocke l'instruction chercher ; le registre instruction qui reoit l'instruction excuter ; le dcodeur de code opration qui dtermine la nature de l'opration excuter ; le squenceur qui gnre les signaux de commande ;

l'horloge, qui met des impulsions lectroniques rgulires, indispensables la synchronisation de toutes les actions de l'unit centrale.
Bus de donnes interne Bus d adresses Registre d instruction
Horloge Code Opration Adresse

Compteur Ordinal

Gnrateur de phase

Dcodeur d instruction

Mmoire de microprogramme

Mot d tat

Squenceur: cbl micro_programm

Demandes d interruption

Micro commandes

Commandes de contrle

Figure 3 Schma de principe de lunit de commande

Les cycles de recherche d'une instruction se dcompose selon les tapes suivantes : transfert de l'adresse de la nouvelle instruction du compteur ordinal vers registre adresse de la mmoire ; une impulsion de lecture, gnre par l'unit de commande, provoque le transfert de l'instruction cherche vers le "registre mot" qui fonctionne comme un registre tampon pour toutes les informations lues ou crites en mmoire ; transfert de l'instruction dans le registre instruction (une instruction tant compose du code opration et de l'adresse de (ou des) l'oprande(s) ) ; pendant que l'adresse de l'oprande est envoye vers le registre adresse, le code opration est transmis au dcodeur qui dtermine le type d'opration demande et le transmet au squenceur en envoyant un signal sur la ligne de sortie correspondante ; le compteur ordinal est incrment en vue du cycle de recherche suivant.

L'UNITE ARITHMETIQUE ET LOGIQUE (UAL) Tout traitement de donnes a lieu dans l'UAL.

U A L

2 m e O p ra n d e
Figure 4 LU.A.L.

1 re O p ra n d e

Cette partie du CPU, o se trouvent tous les circuits capables d'effectuer les oprations lmentaires qui sont la base de tout algorithme, est totalement asservie l'unit de commande. C'est prcisment cette dernire qui dclenche, contrle et synchronise toute activit de l'UAL. Le cycle de recherche de l'unit de commande est suivi par le cycle d'excution durant lequel l'opration spcifie dans l'instruction est effectue par l'unit arithmtique et logique. L'unit de calcul ou arithmtique et logique (UAL) contient tous les circuits lectroniques qui ralisent effectivement les oprations dsires. Ces oprations sont principalement l'addition, la soustraction, la multiplication, la division, la ngation (inversion des bits), les oprations logiques (ET, OU, OU exclusif). Les oprandes ncessaires pour ces oprations se trouvent dans des registres contenus dans cette unit. Ces registres sont accessibles aux programmeurs. Les registres de l'UAL se divisent en diffrents groupes : les registres arithmtiques : ils servent aux oprations arithmtiques ; les registres de base et d'index: ils permettent le calcul d'adresses par rapport une valeur de base ou un index ; les registres banaliss : registres gnraux pouvant servir diverses oprations telles que stockage des rsultats intermdiaires ; le registre d'tat (PSW : Program Status Word): il indique l'tat du systme (si il y a une retenue lors d'oprations arithmtiques, un dpassement de capacit ...).

La plupart des ordinateurs modernes ont des UAL capables de raliser une grande varit d'oprations.

Certaines oprations ne concernent qu'un seul registre et qu'un seul oprande, par exemple, la remise zro, la complmentation logique, le dcalage, l'incrmentation, etc. D'autres concernent deux oprandes, par exemple, l'addition, la soustraction, les oprations logiques ET, OU, XOR, etc. Les machines vocation scientifique offrent toute une gamme d'oprations en virgule flottante et en double prcision. Par contre certains ordinateurs, par exemple, les micro-ordinateurs, n'ont qu'un nombre limit d'instructions permettant les oprations les plus simples et laissant l'utilisateur le soin de programmer les oprations plus complexes, telle la division, la multiplication, la racine carre et les oprations en virgule flottante. LE DISPOSITIF D'ENTREE/SORTIE Une opration d'entre/sortie est ralise en excutant une instruction d'entre/sortie. Cette instruction est traite dans l'organe de commande qui prend l'initiative de toute entre ou sortie. Il dcide de l'instant et de la nature de l'change, mais il peut prendre une part plus ou moins importante l'excution selon qu'il tablit une liaison directe "organe de commandepriphrique" ou qu'il dlgue la gestion de l'change un organe subordonn mais capable de travailler de faon autonome, comme le dispositif d'entre/sortie. La liaison directe entre l'unit centrale et le priphrique pose le problme du diffrentiel de vitesse de traitement externe et interne. Dans ce cas, le processeur est monopolis pendant toute la dure de l'change et est asservie la vitesse de fonctionnement du priphrique. En fonction des types d'ordinateur et du volume des changes avec les priphriques, il existe une grande varit de configuration possibles. Dans l'optique d'une utilisation plus optimise de l'ordinateur, diverses techniques ont t dveloppes qui dchargent le processeur de la gestion propre l'change des donnes notamment par la mise en place d'un dispositif d'entre/sortie.

LA MEMOIRE CENTRALE GENERALITES La mmoire centrale d'un ordinateur est un dispositif capable d'enregistrer, de conserver et de restituer des informations (codes en binaire) pour les besoins d'un traitement. LES INFORMATIONS CONTENUES EN MEMOIRE CENTRALE La mmoire centrale contient principalement deux types d'informations : les instructions des diffrents programmes ;

les donnes ncessaires l'excution des programmes.

Tout programme pour tre excuter doit d'abord tre charg en mmoire centrale. Ensuite, le processeur va y chercher les instructions les unes aprs les autres accompagnes des donnes manipules pour les excuter squentiellement (principe de fonctionnement de la plupart des ordinateur: architecture "Von Neumann"). LE BIT: L'UNITE ELEMENTAIRE DE STOCKAGE DE L'INFORMATION Au niveau physique, la mmoire centrale ne contient que des bits, chaque bit constituant l'unit lmentaire de stockage de l'information. Le fonctionnement des circuits constitutifs de cette unit lmentaire de mmoire ne permet de stocker que deux valeurs possibles, soit la valeur "0", soit la valeur "1". D'o l'utilisation du systme de numration binaire pour reprsenter les valeurs des bits stocks dans la mmoire centrale de l'ordinateur. Les instructions comme les donnes sont stockes sous forme de code machine binaire. LES SYSTEMES DE CODIFICATION Paralllement aux progrs de la technologie qui ont conditionns les capacits de stockage des diffrentes gnrations d'ordinateurs, les bits ont t regroups en un certain nombre pour constituer un caractre. Des systmes de codification normaliss ont vu le jour qui ont attribu chaque caractre une squence particulire de valeurs binaires. Les deux plus connus sont : le code ASCII (American Standard Code for Information Interchange) qui permet une codification du caractre sur 7 bits ; le code EBCDIC (Extended Binary Coded Decimal Interchange Code) qui permet une codification du caractre sur 8 bits.

Dans ce dernier cas, chaque caractre occupe en mmoire centrale qu'on appelle octet (byte). Avec 8 bits il est possible de coder 28 = 256 informations diffrentes (chaque bit peut prendre 2 valeurs, donc les 8 bits peuvent prendre 28 valeurs), ce qui est suffisant pour coder tous les caractres alphanumriques et tous les caractres spciaux (-, ~, !, @, etc ... ). L'ADRESSAGE MEMOIRE Paralllement aux caractres, qui constituent une unit logique d'information, la mmoire centrale est divise physiquement en cellules, appeles mots-mmoire (word). Car les oprations ralises dans la mmoire centrale qui sont la lecture et l'criture (cf. figure 19) ne s'effectuent, non pas au niveau du bits ou du caractre (octet), mais par mots-mmoire.

La longueur d'un mot-mmoire varie d'une machine l'autre. Les valeurs 32 et 64 tendent se gnraliser dans la plupart des ordinateurs. La longueur du motmmoire est une caractristique importante de l'architecture d'un ordinateur et reflte la structure des diffrents composants fonctionnels (principalement de l'unit centrale). Ainsi le mot-mmoire est l'unit d'information adressable et chaque mot possde une adresse qui lui est propre et peut tre adresss sparment pour une opration de lecture ou d'criture. A chaque mot-mmoire est donc associ ; une adresse (unique), indiquant la position en mmoire ; un contenu (instruction ou donne).

Le temps ncessaire l'criture ou la lecture d'un mot-mmoire est appel le temps d'accs. Il varie entre quelques nanosecondes et quelques microsecondes. Les units utilises dans la mesure des temps d'accs et de traitement des mmoires centrales sont : la nanoseconde (ns) = 10-9 = 0,000.000.001 s ; la picoseconde (ps) = 10-12 = 0,000.000.000.001 s.

Les units plus particulirement utilises dans la mesure des temps d'accs des mmoires externes sont : la milliseconde (ms) = 10-3 = 0,001s ; la microseconde (s) = 10-6 = 0,000.001 s.

Remarque: il y a autant de nanosecondes dans une seconde que de secondes dans une trentaine d'annes. Le temps minimal s'coulant entre deux accs successifs la mmoire est appel "cycle mmoire". Il est plus long que le temps d'accs, car le bon fonctionnement de la mmoire ncessite quelques oprations de maintien, de stabilisation et de synchronisation des signaux dans les circuits. LA CAPACITE DE STOCKAGE DE LA MEMOIRE CENTRALE La capacit de stockage d'une mmoire s'exprime en fonction du nombre de mots-mmoire ainsi que du nombre de bits par mot. On dira, par exemple, qu'un ordinateur "X" possde 256 mots de mmoire centrale avec des mots de 64 bits. Les units utilises dans la mesure des capacits de stockage des mmoires centrales sont : le Kilo (K) = 103 = 210 = 1.024 bits ; le Mga (M) = 106 = 220 = 1.048.576 bits.

Les units plus particulirement utilises dans la mesure des capacits de stockage des mmoires externes sont : le Giga (G) = 109 = 230 = 1.073.741.824 bits ; le Tera (T) = 1012 = 240 = 1.099.511.627.776 bits. LES REGISTRES DE LA MEMOIRE CENTRALE Un registre est une cellule de la mmoire centrale ayant une fonction particulire. On trouve deux types de registres, le registre d'adresse qui contient l'adresse d'un mot-mmoire et le registre mot qui contient le contenu d'un mot-mmoire. Un registre mot a la mme taille qu'un mot-mmoire, alors qu'un registre d'adresse doit permettre d'adresser tous les mots de la mmoire. Par exemple, si la mmoire comporte 256 mots, le registre d'adresse doit avoir log2(256) = log2(28) = 8 bits. Un registre d'adresse de 32 bits permet d'adresser 232 = 4.294.967.296 mots diffrents (4 Gmots). Pour ce qui concerne une opration de lecture, le registre d'adresse contient l'adresse du mot lire, le dispositif de slection et d'accs permet de transfrer une copie du contenu de ce mot dans le registre mot. Dans le cas d'une opration d'criture, le registre d'adresse contient l'adresse d'un mot dans lequel on va crire le contenu du registre mot. L'criture implique l'effacement du prcdent contenu du mot. LA TYPOLOGIE DES MEMOIRES CENTRALES Les lments de mmoire d'un ordinateur sont ordonns en fonction des critres de capacit, de temps d'accs et de cot. Quand on s'loigne du processeur vers les mmoires auxiliaires, on constate que le temps d'accs et la capacit des mmoires augmentent, mais que cot par bit diminue : la mmoire centrale est l'organe principal de rangement des informations utilises par le processeur. Pour excuter un programme, il faut le charger (instructions + donnes) en mmoire centrale. Cette mmoire est une mmoire semi-conducteurs. l'antmmoire ou mmoire cache est une mmoire rapide de faible capacit (par rapport la mmoire centrale) utilise comme mmoire tampon entre le processeur et la mmoire centrale. Cette mmoire permet ce dernier de faire moins d'accs la mmoire centrale et ainsi de gagner du temps. En effet, le cycle d'un processeur tant beaucoup plus court que le cycle mmoire, cette situation gnre des problmes d'attente du processeur sur la mmoire, ce qui diminue le rendement de l'ordinateur. la mmoire d'appui (ou "cache de donnes") sert de mmoire intermdiaire entre la mmoire centrale et les mmoires externes. Elle est principalement prsente sur les

gros ordinateurs (main frame) et permet de rduire le nombre d'change des informations (entre/sortie: I/O) et d'augmenter ainsi la vitesse de leur traitement.

Mmoire virtuelle

Figure 5 La mmoire virtuelle

Au regard de la mmoire centrale, on distingue les mmoires externes, appeles aussi mmoires auxiliaires ou mmoires de masse. Ces mmoires sont des lments de stockage priphriques permanent de grande capacit et de cot relativement faible. Elles utilisent pour cela des supports magntiques (disques, cartouches, bandes) et des supports optiques (disques optiques). CARACTERISTIQUES DES PRINCIPAUX TYPES DES MEMOIRES CENTRALES ACTUELLES A SEMI-CONDUCTEURS LES MEMOIRES RAM Une mmoire RAM (Random Access Memory), appele galement mmoire vive, est une mmoire accs alatoire; le temps d'accs est indpendant du numro de la cellule adresse. La mmoire RAM prsente la caractristique d'tre volatile, c'est--dire de perdre son contenu lorsque l'on coupe le courant. Celle-ci a donc besoin d'un apport constant d'nergie lectrique pour conserver ses informations. La mmoire centrale semi-conducteurs est volatile alors que les mmoires auxiliaires magntiques ne le sont pas. On peut raliser des mmoires non volatiles semi-conducteurs, moyennant une petite batterie. On distingue deux types de mmoires RAM, les SRAM et les DRAM

la mmoire vive statique SRAM (Static RAM): ces mmoires sont ralises en technologie unipolaire et en technologie bipolaire, cette dernire tant la plus rapide. Chaque point mmoire ncessite en principe quatre transistors, car un bistable est constitu de deux portes NOR, et chaque porte NOR est constitue de deux transistors; la mmoire vive dynamique DRAM (Dynamic RAM) dont l'information doit tre rafrachie priodiquement (par exemple toutes quelques millisecondes). Ces mmoires sont ralises uniquement en technologie MOS. Un point mmoire est constitu d'un transistor coupl un condensateur. Le condensateur se dcharge progressivement, entranant la perte de l'information. Il faut priodiquement lire le signal (la charge du condensateur), l'amplifier et le rcrire. Elles prsentent les avantages d'une fabrication plus simple, d'une densit d'intgration plus grande (d'un facteur 4 environ), et d'un cot par bit moins lev. L'inconvnient majeur est d'avoir supporter la logique de rafrachissement.

LES MEMOIRES ROM Une mmoire ROM (Read Only Memory) est une mmoire morte, c'est--dire une mmoire o l'on peut lire uniquement, l'criture tant impossible. Ce sont des mmoires non volatiles, programmes par le fabricant. Le cot lev pour la ralisation des masques impose de grandes sries. Elles sont ralises en technologie MOS et bipolaire. Ces mmoires trouvent leurs applications dans la conversion de code, la gnration de caractres pour l'affichage sous forme de matrice de points, le stockage de certains programmes systme, la microprogrammation, le codage du clavier, etc. LES MEMOIRES PROM Une mmoire PROM (Programmable ROM) est une mmoire morte programmable une seule fois par l'utilisateur, et de manire irrversible. Ces mmoires sont connues pour la mise au point ou la ralisation de programmes identiques en faible nombre d'exemplaires. Elles sont ralises en technologie MOS ou bipolaire. L'inscription peut se faire selon plusieurs techniques, la plus courante est le stockage de charges. Chaque point mmoire est constitu d'un transistor unipolaire (MOS) dont la grille est isole. Celle-ci, appele grille flottante, peut garder sa charge lectrique pendant plusieurs dizaines d'annes. Le fait que la grille ait une charge lectrique ou non, commande le comportement du transistor puisque la tension applique la grille dcide s'il y a un canal ou pas. L'criture se fait par application d'une forte tension entre source et drain. La lecture est simple, elle suit le mme principe qu'un transistor normal. Dans le cas d'un transistor enrichissement, si la grille flottante est charge, elle induit un canal, il y a conduction entre source et drain, alors que si la grille n'est pas charge, il n'y a pas de canal et pas de conduction entre source et drain. Une autre technique ne comportant pas de transistors mrite d'tre cite: le claquage de jonctions. La mmoire est organise sous forme matricielle en rseaux de diodes. Tous les points de croisement entre lignes et colonnes sont isols au dpart. L'inscription d'une valeur consiste tablir ou non la connexion au point de croisement considr, en claquant ou non la diode. Lorsque l'on slectionne une ligne d'adresse, toutes les lignes de donnes dont les jonctions (avec cette ligne d'adresse) n'ont pas t claques, retournent un certain courant. Alors que pour toutes les lignes dont la jonction est claque, il n'y a aucun courant. Cette technique ne permet pas une

grande intgration, car il faut laisser une certaine place autour de chaque diode pour la claquer correctement. LES MEMOIRES EPROM Les mmoires EPROM (Erasable Programmable ROM) sont aussi appeles REPROM (REProgrammable ROM). Le principe est le mme que celui des PROM, mais elles offrent en plus la possibilit de pouvoir tre effaces un certain nombre de fois. L'effacement se fait par exposition aux rayons ultraviolet. Le temps d'exposition est de l'ordre de trente minutes. Ces mmoires sont utilises lors de la mise au point de programme destins tre stocks en ROM. Les mmoires EAROM (Electrically Alterable ROM) suivent le mme principe que celui des EPROM, elles sont reprogrammables par l'utilisateur mais elles sont effacement lectrique. De plus l'effacement est slectif et l'effacement total ne demande pas plus d'une minute. On trouve aussi les appellations EEROM (Electrically Erasable ROM) et EEPROM. Dans la pratique, un lment de mmoire est une puce. Pour raliser une mmoire centrale, il faut un grand nombre de puces que l'on rpartit sur des cartes. Un mot-mmoire peut tre compos de diffrentes manires, qui sont : 1 bit/carte: un mot mmoire est compos par les bits ayant la mme adresse sur les cartes, l'adresse se compose du numro de la puce et de l'adresse l'intrieur de cette puce ; 1 bit/puce: un mot mmoire est compose par les bits ayant la mme adresse dans les diffrentes puces ; plusieurs bits/puce: un mot mmoire est compos par plusieurs bits d'une mme puce.

Ces diffrentes structures n'influent pas sur la capacit de la mmoire ni sur la longueur des adresses, mais elles influent sur la rpartition des bits d'adresse, puisque les bits d'adresse servent adresser les cartes, les puces et les bits l'intrieur des puces. Ces diffrentes structures montrent bien, en tous cas, que la mmoire centrale a une capacit limite et que cette limitation est due la longueur des adresses (c'est--dire le nombre de bits utiliss pour adresser la mmoire). La plupart des micro-ordinateurs actuels offrent la possibilit d'tendre facilement leur mmoire centrale RAM. Pour cela ils ont un certain nombre d'emplacements rservs pour accueillir des modules de mmoire, appels SIMM (Single In-line Memory Module). Une SIMM est un groupe de chips RAM gnralement mont sur un petit circuit imprim de forme rectangulaire, appel barrette, que l'on installe sur la carte principale d'un micro-ordinateur. LE PROCESSEUR (CENTRAL PROCESSING UNIT OU CPU) Le processeur (Central Processing Unit ou CPU) est l'lment de l'unit centrale qui interprte et excute les instructions du programme. Ses circuits gnrent les signaux ncessaires l'excution de chaque instruction.

Le processeur se compose de l'unit de commande et de contrle (control unit) et de l'unit arithmtique et logique (UAL). L'unit de commande dirige le fonctionnement de toutes les lments de l'unit centrale (UAL, mmoire, entre/sorties) en leur fournissant les signaux de cadence et de commande. L'UAL est la zone du processeur o les instructions arithmtiques et logiques sont excutes.

Unit Centrale
Mmoire Centrale Unit de Traitement

U.A.L
Figure 6 Le processeur ou C.P.U.

Unit de Commande

L'UNITE DE CONTROLE ET DE COMMANDE L'unit de contrle et de commande gre l'excution des instruction d'un programme. Elle contient deux registres importants : le registre d'instruction (RI) qui contient l'instruction en cours d'excution (une instruction comporte plusieurs champs: un champ code-opration et entre 0 et 3 champs-oprandes) ; le compteur ordinal (CO) qui contient l'adresse de la prochaine instruction excuter (qu'il faut aller chercher en mmoire). Gnralement, les instructions se suivent de manire squentielle, il suffit alors d'incrmenter le CO de +1 chaque cycle du CPU, pour obtenir l'adresse de l'instruction suivante. Quelquefois on est oblig de forcer sa valeur, lors de branchements par exemple.

Les registres de l'unit de commande ne sont pas accessibles aux programmeurs. L'unit de commande contient aussi un dispositif de dcodage des instructions (dcodeur) et un squenceur de commandes qui active les circuits ncessaires l'excution de l'instruction en cours. Cette unit a besoin des signaux d'une horloge pour enchaner les commandes. LA SYNCHRONISATION DES OPERATIONS Les circuits de l'unit de commande synchronisent et contrlent toutes les oprations de l'unit centrale (cf. figure 20). Les signaux priodiques gnrs par l'horloge dfinissent le cycle de base ou cycle machine (clock cycle), dure de base rgissant le fonctionnement de la machine au niveau le plus lmentaire. Le temps d'excution d'une instruction dpend du type d'opration effectuer; un cycle instruction peut s'tendre sur plusieurs cycles machine. On trouve parfois le terme "cycle CPU" pour indiquer le temps d'excution de l'instruction la plus courte ou la dure d'une action lmentaire provoquant un changement d'tat. Le cycle mmoire est beaucoup plus long que le cycle CPU et limite la performance de l'ordinateur. Pour pallier cette lenteur relative de la mmoire centrale, on a introduit des mmoires entrelaces permettant le recouvrement des cycles, ainsi que des antmmoires permettant d'anticiper les transferts de donnes et d'instructions vers le CPU. La vitesse de fonctionnement d'un ordinateur ne dpend donc pas seulement de sa frquence d'horloge mais aussi du cycle et de la structure de la mmoire, du temps d'accs de l'ventuelle antmmoire. LE SEQUENCEUR Le squenceur est un automate gnrant les signaux de commande ncessaires pour actionner et contrler les units participant l'excution d'une instruction donne. Ces signaux sont distribus aux diffrents points de commande des organes concerns selon un chronogramme tenant compte des temps de rponse des circuits sollicits. Cet automate peut tre ralis de deux faons: squenceur cbl ou squenceur microprogramm. Sous sa forme cble, le squenceur est un circuit squentiel complexe qui fait correspondre chaque instruction excutable un sous-circuit capable de commander son droulement. Le souscircuit appropri est activ par un signal provenant du dcodeur. Avec le squenceur microprogramm le mme rsultat est obtenu l'aide d'une suite de microinstructions stockes dans une mmoire de microprogrammation. Ce microprogramme est capable de gnrer une suite de signaux de commande quivalente celle produite par un squenceur cbl.

Il suffit de stocker les microprogrammes (firmware) correspondant aux diffrents codes opration dans une mmoire trs rapide et d'ajouter un mcanisme pour l'excution squentielle des microinstructions permettant les branchements conditionnels. La mmoire n'tant utilise qu'en lecture, elle peut tre du type ROM ou EEPROM, non volatile et bien protge. L'avantage d'un tel squenceur rside dans sa souplesse et dans sa simplicit. Le prix payer: une vitesse lgrement infrieure. La microprogrammation permet de raliser le squencement des commandes lectroniques par une technique plus flexible que la logique cble. On peut montrer qu'il est toujours possible de remplacer un circuit logique par un microprogramme. La squence exacte des actions coordonnes par le squenceur dpend de l'opration durant un cycle d'excution. Le cycle d'excution comprend gnralement les tapes suivantes : le squenceur envoie les signaux de commande vers la mmoire pour lire l'oprande l'adresse dj stocke dans le registre adresse et le fait parvenir dans le registre mot ; le contenu du registre mot est transfr vers l'accumulateur ou tout autre registre affect l'opration spcifie de l'UAL. Dans le cas de la mmorisation d'un rsultat par exemple, le contenu de l'accumulateur sera transfr vers le registre mot ; Dans le cas d'une instruction de branchement, le champ adresse de l'instruction est alors transfr dans le compteur ordinal. le cycle d'excution est ralise sous le contrle du squenceur.

Une fois le cycle d'excution termin, l'unit de commande passe immdiatement au cycle de recherche suivant et prend en compte la nouvelle instruction indique par l'adresse contenue dans le compteur ordinal. LES REGISTRES DU CPU Le nombre et le type des registres que possde le CPU sont une partie dterminante de son architecture et ont une influence importante sur la programmation. La structure des registres du CPU varie considrablement d'un constructeur l'autre. Cependant les fonctions de base ralises par les diffrents registres sont essentiellement les mmes. Nous allons dcrire les registres les plus importants, leur fonction et la faon dont ils peuvent tre modifis par programme. LE COMPTEUR ORDINAL (CO) Le registre CO (Program Counter: PC) contient toujours l'adresse en mmoire de la prochaine instruction excuter. Le CO est automatiquement incrment aprs chaque utilisation. Le programme est ainsi excut en squence moins qu'il ne contienne une instruction modifiant la squence, par exemple, une instruction de saut ou un branchement. Dans ce cas, la nouvelle adresse remplacera le contenu du CO. Ce changement sera effectu pendant le cycle d'excution, aprs le dcodage du code opration, mais avant le transfert du contenu du CO vers le RA.

La taille du CO dpend du nombre de positions de mmoire adressables. Par exemple avec un CO de 16 bits on peut adresser une mmoire de 216 mots. Le programmeur n'a pas accs au CO directement.

Fonctionnement du compteur ordinal


Compteur Ordinal
Code opration Adresse de l oprande

Squenceur

Figure 7 Fonctionnement du compteur ordinal

LE REGISTRE INSTRUCTION (RI) Le registre instruction contient l'adresse mmoire de l'instruction excuter. Pour recherche en mmoire centrale une instruction, l'unit de commande lui envoie une adresse et une commande. L'instruction est transfre vers l'unit de commande et place dans le RI o son dcodage permet de dterminer l'opration demande. La taille du RI correspond la taille du mot-mmoire. Le programmeur n'a pas d'accs au RI. Les bits correspondant la zone code opration sont envoys soit au dcodeur afin dterminer l'opration excuter. Cette information est utilise pour gnrer les signaux ncessaires l'UAL pour l'excution de l'instruction. Dans ce cas les donnes traiter seront aussi cherches en mmoire par l'unit de contrle et transfres directement l'UAL.

L'ACCUMULATEUR (ACC) L'accumulateur est un registre trs important de l'UAL. Dans la plupart des oprations arithmtiques et logiques l'ACC contient un des oprandes avant l'excution et le rsultat aprs. Il peut aussi servir de registre tampon dans les oprations d'entre/sortie. Gnralement l'ACC a la mme taille que le mot-mmoire mais, dans la plupart des machines, il possde une extension qui permet de doubler sa taille. Cette extension, souvent appele registre Q, est utilise conjointement avec l'ACC, pour contenir le rsultat d'une multiplication ou le dividende et le quotient d'une division. L'extension Q est aussi utilise dans les oprations en double prcision pour contenir les bits les moins significatifs. Naturellement le programmeur accs l'ACC, qui est toujours trs sollicit pendant le traitement des donnes. Certains processeurs ont plusieurs accumulateurs; dans ces cas-l, les codes opration prcisent l'accumulateur utilis. LES REGISTRES GENERAUX Les registres gnraux ou banaliss (general purpose registers), appels aussi parfois bloc-notes (scratchpad), permettent de sauvegarder des informations frquemment utilises pendant le programme, ou des rsultats intermdiaires; cela vite des accs la mmoire, acclrant ainsi l'excution du programme. Les registres gnraux sont la disposition du programmeur qui a normalement un choix d'instructions permettant de les manipuler. Les plus rpandues sont : chargement d'un registre partir de la mmoire ou d'un autre registre ; enregistrement en mmoire du contenu d'un registre ; transfert du contenu d'un registre dans l'ACC et vice versa ; incrmentation ou dcrmentation d'un registre.

LES REGISTRES D'INDICE (XR) Les registres d'indice ou d'index (index registers) peuvent tre utiliss comme les registres gnraux pour sauvegarder et pour compter. Mais, en plus, ils ont une fonction spciale qui est de grande utilit dans la manipulation des tableaux de donnes. Ils peuvent, en effet, tre utiliss pour manipuler des adresses, suivant une forme particulire d'adressage, appele dressage index. Le principe de l'adressage index est que l'adresse effective d'un oprande est obtenue en sommant la partie adresse de l'instruction avec le contenu du registre d'index spcifi. On peut facilement parcourir des tableaux en modifiant le contenu d'un registre d'index. Des instructions sont disponibles qui permettent l'incrmentation ou la dcrmentation; dans certains cas, ces registres sont automatiquement incrments ou dcrments aprs chaque utilisation.

LES REGISTRES DE BASE Utiliss comme les registres d'indice pour calculer des adresses effectives (adressage bas), les registres de base (base registers) sont conus pour contenir une adresse de rfrence; pour obtenir l'adresse effective, il faut y ajouter le contenu du champ adresse de l'instruction. Les registres de base sont fort utiles dans la relocation dynamique et pour adresser des mmoires dont le nombre de mots excde la capacit du champ adresse de l'instruction-type. LE REGISTRE D'ETAT (PSW = PROGRAM STATUS WORD) Appel aussi registre condition, le registre d'tat contient diffrents bits appels drapeaux (flags) indiquant l'tat d'une condition particulire dans le CPU. Par exemple, le bit indicateur Z indique si le rsultat de l'opration effectue est gal zro; le bit indicateur C indique un dpassement de capacit dans l'ACC, etc. Ces bits peuvent tre tests par programme et ainsi dterminer la squence d'instructions suivre. Ils sont aussi utiliss par le CPU pour tester, par exemple, l'indicateur d'interruption ou l'indicateur Z pour l'excution d'un branchement conditionnel "saut si zro" (jump on zero). LE REGISTRE POINTEUR DE PILE (SP = STACK POINTER) Ce registre est utilis pour simuler une pile dans la mmoire centrale, dans laquelle on rserve une zone de mmoire. Le registre SP fonctionne comme un registre d'adresse mmoire (RA) utilis uniquement pour la partie pile de la mmoire RAM. Lorsqu'un mot est charg dans la pile, son adresse est inscrite dans le SP; lorsqu'un mot est lu, la lecture se fait partir de l'adresse indique par le pointeur SP. Le pointeur indique tout instant l'adresse correspondant au sommet de la pile. Le fonctionnement d'une pile (LIFO) simule en mmoire est comparable celui d'une pile cble, et il peut tre ainsi rsum : chaque fois qu'un mot doit tre enregistr dans la zone mmoire rserve pour la pile, il est plac l'adresse qui suit celle du mot enregistr prcdemment ; les informations enregistres dans la pile sont lues dans l'ordre inverse de celui dans lequel elles ont t enregistres ; une fois qu'un mot est lu, son emplacement dans la pile devient disponible pour une nouvelle information.

Pour pouvoir simuler plusieurs piles LIFO, certaines machines sont dotes de plusieurs registres SP. LES REGISTRES SPECIALISES Dans certains ordinateurs on peut trouver des registres spcialiss pour les oprations particulires, par exemple, registres dcalage (shift register), registres pour oprations arithmtiques en virgule flottante (floating point registers), etc.

ADRESSAGE DES OPERANDES Le champ adresse d'une instruction ne contient pas toujours l'adresse effective d'un oprande. Cependant, si c'est le cas, on dit qu'il s'agit d'un adressage direct. Pour faciliter la programmation, les fabriquants offrent toute une gamme de mthodes pour adresser les oprandes. Le format des instructions prvoit un champ dont les bits indiquent le mode choisi. Parmi les diffrents modes d'adressage, les plus importants sont : immdiat: le champ adresse contient l'oprande ; direct: le champ adresse contient l'adresse effective ; indirect: le champ adresse contient l'adresse o se trouve l'adresse effective; on peut parfois avoir plusieurs niveaux d'indirection ; implicite: le code opration indique o se trouve l'oprande; par exemple, machines zro adresse ; index: adresse effective = contenu du champ adresse + contenu du registre d'index ; bas: adresse effective = contenu du registre de base + contenu du champ adresse ; relatif: comme l'adressage bas, mais utilise le contenu du CO comme adresse de base.

On peut parfois combiner les modes d'adressage, par exemple l'adressage index avec l'adressage indirect. Dans ce cas, il faudra bien comprendre l'ordre d'application des mthodes car le rsultat en dpend. AMELIORATION DES PERFORMANCES DES PROCESSEURS LE TEMPS D'ACCES Le temps d'accs aux registres est beaucoup plus court ( 10 fois) que le temps d'accs aux motsmmoires (qui se trouvent en mmoire centrale). Les ordinateurs essayent de compenser cette lenteur (relative) de la mmoire centrale par diffrents mcanismes, gnralement en augmentant le nombre de registres du CPU et en ajoutant une mmoire trs rapide, la mmoire cache ou antmmoire, prs du CPU. Elle sert de zone tampon entre le CPU et la mmoire. On utilise aussi une mmoire cache (appele mmoire d'appui) entre la mmoire centrale et les units priphriques afin de rduire le nombre d'accs externes. LE MULTI-PROCESSEUR Dans les gros ordinateurs, les performances sont augmentes en multipliant le nombre de processeur. Des machines multiprocesseurs sont ainsi fabriques c'est--dire possdant plusieurs CPU. Dans un multiprocesseur, chaque processeur possde sa propre antmmoire.

LE CO-PROCESSEUR On peut aussi ajouter des co-processeurs mathmatiques, des processeurs vectoriels, ddis des traitements spcifiques.

EVOLUTION ET TYPOLOGIE L'architecture d'un ordinateur est la description de ses units fonctionnelles et de leurs interconnexions. L'architecture peut tre vue plusieurs niveaux, par exemple, on peut la considrer au niveau des entres/sorties, du processeur central (CPU: Central Processing Unit), ou mme d'un rseau d'ordinateurs. L'architecture dfinit avec prcision la fonctionnalit de chaque niveau. La technologie correspond aux techniques de ralisation des diffrents lments. La configuration d'un ordinateur correspond l'organisation adopte pour mettre ensemble et faire fonctionner les divers lments matriels (processeurs, mmoire, terminaux, imprimantes, units de disque, etc ...) de l'ordinateur. Les configurations possibles sont fonction de l'importance et de la finalit du systme mis en uvre. LES PROGRES TECHNOLOGIQUES ET LEVOLUTION DES ARCHITECTURES DES ORDINATEURS LA MINIATURISATION DES COMPOSANTS La miniaturisation des composants lectroniques et donc des circuits rduit le temps de propagation des signaux lectriques dans les conducteurs, voyageant une vitesse proche de celle de la lumire (une distance de 20 cm est parcourue en une nanoseconde). L'ide a t de fabriquer un processeur sur une seule puce (microprocesseur). Le premier microprocesseur a intgr sur une microplaquette (chips) au milieu des annes 70. Depuis, les travaux de recherches se sont toujours orients vers le dveloppement de ces microplaquettes contenant un nombre toujours plus grand de circuits logiques. En plus du processeur les microplaquettes peuvent contenir les coprocesseurs arithmtiques, les mmoires cache, et les autres fonctions de communication et d'entres/sorties. Fabriqus en grandes quantits, ces microprocesseurs offrent des performances tonnantes des prix relativement bas. L'accent est mis sur le rapport prix/performance. De ce fait, les processeurs deviennent de plus en plus rapides, des prix toujours de plus en plus bas.

Les progrs de la miniaturisation ont par ailleurs un effet directement perceptible notamment au travers de la rduction des dimensions physiques des ordinateurs. EVOLUTION DES ARCHITECTURES DES ORDINATEURS L'AUGMENTATION DE LA VITESSE D'EXECUTION DE L'UNITE CENTRALE L'accroissement des performances est obtenu de diffrentes manires. La vitesse d'excution de l'unit centrale est augmente sous l'effet de la miniaturisation constante des composants lectroniques et notamment des mmoires internes et des processeurs. Des modifications sont galement apportes l'architecture en introduisant des units fonctionnelles spcifiquement adaptes notamment au calcul rapide de la transforme de Fourrier ou ralisant l'arithmtique en virgule flottante. Ces units sont souvent appeles acclrateurs cause de leur effet sur le temps d'excution de certains programmes. Les processeurs peuvent tre galement dots de registres spcialiss ou d'units capables d'organiser le traitement des donnes la chane selon la technique dite du pipelining (cf. IV.1). ARCHITECTURES EXPLOITANT LA SIMULTANEITE DES OPERATIONS Le progrs technologique permet d'envisager des architectures exploitant la simultanit (paralllisme) des oprations tous les niveaux. La simultanit peut tre ralise en quipant l'UAL de plusieurs additionneurs ou multiplicateurs pouvant travailler ainsi en mme temps. Mais de faon plus gnrale, elle est organise en mettant plusieurs processeurs en parallle, ce qui permet d'excuter plusieurs travaux en mme temps ou de distribuer un calcul donn sur plusieurs processeurs. Les ordinateurs sont alors appels multiprocesseurs: plusieurs processeurs fonctionnent en parallle en partageant la mme mmoire centrale, ou chacun tant dot de sa propre mmoire et capable de communiquer avec les autres grce des connexions trs performantes. EVALUATION DE LA PERFORMANCE Du point de vue de l'utilisateur, la performance d'un ordinateur est fonction du temps d'excution de ses programmes. Les ordinateurs sont classs en fonction de leurs capacits et performances. Si l'valuation de la capacit d'une mmoire est aise (on compte le nombre de mots mmoire en Mbytes ou Gbytes), l'valuation de la performance de traitement d'un ordinateur est beaucoup plus complexe.

Elle fait intervenir plusieurs facteurs qui sont la vitesse de traitement proprement dite (spcifique du processeur), du temps de rponse de la mmoire centrale, et la vitesse des entres/sorties qui dpend des diffrents types de mmoires externes utiliss. Des programmes de test, appels benchmarks, permettent d'valuer les performances des ordinateurs, mais peu d'entre eux sont rellement utiliss de faon standard. Un certain nombre dunits de mesure des performances des processeurs ont t dvelopp, les plus standards tant le Mips, le Flop et le Spec. Le Mips (Million of Instructions Per Second) est l'unit la plus simple. Elle mesure le nombre d'instruction machine excute par seconde. Elle sert de rfrence et peut s'appliquer tous les processeurs. Le Mflops (Million of FLoating point Operations Per Second) est une mesure spcifique du nombre d'oprations arithmtiques en virgule flottante que peut excuter un processeur par seconde. On parle maintenant de Gflops (Gigaflops) et de Tflops (Teraflops). Ces deux units sont des indicateurs souvent trompeurs et leur calcul varie selon le fabricant. Les jeux d'instructions variant d'une machine l'autre faussent l'utilisation du Mips. Notamment, les performances fournies par des machines RISC et CISC ne peuvent pas tre mesures avec la mme unit. Le Mflops pose galement d'autres problmes. Le temps d'excution d'une addition est diffrent de celui d'une division, pourtant ils sont gnralement considrs de faon identique dans le calcul de la performance. Il existe d'autres units plus ou moins utilises telles que le dhrystone, par exemple. Un certain nombre de constructeurs se sont groups pour former un groupe appel SPEC (System Performance Evaluation Cooperative) qui a pour objet de dfinir des mesures standards communes. Ils ont dfini une dizaine de programmes de test (principalement des programmes scientifiques crits en langage C et en Fortran). Ils excutent ces programmes sur leurs machines et ils comparent le temps dexcution avec un temps de rfrence (temps d'excution sur un Vax 11/780). On calcule un "SPECratio" (temps de rfrence divis par temps d'excution sur la machine teste) pour chaque programme et on fait la moyenne de tous les programmes pour obtenir la valeur finale exprime en SPECmark. Toutes ces mesures sont des indicateurs plutt thoriques de la performance d'un ordinateur. Dans le choix d'un ordinateur, rien ne remplace les benchmarks effectus avec un chantillon reprsentatif de programmes d'applications, reprsentant le travail qui sera rellement exig du futur systme.

LES ARCHITECTURES RISC ET CISC GENERALITES L'volution des processeurs classiques a conduit dvelopper des processeurs ayant des jeux d'instructions de plus en plus complexes. Ces instructions complexes sont des programmes micro-cods dont le dcodage est effectu l'intrieur du processeur et dont l'excution peut prendre plusieurs cycles d'horloge. Pour ces raisons, ces processeurs classiques ont t appels CISC (Complex Instruction Set Computer). Il est noter nanmoins que le temps pass au dcodage n'est pas pnalisant compar au temps d'accs de la mmoire. Cependant, dans le milieu des annes 70, on remarqua que seule une petite partie du jeu d'instructions des microprocesseurs tait rellement utilise pendant l'excution des programmes: dans 80% des cas, un processeur n'utilise que 20% de son jeu d'instructions. Les instructions les plus utilises sont celles de transfert entre unit centrale et mmoire et les branchements aux sous-programmes. A partir de cette constatation est n le concept d'un microprocesseur avec un jeu limit d'instructions, les microprocesseurs RISC (Reduced Instruction Set Computer). Les nombreux dveloppements lis l'architecture RISC sont le rsultat dune synthse entre les progrs accomplis dans la technologie des semi-conducteurs et la meilleure comprhension du rle des compilateurs et des systmes d'exploitation, visant ainsi optimiser la conception dun systme dans sa totalit. En effet, les compilateurs se dveloppent en mme temps que l'architecture d'une nouvelle machine. Avec l'avnement des architectures RISC, les instructions complexes des processeurs CISC sont remplaces par des squences d'instructions simples. Ces microprocesseurs RISC sont donc principalement caractriss par un jeu restreint d'instructions simples effectues rapidement en un cycle d'horloge. CARACTERISTIQUES FONDAMENTALES D'UNE ARCHITECTURE RISC Un processeur RISC possde les caractristiques fondamentales suivantes : excution des instructions en un seul cycle d'horloge ; simplification du format des instructions (gnralement 32 bits) ; rduction et simplification du jeu d'instructions (modes dadressage limits) ; utilisation intensive des registres ; squenceur cbl.

En pratique, les instructions sont cbles, ont une longueur fixe et sont uniformes pour faciliter leur dcodage. Le code opration et les zones d'adressage des registres occupent toujours les mmes positions dans ce format. Ces processeurs utilisent les techniques de paralllisme vues prcdemment (pipeline et superscalaire). Un programme gnre donc beaucoup plus d'instructions pour un processeur RISC que pour un CISC. Les temps d'accs la mmoire jouent un rle plus important d'o l'utilisation intensive de mmoires caches et d'un grand nombre de registres (pour limiter les oprations d'accs la mmoire). Pour optimiser le passage des paramtres lors d'appel de procdures, une nouvelle technique ft adopte par un certain nombre de constructeurs: celle des fentres de registres. Le principe est de diviser les registres en un certain nombre de blocs dlimitant le nombre d'imbrications de procdures. Chaque bloc est associ une procdure (d'un certain niveau d'imbrication) et utilis pour ses paramtres d'entre et de sortie et pour ses variables locales. Donc pour chaque niveau d'imbrication donn, une procdure peut accder aux registres qui lui sont propres ainsi qu'aux registres ddis aux paramtres du bloc suivant. On prfre maintenant revenir aux registres conventionnels pour viter de passer trop de temps la sauvegarde du contexte lors d'interruptions. L'utilisation de mmoire cache est fondamentale dans les processeurs RISC. Les processeurs CISC en faisaient dj usage, mais leurs tailles taient plus limites. On trouve des caches pour les instructions (les statistiques ont montr que 80 90 % des programmes se trouvent dans des boucles) et des caches pour les donnes (trs utiles lors de la manipulation de tableaux de donnes). Un des principaux problmes rencontrs lors du dveloppement des processeurs RISC est li la compilation des programmes et plus particulirement la gnration de code. En effet, dans les systmes CICS, les instructions complexes facilitent le travail de gnration de code. Avec les machines RISC, les instructions de base sont plus simples, donc il y a une plus grande diffrence de niveau entre les instructions des programmes sources et les instructions offertes par le processeur. Un effort particulier a du tre apport la gnration de code et son optimisation. Parmi les critres d'optimisation, on trouve : lallocation optimale des registres (pour viter des accs la mmoire) ; llimination des redondances ; loptimisation des boucles (les expressions qui ne sont pas modifies dans une boucle sont sorties de la boucle) ; le remplacement d'oprations lentes par des oprations rapides (par exemple certaines multiplications et divisions peuvent tre remplaces avantageusement par des oprations de dcalage) ; loptimisation des pipelines.

Les processeurs RISC sont plus simples que les CISC ce qui entrane un temps de conception plus court, des circuits plus petits laissant de la place pour des registres, des co-processeurs

permettant d'augmenter les performances. De plus la simplicit de l'architecture est aussi un avantage pour l'utilisateur car le jeu d'instructions est plus facile utiliser. Il y a une meilleure corrlation entre instructions et cycles machine ce qui facilite loptimisation du code. L'avnement des processeurs RISC pose un problme au niveau des bus. En effet les bus actuels ne sont pas adapts une telle vitesse de traitement. Il est donc ncessaire de dvelopper de nouveaux bus plus performants. DIFFERENCES ENTRE RISC ET CISC L'volution des architectures CISC vise simplifier la tche du compilateur tandis que le concept RISC simplifie le matriel pour augmenter les performances en utilisant une nouvelle gnration de compilateurs. L'opposition entre les architectures CISC et RISC en fait n'a pas rellement eu lieu. Les approches RISC et CISC, au dpart trs diffrentes l'une de l'autre, migrent maintenant vers les mmes objectifs qui sont principalement lexcution d'une ou plusieurs instructions en un seul cycle d'horloge avec des frquences de plus en plus rapides. Pour cela, les deux familles utilisent les mmes principes de mmoire cache, de gestionnaire de mmoire, de pipeline et d'architectures parallles avec diffrentes units travaillant en parallle avec le processeur central comme les units de traitement des nombres flottants. ARCHITECTURE DES MICROPROCESSEURS MICROPROCESSEUR ET MICRO-ORDINATEUR Les progrs dans la miniaturisation des circuits lectroniques sont la base du dveloppement acclr du microprocesseur pendant les dernires dcennies. Par ailleurs, elle est lorigine de l'accroissement de la taille des mmoires centrales et de l'augmentation du nombre et de la puissance des units de traitement dont ont profit les ordinateurs haut-de-gamme, les machines parallles et les super computers. De plus, elle a donn naissance toute une srie de composants dun niveau lev, permettant ainsi de construire facilement et avec un nombre relativement petit de botiers des machines bon march. La gamme des ordinateurs s'est trouve considrablement largie et, pendant que vers le haut on s'organise pour partager des ressources coteuses, au bas de la gamme on dcouvre l'ordinateur personnel. La ralisation, par le constructeur Intel du premier microprocesseur "Intel 4004" date de 1971. Il s'agissait d'un CPU entirement intgr sur une microplaquette de quelques mm2, qui pouvait traiter 4 bits la fois. Le succs l'poque ft retentissant et il trouva trs rapidement des applications dans les voitures, les avions, les fuses, les instruments de mesure, les jeux TV et les appareils lectromnagers.

Le microprocesseur peut tre dfini comme un circuit intgr compos d'une unit de traitement complte (unit de commande + UAL). Il est l'origine de la naissance du micro-ordinateur que l'on peut dfinir comme une unit centrale compose d'un microprocesseur dot d'une mmoire centrale et relie un certain nombre d'units priphriques. EVOLUTION DES MICROPROCESSEURS Ds 1975, le progrs technologique s'acclre et permet d'intgrer de plus en plus de circuits dans une puce. Les transistors occupent toujours moins de place ce qui permet den intgrer un nombre toujours plus croissant sur la mme petite surface disponible. En 1976, la socit Intel russit intgrer sur une puce un microprocesseur, le i-8048, compos dune unit de commande, d'une UAL 8 bits, d'une ROM (1 Kbyte) pour les instructions, d'une RAM (64 bytes) pour les donnes et de dispositifs d'entre/sortie (27 lignes).

Figure 8 Fabrication d'un Microprocesseur

Avec le i-8048 on dpasse les 20.000 transistors sur une seule microplaquette.

Figure 9 La Taille du Microprocesseur lui permet de passer dans la chas d'une aiguille

Un microprocesseur 64 bits indique que le bus de donnes a une largeur de 64 bits. La taille des donnes influence de nombreux composants tels que les registres et la prcision des oprations arithmtique. La taille du bus d'adresse influence directement le nombre de mots mmoire accessibles. Le bus d'adresses permet de rfrencer une position mmoire et le contenu de celle-ci (donnes ou instruction) est transfr au processeur central par le bus de donnes. D'autres constructeurs se lancent dans la fabrication des microprocesseurs, tels Texas Instruments, Zilog, NAS, Hewlett-Packard et plus tard DEC (Digital Equipment Corporation), IBM et les Japonais. A la fin des annes 70, on avait produit plus de 100 millions de microprocesseurs 8 bits ! C'est alors qu'apparaissent les microprocesseurs 16 bits. Par exemple, le MC 68000, qui s'approche du Mips, peut adresser 16 Mbytes de mmoire, possde 15 registres (16 bits) et un squenceur micro et nano-programm. L'arrive des microprocesseurs 16 bits permet d'envisager de nouvelles applications. Jusque l on avait surtout utilis les microprocesseurs pour remplacer la logique cble l'intrieur d'instruments et d'appareils de toutes sortes. Mais leur fonctionnement tait transparent pour l'utilisateur. Les nouveaux microprocesseurs sont beaucoup plus puissants et flexibles et permettent d'envisager leur programmation par l'utilisateur. C'est ainsi que ces microprocesseurs intelligents ouvrent la voie la robotique, la bureautique, l'ordinateur personnel qu'on appelle aussi microordinateur, et aux stations de travail professionnelles, qui sont en train de bouleverser les mthodes de travail des ingnieurs, des architectes, des techniciens, etc ... Les annes 80 voient l'apparition des architectures 32 bits, typiques des ordinateurs de moyennes puissance. Avec l'entre en scne des microprocesseurs Motorola M 68020, M 68030, Intel 80286 et 80386 et de la famille des microprocesseurs RISC M 88000, on peut disposer de microprocesseurs assez puissants (plusieurs dizaines ou centaines de Mips) pour concurrencer les applications des miniordinateurs et capables de provoquer un nouveau saut de qualit dans les applications des ordinateurs personnels et professionnels.

A l'heure actuelle, les limites des architectures 32 bits sont atteintes et dpasses par les architectures 64 bits qui deviennent le standard actuel tel que le processeur Alpha de DEC. Certains processeurs adoptent dj une architecture 128 bits soit pour le bus des donnes soit pour le bus des instructions. Quant la poursuite de cette volution dans les annes futures, rien n'empche de croire que le progrs technologique continuera pas au mme rythme, ou presque, jusqu' la fin du sicle. Ce qui devrait permettre d'augmenter la densit des composants, d'amliorer encore les performances et de baisser ultrieurement les prix. Mais la complexit des circuits disponibles sur une puce augmente aussi et demande un effort considrable pour la matriser. LES EXEMPLES DES MICROPROCESSEURS INTEL ET MOTOROLA Les microprocesseurs classiques ont t domins par deux grands constructeurs: Intel et Motorola, dont l'volution des processeurs sest ralise de manire parallle, les noms de code de leurs produits ayant un certain nombre de similitudes. Depuis ces deux familles de microprocesseurs se sont dveloppes pour donner naissance des microprocesseurs intgrant de plus en plus de transistors et avec des lignes de donnes et d'adresses de plus en plus larges (8, 16, 32 bits). L'augmentation de la densit d'intgration a permis dintgrer d'autres units comme une unit de gestion de mmoire pagine ou un coprocesseur arithmtique. Le processeur Intel 80586 est sorti sous le nom de Pentium. Il intgre plus de trois millions de transistors et il a une performance de l'ordre de 100 Mips. Alors que celui-ci est juste termin, les deux ou trois prochaines gnrations sont dj l'tude. Ces microprocesseurs ont principalement t adopts par les PC compatibles IBM, alors que les microprocesseurs Motorola ont t adopts par Apple pour sa famille de machine Macintosh. Pour ces deux familles de microprocesseurs, la frquence d'horloge peut varier entre 16 et 50 MHz. Klamath est le nom de code attribu au successeur du Pentium Pro, une version plus performante du Pentium. Ce que l'on sait dj de lui, c'est que les ingnieurs d'Intel lui ont adjoint une unit spcialise notamment dans le traitement des donnes multimdias et nomm MMX. Les procds de gravure des puces devraient permettre de positionner un transistor tous les 0,28 micron pour le fabricant Intel contre 0,35 pour ses concurrents Cyrix et AMD.

LES PERSPECTIVES D'EVOLUTION Andy Grove, le P.D.G. de la socit Intel, a affirm l'occasion du Comdex, que dans 15 ans, les microprocesseurs compteront 1 milliard de transistors, tourneront la frquence de 10 Ghz (10.000 Mhz) et dlivreront une puissance de 100.000 Mips ! Ces estimations tiennent compte des performances passes, des technologies existantes et des lois de la physique. La trs fameuse "loi" de Gordon Moore (un des co-fondateurs de la socit Intel) qui veut que la puissance des puces double tous les dix-huit mois, aurait donc encore de trs nombreux jours devant elle. En 1989, Intel avait prdit que ses processeurs compteraient, en 1996, quelques 8 millions de transistors, fonctionneraient la frquence de 150 Mhz, dvelopperaient une puissance de 100 Mips, et seraient gravs dans une finesse de 0,35 micron. Force est de constater qu'il ne s'est pas beaucoup tromp, puisque les principales caractristiques de ses actuelles puces sont les suivantes (Pentium IV) : 42 millions de transistors, frquences de 3 Ghz, 60.000 Mips, gravure en 0,13 micron. Si la course la puissance devait s'arrter un jour, ce serait la faute quelques lois physiques juges incontournables. Lorsque les "rivires" graves au cur des microprocesseurs seront d'une largeur infrieure au 1/500e de micron, les lectrons y circulant auront toutes les chances de se perdre en effets quantiques... Ce pourrait alors en tre fini de la loi de Moore. Mais nous n'en sommes pas l: l'horizon 2006, l'paisseur de la gravure ne devrait tre "que" de 0,06 micron. Pas de problme donc. Cependant une question reste en suspend: 100.000 Mips pour quoi faire ?

Il est vrai que la capacit de l'industrie informatique digrer ses propres progrs n'est plus dmontrer. Depuis que les micros sont devenus multimdia, les dveloppeurs sont condamns aux plus incroyables gymnastiques (techniques hyper sophistiques de compression, trompe-l'il en tous genres ...) pour nous faire oublier la faiblesse des processeurs actuels. Et ce n'est que pour "aprs-demain" que l'on verra de gigantesques crans muraux de trois mtres de diagonale affichant cent images par seconde, dans des dfinitions telles que l'on pourra compter les cils des cyber-hrones des sries tl-interactives. ARCHITECTURE DES SUPERORDINATEURS GENERALITES On construit des ordinateurs aux performances extrmes, rpondant aux exigences des applications scientifiques et techniques les plus avances. Depuis l'arrive du Cray-l (1976) on a pris l'habitude de les appeler "super-ordinateurs" (supercomputers) pour les distinguer des modles plus communs et plus rpandus, gnralement affects aux applications ne demandant pas des calculs numriques trs pousss. Les scientifiques et les ingnieurs ont toujours d affronter des problmes dpassant la capacit de calcul des machines les plus puissantes. De nombreuses disciplines ont des problmes ncessitant dnormes quantits d'oprations arithmtiques, par exemple la mtorologie, la dynamique des fluides, l'arodynamique, l'analyse de structures, la micro-lectronique, la physique des particules, la chimie molculaire, les mathmatiques appliques, la simulation numrique de systmes, le traitement d'images, etc. Cependant l'tiquette de "super-ordinateur" est la fois vague et phmre. Les "supercomputers" d'hier n'ont plus grand chose offrir et ceux de demain sont encore sous forme de prototypes et d'ides. A l'vidence, l'existence de ces supercomputers est trs courte. Et pourtant le march est littralement envahi par de soi-disant "supercomputers" et autres "super-minis". On pourrait laisser les superlatifs aux constructeurs et essayer de classer les ordinateurs selon leurs caractristiques essentielles. Par exemple, la plupart des machines haute performance sont des mono ou multiprocesseurs vectoriels pipelines multiples. Pour avoir une ide de leur niveau de performance, on doit tenir compte du nombre dunit de traitement, du cycle machine, de la capacit de la mmoire centrale ainsi que des registres affects aux calculs vectoriels dans les processeurs, des dbits des bus reliant la mmoire aux processeurs centraux et des connexions entre la mmoire centrale et les mmoires auxiliaires, sans parler de l'indispensable logiciel qui permet d'exploiter toutes ces ressources.

Nous avons vu prcdemment que les Mips et les Mflops sont des indicateurs souvent trompeurs et leur calcul varie selon le constructeur. En ce qui concerne les Mflops, il faut tenir compte du fait que dans le cas d'une application pratique, mme si elle est trs gourmande en calculs numriques, en ralit 10 % 20% de la capacit maximale est effectivement utilis. Ceci est largement suffisant pour obtenir des augmentations de vitesse (speedup) parfois trs importantes par rapport aux machines purement scalaires. Des facteurs entre 10 et 100 ont t gagns en vectorisant certaines applications, ce qui permet d'effectuer en quelques heures des calculs qui auraient demand des semaines ou des mois. La prsence d'une unit scalaire est de nature augmenter galement les performances du systme. Si la plupart des supercomputers peuvent tre dcrits comme tant des machines dotes de processeurs vectoriels pipelines, il faut encore distinguer entre les diffrents niveaux d'intgration de ces processeurs vectoriels. En effet, plusieurs constructeurs offrent en option des processeurs pour les calculs vectoriels que l'on peut brancher sur des ordinateurs scalaires. La tendance est la gnralisation et la diffusion des facilits vectorielles. La gamme des solutions s'tend continuellement et le choix de la machine la mieux adapte un problme donn est loin dtre vident. EXEMPLES DE SUPER-ORDINATEURS On distingue plusieurs catgories de super-ordinateurs dont les super-ordinateurs vectoriels (le processeur est capable de travailler sur des vecteurs de donnes) et les super-ordinateurs multiprocesseurs. Il n'y a que quelques fabriquants de super-ordinateurs vectoriels: Cray aux Etats-Unis, Fujitsu, Hitachi et Nec au Japon. La premire machine de ce type tait le Cray-1 ralise en 1976 par Seymour Cray (monoprocesseur de 10 Mips et 160 Mflops, avec une unit de traitement vectoriel compose de sept units spcialises). Dans les annes 80, Cray a commercialis des machines telles le Cray-XMP et le Cray-2 ayant jusqu' quatre processeurs, chaque processeur tant capable de quelques 25 Mips et 450 Mflops. Avec l'arrive de la srie YMP et du Cray-3, ce constructeur confirme la tendance vers les multiprocesseurs, les mmoires centrales de trs grande capacit et des cycles machine s'approchant de la nanoseconde (CRAY-2 = 4,1 ns; CRAY-3 = 2 ns). D'ailleurs, la concurrence ne cesse de repousser les limites atteintes. Le constructeur Nec produit le SX-3, qui avec ses quatre processeurs dpasse les 25 Gflops. Pour certaines recherches la pointe du progrs technique et scientifique, ces machines sont devenues des outils indispensables, mais elles subissent dsormais la concurrence des machines parallles.

Pour ce qui concerne les machines parallles, on peut mentionner les constructeurs amricains TMC (Thinking Machine Corporation), Intel, Cray, Ncube, IBM, et les japonais tels que Fujitsu. L'Europe a relev le dfi des machines parallles avec les constructeurs suivants Kendall Square Research, Meiko, Parsytech, et en particulier les constructeurs franais avec Telmat, ACRI et Archipel. LES PROCESSEURS A ARCHITECTURES PARALLELES LE PARALLELISME Les progrs considrables de la technologique ont autoris la ralisation des architectures d'un trs haut niveau de paralllisme, avec des centaines, voire des milliers, de processeurs. Lide la base du traitement parallle est de distribuer le travail ncessaire la solution d'un problme sur plusieurs processeurs faisant partie de la mme machine. En effet, on observe que, dans la plupart des programmes que l'on excute normalement en squence, il existe des blocs d'instructions totalement indpendants, qui pourraient tre excutes en mme temps. Cela implique un nouveau style de programmation et une complexit accrue au niveau du logiciel. Il est vident que certains problmes tels ceux rencontrs dans les mathmatiques appliques, dans le traitement d'images ou en physique, possdent un bon niveau de paralllisme naturel et peuvent tre adapt sans trop de difficults un traitement parallle. Par contre, il y a des programmes (notamment dans le domaine de l'informatique de gestion) qui ne se prtent pas facilement une telle dcomposition. Le paralllisme peut tre considr comme un type d'architecture des processeurs qui permet plusieurs actions de se drouler en mme temps, de manire concurrente. En augmentant le paralllisme d'un processeur on augmente sa capacit de traitement. On distingue entre diffrents niveaux de paralllisme. Le paralllisme interne est organis l'intrieur mme d'un processeur classique, alors que le paralllisme externe se rfre plusieurs processeurs travaillant en liaison plus ou moins troite. LE PARALLELISME INTERNE Il existe trois formes de paralllisme interne : le paralllisme par duplication: ce paralllisme ralise une simultanit relle de certaines oprations ou actions, en multipliant les dispositifs affects ces tches, comme par exemple : 1. les additionneurs parallles, 2. les bus multi-lignes pour transferts parallles, 3. les mmoires blocs indpendants entrelacs,

4. ou les additionneurs ou multiplicateurs supplmentaires, 5. etc ... ; le paralllisme par anticipation: l'accroissement des performances est obtenu en effectuant certaines actions susceptibles de rduire le temps d'attente d'une unit critique, comme par exemple : 6. en recouvrant le temps d'excution d'une instruction avec la recherche de l'instruction suivante. Le recouvrement des actions dans un pipeline, peut aussi tre cit comme un exemple de ce type de paralllisme; 7. en dotant le processeur d'une antmmoire, 8. en organisant les transferts de donnes entre une unit priphrique et la mmoire en vue de les traiter ultrieurement en simultanit avec le travail du processeur, 9. etc. le paralllisme par multiplexage: lorsque plusieurs units lentes sont servies par une unit rapide, on ralise une simultanit apparente. Cest le cas, par exemple, des systmes utiliss en temps partag (time-sharing). LE PARALLELISME EXTERNE Le paralllisme externe se rfre plusieurs processeurs travaillant en liaison plus ou moins troite. Il peut tre classifi selon trois types d'architectures : SIMD (Single Instruction Multiple Data streams): il s'agit de machines ayant une unit de commande unique, mais plusieurs units dexcution. Tous les processeurs excutent la mme instruction simultanment. On peut classer dans cette catgorie les processeurs vectoriels qui excutent la mme instruction sur des tableaux d'lments : MIMD (Multiple Instructions Multiple Data streams): on peut classer dans cette catgorie les multiprocesseurs, o chaque processeur excute un programme diffrent, et aussi les machines parallles o tous les processeurs travaillent au mme programme ; A titre complmentaire, on pourrait galement citer l'architecture du type MISD (Multiple Instructions Single Data streams), bien qu'aucun processeur n'ai encore t construit sous cette architecture.

N.B. L'architecture de Von Neumann est classer dans la catgorie SISD (Single Instruction Single Data stream) qui concerne les processeurs strictement squentiels et dpourvus de paralllisme externe. Elle est, en effet, caractrise par une seule unit de commande traitant une seule squence d'instructions (Single Instruction stream) et par une seule unit d'excution (UAL) traitant une unique squence de donnes (Single Data stream). PARALLELISMES TRANSPARENT - PARALLELISME VISIBLE La plupart de ces techniques, visant l'accroissement des performances, ne concernent pas directement l'utilisateur. On parle alors de paralllisme transparent.

C'est le cas, par exemple, du pipeling ou de l'antmmoire. Mais il y a aussi un paralllisme visible, ncessitant la collaboration de l'utilisateur pour tre ralis efficacement. Cest le cas notamment des machines vectorielles et parallles, o la programmation joue un rle fondamental dans la recherche d'une performance maximale. Il est cependant opportun de noter que certains problmes ne peuvent pas profiter de l'apport du paralllisme. Les traitements raliss dans le cadre d'une application ne sont pas tous transposables selon un mode parallle. Notamment, la plupart des applications de gestion ne peuvent profiter des possibilits offertes par cette architecture. De ce fait, les systmes hautement parallles ne peuvent tre que rarement exploits 100% . LES PROCESSEURS "SUPERSCALAIRES" Ce qualificatif est attribu des processeurs capables d'excuter en parallle un petit nombre d'instructions (de 2 5). La simultanit est relle. On peut, par exemple, excuter une instruction en virgule flottante pendant quune autre unit fait une opration avec des nombres entiers et qu'une troisime s'occupe d'un transfert mmoire-registre. C'est le processeur qui gre ses units de traitement et qui s'organise pour optimiser le paralllisme. La performance des machines superscalaires dpend beaucoup du compilateur qui doit tre capable de trouver suffisamment dinstructions pouvant tre excutes en parallle, c'est--dire n'ayant pas de dpendances entre les variables. L'APPROCHE VLIW L'approche VLIW (Very Long Instruction Word) consiste placer, dans un mot de taille assez grande (plus de 100 bits), plusieurs instructions prtes tre excutes en parallle par des units fonctionnelles multiples indpendantes. L'approche VLIW est similaire l'approche superscalaire mais la gestion du paralllisme n'est plus effectue par le processeur. Le concept VLIW fait entirement confiance au compilateur qui arrange les instructions dans ces grands mots structurs. Un processeur superscalaire livre aux diffrentes units fonctionnelles des instructions individuelles issues du compilateur, tout en laissant au hardware la responsabilit de dcider du nombre dinstructions excuter chaque instant. L'affectation des oprations aux units de traitement est code dans l'instruction ellemme. Un des premiers microprocesseurs utiliser cette technique est le i860 conu par la socit Intel qui a des instructions d'une longueur de 128 bits.

CONCLUSIONS SUR LES ORDINATEURS PARALLELES Ces diffrents types d'architectures ont donn naissance des ordinateurs diffrents et assez complmentaires adapts la rsolution de problmes dans des domaines trs divers : d'abord, on dispose de puissantes machines scalaires, excutant leurs instructions en squence selon les principes de Von Neumann, et dont on a appris se servir depuis une quarantaine d'annes; ensuite, on a depuis une quinzaine d'annes, des processeurs vectoriels trs puissants, capables de rsoudre des problmes qui taient rputs infaisables, cause du temps d'excution sur les machines scalaires; enfin, on peut dsormais compter sur toute une gamme de machines parallles avec d'normes capacits de calcul, distribues sur de grandes quantits de processeurs, mais qui demandent au programmeur une approche diffrente. Mais pour arriver une utilisation aise de ces machines, il faudra un long apprentissage.

Les ordinateurs parallles reprsentent la seule direction de recherche envisageable pour atteindre le Tflops (mille milliards d'oprations en virgule flottante par seconde) avant la fin du sicle.

LES PROCESSEURS A ARCHITECTURES SCALAIRES ET VECTORIELLES LA TECHNIQUE DU PIPELINING Cette technique exploite par les super-ordinateurs, est souvent adopte pour accrotre les performances des units de traitement des ordinateurs de n'importe quel niveau de puissance. Le principe du pipelining s'inspire de l'organisation du travail la chane. Le pipelining est une technique permettant d'effectuer davantage de travail par unit de temps quand il faut rpter une opration donne sur un grand nombre d'oprandes. Elle consiste segmenter une opration complexe en une squence d'actions plus simples. Chaque action simple est ralise par un dispositif particulier. Plusieurs instructions complexes peuvent ainsi tre traites en mme temps tout en tant des stades diffrents d'excution. Au lieu de concevoir une unit S capable d'effectuer l'opration P dans le temps T, on divisera le travail en segments P1, P2, P3, P4 ... excuts par des sous-units S1 ,S2, S3, S4 ... dans des temps T1 ,T2, T3, T4 ... fraction du temps T. Ds que la chane (pipeline) est pleine, c'est--dire ds que toutes les sous-units sont occupes, on commence sortir les rsultats un rythme beaucoup plus lev que dans le cas de lunit non segmente. Il ne s'agit donc pas d'augmenter la vitesse d'excution d'une opration, mais de produire davantage de rsultats par seconde, en fournissant continuellement des oprandes l'entre du pipeline. Cette mthode est utilise notamment pour accrotre la capacit en Mflops. Les diffrentes oprations en virgule flottante sont segmentes et le hardware concern est restructur de manire analogue aux stations d'une chane de montage. Dans le cas de l'addition, l'opration est segmente en cinq parties correspondant chacune cinq stations, affectes aux fonctions suivantes : comparaison des exposants ; interversion des mantisses, si ncessaire ; dcalage les mantisses ; addition les mantisses ; normalisation du rsultat.

Les performances peuvent tre augmentes en organisant des pipelines en parallle (pipelines multiples). Avec trois additionneurs segments en cinq stations et travaillant en mme temps, la productivit exprime en Mflops est amliore d'un facteur de 15. La technique du pipelining peut aussi s'appliquer des dispositifs autres que ceux faisant partie de l'UAL. Par exemple, la section de lunit de commande qui traite les instructions peut tre organise en pipeline. En effet, on peut segmenter le cycle instruction en une squence d'actions, comme suit :

recherche en mmoire centrale l'instruction suivante, dcodage du code opration, recherche de l'oprande, activation du squenceur ou du micro-code, ralisation de lopration, incrmentation du code opration d'une unit.

Les actions ainsi dfinies peuvent se suivre et se recouvrir dans le temps, le dbit est ncessairement augment. LES PROCESSEURS A ARCHITECTURES SCALAIRES ET VECTORIELLES La technique du pipelining ouvre la voie au traitement systmatique de blocs de donnes, qu'on appelle aussi vecteurs (vectors). Un vecteur est une variable ayant plusieurs valeurs. Un pipeline, pour tre efficace, doit fonctionner automatiquement une fois l'opration lance, sans intervention ultrieure de la part du programme. Le programme doit se limiter spcifier le type d'opration dsire et les vecteurs concerns; ce qui peut se faire en une seule instruction. Un processeur vectoriel (vector processor) est une unit dexcution (UAL) organise pour effectuer des oprations sur des vecteurs. Une telle opration est dclenche par une instruction vectorielle faisant partie du jeu d'instructions de la machine. Avec une seule instruction, on peut donc provoquer la somme de deux vecteurs, c'est--dire des lments correspondant aux deux vecteurs. On dit d'un processeur qu'il est scalaire, s'il ne possde pas cette facult d'oprer sur des vecteurs et s'il ne peut qu'excuter des instructions dont l'effet se limite des variables scalaires, c'est-dire des variables ayant une seule valeur. Pour tre efficace, un processeur vectoriel doit pouvoir disposer de blocs de registres ultrarapides, capables de stocker les vecteurs provenant de la mmoire centrale et prts tre traits par l'un des pipelines. Egalement, il doit possder suffisamment de registres pour y dposer les rsultats produits, avant de les envoyer vers la mmoire. Souvent, les rsultats issus d'un pipeline doivent tre soumis dautres pipelines pour des traitements ultrieurs. Dans ces cas, un stockage temporaire en mmoire centrale devient inutile, et ce qui encombre davantage les bus. Des vecteurs peuvent subir des traitements successifs, programms l'avance, sans quitter le CPU, limitant les accs la mmoire. On ralise ainsi un autre niveau de pipelining. Pour cette raison, certains systmes offrent la possibilit d'enchaner les oprations vectorielles (chaining).

You might also like