Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Cours 1 Microprocesseurs
Jalil Boukhobza LC 206 boukhobza@univ-brest.fr 02 98 01 69 73
Jalil Boukhobza 1
But de ce cours
Comprendre le fonctionnement de base dun microprocesseur squentiel simple (non pipelin? et non superscalaire?): { 1re partie: conception
{
Jalil Boukhobza
1. 2. 3.
4.
Jalil Boukhobza
22/01/2009
Connatre la base de larchitecture dun microprocesseur (pour un informaticien cest un minimum !). Indispensable pour plusieurs UEs de L3 et de M1 (Architecture, Architectures parallles, systme & rseaux, etc.) Indispensable pour le M2 Systmes Embarqus.
Jalil Boukhobza
Au niveau de la mmoire:
1 Ko (en 1970) quelques GO (230) Une faune varie: mmoire externe, mmoire centrale, mmoire cache (de plusieurs niveaux diffrents)
Au niveau de larchitecture:
Du modle Von Neumann architectures plus parallles (pipeline?, super scalaire?, multi cur?)
Jalil Boukhobza
Performances
Cest toujours la course aux performances (MIPS, MOPS, FLOPS): plus les machines sont performantes et plus les applications sont gourmandes. Parmi ces applications:
{ { {
Traitement T i di dimages, visioconfrence, i i f jeux j 3D, 3D multimdia; l i di Bioinformatique: dcodage du gnome humain Modlisation et simulation en climatologie, conception de circuits intgrs, etc.
Pour accrotre les performances, on compte sur lvolution des technologies mais aussi les architectures : paralllisme interne (au sein dun processeur) ou/et externe (multi processeur)
6
Jalil Boukhobza
22/01/2009
Loi de Moore
Source wikipedia
Moore (cofondateur dINTEL) prdit en 1965 que le nombre de transistor sur une puce doublerait tout les 18 mois et a rectifi sa loi (empirique) vers 1975 24 mois.
Jalil Boukhobza
Electronic Numerical Integrator And Computer: reprogrammable, dcimal et utilise des tubes vide. Conus des buts militaires. 30 tonnes (500m2 au sol) 18000 tubes vide et 70000 rsistances 140 Kwatts/h (un PC consomme 100 200 Watts/h) 5000 additions/seconde/calculateur, il y en a 20 (un Pentium 4 3.2 GHz effectue 2772~6204 MFLOPS). fonctionn jusquen 1955 (une dizaine danne).
Tache principale: raliser une srie de calculs complexes pour tester la faisabilit de la bombe hydrogne.
Jalil Boukhobza 8
ENIAC
dveloppeur
dbogueur
Jalil Boukhobza
22/01/2009
Institute of Advanced Studies (Princeton) architecture conue entre 1946 et 1952. Ide: reprsentation du programme sous forme numrique (binaire) ET le ranger en mmoire au mme titre que les donnes donnes. Caractristiques:
{ { { {
Mmoire principale: donnes + instructions Une unit arithmtique et logique sur donnes binaires Une unit de contrle (interprtation dinstruction) Dispositif dE/S
Jalil Boukhobza
IAS
Mmoire Partie contrle
E/S
Programme RI PC UAL
Partie oprative
Donnes
depuis, dautres modles ont t dfinis comme larchitecture Harvard (deux mmoire: donnes et instructions) ainsi que dautres architectures parallles
Jalil Boukhobza 11
Constat: grande majorit des instructions disponibles sont trs peu utilises Deux types darchitectures diffrentes:
{
CISC (Complex instruction Set Computer): modes dadressage complexe + plusieurs instructions possibles + nombre de cycles par instruction diffrent Pentium RISC (Reduced Instruction Set Computer): peu de modes dadressage + peu dinstructions possibles + nombre de cycles par instruction constant (ou presque) PowerPC. Actuellement peu de frontire entre les deux ?
12
{
Jalil Boukhobza
22/01/2009
Du 8080 au 80486: microprocesseur 8 bits au 32 bits multitches (excution de plusieurs programmes simultanment) avec coprocesseur mathmatique. Pentium et Pentium Pro: utilisation darchitectures super scalaires (plusieurs instructions en p (p parallle) ) et techniques q logicielles g permettant dacclrer le traitement:
{ { {
Prdiction de branchement Analyse de flot (enlever le code mort) Excution spculative (dans le dsordre)
Pentium II, III et IV: traitement spcifique pour la vido, 3D et multimdia. Itanium: architecture 64 bits.
Jalil Boukhobza
13
801: processeur RISC de Berkeley lanc par IBM (1975). System/6000 RISC: super scalaire RISC PowerPC: accord entre IBM, Motorolla et Apple
{ { { {
601, 603, 604: processeur 32 bits avec conceptions super scalaires plus avance. 620 et G3: architecture 64 bits intgrant pour la dernire deux niveaux de cache sur la puce. G4: plus de paralllisme et vitesse interne plus importante. G5 : processeur 64 bits
14
Jalil Boukhobza
Quelques chiffres
Pentium
Date de lancement Vitesse dhorloge Nombre de transistors 1993 166 MHz 3,1 Millions
Pentium III
1999 660 MHz 9,5/28 Millions
Itanium
2001 800 MHz 300 Millions
601
Date de lancement Vitesse dhorloge Nombre de transistors 1993 120 MHz 2,8 Millions
G4
1999 500 MHz 10,5 ~ 33 Millions
G5
2003 2 GHz 58 Millions
15
Jalil Boukhobza
22/01/2009
Les performances
La performance dun microprocesseur pour un utilisateur individuel correspond la dure scoulant entre le dbut et la terminaison dune tche: temps dexcution
Exemple
Pour un mme jeu dinstructions et deux mises en uvre diffrentes avec une machine A et une machine B. Pour un mme programme, la A a un cycle y dhorloge g de 10ns et un CPI ( (nombre moyen y de Cycles Par Instruction) de 2 tandis que la machine B a un cycle dhorloge de 15ns et un CPI de 1,2. Quelle est la machine la plus rapide (nombre dinstructions par seconde)?
Jalil Boukhobza
17
A = A + B (langage C) Compilateur Add A,B (langage dassemblage) assembleur 011010010. (langage machine)
Jalil Boukhobza 18
22/01/2009
le code l d d de li linstruction t ti l lu en un ou plusieurs l i accs mmoire i le (ou les) oprande(s) peu(ven)t tre une donne ou une adresse
processeur-mmoire: transfert mmoire processeur processeur-E/S: transfert donnes vers, ou partir de priphriques traitement des donnes: opration arithmtique ou logique contrle: branchement
19
Jalil Boukhobza
Instruction daddition avec 2 adresses add source destination source + destination -> destination Dans le cas dune instruction une adresse, on utilise un registre interne (accumulateur ou acc) pour stocker le premier oprande. add source acc + source -> acc
Jalil Boukhobza 20
( (charge h d dans A Acc) ) (multiplie le contenu de Acc) (range le contenu de Acc) (soustrait le contenu de Acc)
21
22/01/2009
Architectures et instructions
plusieurs stratgies pour laccs aux donnes:
Type registre-mmoire:
ADD R, @X R I R + @X
Type mmoire-mmoire:
ADD @X, @Y, @Z @Z I @X + @Y
Jalil Boukhobza
Lecture (fetch) de linstruction excuter (charger le registre dinstructions RI avec linstruction dont ladresse est dans le PC) Dcodage de linstruction l instruction (chargement des oprandes des registres si besoin) Lecture/criture mmoire Excution criture des rsultats dans les registres En plus de la slection de linstruction suivante (prparer PC pour linstruction suivante) qui se fait lors de lopration 3, 4 ou 5.
2. 2
3. 4. 5.
Jalil Boukhobza
23
Illustration
Jalil Boukhobza
24
22/01/2009
Partie oprative
Cette partie contient :
Le registre dinstruction RI Le registre pour le compteur programme (PC) Les registres internes pour la mmorisation de donnes ou dadresses LUAL (unit arithmtique et logique) avec deux sorties :
{ {
rsultat du calcul code de conditions arithmtiques (Z= rsultat nul, N= rsultat ngatif,C= retenue, V= dpassement de capacit)
Jalil Boukhobza
25
Partie contrle
La partie contrle permet lexcution des instructions. Cest une machine squentielle (automate de contrle ou squenceur) permettant denvoyer des ordres la partie oprative. Les entres de la partie contrle sont des informations manant de la partie oprative (valeur dun code opration, valeur dun code condition ...)
Jalil Boukhobza
26
Jalil Boukhobza
27
22/01/2009
un jeu dinstructions rduit, une partie oprative avec un registre de donne, une unit de contrle permettant lexcution des diffrentes instructions sur larchitecture de la partie oprative
28
Jalil Boukhobza
Jeu dinstructions
Jalil Boukhobza
29
10
22/01/2009
Jalil Boukhobza
31
Problme de reprsentation: ex 1/3 nest pas reprsentable Les proprits sur les nombres sont diffrentes en prcision finie
(A+B) C = A + (B-C) ??
Exemple:
Loi distributive: a*(b-c) ? (a*b)-(a*c) Entiers sur 3 chiffres: a=5, b=210, c=100
32
Jalil Boukhobza
La base 10 bien sr ! Sauf exception, les programmeurs comptent en base 10 comme le quidam ordinaire. La base 2 : les oprateurs de calcul sont souvent prvus pour calculer dans cette base, car leur ralisation en est simplifie. La base 16 ou hexadcimal : elle est utilise lorsque le programmeur doit rsonner en base 2. Les conversions de la base hexadcimal vers la base 2 se calculent trs facilement de tte.
11
22/01/2009
A = ai .2i
n 1 i =0
nombre ngatif :
{
n2 i=0
a i . 2 i si
a n 1 = 0 a n 1 = 1
n 2 i =0
A = a i . 2 i si
i=0
n2
reprsentation complment 2 :
Jalil Boukhobza
A = 2 n 1.an 1 + ai .2i
34
On divise successivement le nombre convertir par la base B, tant que le rsultat nest pas nul. Les restes de chacune des divisions forment les chiffres du nombre converti dans la base darrive, du poids faible au poids fort fort.
54 2 0 27 2 1 13 2 1 6 2 0 3 2 1 1 2 1 0
(54)10=(110110)2
+4 +3 +2 +1 +0 -0 -1 -2 -3
Jalil Boukhobza -4
12
22/01/2009
A = A +1
Augmentation du nombre de bits: extension par le bit du signe Dpassement de capacit: rsultat prend le signe oppos de ce quil devrait prendre Soustraction: A-B = A + (-B)
37
Jalil Boukhobza
13