IUP SI - L3 Architecture d’un ordinateur UPS
Architecture des ordinateurs
Plan du cours :
Architecture d’un ordinateur
Codage des informations
Unit´
e Arithm ´
etique et Logique
Chemin de donn´
ees
Exemple d’architecture
Instructions de traitement
Instructions de transfert
Instructions de branchement
Programmation modulaire
Synth`
ese de l’unit ´
e de commande
Jean-Michel ENJALBERT - [email protected], 2005/2006 –1–
IUP SI - L3 Architecture d’un ordinateur UPS
Unit´
es fonctionnelles d’un ordinateur :
MemoireProcesseur
bus
Interfaces E/S
Processeur (CPU) : coeur de l’ordinateur. C’est lui qui traite les informations.
– M´
emoire : stocke les instructions et les donn ´
ees des programmes.
– Entr´
ees/Sorties : Permettent `
a l’ordinateur de communiquer avec l’ext ´
erieur.
Les diff´
erentes unit´
es sont reli´
es par des bus de communication.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –2–
IUP SI - L3 Architecture d’un ordinateur UPS
Processeur :
– Unit´
es de calcul :
– Unit´
e Arithm ´
etique et logique (UAL)
Eventuellement, unit´
e de calcul sur les flottants (FPU)
– M´
emoire interne (registres) : Utilis ´
es pour stocker temporairement des
informations
– Unit´
e de commande : Automate qui envoie les ordres aux registres, aux unit ´
es de
calcul, au bus, a la m´
emoire et aux syst `
eme d’entr´
ees/sorties pour ex ´
ecuter les
instructions d’un programme.
Bus internes : permettent de tranf´
erer les informations entre la m ´
emoire, les
unit´
es de calcul et l’unit ´
e de commande.
Remarque : Unit ´
es de calcul+Registres+Bus=chemin des donn´
ees
Jean-Michel ENJALBERT - [email protected], 2005/2006 –3–
IUP SI - L3 Architecture d’un ordinateur UPS
M´
emoire
Instructions et donn ´
ees sont cod ´
ees en binaire et stock´
ees en m ´
emoire dans des
registres de nbits constitu ´
es de la concat ´
enation de nbascules.
Une m´
emoire est un vecteur de registres, chacun ´
etant rep´
er´
e par une adresse
(´
equivalente `
a l’indice d’un tableau).
Memoire
Adresse Donnees
WR
RD
On peut y acc ´
eder en lecture ou en ´
ecriture :
En lecture, le signal RD met, sur le bus de donn ´
eees, le contenu de la m´
emoire
correspondant `
a l’adresse pr´
esente sur le bus d’adresses.
En ´
ecriture, le signal WR stocke la valeur pr´
esente sur le bus de donn´
ees `
a
l’emplacement correspondant `
a l’adresse pr ´
esente sur le bus d’adresses.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –4–
IUP SI - L3 Architecture d’un ordinateur UPS
Entr´
ees-Sorties
– Unit´
es d’entr´
ee : Clavier, souris, scanner, convertisseur analogique/digital, etc...
– Unit´
es de sortie : Ecran, imprimante, convertisseur num ´
erique/analogique, etc...
– Unit´
es d’entr´
ee/sortie : Transferts d’information de et vers l’ordinateur. M ´
emoires
de masse ou secondaires : disquettes, CD-ROM, DVD, clefs USB, etc...
Unite
d’E/S Unite
d’E/S Unite
d’E/S
MemoireProcesseur
bus systeme
bus peripherique
Interfaces E/S
(controleurs)
Les unit´
es d’entr´
ee/sortie sont reli´
ees au processeur par l’interm ´
ediaire d’interfaces.
L’acc`
es se fait par des adresses m ´
emoires.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –5–
IUP SI - L3 Architecture d’un ordinateur UPS
Bus de communication
Un bus est un ensemble de fils qui assurent la transmission d’informations de
mˆ
eme type v ´
ehicul´
ees en parall`
ele. On distingue trois types de bus :
Bus de donn ´
ees : bidirectionnel. Nombre de lignes ´
egal `
a la capacit´
e de
traitement de l’UAL.
Bus d’adresses : unidirectionnel. Permet de s ´
electionner les informations dans un
espace m´
emoire. Pour un bus de m bits, on peut distinguer 2madresses.
Bus de commande : assure la synchronisation des flux d’informations sur les bus
de donn´
ees et d’adresses.
Un bus est une ressource partag ´
ee (par les diff´
erents boitiers d’E/S notamment).
Une fonction de d´
ecodage d’adresse permet de s´
electionner le boitier pouvant
acc´
eder au bus `
a un instant donn ´
e.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –6–
IUP SI - L3 Architecture d’un ordinateur UPS
Caract´
eristiques d’un processeur
nombre de bits de l’Unit ´
e Arithm ´
etique et Logique
dimension de l’espace adressable
– fr´
equence de fonctionnement (nombre de cycles par seconde)
jeu d’instructions
architecture interne
puissance en Mips (Millions d’instructions par seconde) et en Mflops (Millions
d’op´
erations flottantes par seconde)
Types de processeurs
processeurs “universels” : Exemples Pentium, Athlon, PowerPC, ...
– micro-contrˆ
oleurs : interfaces d’E/S int ´
egr´
es.
DSP : processeurs sp ´
ecialis´
es en traitement du signal
Jean-Michel ENJALBERT - [email protected], 2005/2006 –7–
IUP SI - L3 Architecture d’un ordinateur UPS
Architecture multi-niveaux
Niveau Applications :
Niveau 6 : Langages d’applications (Matlab, langage G, mapple, ...)
Niveau 5 : Langages ´
evolu´
es (Pascal, Ada, C, ...)
Niveau 4 : Langage d’assemblage (assembleur)
Niveau Syst`
eme :
Niveau 3 : Syst`
eme d’exploitation (Unix, Windows, ...)
Niveau 2 : Macro-machine (langage machine)
Niveau 1 : Micro-machine (micro-instructions)
Niveau 0 : Machine physique (circuits logiques)
Chaque niveau fait appel aux services du niveau inf´
erieur.
Machine virtuelle : L’utilisation d’une machine `
a un niveau donn´
e peut faire
abstraction des niveaux inf ´
erieurs.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –8–
IUP SI - L3 Codage des informations UPS
Codage des informations
Les informations que peut traiter un ordinateur sont des suites de bits (0 ou 1), un
codage est donc n ´
ecessaire pour passer des donn´
ees symboliques et
instructions d’un programme `
a une forme exploitable par l’ordinateur.
L’objet de taille minimale accessible est un octet (byte en anglais) soit 8 bits.
Le codage de donn´
ees et d’instructions utilise donc des multiples d’octets.
Notation hexad´
ecimale (base 16 :{0,1,...,E,F}) : permet de repr ´
esenter de
mani`
ere plus synth ´
etique un ensemble de bits. 4 bits peuvent ˆ
etre repr´
esent´
es
par un seul symbole. Ex : 3EF5h=0011111011110101b
Codage des caract`
eres : On utilise essentiellement le codage ASCII qui permet
de coder 128 caract`
eres en utilisant 7 bits. Les codes 0 `
a 31 sont des codes de
contrˆ
ole.
Codage des nombres : le codage varie suivant qu’il s’agit d’entiers naturels
(non-sign´
es), d’entiers relatifs ou de r´
eels.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –9–
IUP SI - L3 Codage des informations UPS
Codage des entiers naturels (non-sign ´
es) sur n bits
On utilise une num ´
eration positionnelle : chaque symbole du code `
a un poids qui
d´
epend de sa position. Les poids sont croissants de la gauche vers la droite en
puissance de 2 en binaire (puissance de 10 en d´
ecimal et de 16 en hexad´
ecimal)
Soit A=an1an2...a1a0un code binaire, la valeur d´
ecimale N(A)de l’entier
naturel repr´
esent´
e par A peut ˆ
etre calcul´
e par :
N(A) =
n1
X
i=0
ai2i
Exemple : le code 0101 0111b (en hexad´
ecimal : 57h) repr´
esente l’entier 87 cod´
e
sur 8 bits.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –10–
IUP SI - L3 Codage des informations UPS
Codage des entiers relatifs (sign ´
es) sur n bits
Codage par signe et valeur absolue : le bit le plus `
a gauche ( bit le plus
significatif) repr´
esente le signe du nombre (1 : nombre n ´
egatif).
S(A) = (1)an1
n2
X
i=0
ai2i
Codage par compl ´
ement `
a 2 : les nombres n´
egatifs sont repr´
esent´
es par leur
compl´
ement `
a 2. Cel`
a revient a donner un poids n´
egatif au bit le plus significatif.
Z(A) = an12n1
n2
X
i=0
ai2i
Codage par exc´
edent : Les nombres sont d´
ecal´
es d’une valeur e(en g ´
en´
eral
e= 2n1ou e= 2n11).
χe(A) =
n1
X
i=0
ai2ie
Jean-Michel ENJALBERT - [email protected], 2005/2006 –11–
IUP SI - L3 Codage des informations UPS
Codage des r ´
eels en virgule fixe
Pour un codage sur nbits, on r ´
eserve mbits pour coder la partie fractionnaire.
Soit mle nombre de bits codant la partie fractionnaire du r ´
eel :
Φm(A) = an12n1m+
n2
X
i=0
ai2im= 2mZ(A)
Exemple : Soit A=3E20h repr ´
esentant un r ´
eel cod´
e sur 16 bits avec m= 7 :
Φ7(A) = 124,25
Jean-Michel ENJALBERT - [email protected], 2005/2006 –12–
IUP SI - L3 Codage des informations UPS
Codage des r ´
eels en virgule flottante
Norme IEEE P754
En simple pr ´
ecision, le codage se fait sur 32 bits :
31 30 ... 23 22 ... 0
S E F
Le bit S code le signe du nombre (1 pour un nombre n ´
egatif).
La mantisse est recadr ´
ee entre 1 et 2 (2 exclu) avant d’ˆ
etre cod´
ee. Elle est de la
forme : m= 1, f . Seule la partie fractionnaire fest cod ´
ee et ceci sur 23 bits
(Φ23(F)).
L’exposant est cod´
ee sur 8 bits par exc´
edent 127.
Le code A=S|E|F repr ´
esente le r ´
eel :
R(A) = (1)S(1 + Φ23(F))2χ127 (E)
Exemple : le nombre 1 a pour code : 3F800000h
Jean-Michel ENJALBERT - [email protected], 2005/2006 –13–
IUP SI - L3 Codage des informations UPS
Codage des instructions
Types d’instructions :
Instructions de traitement.
Instructions de chargement/rangement.
Instructions de contr ˆ
ole d’ex´
ecution.
Format : d ´
epend du type d’instruction. Exemples :
traitement :
code op´
eration adresse 1er op ´
erande adresse 2`
eme op´
erande adresse r´
esultat
chargement/rangement :
code op´
eration adresse registre adresse mot en m ´
emoire
– contrˆ
ole :
code op´
eration code condition adresse de branchement
Jean-Michel ENJALBERT - [email protected], 2005/2006 –14–
IUP SI - L3 Codage des informations UPS
Codage des caract `
eres. Code ASCII sur 7 bits
code 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x00 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT NP CR SO SI
0x10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
0x20 SP !” # $ % & ( ) * + , - . /
0x30 0 1 2 3 4 5 6 7 8 9 : ; <=>?
0x40 @ A B C D E F G H I J K L M N O
0x50 P Q R S T U V W X Y Z [ \] ˆ
0x60 ‘ a b c d e f g h i j k l m n o
0x70 p q r s t u v w x y z {}˜ DEL
Les caract`
eres 0 a 31 et 127 sont des caract`
eres de contr ˆ
ole.
Le 8`
eme bit peut avoir divers usages :
– contrˆ
ole de parit ´
e
– d´
efinition de caract`
eres ´
etendus (accentu´
es par exemple).
Jean-Michel ENJALBERT - [email protected], 2005/2006 –15–
IUP SI - L3 Codage des informations UPS
Caract`
eres de contr ˆ
ole et propri ´
et´
es du code ascii
Les lettres de l’alphabet sont dans l’ordre croissant et se suivent : Un tri
alphab´
etique se ram `
ene `
a un tri num´
erique.
Le passage de minuscule en majuscule et vice-versa se fait simplement en
inversant le bit 5 du code (soit + ou - $20)
Le passage d’un chiffre `
a son code ASCII consiste `
a rajouter $30 `
a ce chiffre.
Quelques caract`
eres de contr ˆ
oles :
NUL absence de caract `
ere SOH d ´
ebut d’ent`
ete STX d´
ebut de texte
ETX fin de texte EOT fin de transmission ENQ interrogation
ACQ accus´
e r´
eception BEL sonnette BS retour arri `
ere
HT tabulation horizontale LF ligne suivante VT tabulation verticale
FF page suivante CR retour chariot NAK rec¸u avec erreur
SYN synchronisation CAN annulation SUB substitution
ESC ´
echappement FS s´
eparateur de fichier GS s ´
eparateur de groupe
RS s´
eparateur d’article US s´
eparateur d’unit´
e DEL effac¸er
Jean-Michel ENJALBERT - [email protected], 2005/2006 –16–
IUP SI - L3 Unit´
e Arithm ´
etique et Logique UPS
Unit´
e Arithm ´
etique et logique
Au coeur du processeur, l’UAL effectue le traitement des informations.
UAL
n n
n
.......
m
E2E1
S
pindicateurs
f
C’est un circuit combinatoire qui produit un r ´
esultat (S) sur nbits fonction des
donn´
ees pr´
esentes sur ses entr ´
ees (E1 et E2) et de la fonction `
a r´
ealiser (f) et met `
a
jour des indicateurs.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –17–
IUP SI - L3 Unit´
e Arithm ´
etique et Logique UPS
Fonctions de l’UAL
L’UAL permet de r´
ealiser diff´
erents types d’op ´
erations sur des donn´
eees de la forme
S=f(E1,E2) :
Des op´
erations arithm ´
etiques : additions, soustractions, ...
Des op´
erations logiques : ou, et, ou exclusif, ...
Des d´
ecalages et rotations.
Elle met par ailleurs `
a jour des indicateurs en fonction du r´
esultat de l’op´
eration
effectu´
ee :
Z: indicateur mis `
a 1 si le r´
esultat de l’op´
eration est 0.
N: indicateur mis `
a 1 pour un r ´
esultat n´
egatif (bit le plus `
a gauche ´
egal `
a 1).
C: mis `
a 1 en cas de retenue ou d ´
ebordement en contexte non sign ´
e.
V: mis `
a 1 en cas de d ´
ebordement en contexte sign ´
e.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –18–
IUP SI - L3 Unit´
e Arithm ´
etique et Logique UPS
Additionneur binaire
Demi-additionneur 1 bit :
s=ab r =a.b
Additionneur complet 1 bit :
si=aibiriri+1 =ai.bi+ ((aibi).ri)
Additionneur nbits `
a propagation de retenue :
add
s
a b
rr
add
s
a b
0
0 0
0
1
1 1
1
2
r
add
s
b
rn−1
n−1 n−1
n
r
a
Jean-Michel ENJALBERT - [email protected], 2005/2006 –19–
IUP SI - L3 Unit´
e Arithm ´
etique et Logique UPS
Addition d’entiers naturels
Addition d’entiers cod ´
es sur nbits :
N(S) + 2nrn=N(A) + N(B)
Le r´
esultat est exact si rn= 0 (pas de retenue).
Soit le bit C (Carry) du registre de condition ´
egal `
a 0 (C=rn).
Addition d’entiers cod ´
es sur k×nbits (pr ´
ecision multiple).
S´
equence de kadditions en commenc¸ant par les poids faibles et en tenant
compte de la retenue (bit C) du niveau pr´
ec´
edent.
Jean-Michel ENJALBERT - [email protected], 2005/2006 –20–
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !