• Aucun résultat trouvé

Architecture des ordinateurs

N/A
N/A
Protected

Academic year: 2022

Partager "Architecture des ordinateurs"

Copied!
177
0
0

Texte intégral

(1)

Architecture des ordinateurs

1

Année Académique 2017-2018

Mr Radouane CHAHIN

Site web :https://sites.google.com/a/uca.ma/r-chahin/

(2)

Plan du cours

2

1- Introduction

2- Représentation de l’information

- Représentation des caractères - Représentation des entiers - Représentation des réels - Entiers relatifs

- Représentation des données alphanumériques 3- Architecture matériel de l’ordinateur

- Modéliser le fonctionnement des ordinateurs.

- Décrire l'organisation interne des ordinateurs.

- Connaitre la pyramide des types de mémoires informatique.

- Comparer les mémoires suivant différents critères et caractéristiques.

- Maitriser les bases de l‘algèbre booléenne.

- Éléments de logique combinatoire et séquentielle - Éléments fonctionnels d’un processeur

- Construction du processeur : Architecture Intel x86 4- Architecture logicielle du processeur

- Modèle d’exécution - Format des instructions

- Instructions arithmétiques et logiques - Instructions d’accès mémoire

- Instructions de comparaison

- Instructions de saut et de branchement

(3)

Introduction

3

But de cours:

1 Décrire l'organisation interne des ordinateurs et son évolution.

2 Modéliser le fonctionnement des ordinateurs.

3 Représenter des données alphanumériques.

4 Modéliser le calcul arithmétique et logique.

5 Ecrire un petit programme en langage assembleur.

6 Appréhender les principes généraux sous-jacents a la programmation.

(4)

Introduction:Définitions

4

Ordinateur

Une machine de traitement de l'information (acquérir, conserver, traiter et restituer).

Type d'information & représentation

Valeurs numériques, textes, images, son, vidéos représentés sous forme de données numériques(Des 0 et des 1 ).

Informatique

Science du traitement de l'information.

Système informatique

Ensemble des moyens logiciels & matériels nécessaires pour satisfaire les besoins informatiques des utilisateurs.

(5)

Qu’est-ce qu’un ordinateur ?

• « Machine automatique de traitement de l’information obéissant à des programmes formés par des suites d’opérations arithmétiques et logiques » (Larousse 2002)

• Différents niveaux d’approche : utilisateur, programmeur machine, concepteur de circuits logiques …

5

(6)

Qu’est ce qu’un microprocesseur ?

• Un microprocesseur est un circuit intégré complexe. Il résulte de

l’intégration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles (registres, compteur, etc…). Il est

capable d'interpréter et d'exécuter les instructions d'un programme. Son domaine d’utilisation est donc presque illimité.

6

(7)

Où trouve-t-on des systèmes à microprocesseur ?

• Les applications des systèmes à microprocesseurs sont multiples et variées : Ordinateur, PDA, console de jeux, calculatrice, télévision, téléphone portable, distributeur automatique d’argent, robotique, lecteur carte à puce, code

barre, automobile, instrumentation, etc…

Ordinateur  micro-ordinateur  nano-ordinateur(65mm x 30mm x 5mm)

7

(8)

Introduction: Utilisation des ordinateurs

Programme

Suite d'instructions dans un langage donnée, définissant un traitement exécutable par un ordinateur

• programmes systèmes

• programmes d'application Système d'exploitation

Programme système qui gère les différentes ressources de la machine Programmation

A partir d'un problème donne, réaliser un programme dont l‘exécution apporte une solution satisfaisante au problème pose

• langages de programmation (machine, assembleur, évolues)

8

(9)

Evolution schématique des langages

9

(10)

De quoi allons-nous parler et quel chemin allons nous suivre ?

10

(11)

Représentation de l’information

11

Objectifs du chapitre

1 Comprendre le principes des codages binaires.

2 Représenter des nombres entiers dans diverses représentations classiques (vas, C1, C2).

3 Représenter des nombres réels en IEEE 754

4 Comprendre le lien entre représentation des nombres et calcul arithmétique 5 Représenter des données alphanumériques ASCII, UNCODE (UTF8,UTF16,UTF32)

(12)

Représentation de l’information

Différents types d'informations

• Instructions

• Données

• Nombres (entiers, réels)

• Images

• Vidéos

• Sons

• etc.

• Toujours représentées sous forme binaire (0 ou 1) a l'aide de bits.

12

(13)

Système binaire

• Binaire: 0, 1

• Décimal: 0, 1, …, 9

• Octal: 0, 1, …, 7

• Hexadécimal: 0, 1, …, 9, A, B, C, D, E, F

• E.g. Binaire-Décimal-Hexadécimal

0000 = 0= 0 ; 0101 = 5 =5; 1010 = 10 = A

13

Décimal Binaire Hexadécimal octal

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 8 10

9 1001 9 11

10 1010 A 12

11 1011 B 13

12 1100 C 14

13 1101 D 15

14 1110 E 16

15 1111 F 17

(14)

Valeur numérique binaire

• Un nombre qui s'exprime en base B par les quatre chiffres 1101 s'analyse :

1*B

3

+ 1*B

2

+ 0*B

1

+ 1*B

0

= (1101)

10

qui donne :

• 1101 en base B = 10 :

1*10

3

+ 1*10

2

+ 0*10

1

+ 1*10

0

= (1101)

10

• 1101 en base B = 8 :

1*8

3

+ 1*8

2

+ 0*8

1

+ 1*8

0

= (577)

10

• 1101 en base B = 2 :

1*2

3

+ 1*2

2

+ 0*2

1

+ 1*2

0

= (13)

10

14

(15)

Conversion

• Binaire décimal: (10010)

2

=1*2

4

+ 0*2

3

+ 0*2

2

+ 1*2

1

+ 0*2

0

= (18)

10

• Décimal  binaire

(25)

10

25÷2 = 12 reste 1 12÷2 = 6 reste 0 6÷2 = 3 reste 0 3÷2 = 1 reste 1 1÷2 = 0 reste 1 On obtient: (25)

10

= (11001)

2

• Binaire  octal

On effectue le remplacement, de droite à gauche, de 3 bits par le chiffre octal correspondant. Si le nombre de bits n’est pas un multiple de 3, on complète a gauche avec des zéros.

(101101)

2

= (101 101)

2

=(55)

8

• Binaire  hexadécimale

On effectue le remplacement, de droite à gauche, de 4 bits par le chiffre hexadécimal correspondant. Si le nombre de bits n’est pas un multiple de 4, on complète a gauche avec des zéros.

(101101)

2

= (0010 1101)

2

= (2D)

16 15

(16)

Un autre exemple

• Convertissons (01001101)

2

en décimal à l'aide du schéma ci- dessous:

• Le nombre en base 10 est

(01001101)

2

=2

6

+ 2

3

+ 2

2

+ 2

0

= 64 + 8 + 4 + 1 = (77)

10

• Le nombre en base 8 est

(01001101)

2

= (001 001 101)

2

= (115)

8

(115)

8

= 8

2

+ 8

1

+ 5*8

0

=64+8+5= (77)

10

• Le nombre en base 1 est (01001101)

2

= (0100 1101)

2

= (4D)

16

(4D)

16

= 4*16

1

+ 13*16

0

=64+13= (77)

10

16

27 26 25 24 23 22 21 20

0 1 0 0 1 1 0 1

(17)

Dans le sens inverse

• De décimal en binaire: (77)

10

• Résultat = (1001101)

2

17

(18)

Valeurs: comparaison

• Comparer dans l’ordre de gauche à droite(comme nombre décimal)

• Si à une position, a

i

<b

i

, alors a<b

• Dans l’ordre croissant 000

001 010 011 100 101 110 111

18

(19)

Valeurs: addition

• 60+17 en base 2

1

1 1 1 1 0 0 + 0 1 0 0 0 1

1 0 0 1 1 0 1

 77

• 2

5

+ 2

4

+ 2

3

+ 2

2

= 32 +16 + 8 + 4 = (60 )

10

• 2

4

+ 2

0

= 16 + 1= (17)

10

• 2

6

+ 2

3

+ 2

2

+ 2

0

= 64 + 8 + 4 + 1 = (77)

10

19

(20)

Valeurs: soustraction

• 8-1 en base 2

1

1

0

1

0

1

0 - 0

1

0

1

0

1

1 0 1 1 1

 7

• 2

3

= (8 )

10

• 2

0

= (1 )

10

• 2

2

+ 2

1

+ 2

0

= 4 + 2 + 1 = (7 )

10

20

(21)

Valeurs: multiplication

7*5 en base 2

1 1 1

* 1 0 1 1 1 1

1 1

0

1

0 0 . 1 1 1 . . 1 0 0 0 1 1

 35

• 2

2

+ 2

1

+ 2

0

= 4 + 2 + 1 = (7 )

10

• 2

2

+ 2

0

= 4+ 1= (5 )

10

• 2

5

+ 2

1

+ 2

0

= 32+ 2+ 1 = (35 )

10

21

(22)

Valeurs: division

• 37/5 en base 2

1 0 0 1 0 1 / 1 0 1 0 0 0 1 1 1

 7

• Tapez une équation ici.

• 2

5

+ 2

2

+ 2

0

= 32+ 4+ 1 = (37 )

10

• 2

2

+ 2

0

= 4+ 1= (5)

10

• 2

2

+ 2

1

+ 2

0

= 4 + 2 + 1 = (7 )

10

22

100101 101 -000 00111

100 - 000

1001 - 101

1000 - 101

0111

- 101

010

(23)

Valeurs: négatives décimal  binaire

23

3 façons de représenter +/- N avec n bits:

• Module et signe (noté M&S)

• on utilise le bit le plus à gauche pour représenter le signe

• Exemple mots de 4 bits (( 3)

10

=(011)

2

) donc (0011)

2

=(3)

10

et (1011)

2

=(-3)

10

• Complément à 1 (noté Cà1)

• pour un nombre négatif, on prend la représentation de la partie entière et on inverse tous les bits

• Exemple mots de 4 bits : ((4)

10

=(100)

2

) donc ( 0100 )

2

=4 et (1011 )

2

=(-4 )

10

• Complément à 2 (noté Cà2)

• idem, mais avant d ‘inverser, on soustrait 1 (ou on inverse puis on ajoute 1)

• Exemple mots de 4 bits : ((6)

10

=(110)

2

) donc ( 0110 )

2

=6 et (1010 )

2

=(-6 )

10

(24)

Exemples: binaire  décimal de nombre négative

24

nombre Négative en M&S 1.on remplace bit de signe par - ;2. on calcule équivalent décimal (comme précédemment partie nombre positive)

nombre Négative en Cà1 1.on remplace bit de signe par - ;2. On inverse chaque bits de Cà1( résultat M&S);

3. On calcule équivalent décimal comme précédemment

nombre Négative en Cà2 méthode 1 1.on remplace bit de signe par - ;2. On soustrais 1 ;3. On inverse chaque bits de Cà1( résultat M&S);4. On calcule équivalent décimal comme précédemment

nombre Négative en Cà2 méthode 2 1.on remplace bit de signe par - ;2. On inverse chaque bits;3. On ajoute 1 (résultat M&S);4. On calcule équivalent décimal comme précédemment

Comparaison méthode 1 et 2 exemple : #101 on inverse 110 on ajoute 111 #101 on soustrait 100 on inverse 111

Décimal si :M&S Décimal si :Cà1 Décimal si :Cà2 011

010 001 000 111 110 101 100

3 2 1 0 -3 -2 -1 -0

3 2 1 0 -0 -1 -2 -3

3

2

1

0

-1

-2

-3

-4

(25)

Calcule :Addition (ADD)et soustraction(SUB)

25

• Le bit signe est traité comme tous les autres bits (on les additionne,…… !)

• La soustraction est un cas particulier de l’addition

• les nombres négatifs sont traités comme des nombres à additionner Exemple mots de 3 bits:

• Addition par Cà1, (si Retenue? on ajoute 1 au résultat)

010

2

+110

2

= 1000

2

 un retenu +1  001

2

équivalent on décimal 2+(-1)=1 001

2

+101

2

= 110 2  pas de retenu  110 2 équivalent on décimal 1+(-2)=-1

• Addition par Cà2 (Directe)

010

2

+111

2

= 1 001

2

 001

2

équivalent on décimal 2+(-1)=1

001

2

+110

2

= 111

2

 111

2

équivalent on décimal 1+(-2)=-1

(26)

Retenu ≠ débordement(à éviter)

26

• Le retenu (Carry )est rencontrée lorsqu’une retenue (carry) existe à la fin de l’opération d’addition ou soustraction(comme décimal).

• La condition Overflow (débordement) est rencontrée lorsque l’addition de deux nombres produit un nombre trop grand pour être représenté. En complément 2, cela se produit si:

(+A) + (+B) = −C ; (−A) + (−B) = +C ; (+A) − (−B) = −C ; (−A) − (+B) = +C;

• Exemple débordement 7+3, mots de 4 bits, Cà2 (+7) 0 1 1 1

+ (+3) 0 0 1 1 (-5) 1 0 1 0

Autre exemple mots de 4 bits, Cà2

1111 + 0001 = 0000  (-1)+1=0 retenu, pas de débordement 1100 + 1100 = 1000 (-4)+(-4)=(-8) retenu, pas de débordement 0000 - 0001 = 1111 0-1=(-1) retenu, pas de débordement

0111 + 0001 = 1000 7+1=(-8) pas de retenu, débordement 1000 - 0001 = 0111  (-8)-1=7 pas de retenu, débordement 0100 + 0100 = 1000 4+4=(-8) pas de retenu ,débordement 1000 + 1000 = 0000 (-8)+(-8)=0 retenu ,débordement

0100 + 0001 = 0101 4+1=5 pas de retenu, pas de débordement 0110 + 1001 = 1111 6+(-7)=(-1)pas de retenu, pas de débordement 1000 + 0001 = 1001 (-8)+1=(-7) pas de retenu, pas de débordement

0 = 0000 -8 = 1000 1 = 0001 -7 = 1001 2 = 0010 -6 = 1010 3 = 0011 -5 = 1011 4 = 0100 -4 = 1100 5 = 0101 -3 = 1101 6 = 0110 -2 = 1110 7 = 0111 -1 = 1111 Tableau Cà2 sur 4 bit

(27)

Capacité de représentation

• Valeur entière avec 8 bits

• Valeur positive max:

de 000000002 à 111111112  de 0 à 25510

• Valeur max (complément à 1):

Positive de 000000002 à 011111112 de 0 à 12710

Négative de 100000002 à 111111112de -127 à -010

• Valeur max (complément à 2):

Positive de 000000002 à 011111112de 0 à 12710

Négative de 100000002 à 111111112  de -128 à -110

• Capacité de Représentation =

 Pour les valeurs positifs: intervalle [0, 2 nombre bits -1]

 Pour négative (complément à 1): intervalle [1-(2 nombre bits)/2, -1+(2 nombre bits)/2]

 Pour négative (complément à 2): intervalle [-(2 nombre bits)/2, -1+(2 nombre bits)/2]

Exemple pour 3 bits:

 Pour les valeurs positifs: intervalle [0, 23-1][0, 7]

 Pour négative (complément à 1): intervalle [1-(23)/2, -1+(23)/2][1-4, -1+4][-3,3]

 Pour négative (complément à 2): intervalle [-(23)/2, -1+(23)/2][-4, -1+4][-4,3]

27

M&S Cà1 Cà2

011 010 001 000 111 110 101 100

3 2 1 0 -3 -2 -1 -0

3 2 1 0 -0 -1 -2 -3

3

2

1

0

-1

-2

-3

-4

(28)

Conversion chiffre réel Binaire  décimal

• Virgule fixe d

n-1

d

n-2

d

n-3

….. d

2

d

1

d

0

d

-1

d

-2

d

-m

avec n et m fixe

• Un nombre qui s'exprime en base B par 3 bits avec n=2 et m=1 le chiffres 101 s'analyse : 1*B

1

+ 0*B

0

+1*B

-1

en binaire (10,1)

2

= 1*2

1

+ 0*2

0

+1*2

-1

=(2,5)

10

en octale(10,1)

8

= 1*8

1

+ 0*8

0

+1*8

-1

=(8,125)

10

en hexadécimal (10,1)

16

= 1*16

1

+ 0*16

0

+1*16

-1

=(16,0625)

10

• Incertitude constant =2

-m

pour m=1 est de +0,5

]1,5; 1,5+0,5[est codé par (01,1)

2

pour m=2 est de +0,25

]0,75; 0,75+0,25[

est codé par (0,11)

2

28

n=3 m=0 n=2 m=1 n=1 m=2 n=0 m=3 000

001 010 011 100 101 110 111

0 1 2 3 4 5 6 7

0 0,5 1 1,5 2 2,5 3 3,5

0 0,25 0,5 0,75 1 1,25 1,5 1,75

0

0,125

0,25

0,375

0,5

0,625

0,75

0,875

(29)

Conversion chiffre réel décimale  Binaire

• Exemple 77,75 avec n=8 et m=2

• Pour la partie entier il faut faire une diversion successive des quotients sur 2 puis écrire les

restes en commençant par le dernier: 77,7510

• Pour la partie réel il faut faire une multiplication successive des parties réel par 2 puis écrire la suite de la partie entier en commençant par le premier

• 0,75*2=1,5

• 0,5*2 =1

• on binaire 0,11 (vérification 1*2-1 +1*2 -2 =0,5 + 0,25 = 0,75) Résultat 77,7510 = 01001101,112

• Exemple 0,4 avec n=1 et m=4 incertitude est ± 0,0625

• 0,4*2 =0,8

• 0,8*2 =1,6

• 0,6*2 =1,2

• 0,2*2 =0,4

• on a 4 chiffre après la virgule on (tronque) arrêt le calcule (le résultat est approximatif).Résultat 0,410 =0,01102 0,01102 = 0*2-1 +1*2 -2 + 1*2 -3 + 0*2 -4 = 0,25+0,125= 0,37510 + 0,0625 =]0,375; 0,375+0,0625[=] 0,375; 0,4375 [

29

(30)

Valeurs: réel négative (virgule fixe)

• Pour les valeurs négatives ont utilisent les mêmes règles de représentations vu avant M&S, Cà1 et Cà2 Exemple pour n=3 et m=2:

• Calcule Pour n et m fixes, e.g. en Cà2:

• Pour d’autres n et m fixes, la même opération à différentes interprétations selon les valeurs de n et m

30

décimale M&S Cà1 Cà2

-1,25 10101 11010 11011

1 1 1

n=5 et m=0

n=3 et m=2

0 0 1 1 0 6 1,5

+ 1 1 0 1 1 -5 -1,25

0 0 0 0 1 1 0,25

n=5 et m=0

n=3 et m=2

0 0 1 1 0 6 1,5

- 0 0 1 0 1 5 1,25

0 0 0 0 1 1 0,25

(31)

Valeurs: réel (virgule flottant)

• virgule flottante : la position de la virgule n'est pas fixe. Ces nombres sont des approximations de nombres réels. Ecriture sous cette forme mantisse * B

exposant

Avec mantisse d

0

d

-1

d

-2

d

-m

avec m fixe et exposant d

n-1

d

n-2

d

n-3

….. d

2

d

1

avec n fixe

• Exemple 236,43= 0,23643 * 10

3

L’exposant et la mantisse peut être signé.

31

(32)

Valeurs: réel (norme virgule flottant)

Codage de la mantisse

• Taille de la mantisse bornée.

• mantisse peut être signé +/-

• La mantisse -1<Mantisse<1

• Changement de base (décimal  binaire) obtenu par multiplications successives par 2.

• Si cela ne converge pas vers 1 alors il n'y a pas de représentation exacte de ce nombre, on tronque alors suivant la taille de la mantisse.

• Si la taille de la mantisse augmente, la précision des valeurs possibles représentables grandit.

• Exemple conversion de 0,375 0,375*2 =0,75

0,75*2 =1,5 0,5*2 =1,0

 0,375

10

= 0,011

2

 0,375= 0*2

-1

+1*2

-2

+ 1*2

-3

= 0*0,5 + 1*0,25+ 1*0,125 0,011

2

Soit 0,11 * 2

-1

 mantisse =11

32

(33)

Valeurs: réel (norme virgule flottant)

Codage de l'exposant

• Taille de l'exposant bornée.

• Codage par excèdent n : on décale l'exposant on lui ajoutant une valeur n. mantisse * Bexposant-n

=> Pas d'exposant négatifs

=> Facilite les opérations de tri (pas besoin de conversion au décimal pour trier)

• Exemple , sur 3 bits, excèdent à 4 : (111)2 =7-4=3 et (000)2 =0-4=-4 +3 111

+2 110 +1 101 0 100 -1 011 -2 010 -3 001 -4 000

• Si la taille de l'exposant augmente alors l'intervalle des valeurs possibles représentables grandit.

• Incertitude varie entre ±2-4 à ±23 Exemple(suit): mantisse =11

0,375=0,0112 = 0,11 * 2-1 soit avec exposant excèdent à 4  0,11 * 23-4 exposant=011 33

(34)

Valeurs: réel (virgule flottant: Norme IEEE 754)

• Objectif: harmoniser les représentations en virgule flottante et définir le comportement en cas d’exception(dépassement, sous-passement)

• Bit de signe S (signe(+)=0,signe (-)=1)

• Mantisse normalisée en base de 2 avec un bit caché (1,)(1≤M<2)

• Exposant code en excédent 2

(n-1)

-1 , n est le nombre de bit d’exposant

• Incertitude varie de ±1,4×10

−45

à ± 2×10

31

(de ±2

-127

à ±2

127

)

S E M

En simple précision, x = (-1)S * (1,M)*2(E-127) 1bit 8bit 23 bit En double précision, x = (-1)S * (1,M)*2(E-1023) 1bit 11bit 52 bit

34

Type Exposant Mantisse Valeur approchée Écart / préc

Zéro 0000 0000 000 0000 0000 0000 0000 0000 0,0

Plus petit nombre dénormalisé 0000 0000 000 0000 0000 0000 0000 0001 1,4×10−45 1,4×10−45 Nombre dénormalisé suivant 0000 0000 000 0000 0000 0000 0000 0010 2,8×10−45 1,4×10−45 Nombre dénormalisé suivant 0000 0000 000 0000 0000 0000 0000 0011 4,2×10−45 1,4×10−45

……. …….. ……. ……. ……

Presque le plus grand nombre 1111 1110 111 1111 1111 1111 1111 1110 3,40282326×1038

Plus grand nombre normalisé 1111 1110 111 1111 1111 1111 1111 1111 3,40282346×1038 2×1031

Infini 1111 1111 xxx xxxx xxxx xxxx xxxx xxxx Infini ou NAN

(35)

Valeurs: réel (virgule flottant: Norme IEEE 754)

Exemple décimal  binaire

• -0,75 en simple précision 0,75*2 =1,5 ; 0,5*2 =1,0

 0,75

10

= 0,11

2

 0,375= 0*2

-1

+1*2

-2

= 0*0,5 + 1*0,25

0,11

2

Soit 1,1 * 2

-1

= 1,1 * 2

126-127

en forme normalisée

Mantisse= 0,1= 100 0000 0000 0000 0000 0000 avec n=0 et m=23

Exposant = 126

10

= 01111110

2

-0,75 en simple précision 1 01111110 10000000000000000000000= BF400000

16

Exemple binaire décimal

• 1 10000001 01000000000000000000000= C0A00000

16

en simple précision Signe=1

Exposant= 10000001

2

=129

Mantisse =0,01

2

= 0*2

-1

+1*2

-2

=0,25

10

 (-1)

S

* (1,M)*2

(E-127)

= (-1)

1

* (1,25)*2

(129-127)

=-1*1,25*2

2

=-1,25*4= -5

10

35

(36)

Opérations flottantes(Norme IEEE 754)

• Les opérations flottantes impliquent un traitement simultané :

• des mantisses (c'est a dire des parties fractionnaires), et des exposants.

• Opérations de base:

• L'addition (ou soustraction) implique:

1. Dénormalisation du nombre le plus petit pour que les exposants deviennent égaux, 2. Addition (soustraction) des mantisses,

3. Renormalisation éventuelle du résultat.

• La multiplication (division) implique:

1. la multiplication (division) des mantisses,

2. Calcule des exposants par l'addition (soustraction). (attention pour exposant code en excédent avec E1+E2 -127 (ou E1-E2 +127))

3. Renormalisation éventuelle du résultat

36

(37)

Exemples :Opérations flottantes(Norme IEEE 754)

Addition A+B= (1,11 *21 )2 +(1,0101*22)2

1. Dénormalisation de A (plus petit exposant) A= (1,11 *21)2 = (0,111 *22)2

2. Addition des mantisses (0,111)2+(1,0101)2=(10,0011)2 3. Renormalisation

A+B=(10,0011*22)2=(1,00011*23)2 Alors A+B=(1,00011*2130-127)2

E=(130)10 =(10000010)2

• A+B=0 10000010 00011000000000000000000

• Vérification

(1,00011*2130-127)2=(1,00011*23)2 = (1000,11)2 = (8,75)10 Et (3,5)10 +(5,25)10 =(8,75)10

Multiplication A*B=(1,11 *21 )2 *(1,0101*22)2 1. multiplication des mantisses

(1,11)2*(1,0101)2=(10,010011)2 2. Calcule des exposants

Méthode 1: (21 )2*(22)2 = (23)2 =(2130-127)2

E=(130)10 =(10000010)2

Méthode 2:E=128+129-127=(130)10 3. Renormalisation

A*B=(10,010011*2130-127)2=(1,0010011 *2131-127)2 E=(131)10 =(10000011)2

A*B= 0 10000011 00100110000000000000000

Vérification

(1,0010011 *2131-127)2=(1,0010011 *24)2= (10010,011)2 = (18,375)10 Et (3,5)10 *(5,25)10 = (18,375)10

37

Soit deux nombres:

A= (3,5)10 = (1,75*2)10=(1,11 *21)2 =(1,11 *2128-127)2 E=(128)10 =(10000000)2

A=0 10000000 11000000000000000000000

B=(5,25)10 =(101,01)2= (1,0101*22)2=(1,0101*2129-127)2 E=(129)10 =(10000001)2

B=0 10000001 01010000000000000000000

(38)

Encoder des lettres ASCII (7 bits)

Binary Oct Dec Hex Glyph

010 0000 040 32 20

010 0001 041 33 21 !

010 0010 042 34 22 "

010 0011 043 35 23 #

011 0000 060 48 30 0

011 0001 061 49 31 1

011 0010 062 50 32 2

100 0001 101 65 41 A

100 0010 102 66 42 B

110 0001 141 97 61 a

110 0010 142 98 62 b

110 0011 143 99 63 c

Les caractères usuels anglo-saxons utilisent généralement un code sur 7 bits appelé codage ASCII ; les codes varient entre 0 et 127.

Comme ces codes de 7 bits sont toujours plongés dans un octet (mot de 8 bits), des codages étendus sur 8 bits ont été développés, d’abord de façon propriétaire, puis de façon organisée par la norme ISO-8859

UNICODE sur 16 bites

UTF-8, qui représente chaque code-point par une suite de 1 à 4 octets. Les codes-points inférieurs à 0+0080 (les codes ASCII) sont représentés par un unique octet contenant cette valeur :

l’UTF-8 est donc rétrocompatible avec l’ASCII

38

(39)

Un “texte” en ASCII

Cher ami,

67 104 101 114 32 97 109 105 44 (en décimal) Il faut différencier entre

• Nombre

12 =(12)

10

=(00000000 001100)

2

• Texte

"12" ou '12'= (49 50)

10

=(00110001 00110010)

2

39

(40)

Un “texte” en UNICODE UTF-8

Cher ami,

67 104 101 114 32 97 109 105 44 (en décimal)

• ASCII dans UTF-8

• UTF-16

• UTF-32

40

(41)

Encodage de l'information 1/2

• Objectif :

Utilisation des codes pour représenter l'information afin de résoudre 3 types de problèmes :

• Assurer l‘ intégrité de l'information (détection et correction d'erreurs)

• Codes autovérificateurs (contrôle de parité ou somme de contrôle ), exemple code ASCII : 7 bits étaient utilisés le bit 8 bits est la somme de nombre de 1 dans le code.

• Codes autocorrecteurs (double parité(2 bit ligne et colonne), hamming, codes polynomiaux).

• Minimiser la taille de l'information (compression), (Codage de Huffman)

• Garantir la sécurité de l'information (encryptage/chiffrement).

41

(42)

Encodage de l'information 2/2

Codage de Huffman

• consiste a remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents par des codes longs

• utilise la notion de code préfixe

42

(43)

Méthode de codage de Huffman 1/3

• exemple : "recherchechatchatain"

1. Construction du tableau :Il faut compter tout d’abord tous les caractères du fichier a coder et affecter a chacun d’entre eux son ≪ poids ≫ d’apparition. On obtient alors un tableau ou chaque case correspond a un caractère et son poids, tout étant range dans l'ordre du codage ASCII (ordre alphabétique)

2. Construction de l'arbre: Chacune des cellules du tableau sera une feuille de cet arbre. Pour compléter cet arbre, il faut associer les feuilles (caractères ensemble). Dans chaque étape on va associer les caractères ayant le plus petit poids pour former un nouveau nœud.(chercher la plus petite somme de deux poids possible)

• Ainsi, on commence par choisir les deux caractères ayant les ≪ poids ≫ les plus faibles. En cas d'égalité

entre différents ≪ poids ≫, on choisit en priorité le premier caractère dans l'ordre correspondant au codage ASCII.

• Apres cela, on ajoute un nœud à l'arbre avec la somme des deux poids des (feuilles) caractères (ou nœud)choisis précédemment.

• On réitère le processus en considérant l'arbre obtenu (ôte des deux caractères précédemment sélectionnes mais avec le nœud supplémentaire). En cas d'égalité entre différents ≪ poids ≫, on choisit en priorité une somme de deux feuilles que une somme de feuille-nœud selon l'ordre correspondant au codage ASCII.

• Ensuite, on refait ainsi pour tous les caractères suivants jusqu'au dernier.

3. Association bits/lettres : Une fois l'arbre termine on va associer un bit aux branches de l’arbre, c'est-a-dire que l’on va choisir, par convention, que les branches de gauche correspondent a 0 et que les branches de droite correspondent a 1.

43

caractère a c e h i n r t

poids 3 4 3 4 1 1 2 2

(44)

Méthode de codage de Huffman 2/3

exemple : "recherchechatchatain" 2 Construction de l'arbre (suit exemple):

44

1) poids 1+1>=1 deux nœuds successives de 1 2) poids 2+2 >=2 deux nœuds successives de 2

3) poids 2+3 >=3, on ajout le 1er nœud dans l'ordre ASCI nœud (a) au racine 2

4) poids 4+3>=5 , le plus proche dans l’ordre ASCI sont (c) et (e)

5) poids 4+4>=7, on ajout le nœud (h) dans l'ordre ASCI au racine 4

6) poids 5+7>=7 cacher

cacher

cacher

cacher

(45)

Méthode de codage de Hoffman 3/3

• exemple : "recherchechatchatain" 3 Association bits/lettres(suit exemple):

On obtient le codage suivant :

010 110 111 00 110 010 111 00 110 111 00 101 011 111 00 101 011 101 1000 1001

r e c h e r c h e c h a t c h a t a i n 45

caractère code

a3 101

c4 111

e3 110

h4 00

i1 1000

n1 1001

r2 010

t2 011

(46)

Représentation des primitives d'un langage (exemple, langage C)

46

Type de donnée Signification Taille (en octets) Plage de valeurs acceptée

char Caractère 1 -128 à 127

unsigned char Caractère non signé 1 0 à 255

short int Entier court 2 -32 768 à 32 767

unsigned short int Entier court non signé 2 0 à 65 535

int Entier 2 (sur processeur 16 bits)

4 (sur processeur 32 bits)

-32 768 à 32 767

-2 147 483 648 à 2 147 483 647

unsigned int Entier non signé 2 (sur processeur 16 bits) 4 (sur processeur 32 bits)

0 à 65 535

0 à 4 294 967 295

long int Entier long 4 -2 147 483 648 à 2 147

483 647

unsigned long int Entier long non signé 4 0 à 4 294 967 295

float Flottant (réel) 4 3.4*10-38 à 3.4*1038

double Flottant double 8 1.7*10-308 à 1.7*10308

long double Flottant double long 10 3.4*10-4932 à 3.4*104932

(47)

Récapitulatif des différentes représentations relatives aux données

47

données

numériques

Nombres entiers positifs Conversion directe (Décimal  binaire) Nombres entiers négatifs

(M&S, Cà1, Cà2)

Nombres fractionnaires (virgule fixe, virgule flottante(mantisse, base,

exposant))

Non numériques Codage par tables

(ASCII,UNICODE)

(48)

Les composantes de l’ordinateur

48

Objectifs du chapitre

1. Modéliser le fonctionnement des ordinateurs.

2. Décrire l'organisation interne des ordinateurs.

3. Connaitre la pyramide des types de mémoires informatique.

4. Comparer les mémoires suivant différents critères et caractéristiques.

5. Maitriser les bases de l‘algèbre booléenne.

6. Éléments de logique combinatoire 7. Éléments de logique séquentielle

8. Éléments fonctionnels d’un processeur

9. Construction du processeur Architecture Intel x86

(49)

Modèle de von Neumann: Turing machine – 1936

49

(50)

Le modèle de Von Neumann

• Von Neumann

• Harvard

50

• • • • •

MÉMOIRE CPU

Unité central ES ES ES

MÉMOIRE

DONNÉES CPU ES ES ES • • • • •

BUS INSTRUCTIONS

MÉMOIRE INSTRUCTION

BUS DONNÉES

(51)

Bus: organisation des bus 1/2

51

On considère qu'il existe deux générations de bus bien distinctes :

 une première génération avec un bus unique, la plus ancienne ;

 une seconde génération avec des bus segmentés

(52)

Bus: organisation des bus 2/2

52

(53)

La mémoire :definitions et presentations

53

 Une mémoire est un circuit à semi-conducteur permettant d’enregistrer, de conserver et de restituer des informations (instructions et variables).

 Une mémoire peut être représentée comme une armoire de rangement constituée de différents tiroirs. Chaque tiroir

représente alors une case mémoire qui peut contenir un seul élément : des données. Le nombre de cases mémoires pouvant être très élevé, il est alors nécessaire de pouvoir les identifier par un numéro. Ce numéro est appelé adresse. Chaque

donnée devient alors accessible grâce à son adresse

 La taille d’une case mémoire est de 1 octets en général

adresse Case mémoire 0=000

1=001 2=010 3=011 4=100 5=101 6=110

7=111 0001 1010

(54)

Représentation en mémoire : texte

En informatique, Un texte est une chaîne de caractères est à la fois conceptuellement une suite ordonnée de caractères et physiquement une suite ordonnée d'unité de code (code unit exemple ASCII)

Dans une mémoire informatique, l'adresse mémoire du premier caractère est connu. Deux méthodes pour délimiter la fin de la chaîne:

• soit elle est terminée par un caractère de fin de chaîne (zéro binaire en langage C, et on parle alors d’ASCIIZ pour indiquer « terminé par un zéro »),

• soit le nombre de caractères est stocké en parallèle au début (BASIC,Pascal, PL/I).

Exemple mot « Bonjour » en mémoire avec les deux méthodes

54

FRANK en mémoire, délimité par un caractère nul (utilisé pour afficher en écran en DOS)

B o n j o u r NUL B w

42 6F 6E 6A 6F 75 72 00 42 77

FRANK en mémoire stocké avec la longueur (utilisé pour lire de clavier en DOS)

longueur B o n j o u r B w

07 42 6F 6E 6A 6F 75 72 42 77

(55)

Écriture en mémoire : Endianness

• En informatique, certaines données telles que les nombres entiers peuvent être représentées sur plusieurs octets.

L'ordre dans lequel ces octets sont organisés en mémoire est appelé Endianness

Gros boutiens (Big endian): octet de poids fort en premier exemple 0xA0B70708 en notation hexadécimales

Exemple famille : Motorola 68K, PowerPC, MIPS,…

Big-endian

Petits boutiens (Little endian):octet de poids faible en premier

• exemple 0xA0B70708 en notation hexadécimales

Exemple famille : intel, ARM, Alpha…

Little endian 55

mémoire

Adr 08 Adr+1 07 Adr+2 B7 Adr+3 A0

registre A0B7O708 A0B7O708 registre

mémoire

Adr A0 Adr+1 B7 Adr+2 07 Adr+3 08

(56)

Mémoire: type d’accès au données(accès direct)

accès direct : les informations ont une adresse propre unique.

56

adresse Case mémoire 0=000

1=001 2=010 3=011 4=100 5=101 6=110

7=111 0001 1010

Type d’accès au donnée une case mémoire:

accès directe par adresse: on accède directement à

n'importe quelle information dont on connaît l'adresse et que le temps mis pour obtenir cette information ne

dépend pas de l'adresse.

accès séquentiel :pour accéder à une information sur bande magnétique, il faut dérouler la bande en repérant tous les enregistrements jusqu'à ce que l'on trouve celui que l'on désire. On dit alors que l'accès à l'information est séquentiel. Le temps d'accès est variable selon la position de l'information recherchée.

accès semi-séquentiel :combinaison des accès direct et séquentiel. Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au secteur est séquentiel.

(57)

Mémoire: type d’accès au données(accès séquentiel )

• accès séquentiel : Le plus lent. Pour accéder à une information particulière, on est obligé de parcourir toutes celles qui la précèdent.

• Cas particulier de fonctionnement de pile:

Pour enlever une assiette il faut enlever tous les assiette au dessus.

Empiler assiette couleur argent A Empiler assiette couleur bleu B Dépiler

Dépiler

57

(58)

La mémoire :Caractéristiques

58

Adresse : valeur numérique désignant un élément physique de mémoire (exemple adresse d'un mot).

Capacité : (taille) nombre d'information que la mémoire peut contenir.

Vitesse :

 Temps d'accès : temps de l’exécution d'une opération de lecture ou d’écriture:

– accès séquentiel : Le plus lent. Pour accéder à une information particulière, on est obligé de parcourir toutes celles qui la précèdent.

– accès direct : les informations ont une adresse propre.

– accès semi-séquentiel : combinaison des accès direct et séquentiel

 Cycle mémoire : temps minimal entre 2 accès (plus long que le temps d’accès).

 Débit : nombre d'informations lues ou écrites par secondes.

Volatilité : caractérise la permanence des informations dans une mémoire (i.e., ce qui ce passe si on coupe le courant !)

Type d’opération :

 Mémoire vive : lecture / écriture

 Mémoire morte : lecture seulement

(59)

La mémoire :Différents types de mémoire

59

 Une mémoire vive (RAM de l'anglais Random Access Memory) désigne une mémoire où chaque information stockée peut en tout temps être consultée, ou modifiée.

 Une mémoire morte (ROM, de l'anglais Read Only Memory) est une mémoire où les informations ne peuvent pas être modifiées(exp BIOS).

 Une mémoire volatile est une mémoire où les informations sont perdues lors de la mise hors tension de l'appareil.

 une mémoire rémanente ou non volatile est une mémoire où les informations sont conservées même après la mise hors tension de l'appareil.

 Une mémoire flash est une mémoire rémanente dont le contenu peut être intégralement effacé en une seule opération. Les premières mémoires de ce type pouvaient être effacées par une

exposition à l'ultraviolet.

(60)

La mémoire :Utilisation

60

Pour des raisons économiques, les mémoires sont en général divisées en plusieurs familles traitées, la plupart du temps, différemment par le système d'exploitation. Par ordre de coût croissant, on peut distinguer :

Une mémoire de masse ou mémoire de stockage sert à stocker à long terme des grandes quantités d'informations. Les technologies les plus courantes des mémoires de masse sont électromécaniques, elles visent à obtenir une capacité de stockage élevée à faible coût et ont généralement une vitesse inférieure aux autres mémoires ;

La mémoire vive est l'espace principal de stockage, dont le contenu disparaît des la mise hors tension de l'ordinateur ;

Une mémoire cache sert à conserver un court instant des informations fréquemment consultées. Les technologies des mémoires caches visent à accélérer la vitesse des opérations de consultation. Elles ont une très grande vitesse, et un coût élevé pour une faible capacité de stockage ;

La registre de processeur est intégrée au processeur. Ce type de mémoire est très rapide mais aussi très

cher et est donc réservé à une très faible quantité de données.

(61)

Principe :Hiérarchie des mémoires

• Depuis le début des années 80, une des solutions utilisées pour masquer cette latence est de disposer une mémoire très rapide entre le microprocesseur et la mémoire. Elle est appelée cache mémoire. On compense ainsi la faible vitesse relative de la mémoire en permettant au microprocesseur d’acquérir les données à sa vitesse propre.

• Soit la donnée ou l’instruction requise est présente dans le cache et elle est alors envoyée directement au microprocesseur.

• soit la donnée ou l’instruction n’est pas dans le cache, et le contrôleur de cache envoie alors une requête à la mémoire principale. Une fois l’information récupérée, il la renvoie au microprocesseur tout en la stockant dans le cache.

61

(62)

La mémoire :Hiérarchie des mémoires

62

Architecture Von Neumann

Architecture Harvard

Architecture Harvard “réelle”

Mémoire cache (niveau 1) Mémoire

non-volatile (disque dur)

Mémoire volatile (RAM)

Mémoire cache (niveau 2)

Registres CPU (niveau 0)

Mémoire volatile instructions

Cache instructions

(niveau 1) Mémoire

non-volatile (disque dur)

Cache instructions

(niveau 2)

Cache données (niveau 1) Mémoire

volatile données

Cache données (niveau 2)

Registres CPU (niveau 0)

Cache instructions

(niveau 1) Mémoire

non-volatile (disque dur)

Mémoire volatile (RAM)

Mémoire cache

(niveau 2) Cache données (niveau 1)

Registres CPU (niveau 0)

(63)

La mémoire :types de mémoire (registre 1/4)

63

 Un registre est une élément de mémoire ayant une fonction particulière.

 Très grande vitesse

 Très faible capacité (e.g., taille d'un mot mémoire)

 Volatile

 Généralement intègres dans le CPU

(mais aussi parfois en mémoire centrale)

 Servent principalement au stockage des opérandes et résultats intermédiaires.

 Type de registre: visible, invisible

 Exemples de registre : RA, RM, RI, CO, SP

Taille des registres mot RM et adresse RA: La taille qu'il faut pour stocker un mot mémoire et la taille qu'il faut pour stocker le nombre possible de mot mémoire

 n bits  2

n

possibilités (donc 2

n

mots) ;

 x possibilités  log

2

(x) = log

2

(2

y

) = y bits.

 Si la mémoire comporte 256 mots de 32 bits, le registre d'adresse doit avoir log2(256) = log2(28) = 8 bits tandis que le registre mot doit avoir 32 bits.

(64)

La mémoire :Types de mémoires (mémoire cache 2/4)

64

la mémoire cache (ou antémémoire) utilisée comme mémoire tampon(buffer) entre le CPU et la mémoire centrale :

 Grande vitesse

 Faible capacité

 Volatile

 Intégrée dans le processeur et cadencée a la même fréquence

 Accès par le contenu en utilisant l'adresse en mémoire centrale comme clé.

 Divers niveaux de mémoire cache: Mémoire cache des microprocesseurs L1, L2 et L3

 Généralement de type SRAM, Le bit mémoire d'une RAM statique (SRAM) est composé d'une bascule. Chaque bascule contient entre 4 et 6 transistors.

En informatique, une mémoire cache est chargée d’enregistrer et de partager

temporairement des copies d’informations (données ou code) venant d’une autre source (Cache Processeur, Cache disque dur ….)

(65)

La mémoire :Types de mémoires (mémoire centrale 3/4)

65

La mémoire centrale est l'organe principal de rangement des informations utilisées par le CPU. Elle contient les instructions et les données lors de l‘exécution d'un programme :

 Vitesse moyenne

 Capacité moyenne

 Volatile

 mémoire a semi-conducteurs

 Utilise des bistables comme point mémoire (i.e., bit)

 Mémoire a accès direct ( Random Access Memory (RAM))

 Divers types de mémoire vive:

Mémoire vive dynamique Mémoire vive statique

(66)

La mémoire :Types de mémoires mémoire de stockage 4/4)

66

Ce sont des mémoires utilisées pour le stockage permanent de l'information, constituées de périphériques divers (disque dur, supports optiques ou magnétiques, etc.)

 Vitesse lente

 Grande et très grande capacité

 Non volatile

 Mémoires a accès séquentiel et semi-séquentiel

 Les mémoires de masse sont utilisées pour la sauvegarde et l'archivage de l'information

Mémoire flash est une mémoire de masse à semi-conducteurs réinscriptible de type EEPROM (mémoire

morte effaçable électriquement et programmable)

(67)

La mémoire :Notion de hiérarchie mémoire

67

(68)

La mémoire :Gestion de mémoire 1/4

• La Gestion de l’espace de la mémoire centrale (RAM)ou de stockage (disque dur)ce base sur trois principe:

• Le partitionnement

• La pagination

• La segmentation

• La protection

Le partitionnement

Le partitionnement de la mémoire, consiste à découper, de façon arbitraire et « définitive », l’espace mémoire centrale en plusieurs partitions

(ne pas confondre avec la partition du disque dur).

68

(69)

La mémoire :Gestion de mémoire 2/4

La pagination:

• La technique de la pagination, qui rappelle celle du partitionnement statique, utilise un découpage de la mémoire en segments de même taille, eux-mêmes décomposés en petits blocs d’espace mémoire (128, 256 octets…) appelés pages.

Pas confondre avec la pagination de disque dur dont la taille de page diffère selon le type de disque et type de partition (FAT32, NTFS,etc.)

Translation adresses linéaires (dans la table des page) en adresses physiques( réel )

69

(70)

La mémoire :Gestion de mémoire 3/4

La segmentation

La segmentation est une technique qui consiste à diviser l’espace mémoire en N segments de longueur variable, un numéro étant attribué à chacun des segments de l’espace adressable.

70

(71)

Mappage adresse virtuel / réel 3/4

La mémoire utilise les deux technique la segmentation et la pagination, l’adresse virtuel est alors traduite en une adresse physique en effectuant le calcul

Adresse virtuelle:

numéro page+ déplacement Adresse physique:

numéro frame+ déplacement

• Dans le processeur L’unité de gestion mémoire (MMU ou Memory

Managment Unit) permet de

complètement séparer les adressages physique et logique

mappage mémoire est la correspondance entre l’adresse virtuel et physique :

71

(72)

La mémoire :Gestion de mémoire 4/4

La protection consiste à introduire la notion de privilège, généralement numérotés de 0 à 3. Le niveau 0 est le niveau de privilège le plus élevé et le niveau 3 le plus faible. La protection mémoire repose sur les segments (pas confondre avec

protection partitions exemple C: en windows 7) : le matériel n’autorise pas à un programme qui s’exécute dans un segment, d’accéder aux segments de privilège supérieur.

Un anneau de protection (ou ring) est l'un des niveaux de privilèges imposés par l'architecture d'un processeur (ou system exploitation).

• Le terme « anneau de protection » vient du fait que l'on peut voir les différents modes de privilège comme des cercles concentriques ou le mode le plus privilégié est à l'intérieur et les modes moins privilégiés vont vers l'extérieur.

• Exemple :Le Pentium , qui est dérivé du 80486, est un microprocesseur CISC capable d'exécuter un programme dans différents modes de fonctionnement :

le mode protégé multitâche permet d'utiliser toute la puissance du processeur. Les registres sont des registres 32 bits.

le mode virtuel permet à des applications 8086 (environnement DOS) de s'exécuter dans le mode protégé,

le mode réel correspond au fonctionnement d'un 8086. Les registres 32 bits (EAX, ...) ne sont pas disponibles, on utilise des registres de 16 bits (AX, ...) et on ne peut accéder qu'à 1 Mo de mémoire

72

(73)

L’unité centrale :CPU(Le processeur)

Architecture de processeur:

CISC (Complex Instruction Set Computer) : choix d'instructions aussi proches que possible d'un langage de haut niveau ;

RISC (Reduced Instruction Set Computer : choix d'instructions plus simples et d'une structure permettant une exécution très rapide) ;

Generalement le processeur est construit autour de deux éléments principaux :

• Unité de Commande

• Unité de Traitement

73

(74)

L’unité centrale :Schéma général du fonctionnement du CPU

74

(75)

L’unité centrale :CPU(Unité de commande)

• Unité de Traitement

Unité Arithmétique et Logique (UAL) Réalise effectivement les opérations arithmétiques (+,-,*,/) et logiques (NOT, AND, OR, XOR).

• Vue comme une fonction à 3 paramètres

• 1 opération,

• 2 arguments.

• Elle renvoie un résultat.

• Un registre lui est associé

l' accumulateur (ACC) pour par exemple mémoriser un résultat intermédiaire.

75

(76)

L’unité centrale :CPU(Unité de commande)

• Unité de commande

Ensemble des dispositifs coordonnant le fonctionnement de l'ordinateur afin de lui faire exécuter la suite d'Operations spéciales dans les instructions du programme unité de commande

Compteur ordinal (CO IP) : registre contenant l'adresse en mémoire ou est stocker l'instruction a chercher ;

Registre d'instruction (RI) : reçoit l'instruction (opération + opérande) qui doit être exécutée ;

Décodeur : détermine qu'elle opération doit être exécutée, parmi toutes les opérations possibles ;

Séquenceur : génère les signaux de commande

Horloge : émet des impulsions électroniques régulières, synchronisant ainsi toutes les actions du CPU.

76

(77)

Décodeur et Décodage d’adresses

• La multiplication des périphériques autour du microprocesseur oblige la présence d’un décodeur d’adresse chargé d’aiguiller les données présentes sur le bus de données.

• En effet, le microprocesseur peut communiquer avec les différentes mémoires et les différents boîtier d’interface.

Ceux-ci sont tous reliés sur le même bus de données et afin d’éviter des conflits, un seul composant doit être sélectionné à la fois.

• Lorsqu’on réalise un système microprogrammé, on attribue donc à chaque périphérique une zone d’adresse et une fonction « décodage d’adresse » est donc nécessaire afin de fournir les signaux de sélection de chacun des

composants.

• Remarque : lorsqu’un composant n’est pas sélectionné, ses sorties sont mises à l’état « haute impédance » afin de ne pas perturber les données circulant sur le bus. ( elle présente une impédance de sortie très élevée = circuit ouvert ).77

Références

Documents relatifs

Quand le verbe qui exprime la condition (avec si) est au présent, le deuxième verbe est au futur simple. Exemple : Si le temps le permet, nous irons à

Quand le verbe qui exprime la condition (avec si) est au présent, le deuxième verbe est au futur simple. Exemple : Si le temps le permet, nous irons à

En appliquant le principe d’Huygens, les sources secondaires S 1 et S 2 émettent deux ondelettes en phase (et de même amplitude).. 8) Diffraction d’une onde par un obstacle La

Cette construction progressive peut se faire à partir d’une suite d’un seul terme

Les types char et unsigned char peuvent être utilisés pour représenter de petits entiers ou des caractères impri- mables.. Une variable se déclare en donnant d’abord un type, puis

Mˆ emes questions pour (Z/2000Z) ∗ (muni de la multiplication, on pourra d´ eterminer l’ordre de 2 modulo 2000 )..

[r]

Sur le site (/emonde.fr/m), vous retrouverez aussi une approche différente de l'actualité et les dernières tendances dans un espace qui fera toute sa place aux images.. m Le magazine