Vous êtes sur la page 1sur 187

Support de cours

Architecture des ordinateurs

Cours de 20 h, 1me semestre


Module Architecture des ordinateurs I
1re anne, Filire Gnie Informatique EMI
Prpar en 2007/2008 par : F. Z. Belouadha et M. El Euldj
Actualis en 2010/2011 par : F. Z. Belouadha
Dispens par : F. Z. Belouadha et D. El Ghanami
Rfrences
[1] John L. Hennssy et David A. Patterson, Architecture des
ordinateurs : une approche quantitative, McGraw-Hill, 1992
[2] Andrew Tanenbaum, Architecture de lordinateurs, Pearson
education, 2005
[3] Emmanuel Lazard, Architecture de lordinateur, Pearson
education, 2006
[4] Arvind and Krste Asanovic, Cours de MIT,
http://ocw.mit.edu/NR/rdonlyres/Electrical-Engineering-and-
Computer-Science/6-823Fall-2005/
[5] Hakim Amrouche, Cours Structure machine,
http://amrouche.esi.dz/doc/ch7_memoires.pdf
[6] Support de cours de MIT adapt par M. Eleuldj 2008,
http://www.emi.ac.ma/~eleuldj
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 2
Intrt de larchitecture des ord.
Pas du tout
Faire du traitement de texte ou les bases de donnes
Crer ou grer un site Internet
Dvelopper des logiciels en Java ou en C++
Un peu quand mme
Satisfaire la curiosit intellectuelle : Comment marche cette
machine sur laquelle je passe des journes ?
Enormment
Dvelopper des systmes de traitement haute performance
(Audio, Vido, Mdical, Spatial)
Dvelopper des systmes matriels (mmoire,
Processeur)
Donner une expertise en choix de matriel
crire des systmes dexploitation
Dvelopper des compilateurs
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 3
Plan du cours
Architecture des ordinateurs

I. Structure de lordinateur
II. Architecture de lordinateur de lantiquit aux
annes quarante
III. Architecture et volution de lordinateur dans les
annes cinquante
IV. Architecture et volution de lordinateur dans les
annes soixante
V. Microprogrammation
VI. Hirarchie de la mmoire

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 4
Chapitre 1
STRUCTURE DE LORDINATEUR

1. Terminologie
2. Dfinition
3. Unit centrale
4. Schma dUAL
5. Registres
6. Dcodeur et squenceur
7. Bus
8. Outils logiciels

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 5
Terminologie
Anglais : computer calculateur
Franais : ordinateur ordre (commande et organisation)
Arabe : ,

1955 : Cration du mot franais ordinateur, dpos


dabord par IBM, pour dsigner ce qui est en anglais
un "computer"

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 6
Dfinition
Architecture des ordinateurs
Organisation des ordinateurs
+ logiciels
Structure des ordinateurs
+ compilateurs
UCT (UAL+UC) + systmes dexploitation
+ Mmoire + Interconnexions + algorithmes
+ Units dE/S + conception des circuits
+ SGBD + algorithmes
+ langages +

Ordinateur :
Composants matriels qui communiquent entre eux
Outil utilis pour le calcul et le traitement
automatique de linformation
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 7
Unit centrale de traitement

Processeur (CPU): traite les donnes et envoie des


ordres aux autres composants

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 8
Exemple dUAL

74LS181 (UAL 4 bits)

Oprandes sur A & B


Type de fonctions sur M
(1 logiques, 0 arithmtiques)
Type d'opration sur S
Rsultat sur F

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 9
Registres (1/4)

Mmoires RAM internes au p d'accs rapide

Compteur ordinal (PC ou IP)


Adresse de la prochaine instruction excuter

Registre d'instruction :
Code de l'instruction excuter

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 10
Registres (2/4)
Accumulateur :
Contient au dbut une oprande de l'opration et le rsultat
la fin

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 11
Registres (3/4)

Registre d'tat (PSW : Program Status Word)

Contient des bits indicateurs d'tat du p (flags/drapeaux)


Les flags sont actualiss en fonction du rsultat de la
dernire instruction (ex : 8086)

Ce registre est utilis par les instructions de saut


conditionnel

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 12
Registres (4/4)

Pointeur de pile (SP)


Contient l'adresse de la dernire case utilise ou de la
prochaine case libre de la pile
La pile = zone mmoire rserve au stockage temporaire de
donnes utiles au droulement du programme

Registres temporaires
Utiliss par le p pour le stockage temporaire des adresses
ou donnes lors du droulement d'instructions

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 13
Dcodeur et squenceur

Dcodeur (ensemble de circuits)


Dcode le code opratoire en une squence de commandes
et envoie les signaux correspondants l'UAL

Squenceur
Dirig par l'horloge, il synchronise les tapes d'excution
d'une instruction
Il gre chaque tape et la transforme en signaux de contrle

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 14
BUS
Bus : systmes de cblage pour lier et faire
communiquer les composants d'un ordinateur
Fils de transmission d'informations (donnes, adresses ou
commandes)
1 fil transmet un bit, 1bus n fils = bus n bits
Types :
Squentiels : 1 seul fil qui transmet bit par bit
Parallles : transmission simultane de +eurs bits
Fonctions : Bus dadresses, de donnes et de contrle
Lespace mmoire adressable dpend de la largeur du bus
dadresses

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 15
Outils logiciels

Comment dialoguer avec lordinateur ?


Systme dexploitation (SE) : 1er logiciel installer
Exemples : Unix, linux, MsDos

Comment traiter linformation ?


Diffrents logiciels : bureautique, comptabilit, jeux,
applications
Langages de programmation : Langage machine, de bas
niveaux, volus

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 16
Chapitre 2
ARCHITECTURE DE LORDINATEUR
DE LANTIQUIT AUX ANNES 40
1. Motivation
2. Boulier
3. Rgles de calcul, Pascaline, machines diffrences et
analytique
4. Mark I
5. ABC et ENIAC
6. Machine de Von Neumann
7. EDVAC, UNIVAC et EDSAC
8. Premires machines commercialises (IBM 701)
9. Facteurs ayant influenc larchitecture des ordinateurs
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 17
Motivation
Le besoin de calculer remonte au dbut de la socit
humaine

Lhomme utilisait des cailloux (calculus) et ses doigts


pour compter

Lhomme tait lent et se trompait souvent

De nouveaux outils pour simplifier et acclrer le calcul


taient ncessaires

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 18
Antiquit (1/3)
Diffrentes civilisations ont invent des bases de
numrotation et des mthodes de calcul

Octogone trigramme (-3000 en chine) :


reprsentation binaire des huit 1ers chiffres
par des traits interrompus ou non

Abaque (abacus) : table de calcul


Types : Chinois, grec et romain (sable,
jetons)
Boulier en est un descendant

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 19
Antiquit (2/3)

Boulier

6 3 0 2 7 1 5 4 0 8
Ensemble de boules coulissantes sur des tiges
Les boules dune tige indiquent un nombre de 0 15 et
reprsentent une unit, une dizaine
La partie infrieure (suprieure) dune tige suprieure
(infrieure) reprsente un multiple de 5 (une unit)
outil servant calculer : addition, soustraction,
multiplication, division, racine carre
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 20
Antiquit (3/3)
-1750 Code d'Hammourabi : le roi de Babylone a fait graver les
sentences royales sous la forme :
SI {personne} ET {action} ALORS {sentence}

-330 Logique : dfinie par le philosophe grec Aristote

+ 820 Travaux du mathmaticien Perce Abou Jaafar


Mohammed Ibn Moussa Al Khawarizmi connu pour son livre "Al
Jabr oua El Mokabala" crit l'an 825

+1000 Zro : Invent en Inde, rapport en Occident par les


arabes et accept en occident vers le XIVme sicle
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 21
Calculateurs mcaniques
Rgle de calcul : W. Oughtred et E.Gunter en 1620
Aprs linvention du logarithme par J. Napier en 1614

Utilise dans la multiplication : log (a*b)=log(a) + log(b)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 22
Pascaline
Blaise Pascal (1642-France)
Machine base de roues ergot
Utilise pour des additions et soustractions
B. Pascal

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 23
Pascaline amliore
Construite par Leibniz (1673-Allemagne)
Utilise des cylindres dents de longueurs
ingales
Calcule les oprations +, - et * G. W. Leibniz

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 24
Machine diffrences (1/2)

Calculateur mcanique
Roues dentes sur des tiges + manivelles
Invente par Charles Babbage (1823) C. Babbage
Construite en 1855 Paris
value des polynmes de 6me degr
33 44 nombres de 32 chiffres par
minute
Utilit : tables mathmatiques et nautiques
(astronomie + marine)

Machine diffrences
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 25
Machine diffrences (2/2)
Ide :
Approximer une fonction continue par un polynme
valuer un polynme partir de tables de diffrence

Exemple :
f(n) = n2 + n + 41 n 0 1 2 3 4
d1(n) = f(n) - f(n-1) = 2n d2(n) 2 2 2
d2(n) = d1(n) - d1(n-1) = 2 d1(n) 2 4 6 8
f(n) = f(n-1) + d1(n) f(n) 41 43 47 53 61
= f(n-1) + (d1(n-1)+2)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 26
Machine analytique
(1842)
Prcurseur du calculateur numrique
Utilise des cartes perfores
Inspires du mtier tisser de Jacquard
Composants :
Un magasin (mmoire) : Cartes des
variables et rsultats intermdiaires
Un moulin (unit de calcul) : Cartes doprations
Cette machine na pu tre ralise
Augusta Ada (1843) : Description de la
machine, 1ers algorithmes, boucles et
branchements
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 27
Grands noms (1/2)
1854 : George Boole dmontre que tout processus
logique est dcomposable en oprations logiques
appliques sur 2 tats

1904 : J. A. Fleming invente le tube vide et diode

1937 : A. M. Turing invente la Machine de Turing

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 28
Grands noms (2/2)

1938 : C. E. Shannon fait le parallle entre les


circuits lectriques et lalgbre boolenne et
dfinit le bit

1945 : Von Neumann dfinit un modle


formel dun calculateur (Machine de Von
Neumann)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 29
Calculateurs lectroniques
Mark I Cr en 1944 par Howard Aiken (universit de
Harvard) chez IBM
Caractristiques :
Arbres mcaniques+relais lectromagntiques
5 tonnes, 750000 composants
1 horloge de 100 Khz
Des calculateurs en parallle, calcul
dcimal
Performances :
3 additions ou soustractions/s
Multiplication : 6 s, Division : 15,3 s
Logarithme/fonction trigonomtrique : 1 min
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 30
Machine ABC

Cr en 1939 par John Atanasoff et son tudiant Clifford


Berry (univ. de Iowa)
Ide : Utiliser une machine numrique
Caractristiques :
300 Tubes vide+relais lectromcaniques
320 kg ; 1,5 km de fils
1er faire des calculs en binaire
Utilise lalgbre de Boole
30 additions/s ; 1 multiplication/s
Rsout des quations diffrentielles

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 31
ENIAC (1/3)
(Electronic Numerical Integrator and Computer)

Cr par le chercheur John. H. Mauchly et lingnieur


Presper Eckert en 1943-1945 (univ. de Pennsylvania)

Usage : calculs balistiques


Calcule la trajectoire dun projectile en 20 s au lieu
de 3 jours de calcul manuel

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 32
ENIAC (2/3)
Caractristiques :
1er ordinateur moderne non mcanique
18000 Tubes, Lecteur de cartes perfores, imprimante
lectrique, 6000 commutateurs connectables
30 tonnes, Forme en U de 6m et 12m
20 calculateurs en parallle
Calcul dcimal
5000 additions/s, 1 division en 6ms
120 cartes lues/min

ENIAC

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 33
ENIAC (3/3)

Limitations
Fiabibilit: MTBF (Mean Time Between Failures) est de
20 mn
Difficult dappeler un programme partir dun autre
programme
Excution dinstructions selon un ordre prdtermin
Intervention manuelle pour rompre la squence selon des
rsultats prcdents (cas if else)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 34
Machine de Von Neumann (1945)

Mmoire

Unit de UAL Entres


Contrle Sorties

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 35
Description de la
machine de Von Neumann
UAL : effectue les calculs
UC : commande les autres units
Envoie des signaux de contrle aux autres units
Supervise le fonctionnement de lUAL
Envoie des signaux dhorloge aux autres units
Mmoire : dispositif de stockage de donnes et programme
E/S : permettent lchange dinformations avec les dispositifs
extrieurs

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 36
Principes de la
machine de Von Neumann

Machine universelle contrle par un programme


Donnes et programme en mmoire (binaire)
Excution squentielle par dfaut
Possibilit de tests, boucles et sauts conditionnels
Architecture SISD (Single Instruction Single Data)
Une UC traite une squence dinstructions
Une UAL traite une squence de donnes

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 37
EDVAC
(Electronic Discrete Variable Automatic Computer)

EDVAC (1946) : Amlioration de lENIAC par laide de Von


Neumann (Autosquencement au lieu dopratrices)
Ide : Enregistrer le programme en mmoire

Caractristiques :
2000 tubes,
1 unit de calcul,
Mmoire de 200 mots.

EDVAC
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 38
EDSAC

Cr par Maurice Wilkes en 1950


Inspir du draft report de
V. Neumann (EDVAC)

Caractristiques :
6 fois + petit que lENIAC
Mmoire de lignes retard au
mercure de 512 mots de 17 bits
EDSAC
1 addition : 1,4 ms, 1 multiplication : 5,4ms
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 39
1res machines commercialises

UNIVAC : 1er ordinateur commercialis (1951)


56 exemplaires vendues
dont 19 pour larme

Caractristiques :
5000 tubes
Bandes magntiques au lieu des cartes perfores
1 Addition en 0,5ms et 1 multiplication en 2,5 ms
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 40
SSEC
(Selective Sequence Electronic Calculator)

Cr par Wallace Eckert chez IBM en 1948


Populaire et utilis en priv (300$/heure)
Utilit : tables de positions de la lune (projet Apollo),
Physique nuclaire et Bombe hydrogne
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 41
Caractristiques du SSEC

21400 relais, 13500 tubes


150 mots dans une mmoire relais
Bandes perfores de donnes ou dinstructions
66 lecteurs de bandes
Boucle par collage des extrmits dune bande
3 phases de calcul : Bande perfore
Produire une carte de rsultats intermdiaires
En coller les extrmits et la placer dans un lecteur
Lire les rsultats autant de fois quil le faut

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 42
IBM 701

Inspir de lIAS
Usage : oprations scientifiques
30 machines vendues en 1953-54
Caractristiques :
Machine binaire IBM 701
Mmoire principale tubes de 2048 mots de 36 bits
Mmoire secondaire tambour de 8192 mots
Lecteurs de cartes perfores et bandes magntiques
(1 bande = 1500 cartes)
16000 additions/s , 2000 multiplications/s
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 43
IBM 704

Lanc par IBM en avril 1955


1er ordinateur commercial effectuant des calculs flottants
Mmoire tores de ferrite de 32768 mots de 36 bits
40 000 instructions/s
123 machines vendues jusqu'en 1960
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 44
IBM 650 (1954-1962)

1er ordinateur fabriqu en srie


Plus de 1000 machines vendues
Usage : oprations commerciales
Caractristiques :
Machine tubes, 900 Kg
Mmoire Tambour de 4000 mots
Mmoire ferrite de 60 mots pour communiquer avec ses
priphriques plus lents
Addition : 1,63 ms, Multiplication : 12,96 ms,
Division : 16,90 ms
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 45
IBM Leader du march

IBM possdait la plus grande part du march


Croissance exceptionnelle durant les annes 50 :
Nombre demploys pass de 30000 100000
Revenus multiplis par cinq : de 266 millions $ 1613
millions $
IBM a domin le march durant les annes 60 grce au
systme IBM/360

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 46
Facteurs ayant influenc
larchitecture des ordinateurs (1/3)

Technologie :
Transistors, Circuits intgrs, VLSI, Mmoire Core, ROM,
RAM, Bandes magntiques, Disques, CD, DVD
Rvolution des microprocesseurs (depuis 1990)
Important investissement humain et financier
(Pentium Pro : 500 ingnieurs, Itanium : 1000 ingnieurs)
Monte de la vitesse dhorloge et du rendement
Baisse des prix 1 dixime

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 47
Facteurs ayant influenc
larchitecture des ordinateurs (2/3)

Compatibilit darchitecture des jeux dinstructions et


portabilit
Possibilit dexcution de programmes sur diffrents
modles compatibles (ex : IBM 360/370, Intel x86)

Applications

Systme dexploitation

Processeur + Mmoire + I/O

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 48
Facteurs ayant influenc larchitecture
des ordinateurs (3/3)

Logiciel (Software) :
Ncessit de satisfaire les besoins des concepteurs
software et les exigences des concepteurs du matriel
(hardware)
Dveloppement de micro-mcanismes pour raliser des
mcanismes abstraits demands en logiciel
Elaboration de langages et stratgies de compilation
respectant des mcanismes pris en compte pour une
performance matrielle

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 49
Chapitre 3

ARCHITECTURE ET VOLUTION DE
LORDINATEUR DANS LES ANNES 50
1. Machines de dbut des annes 50
2. Evolution technologique
3. Langages de programmation
4. Evolution des langages de programmation
5. Format, excution et Jeu dinstructions
6. Modes dadressage
7. Type de langages machine
8. Instructions dune machine accumulateur
9. Machine accumulateur
10. Machine registres (IBM 360)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 50
Les machines du dbut des annes 50

Cot lev du matriel (hardware)


Mmoires de petite capacit (~1000 mots)
Temps daccs la mmoire tait de 10 50 fois
infrieur au cycle du processeur
Des circuits de commande dexcution complexes
Difficult de programmation :
Dpendance de larchitecture de la machine
Programmation binaire (0 et 1)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 51
Evolution technologique

Transistors (1947)
Crs par Bardeen, Brattain et Shockley
Plus petits, moins chers, plus fiables Bardeen, Brattain et
Shockley
Circuits imprims
Mmoire magntique, mmoire tore
Rvolution du microprocesseur
Premier ordinateur transistors
TRADIC de bell (1956)

TRADIC

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 52
Langages de programmation

Dfinition :
Langage formel servant lcriture de programmes
excutables par lordinateur
Catgories :
Langages de bas niveau :
Langages machine
Langages dassemblage
Langages de haut niveau ou volus
Fortran, Basic, Pascal, C, C++, Visual Basic, Visual
C++, Java...

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 53
Exemples dinstructions

Langage machine Langage Commentaire


dassemblage
101001011100111 MOV A,103 transfrer le contenu de
ladresse 103 A

111100001011101 ADD A,B ajouter le contenu de A B

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 54
Langages de bas niveau

Etroitement lis lordinateur utilis

Difficiles lire et crire (des 0 et 1)

Fortement exposs aux erreurs

Programmes directement excutables par la machine


ou sont assembler

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 55
Langages de haut niveau

Indpendants de lordinateur (programmes portables)

Faciles utiliser (Instructions proches de la langue


naturelle)

Programmes facilement comprhensibles mais sont


compiler ou interprter

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 56
Programmation
Programme en langage
Programme en langage de
dassemblage
haut niveau

MOV A, 103
printf(A,B); ADD A, B

Compilateur Interprteur Assembleur

Programme en
langage machine

101001011100111
111100001011101

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 57
Evolution des langages de
programmation
Langage binaire
Codes mnmoniques (EDSAC)
Langages de haut niveau et compilateurs :
FORTRAN, FORmula TRANslator (1957)
Cr par John Backus chez IBM
Fortran Monitor System (1958) J. Backus
LISP (1956), lassembleur (1958, M. Wilkes)
Algol (1959)
Librairies de routines (depuis 1955)
M. Wilkes
Virgule flottante, matrices, fonctions

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 58
Processeur et programmation

Chaque processeur possde son langage machine


Ecrire un programme (instructions) excutable

Chaque processeur dfinit :


Un jeu dinstructions quil sait excuter
Des modes dadressage : manires daccs la mmoire

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 59
Format dinstruction

Format de stockage des instructions en mmoire


Code opratoire + oprandes

Exemple :
101001011100111 ; transfrer le contenu de
; ladresse 103 A

Instruction : 1010 0101 1100111

Code dopration Adresse du registre A Adresse 103

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 60
Reprsentation d'une instruction
en mmoire
Une instruction est code sur 1 ou +ieurs octets en mmoire

..
..
Oprande p
1B3016 Code instruction n 1B3016
.. ..
Compteur .. ..
ordinal
Oprande 2 000216
Oprande 1 000116
Code instruction 1 000016

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 61
Jeu dinstructions machine
Transfert de donnes entre la mmoire et les registres
MOVE, LOAD, STORE
Oprations arithmtiques et logiques
ADD, SUB, MUL, DIV, AND, OR, NEG, NOT
Dcalages et rotations
LLS ( gauche, remplacement par 0), LRS ( gauche par
rotation)
Ruptures de squence (contrle daiguillage)
BR, JUMP, JZ, JGT (>0), JLT (<0)
Entres/Sorties (si lespace des E/S est indpendant)
IN, OUT
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 62
Modes dadressage (1/2)

Dfinition : manire ou chemin daccs ladresse effective

Mode immdiat : donne directement dans linstruction


MOVI R1, 4 ; R1 4
ADD R1, R2, #3 ; R1 R2 + 3

Mode direct ou absolu : donne dans un oprande


MOVE R1, R2 ; R1 (R2) loprande est un registre
MOVE R1, 4 ; R1 (4) loprande est une adresse

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 63
Modes dadressage (2/2)

Mode indirect : donne dans une adresse contenue dans


loprande
MOVE R1, (R2) ; R1 ((R2)) loprande est un registre
MOVE R1, @4 ; R1 ((4)) loprande est une adresse

Mode index : donne dans une adresse calcule partir dun


dplacement et du contenu dun registre
MOVE R1, 10(R2) ; R1 (10 + (R2))
MOVE R1, Table(R2) ; R1 (Table + (R2))

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 64
Types de langages machine (1/2)
Considrons linstruction : A = B + C
Machine plusieurs oprandes (Vax 11) :
ADDW3 B,C,A ; A(B) + (C)
Machine 2 oprandes (PDP 11) :
MOVE B,A ; A (B)
ADD C,A ; A (A) + (C)
Machine un oprande (Vax 11)
LDM B ; Charger B dans laccumulateur
ADD C ; Ajouter C laccumulateur
STM A ; Stocker laccumulateur dans A

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 65
Types de langages machine (2/2)
Considrons linstruction : A = B + C
Machine registres (Cyber 170)
EA1 B ; X1 (B)
EA2 C ; X2 (C)
IX6 X1 + X2 ; X6 (X1) + (X2)
SA6 A ; A (X6)
Machine pile (HP 3000)
Utilise la pile pour y stocker les oprandes dune instruction
LOAD B ; mettre B dans la pile
LOAD C ; mettre C dans la pile
ADD ; additionner les 2 lments sommets de la
; pile et empiler le rsultat
STORE A

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 66
Instructions
dune machine accumulateur
LOAD x ; AC M[x]
STORE x ; M[x] (AC)
ADD x ; AC (AC) + M[x]
SUB x
MUL x
DIV x
SHIFT LEFT ; AC 2 (AC)
SHIFT RIGHT
JUMP x ; PC x
JGE x ; si (AC) 0 alors PC x
LOAD ADR x ; AC extraction du champs adresse de (M[x])
STORE ADR x
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 67
Programmation dune
machine accumulateur
A 5 M[A]
Registres
Zones mmoires ayant un accs rapide B 1
Laccumulateur en est un exemple

C 6
Exemple 1 : Calculer C A+B

F1 LOAD A ; AC M[A]
F2 ADD B ; AC (AC) + M[B] Code
F3 STORE C ; M[C] (AC)
HLT ; Arrt du programme
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 68
Programmation dune boucle
Exemple 2 : Calculer Ci Ai+Bi pour i de 1 n
A 5

LOOP LOAD N ; Nombre ditrations


JGE DONE ; Terminer si 0 B 1
ADD ONE ; Incrmentation
STORE N ;
C ?
F1 LOAD A ; Oprande 1
F2 ADD B ; Oprande 2
F3 STORE C ; rsultat N -4
JUMP LOOP ; aller au dbut ONE 1
DONE HLT ; Arrt du programme
Code

Comment modifier les adresses A, B et C ?


F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 69
Code auto-modifiable
A 5
LOOP LOAD N
JGE DONE
ADD ONE B 1
STORE N
F1 LOAD A
F2 ADD B
F3 STORE C C ?
LOAD ADR F1
ADD ONE Modification des
adresses A, B, C N -4
STORE ADR F1
LOAD ADR F2 ONE 1
ADD ONE Code
STORE ADR F2
LOAD ADR F3
Statistiques par itration
ADD ONE
Recherche dinstructions 17
STORE ADR F3 Recherche doprandes 10
JUMP LOOP
DONE HLT Ecriture en mmoire 5
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 70
Interblocage Processeur - Mmoire
Processeur Mmoire

Mmorisation accs rapide dans le processeur


8 16 registres au lieu dun accumulateur

Indexation
Eviter la modification du code

Instructions complexes
Rduction de la recherche dinstruction

Instructions compactes
Utilisation des adresses des oprandes directement
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 71
Etat du processeur

Linformation contenue dans le processeur la fin de


lexcution dune instruction dtermine le contexte du
traitement de la prochaine instruction

La visibilit de ltat du processeur est trs importante


dans lorganisation des ordinateurs aussi bien pour le
matriel que le logiciel :
Exploitation par les logiciels
Si une instruction est interrompue, le matriel doit
sauvegarder et restaurer ltat du processeur de faon
transparente

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 72
Registres dindex

Un ou +eurs registres spcifiques utiliss pour simplifier le


calcul des adresses
Ont des caractristiques similaires laccumulateur

Des instructions sont modifies ou rajoutes :


LOAD x, IX ; AC M[x+(IX)]
ADD x, IX ; AC (AC) + M[x+(IX)]
JZi x, IX ; Si (IX)=0 alors PC x
; else IX (IX) + 1
LOADi x, IX ; IX M[x]
...

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 73
Utilisation des registres dindex
A 5
Exemple : Calculer Ci Ai+Bi pour i de 1 n 2
LOADi N, IX 1
LOOP JZi DONE, IX LASTA 3
LOAD LASTA, IX B 0
4
ADD LASTB, IX 1
STORE LASTC, IX LASTB 2
JUMP LOOP C ?
DONE HALT ?
?
LASTC ?
Avantages et Inconvnients :
Statistiques par itration
Programme non auto-modifiable Recherche dinstructions 6 N -4
Moins doprations par itration Recherche doprandes 3
Instructions avec 1 2 bits de plus Ecriture en mmoire 1
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 74
Manipulation des registres dindex

Lindexation par registre au lieu de la mmoire rduit le


nombre de recherche et de chargement en mmoire
De nouvelles instructions sont prvoir :
INCi k, IX ; IX (IX) + k
STOREi x, IX ; M[x] (IX)

Ces instructions permettent de manipuler directement les
registres et les rendent similaires laccumulateur
Plusieurs accumulateurs (registres) et plusieurs registres
index
Registres dordre gnral (general purpose registers)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 75
Appel de procdure
M call F
a1 F Adresse
de retour
a2

Programme Procdure F
principal call F
b1 return

b2

Instruction de branchement une procdure (Jump to Sub


Routine)
M: JSR F ; F M + 1 and Jump to F+1
Plusieurs appels imbriqus utilisation dune pile (Stack)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 76
IBM 360 :
Machine registres dordre gnral
Etat du processeur
16 registres dordre gnral de 32 bits
Peuvent tre utiliss comme index ou registre de base
Registre 0 a certaines proprits
4 registres de virgule flottante de 64 bits
4 registres dtat (PSW : Program Status Word)
PC, Code de conditiion, drapeaux dtats
Mots mmoire sont de 32 bits
Adresse est compose de24 bits dadresse
Format de donnes
Octet (8 bits), demi mot (16 bits), mot (32 bits) et mot double (64 bits)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 77
Microprocesseur dIBM S/390 z900
Adressage virtuel de 64-bits
S/390 est la premire conception 64-bit design (version originale de
S/360 tait de 24-bit, et S/370 tait de 31-bits)
Frquence dhorloge de 1.1 GHz
0.18m CMOS, 7 couches de semiconducteurs (layers)
En 2000 des systmes 770MHz
Pipeline CISC 7 tages
Chemins de donnes Redondants
Toutes les instructions sexcutent en 2 chemins de donnes parallles et
leur rsultats est compars
256KB L1 I-cache, 256KB L1 D-cache dans le circuit (on-chip)
20 CPUs + 32MB L2 cache par Module Multi-Chip
Refroidissement par eau 10C
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 78
Chapitre 4

ARCHITECTURE ET VOLUTION DE
LORDINATEUR DANS LES ANNES 60

1- Evolution technologique et logicielle


2. Machine pile (Burroughs 5000)
3. Machine registres gnraux (IBM 360)
4. Machine pipeline (CDC6600)
5. Evolution depuis 1965 : Microinformatique

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 79
Evolution technologique

Circuits intgrs : Kilby et Noyce


Invents par Kilby et Noyce en 1959
Dizaines de transistors sur une puce de silicium (SSI)
Puissance/miniaturisation (+petites,+rapides,chres)
Le cot du matriel a commenc chuter
Mmoires de 32 K mots
processeurs spcialiss dE/S

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 80
Evolution logicielle
Systmes opratoires :
CTSS (1961), Multics (1965),
OS/360 (1966),
Unix (K. Thompson et D. Ritchie, 1969) Thompson & Ritchie
Langages de programmation
COBOL en 1960
BASIC (T. Kurtz et J. Kemeny, 1964)
Pascal (Niklaus Wirth, 1969) Kurtz et Kemeny
Apparition du code ASCII (1964)
Sparation du modle de programmtion et de
limplantation matrielle Machines
compatibles (jeux dinstructions identiques
Niklaus Wirth
et architectures diffrentes)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 81
Problmatiques des architectes
des annes 60

Dfinition dune base stable pour le dveloppement de


logiciels
Support des systmes dexploitation (processus, multi-
utilisteurs, I/O)
Implantation des langages de haut niveau (rcursivit)
Prise en considration de limpact des grandes mmoires dans
la taille des instructions
Organisation de ltat du processeur afin dtre exploit par le
programmeur
Dtermination des architectures pour lesquelles des
implantations rapides peuvent tre dveloppes
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 82
Types de machines des annes 60
Machines avec seulement des langages de haut niveau
Stockent leurs oprandes dans une pile (stack machine)
Exemples : Burroughs 5000 et B6700 (mmoire virtuelle
et plusieurs processeurs et mmoires)

Machines registres gnraux (GPR machine)


Utilisent un jeu dinstructions commun
Exemple : IBM 360

Machines pipeline (Load/Store machine)


Superordinateurs avec une horloge rapide
Exemple : CDC6600
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 83
La machine pile
Les machines pile sont adaptes :
Evaluation des expressions (arithmtiques, logiques,..)
Appel de procdures, rcursivit, interruptions imbriques...
Accs aux variables dans les langages structurs par bloc
Utilise des instructions spcifiques : empiler (push), dsempiler
(pop)
Exemple 1 : calcul de a+b*c
push a push b push c MUL ADD

c
b b b*c
a a a a a+b*c

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 84
Evaluation dune expression (1/2)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 85
Evaluation dune expression (2/2)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 86
Organisation matrielle de la pile

La pile fait partie de ltat du processeur


La pile doit tre limite et de petite taille (quelques
registres)

Conceptuellement la pile est illimite


Une partie de la pile est incluse dans ltat du processeur
et le reste est gard en mmoire.

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 87
Appels de procdures

La sauvegarde des appels de procdures utilise la pile

----- P: ----- Q: -----


----- ----- -----
P Call Q ------
------ ------ ------
----- ----- -----
----- return return
Programme Procdure P Procdure Q
Principal

Problme : si Q = P (rcursivit)taille de pile


F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 88
Burroughs 5000

Cre en 1961
Machine pile utilisant des transistors
Conue pour tre programme en algol 60 (anctre de C et
Java)
1 bit de flag pour distinguer code et donnes
Mmoire magntique (core)
Mmoire virtuelle

Burroughs 5000/5500
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 89
La machine registres gnraux
GPR machine
Utilise un petit nombre de registres qui Exemple :
portent des noms abc*+ac-/
Utilise diffrentes oprations de chargement LOAD R0 a
de registres
LOAD Ri m, LOAD Ri (Rj) LOAD R1 b
Evite des rfrences inutiles la mmoire LOAD R2 c
(Rutilisation de registres)
MUL R1 R2
Machine favorite depuis 1980 :
ADD R1 R0
Registres de courtes adresses
Compilateurs qui grent bien lespace des SUB R0 R2
registres DIV R1 R0

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 90
IBM 360

Lance par IBM en 1964


A base de circuits intgrs
Machine 32 bits registres
Adresses de 24 bits (index+base) IBM 360
Diffrents registres
16 registres gnraux de 32 bits : Index, base, registre 0
4 registres flottants de 64 bits
1 registre dtat (PSW) : flag, PC
Donnes sur 1 octet, Demi mot, mot, Double mot
Sries dordinateurs de mme jeu dinstructions mais de
tailles et puissances varies
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 91
Formats dinstructions de IBM 360
8 4 4
RR : R1 (R1) op (R2) Code op. R1 R2

RD : R (R) op M[(X) + (B) + D]


8 4 4 4 12
Code op. R X B D

Registre dindex Registre de base Dplacement

SS : M[(B1)+D1]M[(B1)+D1] op M[(B2)+D2]

8 8 4 12 4 12
Code op. Longueur B1 D1 B2 D2
Utilis dans le cas des chanes de caractres et des dcimaux

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 92
La machine pipeline
Problme dinactivit des circuits :
Les tapes dexcution dune instruction sont excutes
par des circuits diffrents
Lorsquune tape est en cours, les autres circuits sont
inactifs
Solution : Lorsquune instruction passe ltape i, linstruction
suivante passe ltape i-1

Instruction1 E1 E2 E3 E4 E5
Instruction2 E1 E2 E3 E4 E5
Instruction3 E1 E2 E3 E4 E5
Instruction4 E1 E2 E3 E4 E5
Instruction5 E1 E2 E3 E4 E5

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 93
CDC 6600

Cre par Seymour Cray (1965)


pipeline (10 instructions la fois)
Mmoire de 256000 mots de 60 bits
10 units : addition, multiplication et division
S. Cray
10 processeurs dE/S
Horloge 10MHz (3 millions d'oprations/s)
3 types de registres :
8 registres de donnes de 60 bits (X)
8 registres dadresses de 18 bits (A)
8 registres dindex de 18 bits (B)
CDC 6600
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 94
Architecture Load/store de
CDC6600
Instructions de calcul register to register
Ri (Rj) op (Rk) 6 3 3 3
Opcode i j k

Instructions Load/store utilisant la mmoire


Ri M[(Rj) + offset]
Registres dadresses 1 5 (6 et 7) pour load (store)
6 3 3 18
Opcode i j offset

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 95
Evolution depuis 1965 (1/5)
Mini-ordinateur DEC-PDP 8
Cr en 1960 et introduit en 1965
Mmoire de 4096 mots de 12 bits
2 registres : Accumulateur+registre de lien
8 instructions

Machines circuits intgrs SSI et MSI 19651971 PDP 8


1er micro-ordinateur Kenback 1 (1971)
mmoire de 256 o, 3 registres
1er microprocesseur Intel 4004 (1971)
Processeur 4 bits 108 KHz,
60000 instructions/s, 2300 transistors Kenback 1
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 96
Evolution depuis 1965 (2/5)
Machines circuits intgrs LSI 1972-1977 : Microordinateurs
Micral (1973) : 8080 d'Intel

Altair 8800 (MITS, 1975) : personnel Micral


Intel 8080 2 MHz, 256 o de mmoire

Apple I (S. Wozniak & S. Jobs, 1976) : Altair


muni de clavier
6502 1 MHz, 4 Ko de RAM,
1 Ko de RAM vido. Apple I

PET (Personal Electronic Transactor, 1977)


Z80 de Zilog
PET
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 97
Evolution depuis 1965 (3/5)
VLSI (Very Large Scale Integration) depuis 1978
Intel 8086-8088 (1978) : 330000 instructions/s
Pentium III (1999 ) : 10 millions de transistors
Micro-informatique (performance et cot amliors)
1er PC d'IBM (1981)
8088 5 MHz, 64 Ko de RAM
Osborne I (1981) : 1er ordinateur portable 1er PC dIBM
Macintosh 128 (1984)
MC68000 de Motorola 8 MHz, 128 Ko de RAM
Interface graphique et souris
Ordinateurs de poche
MAC 128
PIC (Sony) et PDA (Apple), SE micro-noyau
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 98
Evolution depuis 1965 (4/5)
Systmes opratoires
RD-DOS, MS-DOS 1981, Windows 1.0 1985, Linux 1992
Langages de programmation et logiciels
C (D. Ritchie, 1972), rcriture d'unix en C
PROLOG (1972)
C++, CLIPS (1990), Java (1995)
Microsoft MS Word 1985
Rseaux
ARPAnet (1969) prsent au public en 1972
Internet (1981) : 213 machines connectes

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 99
Evolution depuis 1965 (5/5)

Architecture RISC (IBM 801) en 1975

RISC CISC
Reduced Instruction Set Complex Instruction Set
Computer Computer
Rapides Lentes
Nombre rduit d'instructions Nombre important
(10 30) d'instructions (75 150)
Traitements simples Traitements complexes
Instruction s'excutant en une Instruction s'excutant en
priode d'horloge plusieurs priodes d'horloges
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 100
Chapitre 5
MICROPROGRAMMATION

1. Chemin de donnes et unit de contrle


2. Cycle dexcution dinstruction et microprogramme
3. Contrle cbl
4. Microcontrle (microprogrammation)
5. Architecture de MIPS
6. Instructions MIPS
7. Formats dinstructions MIPS
8. Compilations des programmes MIPS

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 101
Chemin de donnes
Dfini de manire statique par :
Lensemble dunits utilises pour raliser une instruction :
UAL, Registres, Mmoires et Bus (transformation,
stockage et transfert)
Linterconnexion des ces units

Dfinit le chemin emprunt par les donnes lors de


lexcution des diverses instructions

Pb : Le parcours du chemin est dynamique (relatif


linstruction excute)
Ncessit dune unit de contrle
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 102
Unit de contrle
Coordonne le fonctionnement des diffrentes units :
Selon le calcul courant et le prochain calcul faire, elle
envoie des signaux de contrle chaque top dhorloge
Exemple : Ouverture de ports entre 2 registres
Horloge
Unit de
Signaux dtats
contrle
Signaux de
contrle

donnes
Chemin
de
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 103
Cycle dexcution dune instruction
5 tapes :
Recherche de linstruction
Placer le code opratoire dans le registre dinstruction (RI)
Dcodage
Traduire le code en une squence de signaux de contrle
envoyes aux units concernes
Excution
Effectuer le calcul ou la lecture/criture
Recherche des oprandes en mmoire (optionnel)
Ecriture des rsultats et mise jour des registres
(optionnel)
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 104
Microoprations
Chaque tape est ralise par des microoprations

Exemple 1 : Recherche dinstruction


RA (PC) RA : registre dadresse
RD Mmoire[RA] RD : registre de donnes
RI (RD)

Exemple 2 : excution de ADD R1,[R2]


RA R2
RD Mmoire[RA]
R1 R1+RD

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 105
Taille du programme



MOVE OpSel

ADD RegSel
A=B+C


STORE
Programme en
enALU
langage volu Programme en
langage machine

Microprogramme

Lunit de contrle doit squencer les diffrentes


microoprations pour excuter une instruction
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 106
Implmentation du squenceur
Le squenceur est une machine tats finis o les
tats reprsentent des microoprations
o3 o2 o1 Recherche

Interruption

Int=1 Int=0

Excution
2 types dimplmentation du squenceur :
Cble
Microprogramme
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 107
Squenceur cbl
Circuits logiques combinatoires squentiels
RI Signaux dtats

Chemin de
donnes
Horloge Circuits
combinatoires

Signaux de contrle

Les signaux rsultent des fonctions logiques appliques aux


bits du code opratoire
Avantage : circuit simple
Inconvnient : incapable dimplmenter une instruction
complexe (nombre fini de fonctions logiques)
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 108
Microprogrammation
Invente par Maurice Wilkes en Angleterre au dbut
des annes 1950
Principe :
Remplacer un squenceur cbl par un squenceur
programm pour raliser des instructions complexes
Utiliser une mmoire de contrle qui contient un
microprogramme (constitu de micro-instructions)
Avantage : Jeu dinstructions modifiable (remplacer
la mmoire ou modifier son contenu)
Inconvnients : squencement compliqu (+ de place)
et ralenti
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 109
Microprogrammation horizontale
Modle de Wilkes
Un dcodeur dcode la microadresse et sensibilise le
fil horizontal de la microinstruction concerne
Chaque bit correspond un signal
Code Conditionnal
opratoire flip flop
Logique de gnration de la
prochaine adresse

Microadresse Prochain tat

Horloge
Dcodeur

Signaux de contrle
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 110
Taille de la mmoire de contrle

Considrons :
CRL : bits de contrle, ETAT : bits dtat,
OP : bits du code opratoire, COND : bits de conditions

Taille dun mot = (CRL + ETAT) bits


Nombre de mots = 2 OP + COND + ETAT
Taille de la mmoire= 2OP+COND+ETAT *(CRL+ETAT) bits
Problme : Une mmoire daccs rapide est coteuse
Ncessit de rduire sa taille

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 111
Amlioration de la taille de la
mmoire de contrle
Rduction des nombres de mots (hauteur)
Rduire le nombre de bits (logique externe) : 1 bit double la
taille
Utiliser des groupes opratoires pour des actions ayant des
microinstructions communesEtats rduits
Condenser les bits conditionnels en 1 bit (vrai ou non)

Rduction de la taille dun mot (largeur)


Rduire aux tats suivants possibles (adresse suivante, saut
une adresse)
Grouper les signaux de contrle (Microprogrammation
verticale)
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 112
Microprogrammation verticale

Regrouper les signaux de contrle mutuellement exclusifs

Utiliser un dcodeur pour convertir les codes en signaux

Avantage :
Mmoire de contrle plus compacte en largeur (moins de
bits)

Inconvnients :
Un peu plus de logique
Lenteur de traitement

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 113
Intel 8086

Microprocesseur 16 bits
Types de donnes
octet, mot et double mot
Mmoire adressable par octet
Registres
AX, BX, CX, DX
SI, DI
DS, CS, SS, ES

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 114
Jeu dinstructions 8086

Instructions de transfert

Instructions de calcul

Instructions de saut/appel

Instructions de dcalage

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 115
Instruction de transfert

mov dest , source


dest reoit source

Exemples :
mov al,0 # al 0
mov n,al # n (al)

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 116
Instructions de calcul
add dest , source
Dest reoit dest+source
Exemple : add al, n # al (n)
sub dest , source
Dest reoit dest - source
mul dest , source (*)
div dest , source (/)
inc source
source reoit source+1
dec source
source reoit source -1
and dest , source (masquage)
Comme add mais 1+1=1
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 117
Instructions de saut/appel
jmp address
Effectue un saut adress (tiquette en gnral)
Exemple : jmp L # Aller L
Jz address (Branch if Zero)
Effectue un saut adress si dernier rsultat = 0
Autres instructions similaires : jnz
Ja address (Branch if Above)
Effectue un saut adress si dernier rsultat > 0
Autres instructions similaires : jb, je, jbe, jae
call address (tiquette)
Effectue un appel de procdure dbutant adress et se
terminant par Ret (branchement ladresse de retour)
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 118
Instructions de dcalage

shl ax, cx
Dcalage gauche de ax de cx bits
Exemple : shl ax, cx #ax ax *2cx

shr ax, cx
Dcalage droite de ax de cx bits

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 119
Exercice

Copier 87654321h dans AX

add AX, 8765H


mov CX,16d
shl AX, CX
Add AX, 4321H

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 120
Compilation de programmes en
assembleur 8086 (1/2)
a = b + c;
mov al, b # al (b)
add al, c # al (al) + (c)
mov a, al # a (al)

d = a e;
mov al, a # al (a)
sub al, e # al (al) - (e)
mov d, al # d (al)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 121
Compilation de programmes en
assembleur 8086 (2/2)
f = (g + h) (i + j);

mov al, i # al (i)


add al, j # al (al) + (j)
mov bl, al # bl (al)
mov al, g # al (g)
add al, h # al (al) + (h)
sub al, bl # al (al) - (bl)
mov f, al # f (al)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 122
Exercices (1/3)

Soient les donnes g, h, i et le tableau A


a) Oprande en mmoire
g = h + A[3];
A : un tableau doctets

b) Chargement et sauvegarde dans la mmoire


b.1) A[5] = h + A[3];
b.2) g = h + A[i];
A : un tableau de mots

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 123
Exercices (2/3)

Soient les donnes f, g, h, i et j


c) Instruction de slection
if (i == j) go to L1;
f = g + h;
L1: f = f i;
d) Slection binaire
if (i == j)
f=g+h;
else f = g h;

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 124
Exercices (3/3)

Soient les donnes g, h, i, j et les tableaux A et B


e) Boucle
Loop : g = g + A[i];
i = i + j;
if (i!= h) goto Loop;

f) Boucle tant que


While (B[i] == h)
i = i + j;

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 125
Solutions dexercices (1/6)
a) g = h + A[3];
mov al, h # al (h)
mov SI,3 # SI 3
mov bl, A[SI] # bl (A[3])
add al,bl # al (al) + (bl)
mov g,al #g (al)
b.1) A[5] = h + A[3];
mov ax, h # ax (h)
mov SI,3 # SI 3
mov bx, A[SI] # bx (A[3])
add ax,bx # ax (ax) + (bx)
mov DI,5 # DI 5
mov A[DI] ,ax # A[5] (ax)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 126
Solutions dexercices (2/6)

b.2) g = h + A[i];

mov al, h # al (h)


mov SI,i # SI (i)
mov bl, A[SI] # bl (A[i])
add al,bl # al (h) + (A[i])
mov g ,al #g (al)

F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 127
Solutions dexercices (3/6)
c) if (i == j) go to L1;
f = g + h;
L1: f = f i;
mov al,i # al (i)
cmp al,j #comparer al et j
jz L1 # si (al) = (bl) aller L1
mov al,g # sinon al (g)
add al,h # al (al) + (h)
mov f,al # f (al)
# Quitter
L1: mov al,f # al (f)
sub al,i # al (al) - (i)
mov f,al # f (al)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 128
Solutions dexercices (4/6)
d) if (i == j)
f=g+h;
else f = g h;
mov al,i # al (i)
cmp al,j
#comparer al et j
jnz L1 # si (al) # (bl) aller L1
mov al,g # sinon al (g)
add al,h # al (al) + (h)
mov f,al # f (al)
# Quitter
L1: mov al,g # al (g)
sub al,h # al (al) (h)
mov f,al # f (al)
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 129
Solutions dexercices (5/6)
e) Loop : g=g+A[i]; i=i+j; if (i!=h) goto Loop;

Loop : mov al, g # al (g)


mov SI,i # SI (i)
mov bl, A[SI] # bl (A[i])
add al,bl # al (al) + (bl)
mov g ,al #g (al)
mov al, i # al (i)
add al,j # al (al) + (j)
mov i,al #i (al)
cmp al,h #comparer al et h
jnz Loop # si (al) # (h) aller Loop
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 130
Solutions dexercices (6/6)
f) While (B[i] == h) i = i + j;

Loop : mov al, h # al (h)


mov SI,i # SI (i)
mov bl, B[SI] # bl (B[i])
cmp al,bl #comparer al et bl
jz L1 # si (al) = (bl) aller L1
# Quitter
L1 : mov al,i # al (i)
add al,j # al (al) + (j)
mov i ,al #i (al)
jmp Loop # aller Loop
F.Z. BELOUADHA et M. El Euldj. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 131
Structure dun programme
Dosseg
Met les segments du programme dans lordre selon la
convention d'organisation Microsoft.
. Model
Permet de choisir un modle mmoire : tyni, small,
medium, compact, large, hogue
small : CS et DS utilisent un segment de 64ko chacun.
.stack
Dtermine la taille de la pile.
.data
Indique le dbut du segment de donnes (dclarations).
.code
Indique le segment de code
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 132
Syntaxe d'une ligne de dclaration

<tiquette> <type de donne> <initialisation>


<;commentaire>

Etiquette : identificateur.
Type de donnes :db, dw, dd
Initialisation : valeur repre par rapport sa base (d, b,
h; par dfaut, d) ou ?.
Commentaire : commence par ; et se termine la fin de
la ligne.

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 133
Exemples de dclarations

x db 12h
y db 12d
z db 12
message db 'bonjour$
M db 13,10,'bonjour',l3,10,[$]
Tableau db 7 dup (0) ; Le tableau peut ne pas tre
; initialis. Il suffit de mettre
; ? Au lieu de 0.
Liste db 1,2,3

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 134
Syntaxe d'une ligne de code
<tiquette:> <instruction> <oprandes>
<;commentaire>

Etiquette : rfrence un emplacement mmoire (une


partie du code comme une procdure).
Instruction : appartient au jeu dinstructions prdfini.
Oprandes : doivent tre spars par une virgule.
Commentaire : commence par ; et se termine la fin de
la ligne.
Remarques :
Le fichier source doit avoir l'extension .asm.
Le programme doit se terminer par end. Le code qui suit
end sera ignor.
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 135
Exemple dun premier programme
(1/2)
Dosseg
.model small ; choix du modle small
.data
n db 2 ; nombre initialis 2
m db ? ; donne 8 bits non initialise.
. code
mov ax,@data ; ces deux instructions servent initialiser
mov ds,ax ; l'adresse du segment de donnes.
mov al,n ; met le contenu de n dans al
call addition ; appelle la procdure addition
jmp fin ; se dplace l'emplacement libell fin
F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 136
Exemple dun premier programme
(2/2)
addition:; procdure addition
mov bl,n ; met le contenu de n dans bl.
add al,bl ; calcule la somme de al et bl.
mov m,al ; met le rsultat dans m.
ret ; retour la prochaine instruction
; aprs l'appel de procdure.
fin: ; procdure qui termine l'excution.
mov ah,4ch ; met la valeur 4ch dans ah.
int 21h ; appelle l'interrupteur Dos avec 21h
end ; fin du code.

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 137
Installation de TASM, assemblage
et excution
Installation
Simple copie de TASM.
Basculer en mode DOS :
Tous les programmes/Accessoires/Invites de commandes
Changer la variable PATH : set path=C:\TASM

Assemblage et excution :
tasm nom_fichier.asm
tlink nom_fichier.obj
Taper le nom de lexcutable.

F.Z. BELOUADHA . Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 138
Chapitre 6

HIRARCHIE DE LA MMOIRE

1. Dfinition, terminologie et types de mmoires


2. Mmoire principale
3. Conception de mmoires
4. Mmoire multi-modules et entrelacement
5. Mmoire associative
6. Mmoire cache
7. Mmoire virtuelle

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 139
Dfinition et terminologie
Dispositif pour stocker et restituer une information sous
forme binaire
Capacit : nombre doctets ou de mots ou de bits
(registres)
Bit, Octet (8 bits), KO (1024 = 210 octets), MO, GO, To
Temps daccs (temps de latence) : lecture ou criture
Instant o les donnes sont disponibles - instant o ladresse
est fournie
Temps de cycle (si accs alatoire) : temps daccs +
temps ncessaire avant un 2me accs
Volatilit : conservation ou non des donnes en cas de
coupure dalimentation
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 140
Types de mmoires
Selon la possibilit de lecture/criture
Mmoires vives : RAM lecture/criture, Volatiles
SRAM (+rapide) et DRAM (-coteuse)
Mmoires mortes : ROM lecture seule, non volatiles
ROM, PROM fusibles, EPROM, EEPROM, Flash
Selon la technologie utilise
Mmoire semi-conducteur (RAM, ROM, PROM)
Mmoires magntiques (disque dur, disquettes)
Mmoires optiques (CD, DVD)
Selon lemplacement
Mmoires intgres au processeur (Registres)
Mmoires internes (Mmoire principale)
Mmoires externes (Mmoire secondaire ).
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 141
Hirarchie de la mmoire

Registre
Mmoire cache
Mmoire centrale
Mmoire secondaire
accs direct
Mmoire secondaire
accs squentiel

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 142
Mmoires en chiffre

Temps daccs Capacit


Registre 0,3 ns 64 bits
Cache 2 5 ns 8 Ko 1 Mo
RAM 50 ns 1 Go
Cache disque 1 ms 8 Mo
Disque dur 10 ms 160 Go

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 143
Mmoire principale (MP)
Contient les informations utilises par le processeur
lors de lexcution

Sa capacit et son temps daccs ont un impact sur la


performance de la machine

Est une mmoire semi-conducteurs pour un accs


rapide

Constitue de mots possdant chacun une adresse


unique
Taille des adresses dpend de la capacit de la mmoire

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 144
Caractristiques de la MP

Mmoire vive
Accs alatoire (RAM)
A lecture-criture
Volatile
Capacit limite (possibilit dextension)
Communique au moyen des bus dadresses et de
donnes
Types
Mmoires statiques (SRAM) : base de bascules D
Mmoires dynamiques (DRAM) : base de condensateurs

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 145
Structure physique dune MP
RAM : Registre dadresse Mmoire
CS : botier slectionn si 0 R/W CS

R/W : Commande de lecture/criture


D
E
Dcodeur : slectionne un mot K fils
C
Bus dadresse R O
A D
Structure
M E interne
U
R

RIM

Bus de donnes
N bits

Capacit = 2k Mots = 2k * n Bits


F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 146
Conception des MP
Pb : Comment raliser une mmoire partir de
botiers de petite taille?
Mmoire M de capacit C et de m mots de n bits
Botier M de capacit C et de m mots de n bits
C > C ( m >= m , n >=n)

Nombre de botiers ncessaires : P.Q


P =m/m (facteur dextension lignes)
Q=n/n (facteur dextension colonnes)

K bits de poids forts dadresses pour slectionner Q


botiers (2k=P), le reste pour slectionner un mot
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 147
Exemple 1

Raliser une mmoire de 1Ko (un mot est de 8 bits)


en utilisant des botiers de taille 256 mots de 8 bits
Solution :
m=1024 bus dadresses de 10 bits ( A 9 )
0
n=8 bus de donnes de 8 bits ( D )
7
0
m=256 bus dadresses de 8 bits ( A'70 )
n=8 bus de donnes de 8 bits ( D'70)
P= m/m =1024/256=4
Q= n/n =8/8=1
Nombre total de botiers : P.Q=4

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 148
Solution 1
R/W
CS
D 70
D 70
CS

A 9
8
D 70 8
CS
bits

D 70
CS

A 70 8 bits D 70
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 149
Exemple 2

Raliser une mmoire de 1KO ( et de mots de 8 bits)


en utilisant des botiers de taille 256 mots de 4 bits
Solution :
m=1024 bus dadresses de 10 bits ( A 9 )
0
n=8 bus de donnes de 8 bits ( D 70 )
m=256 bus dadresses de 8 bits ( A'70 )
n=4 bus de donnes de 4 bits ( D'3)
0
P= m/m =1024/256=4
Q= n/n =8/4=2
Nombre total de botiers : P.Q=8

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 150
Solution 2
R/W
CS CS
D 70
7 3
D 4
D 0

CS CS

A 9 D 7
4
D 30 8
8
CS
bits
CS

7 3
D 4
D 0

CS CS

A 70 8 bits D 7
4
D 30
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 151
Mmoire multi-modules

Pb : mmoire accessible par 1 seul processeur la


fois

Solution : dcouper la mmoire en plusieurs modules

Possibilit daccs simultan aux diffrents modules


par plusieurs bus

Modules comprenant des mots dadresses


squentielles
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 152
Adressage dune mmoire
modulaire
Adresse divise en 2 parties :
K Bits de poids forts pour slectionner un module tel que :
2k >= nombre de modules
Bits de poids faibles pour slectionner un mot dans un
module

Exemple : mmoire de 4 Ko et 4 modules et des


botiers de 1 Ko
Capacit = 4 Ko = 4* 210 = 212 o bus dadresses de 12
bits
2 bits du poids forts pour la slection des modules ( A11
10
)
( A90 ) pour la slection dun mot

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 153
Exemple de mmoire 4 modules
R/W
CS
D 70
D 70
CS

A 11
10
D 70 8
CS
bits

D 70
CS

A 90 10 bits D 70
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 154
Mmoire entrelace
Pb : Module mmoire accessible par 1 seul processeur
la fois (ex : accs la fois aux donnes conscutives)
Solution :
Diviser la mmoire en plusieurs blocs dots de leurs propres
registres dadresses plusieurs accs simultan la
mmoire
Placer les donnes conscutives dans des blocs diffrents
Le nombre de blocs reprsente le degr dentrelacement
Adresse divise en deux parties :
K bits de poids faibles pour slectionner le bloc
(2k>=nombre de blocs)
Bits de poids forts pour slectionner le mot dans le bloc
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 155
Exemple 1

Mmoire entrelace avec un degr dentrelacement


gale 4, un bloc est de taille de 4 mots de 4 bits

Solution :
4 blocs et taille dun bloc gale 4 mots de 4 bits taille
de la mmoire = 16 mots de 4 bits
1
4 blocs 2 bits de poids faibles pour la slection A 0
3
Les bits de poids forts ( A 2 ) pour slectionner un mot dans
un bloc

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 156
Mmoire modulaire entrelace

MP divise en plusieurs modules

Chaque module est divis en n blocs

Slection de mots
Bits de poids forts pour slectionner le module
Bits de poids faibles pour slectionner le bloc dans le
module
Bits restants pour slectionner le mot dans le bloc

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 157
Exemple
Mmoire de 64 mots de 8 bits organise en 2 modules
entrelacs (degr dentrelacement D=2). On utilise des
botiers de 16 mots de 8 bits
Taille du bus dadresses k= 6 ( 64=26) A50
Nombre de modules m=2 , Taille dun module=32 mots
Nombre de bits pour slectionner un module = 1 (A5 )
Nombre de blocs dans un module D=2 Nombre de bits
ncessaire pour slectionner un bloc = 1 (A0 )
Taille dun bloc = 16 mots un botier suffit pour raliser
un bloc
Nombre de bits ncessaire pour slectionner un mot dans le
bloc = 4 (A41 )
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 158
Solution
CS
D 70
D 70

Module
A5 M
CS
0
M
1 D 70
A0 B0 CS

Bloc
B1
D 70

Module
CS

A14 4 bits
D 70
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 159
Mmoire associative
Mmoire adressable par le contenu pour une
recherche plus rapide
Mmoire accs alatoire : information partir dune
adresse

Mmoire associative : fournir un descripteur (cl) et


obtenir linformation associe sil existe

Divise en 2 parties M1 et M2
M1 : mots compars en parallle au descripteur
M2 : fournit linformation associe dans un registre A

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 160
Mmoire associative en logique
cellulaire
Matrice 1 Matrice 2

Registre D Registre A

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 161
Mmoire cache
Antmmoire : + rapide que MP, taille + petite

Mots les + frquemment utiliss

Chercher dabord les donnes dans le cache, si


dfaut de cache, les copier de la MP

Accs rapide, Efficacit dpend de la taille et la


politique de remplissage (remplacement)

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 162
Mmoire cache correspondance
directe
Chaque ligne du cache est constitue de :
Etiquette : N de page et du bloc copi dans le cache
Donnes : donnes des blocs copis
Considrons :
P : nombre de blocs de la MP - J : N du bloc en MP
Q : nombre de blocs de la MC - I : N du bloc en MC
A un bloc de la MC sont mapps n blocs de la MP
n=P/Q
I=J modulo Q
Lemplacement en MC du bloc demand est connu
Inconvnient : risque de dfaut de cache (remplacer
souvent les mmes blocs de la MC)
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 163
Exemple de MC correspondance directe

N N Emplacement Dplacement
de du
page bloc

Mmoire dtiquette Mmoire de donnes

N de bloc en
Cache MC si tiquette
trouve

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 164
Mmoire cache compltement
associative
Mmoire (SRAM) dcoupe en blocs de mme taille
que celle des blocs de la MP
Constitue de :
Mmoire dtiquettes : N de page et de blocs copis dans
le cache et leurs adresses dans la MC
Mmoire de donnes : donnes des blocs copis
Tout bloc de la MP est mapp indiffremment dans
lun des blocs de la MC
N de bloc compar tous les N de blocs en MC
Cache efficace mais complexe et volumineux
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 165
Exemple de MC compltement associative

N de N du bloc Dplacement
page

Mmoire dtiquette Mmoire de donnes

Cache N du bloc en
MC

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 166
Mmoire cache associative par
ensemble
Approche hybride (mixte)
Mmoire dtiquettes contient le N du bloc, le N
de page, lemplacement en MC et le dplacement
MP et MC dcoupes en pages pas forcment de
mme taille
Un bloc de la MP est mapp indiffremment dans
lun des blocs dun ensemble donn de la MC
Rduire les comparaisons (comparer un ensemble
de N de blocs)
Peu efficace en cas daccs des blocs concurrents

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 167
Exemple de MC associative par
ensemble
N de N du Ensemble Dplacement
page bloc

Ensemble 1
Ensemble n

Cache
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 168
Mmoire cache associative par
ensemble N voies
Constitue de N MC associatives par ensemble

Un bloc de la MP est mapp indiffremment dans


lun des blocs dun ensemble donn de lune des N
MC

Comparaison parallle avec des ensembles des N


MC

Plusieurs blocs concurrents peuvent coexister en


MC

Bon compromis rapidit/efficacit


F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 169
Exemple de MC associative N
voies
N de N du Ensemble Dplacement
page bloc

Ensemble i

Cache voie 1
Ensemble i

Cache voie n
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 170
Algorithmes de remplacement
Alatoire : le bloc le + sollicit
Trs rapide, peu efficace

FIFO : le + ancien (file dattente circulaire)


Rapide, assez raliste
Problme : le + ancien = lun des + sollicits

LFU (Least Frequently Used) : le utilis (compteur)


Problme : bloc utilis = bloc prochainement demand

LRU (Least Recently Used) : le + anciennement utilis


Moins rapide, Performant (viter de futurs dfauts de cache),
Gestion complexe
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 171
Performances des caches (1/2)

Stratgie dcriture
Ecriture simultane (Write Through), Pb : trafic
mmoire important
Ecriture diffre ou rcriture (Write Back)
Modifier uniquement le cache ; Positionner un bit dtat
de modification
En cas de remplacement, crire dans MP si bit modifi=1
Problme : modules dE/S ou multiprocesseurs accdant
la MP invalide Solution : circuits complexes.
Taille des blocs
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 172
Performances des caches (2/2)
Nature et niveaux de caches
Caches multiniveaux : cache interne de niveau 1 et caches
externes de niveaux 2 et 3
Cache interne (mme puce que le processeur) : rduit le
temps dexcution et amliore les performances du
systme
Caches unifis ou spars : 1 cache interne unique ou 2
caches de donnes et instructions
Ex : caches spars des processeurs superscalaires
(Pentium ou PowerPC favorisant lexcution parallle
et le prchargement des instructions).
Cache spar : limine les conflits entre lunit de
lecture/dcodage dinstructions et lunit de traitement
(ou dexcution).
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 173
Mmoire virtuelle
Pb : MP ne peut hberger +eurs processus la fois
Ide : utiliser le disque + stockage partiel de pages

Disque dur

Page MP Cadre (frame)


Processus1 1 2 3 4
2 4
Processus2 1 2 3 4 5 Processeur
Processus3 1 2 3 3

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 174
Fonctionnement

Double adressage : virtuel+rel


Transformation dadresses par la MMU (Memory
Management Unit)
MMU implant actuellement dans la CPU rapidit
Si page en MP, MMU traduit ladresse virtuelle en
relle (50 ns)
Si dfaut de page, le SE recherche la page sur le
disque et la copie en MP (10 ms)

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 175
Traitement de dfaut

Suspendre lexcution du processus en cours


Gnrer une interruption de dfaut de page
Rapatrier la page demande
Sil faut remplacer une page, elle sera copie sur le
disque en cas de modification (dirty bit=1)
Excuter un autre processus pendant la lecture
Gnrer une interruption de fin de lecture
Mettre jour la table et dbloquer le processus
initial
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 176
Algorithmes de remplacement

FIFO :
PB: page sollicite limine
Sol : 2me chance : si non accde (bit de rfrence=0 et
non modifie (bit dirty=0), la remplacer sinon passer
la suivante.
LRU :
Non rpandu (besoin dun dispositif rapide de mise
jour chaque accs du compteur ou de la date).
LFU :
Pb : idem que LRU.
MFU :
Peu utilis

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 177
Table des pages
Indexe par le numro de page virtuelle, assure la
correspondance avec les numros de pages relles
Adresse virtuelle
N de page Dplacement
virtuelle

Adresse relle
V RWX R D
N de page Dplacement
NPR
Si V=1 relle

Stocke en MP : son adresse dans un registre MMU


Pb : table ne tenant pas en MP
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 178
Table de pages plusieurs niveaux
Dcouper les n de pages en 2 (ou +eurs) niveaux.
Garder la table de niveau 1 en MP et charger les
autres au besoin.
Adresse virtuelle
N dhyperpage N de page virtuelle Dplacement
Table des hyperpages Table des pages

V RWX R D N
PR
N de la table des
pages

N de page Dplacement
relle Adresse relle
Pb: lenteur daccs
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 179
Table des pages inverse
Contient uniquement les correspondances des pages
en MP taille de table rduite.
Adresse virtuelle
N de page Dplacement
virtuelle
Recherche

N de page N de page
virtuelle relle

N de page relle Dplacement


Adresse relle
PB: recherche lente (parcours total de la table).
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 180
Table inverse avec hachage
+eurs entres sur la mme ligne
Adresse virtuelle
N de page Dplacement
Adresse relle
virtuelle
Hachage

N de page relle Dplacement

N page N page N page N page N page N page


virt. rel. virt. rel. virt. rel.

Slection
Comparaison
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 181
Tampon de traduction anticipe

Pb : Accs la table + accs linformation


lenteur.
Utiliser un TLB (Translation Lookaside Buffer).
TLB : petite mmoire associative rapide en MMU
(256 o qq Ko).
Contient des couples de dernires pages accdes.
La page virtuelle est recherche en parallle dans la
table des pages et le TLB.

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 182
Traduction utilisant un TLB
Adresse virtuelle
N de page virtuelle Dplacement

N de page relle Dplacement


Adresse relle

N page N page
virt. rel. Si page
en TLB

TLB

V RWX R D N
PR
Si page
en MP
Table des pages
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 183
Recherche de pages dans un systme
mmoire cache (1/2)

Adresse
virtuelle B
Mmoire cache Mmoire Mmoire
principale secondaire
VP
Page Succs

TLB Dfaut de cache


RP

P=1
Table des
pages
P=0 Dfaut de page
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 184
Recherche de pages dans un systme
mmoire cache (2/2)

Adresse
virtuelle B Mmoire Mmoire
Mmoire cache principale secondaire
VP
Page Succs

Dfaut TLB RP
de cache P=1
Table des
pages P=0 Dfaut de page
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 185
Segmentation

Dcouper un processus en segments


Adresse
MP
N de segment Dplacement

+ Segment
Protection Adresse de dbut

Table des segments

F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 186
Segmentation et pagination
Dcouper un processus en segments
Adresse logique
N de segment Index de page Dplacement
Table des
segments
Adresse virtuelle
Adresse segment Index de page Dplacement
N de page
virtuelle

Table des
pages

N de page relle Dplacement


Adresse relle
F.Z. BELOUADHA. Architecture des ordinateurs. 1re anne Filire Gnie Informatique, EMI 187