COURS DARCHITECTURE
2 ANNEE
Chapitre 2 Le Codage 5
Chapitre 12 Le Microprocesseur 52
A Le systme dcimal
C'est le systme le plus utilis et j'espre qu'il n'a plus de secrets pour vous !!!
Il va nous servir d'exemple pour expliquer les 3 autres. Il est bas sur le nombre 10, 10 tant la base du systme
dcimal. Les chiffres 0, 1, .....,8, 9, soit 10 caractres au total sont utiliss pour la reprsentation des nombres.
Un nombre est subdivis en puissances de 10, que l'on nonce en allant de la plus leve la plus faible.
Exemple :
On note en indice la base du systme de numration dans lequel le nombre est reprsent. Pour le nombre
dcimal 159, chaque chiffre ce qu'on appel un rang. Le chiffre 1 a le rang des centaines, on dit que son "poids "
est de cent. Pour le nombre 1995, le chiffre 1 est appel le chiffre de poids fort MSB et le 5 le chiffre de poids
faible LSB.
B Le systme binaire
C'est le systme que l'on devrait tout le temps utilis, mais il est peu pratique dans la vie courante. Par contre en
informatique il est le plus utilis. En effet un ordinateur n'a que 2 possibilits OUI ou NON, VRAI ou FAUX
(l'homme ayant la 3me possibilit " je ne sais pas "). Ces 2 possibilits sont reprsentes par les chiffres 0 et 1,
soit 2 caractres au total, utiliss pour la reprsentation des nombres. Le systme binaire est donc bas sur le
chiffre 2. Comme en dcimal, un nombre est subdivis en puissances de 2, que l'on nonce en allant de la plus
leve la plus faible.
Exemple :
En base 2, on ne parle plus de chiffres mais de bits (en anglais Binary Digit), et on dit bit de poids le plus fort
(MSB Most Significant Bit) et bit de poids le plus faible (LSB Less Significant Bit)
Le comptage en binaire ne diffre pas, sur le principe, du comptage en dcimal. Lorsque la capacit numrique
d'une position est dpasse, on obtient une retenue se reportant sur la position suivante ; ceci arrive lorsque l'on
dpasse le chiffre 1 dans une position du systme binaire et le chiffre 9 dans une position du systme dcimal.
C Le systme octal
C'est un systme qui dcoule du systme binaire. Il est constitu de 8 caractres, 0, 1, 7. Il est surtout utilis
dans les systmes d'exploitations tels que Unix pour les droits sur les fichers, rpertoires etc... (voir cours SE).
D Le systme hexadcimal
On a vu lors de l'tude du systme binaire que les nombres devenaient vite trs longs. Ce systme binaire est
surtout utilis en lectronique, automatique, mcanique, les informaticiens utilisent plus facilement le systme
hexadcimal.
Les chiffres 0, 1, .....,8, 9, A, B, C, D, E et F soit 16 caractres au total sont utiliss pour la reprsentation des
nombres.
A 10, B 11, C 12, D 13, E 14 et F 15
Un nombre est subdivis en puissances de 16, que l'on nonce en allant de la plus leve la plus faible.
2. La conversion
Cela consiste passer d'une base une autre.
Base 10 Base 2 : Il est intressant de savoir passer d'une base 2 une base 10 et vice versa. Il existe
diffrentes mthodes, la plus simple est d'utiliser tout btement votre chre calculatrice.
Base 16 Base 2 : Pour ce qui est de la conversion de base 2 en base 16 et vice versa, il suffit : de 2 vers 16, de
regrouper les bits 4 par 4 (en commenant par les LSB !) et de convertir.
exemple : 01 1100 1001 0011(2) 1C93(h)
de 16 vers 2, d'clater les chiffres et de former des paquets de 4 bits et de convertir.
exemple : 1B34D(h) 0001 1011 0011 0100 1101(2)
Voil l'avantage de la base 16 sur la base 10 en informatique.
21
22
23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
On est donc conduit utiliser un code diffrent o seul un bit change quand on passe d'une position une autre,
c'est le code Gray ou code binaire rflchi. Ce code la particularit de n'avoir qu'un bit qui change la fois. Il
est utilis dans les roues codeuses
20
21
22
23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
B Le code BCD
Abrviation de Binary Coded Decimal en anglais et DCB Dcimal Cod Binaire. Ce code cherche concilier les
avantages du systme dcimal et du code binaire. Il est surtout utilis pour l'affichage de donnes dcimales
(calculatrices).
A chaque chiffre du systme dcimal, on fait correspondre un mot binaire de quatre bits.
Pour coder un nombre dcimal en BCD, on va coder sparment chaque chiffre du nombre de base dix en
Binaire.
Exemple : 1985 0001 1001 1000 0101(BCD)
Attention :
- le nombre cod en BCD ne correspond pas au nombre dcimal converti en binaire naturel.
- le codage dcimal BCD est simple, mais il impossible de faire des oprations mathmatiques avec !
Le code EBCDIC : Extended Binary Coded Decimal Interchange, ce code est utilis
principalement par IBM. Il peut tre parfois assimil un code 9 bits quand il est fait usage
d'une cl d'imparit, (bit supplmentaire destin contrler la validit de l'octet associ).
Remarque : La table des codes ASCII ci-dessus, affiche les caractres imprimables et non les
codes de contrle. En effet les caractres dont les codes sont 10, 13 et 27 en dcimal,
reprsentent respectivement Line Feed (Aller la ligne), Carriage Return (Retour Chariot) et
Scape (Escape), le tableau ci-dessous en donne quelques exemples.
code 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14
carac NULL SOH STX ETX EOT ENQ ACK BELL BS HT LF VT NP CR SO
code 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
carac SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS
Les nouveaux codes : Avec laugmentation croissante du nombre dutilisateurs de linformatique et surtout la
quantit de caractres diffrents se trouvant dans les diffrentes langues, les organismes de normalisation ISO
travaillent depuis le dbut des annes 90, la cration dun code universel , l UNIversal CODE UNICODE.
Dans ces nouvelles tables de code, on y trouve les caractres latin (les ntres), Tamoul (Inde), Cyrillique
(Grce et Russie) ou les idogrammes Japonais et Chinois.
Ils existe donc deux nouveaux codes :
ISO/IEC 10646 : sur 32 bits donc 4294967296 caractres diffrents possibles.
UNICODE 1.1 : sur 16 bits et contenant 65536 caractres diffrents possibles. Cest ce derneir qui est
actuellement utilis dans les diffrents SE modernes.
Cette mthode n'est efficace que si l'erreur est sur un nombre impair de bits.
P A G LRC
VRC 0 0 0 0 parit
croise
1 1 1 1
0 0 0 0
1 0 0 1
0 0 0 0
0 0 1 1
0 0 1 1
0 1 1 0
2. Conversion :
Par analogie, on en dduit que pour convertir une fraction dcimale en base 2, il suffit de raliser des multiplications
successives par 2, jusqu' obtenir une partie fractionnaire nulle.
Exemple : soit convertir 32,125 en base 2 : on sait que 32 est quivalent 100000 et
Normalisation
Le problme qui se pose maintenant est le stockage en mmoire ou dans un registre d'une quantit crite en base 2.
Dans un premier temps, tout nombre sera traduit sous forme d'un produit entre une fraction (une fraction est un nombre avec
une partie entire nulle, c'est dire infrieur 1 en valeur absolue ou encore commenant par un point dcimal) et une
puissance de 2.
Exemple : 32,125 s'crit aussi 100000,001 ou encore 0,100000001*26
Pour mmoriser un nombre, il suffit donc de coder sa puissance de 2 et sa fraction. L'intrt de cette mthode est que l'on sait
toujours ou se trouve le point dcimal et qu'il n'y a plus de partie entire, on obtient donc un mode de reprsentation fig.
Il est clair qu'il faut aussi un bit pour mmoriser le signe (0 = + et 1 = ), un bit pour chaque chiffre de la fraction en base 2
et quelques chiffres pour reprsenter la puissance (positive ou ngative) traduite en base 2.
Remarque : si la fraction est trop grande, il n'est pas question de prendre en compte tous les chiffres.
3. Virgule flottante
En clair, tout nombre sera dsormais crit sous la forme d'un produit entre une puissance de 2 et une fraction dont les chiffres
sont les chiffres significatifs du nombre. La seule exception tant le 0 qui n'a pas vraiment de chiffres significatifs.
Tout nombre non nul peut tre mis sous ce format, appel virgule flottante normalise. Nous le reprsenterons par : SM*2e
o S est le signe, M la mantisse et e l'exposant.
La ralit
pour stocker un nombre dcimal dans une mmoire binaire, il suffit de le convertir en binaire, puis de mettre le rsultat au
format virgule flottante normalise : SM*2e avec 1/2 M<1
Remarque : (1/2 M permet d'liminer les 0 droite de la virgule de faon obtenir plus de chiffres significatifs,
prcision).
Un nombre p de bits sera utilis pour la fraction m. Le premier bit de celle-ci tant ncessairement 1.
Un nombre p' de bits sera utilis pour l'exposant e. Pour coder les exposants ngatifs, il a fallu imposer un codage (autre que
le complment 2). Une constante, k, est ajoute l'exposant de telle manire que l'ensemble devienne positif. K+e s'appelle
la caractristique du nombre.
31 24 23 22 0
79 78 64 63 0
Pour le 80387, cela permet d'obtenir des nombres allant de 3,4*10e-4932 1,2*10e+4932 (ce qui est suprieur au nombre
d'atomes composants la terre !)
C'est une algbre binaire mise en ?uvre par le mathmaticien George BOOLE (1815-1864) pour tudier la
logique. Les variables, dites boolennes, ne peuvent prendre que deux valeurs : VRAI ou FAUX ou bien encore
1 ou 0. On peut alors dfinir des oprateurs sur ces variables et consigner le rsultat dans une TABLE DE
VERITE. Ces oprateurs peuvent tre raliss par des circuits lectroniques : ils sont alors appels PORTES
LOGIQUES.
Table de Symbole
vrit
X S
0 1
1 0
N.B.: Le petit trait est utilis dans tous les schmas pour reprsenter le NON.
3. Quelques proprits :
On remarquera que la plupart des rgles de l'algbre classique s'appliquent ou que d'autres se comprennent d'une
faon assez intuitive.
Voici les principales lois de l'algbre de BOOLE sur les oprateurs ET et OU :
Distributivit A.(B+C)=A.B+A.C
4. Fonction logique :
Pour rsoudre des problmes de logique, on aura souvent besoin de plusieurs variables et on notera le rsultat :
f(A,B,C...)
exemple : fonction majorit o f(A,B,C)=1 si on a une majorit de 1, 0 sinon. On peut alors dcrire la fonction
l'aide des oprateurs de base.
A B C f(A,B,C)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Remarques:
- Cette faon d'crire f(A,B,C) n'est pas unique.
- On peut remarquer aussi que f(A,B,C) = A.B+A.C+B.C.
Cette expression est plus simple et donc prfrable lors de la ralisation des circuits lectronique, car plus
conomique puisqu'elle utilise moins de portes logiques. Il existe des mthodes comme les tableaux de
KARNAUGH pour simplifier les expressions.
Prsentation : Considrons une fonction f de n variables. La table de vrit de f possde alors 2 exposant n cases
(2 exposant n combinaisons). Les valeurs que peut prendre f sont regroupes en un tableau de 2 exposant n cases
en utilisant, pour le codage du tableau, le code GRAY.
Ce codage du tableau permet de dgager certaines proprits d'adjacence. Lorsque deux cases sont cte cte,
une seule variable change de valeur, les autres sont invariantes. On peut trouver aussi des groupements plus
importants possdants de moins en moins de variables invariantes (cf. TD). Ces regroupements conduisent une
rduction de la table, donc une simplification de l'expression de f. En regroupant par 2, 4 ou 8... cases, on
limine 1, 2 ou 3... variables.
BC \ A 00 01 11 10
1. Dfinition :
Un circuit combinatoire est un circuit dont les sorties ne dpendent que des entres. On l'oppose au circuit
squentiel dont les sorties dpendent non seulement des entres mais aussi de l'tat prcdent dans lequel taient
les sorties.
La synthse des circuits combinatoires sort du cadre de ce cours. On fera nanmoins une analyse en TD des
circuits fondamentaux prsents ci-aprs.
2. Le comparateur
C'est un circuit fort utile puisqu'il permet de comparer 2 mots binaires. La sortie vaut 1 si les 2 mots sont
identiques, 0 sinon.
schma : Voici un exemple de comparateur sur les mots de 2 bits (A1, A0) et (B1, B0).
3. L'additionneur
Avant de pouvoir faire des calculs complexes, le microprocesseur doit tre capable de faire des additions. Pour
cela, il nous faut tre capable de construire le demi-additionneur, lment de base, pour additionner 2 bits.
A Le demi-additionneur
Intressons-nous la table de vrit de l'opration "somme" de 2 bits.
X Y Somme Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
On s'aperoit que la table de vrit de "somme" est celle de l'oprateur OU exclusif et que la retenue correspond
l'oprateur ET.
X Y R RI1 S1 RI2 S2 SF RF
0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 1 0
0 1 0 0 1 0 1 1 0
0 1 1 0 1 1 0 0 1
1 0 0 0 1 0 1 1 0
1 0 1 0 1 1 0 0 1
1 1 0 1 0 0 0 0 1
1 1 1 1 0 0 1 1 1
Comme on pouvait s'y attendre SF=S2. On s'aperoit aussi que RF=RI1+RI2. Ces constatations permettent de
construire le schma suivant :
On peut alors gnrer l'addition sur n bits. La retenue de l'addition sur le bit n (i-1) venant sur l'addition du bit
n i.
Soit l'addition sur deux bits de deux nombres nots (A1,A0) et (B1,B0), le rsultat s'crit : (S2,S1,S0) sur trois
bits.
3. Le multiplexeur
Cest un circuit qui permet de slectionner une ligne d'entre parmi 2 puissance n lignes et de la relier
directement la sortie : C'est un "aiguillage". Pour ceci, il faut tre capable de dsigner l'entre. Ceci se fait
grce une commande code sur n bits.
Schma : Si on prend 2 bits de slection (b1,b0), on peut alors slectionner 1 ligne d'entre parmi 2=4.
Conversion parallle/srie :
Du ct parallle les huit bits arrivent en mme temps. On veut les ranger sur la ligne srie la queue leu leu.
C'est ce qui arrive quand on veut transmettre des octets sur une ligne tlphonique qui ne possde qu'un seul fil
de donnes. Il suffit alors de prendre un multiplexeur qui aurait en entre les huit fils de la liaison parallle et en
sortie la liaison srie. Un compteur capable de compter de 000 111 pourrait alors cadencer les donnes sur la
liaison srie.
4. Le dmultiplexeur
5. Le dcodeur
C'est un circuit permettant de mettre 1 une sortie parmi 2n, dont le numro correspond au code binaire (sur n
bits) prsent l'entre. Les autres sorties sont 0.
Schma :
Application : L'une des plus typiques, est celle du dcodage d'adresse. Supposons que l'on veuille une mmoire
de 8 Ko adressable de 0000 1FFF. Supposons aussi que nous ayons notre disposition seulement des botiers
mmoire de 2 Ko. Comment organiser ces botiers de faon ce que le microprocesseur ait l'impression de
dialoguer avec un botier unique de 8 ko ?
Solution: dcomposons les adresses des botiers:
Les 2 bits permettent de slectionner un botier selon l'adresse l'aide d'un dcodeur "2 vers 4". Dans la pratique,
ces botiers possdent une broche de slection de botier appele Chip Select (CS).
Travail du concepteur :
Phase 1 : Etablir l'organigramme impos par le processus (cahier des charges),
Phase 2 : Traduire l'organigramme en une suite d'instructions appeles programme,
Phase 3 : Organiser le systme P choix du P et des circuits auxiliaires.
Intrts du systme P :
Pour un processus simple on se sert de la logique cble,
Pour un processus plus complexe, on se sert de la logique programme.
Souplesse : tout systme quel qu'il soit, doit un jour ou l'autre tre retouch, en raison des problmes pas vus la
conception, de l'volution du cahier des charges etc..
Facilit de mise au point :
Logique cble, pas de mthode rigoureuse
Logique programme, programmes de mise niveau.
Consommation plus faible
Dure de l'tude : dpend de la complexit du processus et de la " puissance " du P
Description d'un systme P : structure d'un systme P, mais il faut savoir qu'elle peut voluer en fonction
du cahier des charges.
Le systme minimum :
Le P effectue les instructions par tape :
De plus il faut que le systme P puisse dialoguer avec le " monde " extrieur. C'est le rle des interfaces, il en
existe deux types :
Les interfaces parallles : P.I.A ou P.I.O (interface adaptateur pour priphrique parallle).
Les interfaces sries : A.C.I.A (interface adaptateur pour priphrique asynchrone).
Chaque lment, est command par le P, est adress par le P, envoie ou reoit des informations, des donnes
ou des rsultats du ou au P, il existe donc trois types de bus.
Bus d'adresses : ensemble de lignes unidirectionnelles qui vhiculent le code d'adresse du P vers les mmoires
et les interfaces.
Bus de donnes : ensemble de lignes bidirectionnelles qui vhiculent les donnes entre le P et les mmoires ou
les interfaces.
Bus de commandes : ensemble de lignes bidirectionnelles utilises pour synchroniser les actions du P et "
isoler " les diffrents lments du systme P.
D'o le systme minimum :
A Langage assembleur
il est plus proche du langage humain, chaque instruction est remplace par un code mnmonique (aide mmoire).
B Langage volu
il est indpendant du type de P utilis et est trs proche du langage humain. Des programmes de traduction
(compilateurs et interprteurs) traduisent les programmes crits en langages volus, en programmes utilisant le
langage machine.
exemples : Basic, Pascal, C et Cobol
Le programme objet : chaque ligne est divise en deux parties appeles champs.
Champ Adresse : contient l'adresse mmoire du dbut de la ligne d'instruction, attribue par l'assembleur partir
du programme source.
Champ Code Objet : contient le code machine, exprim en hexadcimal, de l'instruction aprs conversion par
l'assembleur (Op Code) et Code oprande.
Dans ce cours, nous allons nous intresser aux mmoires intgres semi-conducteurs, capable de stocker et de
restituer une information sous forme numrique !
Une mmoire est constitue de cases, dont chacune enregistre un bit (0 ou 1). Si ces cases sont directement
adressables, on dit accs alatoire (disque), sinon on parle de mmoires srielles (bande).
Le diagramme ci-dessous donne un aperu des diffrents types de mmoires au silicium.
Ces mmoires conservent les informations stockes mme aprs coupure de l'alimentation. On trouve galement
dans cette catgorie, les rseaux logiques programmables qui permettent de raliser des combinaisons logiques
partir de variables d'entre : PAL, GAL, FPLA etc...
Elles ne peuvent conserver l'information que temporairement, si elles sont alimentes en nergie lectrique, ds
la coupure de l'alimentation, les informations sont perdues !
R.A.M : Random Acces Memory (mmoire accs alatoire), elles sont aussi appeles mmoires vives. Selon la
technologie de fabrication utilise, on distingue 2 grandes familles :
RAM Statique : l'information est maintenue tant que l'alimentation est prsente.
3. Caractristiques principales
Elles sont au nombre de quatre.
La Capacit : c'est le nombre de bits que la mmoire peut stocker, elle est toujours une puissance de deux.
Exemples : 1Mbits, 16Mbits, les ram actuelles atteignent 128Mgabits et les ROM 2Mgabits
L'Organisation : une mmoire est prvue pour travailler sur des informations de longueur dfinie. On parlera de
matrice.
Octets (Byte) : 8bits, Mots (Word) : 16bits, double mots (dubble word) : 32bits etc...
La mmoire pourra tre organise en 8, 16, 32, 64 voir 128bits
Exemples : 64k*1bit, 8k*8bits et 4k*16bits ont la mme capacit.
16M*4bits, 8M*8bits et 64M*1bit ont aussi la mme capacit.
Le produit du nombre d'informations par la longueur de cette information donne la capacit de la mmoire.
Les temps :
D'criture : c'est le temps qui s'coule entre l'instant o la donne et l'adresse sont prsentes la mmoire et le
moment ou la donne est effectivement stocke.
De lecture : c'est le temps qui s'coule entre l'instant o l'adresse est prsente la mmoire et le moment ou la
donne est disponible en sortie
d'accs : c'est gnralement la moyenne des deux temps prcdents.
De cycle : si une opration de lecture est destructive, il faut rinscrire la donne. Le temps de cycle est donc la
somme du temps d'accs et du temps de rinscription.
4. Le dcodage d'adresses
Introduction : La fonction dcodage d'adresses permet la slection, dans l'espace mmoire adressable du P,
d'une adresse matrielle d'une case mmoire.
Dans un systme P, la partie ralisant la fonction dcodage d'adresses est le dcodeur d'adresses.
Les diffrentes solutions ralisant la fonction dcodage d'adresses : elles sont au nombre de cinq :
Solution mettant en uvre des oprateurs logiques de base,
Solution mettant en uvre des dcodeurs et des dmultiplexeurs,
Solution mettant en uvre des circuits comparateurs logiques,
Solution mettant en uvre une mmoire P.R.O.M,
Solution mettant en uvre un circuit PAL.
5. La mmoire cache
Vous avez du remarquer, que dans la vie, plus on limine de papiers et plus on en entasse (je ne sais pas pour
vous, mais moi je passe mon temps jeter des articles de presses informatiques). Ceci, vient du fait que l'tre
humain a le "dfaut" de vouloir tout savoir ou tout connatre (ce qui n'est pas la mme chose).
Les premiers concepteurs d'ordinateurs ont vite compris que les programmeurs et utilisateurs de ces machines
auraient besoin d'une quantit toujours croissante de capacit de stockage donc de mmoires.
La philosophie suivante aurait pu tre adopte : ils en veulent, "donnez" en.
Les programmes naccdent pas tout le code et toutes les donnes en mme temps et de la mme manire. Il
nest donc pas ncessaire de disposer dune grande quantit de mmoire pour excuter des programmes de tailles
importantes. Lide simpliste serait de charger des blocs de mmoires les uns derrire les autres au fur et
mesure des besoins et du temps.
Le temps, le voil le fautif. Revenons en arrire dune vingtaine dannes. A cette bonne vielle poque, les
microprocesseurs travaillaient des frquences infrieures la dizaine de mgahertz, et les mmoires avaient des
temps daccs compris entre 150 et 120 ns. Quand le microprocesseur allait chercher une donne en mmoire,
cette dernire lui paraissait disponible instantanment.
La technologie aidant, le temps daccs des mmoires classiques (DRAM) a diminu, et atteint aujourdhui 60
50ns. Les microprocesseurs ont aussi progress en vitesse, et leur frquence de travail a t multiplie par 20.
Conclusion, avec des mmoires classiques, quand le microprocesseur dsire une donne (ce qui est trs courant),
il passe la majeure partie de son temps lattendre et la performance des machines est diminue.
A Dfinition:
"Une place sre pour dissimuler ou ranger des choses"
"Le turbo de la mmoire"
La mmoire classique est constitue de DRAM, qui a un temps d'accs de 60 ns. La mmoire cache est
constitue de SRAM, qui a un temps d'accs de 10 5ns. On trouve de la mmoire cache l'intrieur du
microprocesseur, avec un temps d'accs inversement proportionnel la frquence de travail de ce dernier.
On constate ainsi que la mmoire cache est une mmoire plus rapide que la mmoire classique.
Si on parle de hirarchie mmoire, en les classant selon les critres prix et temps daccs, en commenant par le
niveau de hirarchie le plus haut,
on aurait :
.la mmoire cache de Niveau 1 (la plus chre, la plus rapide et se trouvant l'intrieur du µP)
.la mmoire cache de Niveau 2 (SRAM)
.la RAM classique (DRAM)
.le disque dur
.la bande magntique (la moins chre et la plus lente).
Lobjectif de ces 5 niveaux, est de fournir lutilisateur un systme mmoire qui soit presque aussi bon march
que la bande magntique, et ayant le temps daccs de la mmoire cache de niveau 1
La mthode pour obtenir cet objectif : Les niveaux de hirarchie tant imbriqus, une donne se trouvant dans
le niveau suprieur (la mmoire cache de Niveau 1), l'est obligatoirement dans tous les autres niveaux infrieurs.
Si tout se passe comme dans Le meilleur des mondes, le microprocesseur, ne s'adresse qu' la mmoire de niveau
le plus lev.
Par contre, comme tout n'est pas parfait (mme dans le monde des ordinateurs), lire une donne en mmoire peut
devenir un vrai calvaire pour le microprocesseur.
Si le microprocesseur ne trouve pas sa donne dans le premier cache, il va essayer de la trouver dans le second
cache, s'il ne la trouve toujours pas, il va la chercher dans la RAM classique, et ainsi de suite.
Pour viter cette situation, fort peu confortable pour le microprocesseur, le cache se doit de mettre la
disposition du microprocesseur, les bonnes informations au bon moment selon un dispositif de "flux tendu".
Mais que se passe-t-il au juste ? : On ne va pas stocker des donnes une par une dans le cache, mais tout un
bloc. Par dfinition, un bloc est l'unit minimale d'informations qui peut tre prsente dans le cache.
Si un bloc peut tre plac dans un ensemble restreint de places dans le cache, le cache est dit
associatif par ensemble de blocs ou Set Associative. Un ensemble tant un groupe de blocs
dans le cache. Un bloc est affect un ensemble, puis plac n'importe o dans ce dernier.
L'ensemble est habituellement choisi par slection de bits ; c'est--dire :
C'est cette dernire solution qui semble tre la plus employe dans la conception des ordinateurs
Deuxime question :
L'adressage des blocs dans le cache : chaque bloc du cache possde une tiquette adresse contenant son
numro de bloc prsent. Cette tiquette est examine pour voir si elle correspond au numro de bloc provenant
de l'UC du microprocesseur. Pour un gain de rapidit, toutes les tiquettes sont examines en parallle.
Il faut savoir si un bloc une information non valide. Pour cela, on rajoute un bit valide l'tiquette pour
indiquer si l'entre correspondante contient ou non une adresse valide. Si le bit n'est pas positionn, il ne peut y
avoir un accs valide sur cette adresse.
Troisime question :
Le remplacement du bloc : Quand un chec intervient, le contrleur de cache doit choisir un bloc remplacer
par la donne dsire.
Si l'architecture choisie pour le cache est du type correspondance directe, les dcisions matrielles sont
simplifies, tant donn qu'il n'y a pas de choix faire. Un seul bloc est test pour dterminer s'il y a succs, et
seul ce bloc peut tre remplac.
Avec les deux autres architectures, il faut faire un choix parmi plusieurs blocs lors d'un chec. Il existe deux
stratgies employes pour choisir le bloc remplacer :
Le hasard : Pour rpartir l'allocation uniformment, les blocs candidats sont choisis de faon
alatoire.
Le plus ancien (LRU Least Recently Used) : pour rduire la probabilit de rejeter des
informations qui seront ncessaires bientt, les accs aux blocs sont enregistrs. Bien sur, le
bloc remplac est celui qui n'a pas t utilis depuis longtemps.
La stratgie du hasard est facile raliser par matriel. Par contre, le cot du LRU crot avec le nombre de blocs
observer. Le tableau ci dessous, montre la diffrence des taux d'chec entre les deux stratgies.
Remarque : la stratgie "premier entr premier sorti" (FIFO), n'est plus utilise et donnait des taux d'checs
avoisinant les 10%
Pour l'criture, il en va tout autrement. La modification d'un bloc ne peut pas commencer avant que l'tiquette
soit examine. De plus la lecture peut accder plus d'octets que ncessaires, mais en criture le
microprocesseur spcifie la taille de la donne crire (de 1 8 octets).
Il existe deux faons d'crire dans le cache :
L'criture simultane (ou rangement simultan ou Write through) : l'information est crite la fois dans le bloc
du cache et dans le bloc de la mmoire classique.
La rcriture (ou recopie, rangement ou Write back) : l'information est crite uniquement dans le bloc du cache.
Le bloc modifi est recopi en mmoire classique uniquement quand il est remplac.
Le Write through a tendance disparatre, en effet, mme si on ne fait que lire une donne dans un bloc, il
recopie ce bloc en mmoire classique et mobilise ainsi le bus mmoire pour mettre jour cette mmoire
classique, ce qui restreint les possibilits de Direct Acces Memory DMA
Le Write back, permet une slection des mises jour de la mmoire classique, le contenu du cache n'est report
que si une donne a effectivement t modifie par le microprocesseur ou si un bloc ayant seulement t lu par le
microprocesseur est remplac.
E Conclusion
En fait, on utilise le cache comme une image de la mmoire classique. Quand il accde aux donnes, le
microprocesseur crot s'adresser la mmoire classique alors qu'il s'adresse au cache. A charge ensuite au
contrleur de cache de recopier les donnes dans la mmoire classique et le tour est jou. Les diverses
architectures existantes consistent crer diffrents systmes de reprsentation bass directement sur les adresses
mmoires ou sur les donnes.
Reste que l'objectif du constructeur est toujours d'optimiser le droulement tant des phases de lecture que
d'criture dans le but d'obtenir le cache le plus efficace possible.
F Post Scriptum :
Nos ordinateurs sont bass sur l'architecture de Von Neumann, cela signifie que les instructions et les donnes,
donc les oprateurs et les oprandes sont stocks dans la mme mmoire. Ainsi le microprocesseur doit accder
deux fois la mmoire, une pour l'instruction et une pour la donne. Un systme alternatif, que l'on appelle
modle Harvard, consiste sparer les espaces mmoire : un pour les donnes et un pour les instructions. De
cette faon, le chargement simultan des deux, amliore la vitesse des traitements.
Actuellement, les concepteurs ont tendance utiliser les deux architectures, celle de Von Neumann pour les
cartes mres et celle de Harvard pour le microprocesseur, pour fabriquer ces drles de machines dans un monde
de femmes et d'hommes.
1 Organisation gnrale
L'volution des ordinateurs a conduit accrotre l'autonomie des organes d'entres-sorties et leur confier des
fonctions de plus en plus complexes d'enchanement et de commande, le microprocesseur ne gardant que
l'initiative du lancement et du contrle des oprations. Il existe plusieurs organisations ou branchement des
priphriques au microprocesseur.
On peut voir sur la figure la fin, trois exemples d'organisations.
2 Les priphriques
Ce sont des dispositifs servant en premier lieu l'entre et la sortie de donnes. Ils sont sont attachs des
coupleurs ou contrleurs. Priphriques et coupleurs dfinissent des interfaces qui comprennent un ensemble de
fonctions (entre, sortie, siganux de commande et d'incident) et une voie de communication servant au tranfert
de l'information.
4. L'espace mmoire
Chaque priphrique ou ensemble de priphriques possde une ou plusieurs adresses mmoire se situant soit
dans l'espace mmoire du microprocesseur soit dans un autre espace appel l'espace E/S du microprocesseur, cet
espace tant beaucoup plus restreint. Pour donner un ordre d'ide, les derniers microprocesseurs disposent d'un
espace mmoire de 64 giga et d'un espace d'E/S de 64k.
On peut dire que l'ensemble coupleur-priphrique est une interface entre l'Homme et le couple
microprocesseur-mmoire.
7. Les canaux
Un canal ou unit d'change, est un processeur spcialis dans les oprations d'entres-sorties. Il ne peut tre
lanc que par le microprocesseur central de l'ordinateur, il est esclave. il ne possde pas d'interruptions mais peut
lui-mme interrompre le microprocesseur central. Son rpertoire d'instruction lui permet d'actionner les
coupleurs et les priphriques qui lui sont connects.
Les types de transfert DMA : nous venons de voir que le DMA tait un circuit spcialis conu pour transfrer
les donnes la vitesse dont la mmoire est capable. Il existe deux types de transfert DMA :
Par gycle : le contrleur DMA effectue un certain nombre de transferts bus chaque fois qu'il a la main. ce
fonctionnement est bien adapt aux taches de transfert des blocs lorqu'elles ncessitent la totalit de la largeur de
bande du bus.
Par vol de cycle : la commande du bus passes alternativement du processeur DMA au microprocesseur central
chaque cycle mmoire. Le canal DMA peremt alors au microprocesseur central de fonctionner au voisinage de
50%.
9. Le pilote de priphriques
Le programme qui commande le fonctionnement lmentaire d'un priphrique est appel son pilote (en anglais
driver ou handler). Le handler gre directement l'interface du coupleur du priphrique, traite les interruptions
mises par celui-ci, dtecte et traite les cas d'erreur. C'est au niveau de ce module que doivent tre traites les
particularits de programmation du coupleur. Il est gnralement invisible aux utilisateurs du sysme, qui
accdent aux fonctions d'E/S au moyen de services de plus ou moins haut niveau raliss par des appels au
superviseur. Le handler contient donc les primitives permettant de commander le priphrique.
Ce driver est constitu de deux procdures, quasiment indpendantes : une procdure traitant l'initialisation d'un
transfert et une procdure de traitement de l'interruption associe une fin de transfert. La gestion des E/S repose
sur l'utilisation des interruptions dans la plupart des cas.
Il existe aussi le double buffering, il amliore les performances d'utilisation du microprocesseur, en effet en
utilisant deux tampons en entre et en sortie. Un programme en cours rempli ou vide ses donnes dans l'un tandis
que l'unit d'change vide ou rempli l'autre l'autre.
Parallle : Le principe de base de la transmission de donnes parallle est le transfert de donnes sur autant de
fils qu'il y a de bits constituant le caractre transmettre. Un tel type de transmission n'est utilisable que pour des
transmissions trs courte distance (de quelques centimtres quelques mtres). Pour des distances suprieures,
il devient peu fiable et fort coteux.
Srie : Le principe de base de la transmission de donnes srie est le transfert de donnes sur un seul fil.
Le temps est dcoup en intervalles de mme dure, et on met un bit pendant chacun de ces intervalles.
L'ide est d'appliquer une valeur analogique pendant un intervalle pour reprsenter la valeur logique 1
et une valeur analogique diffrente pour reprsenter la valeur logique 0. Du cot du rcepteur on doit
observer les valeurs de la tension aux instants convenables.
A Simplex
Elle est toujours unidirectionnelle, Le poste A met et le poste B reoit. C'est le cas de certaines imprimantes.
L'ordinateur envoie les caractres l'imprimante et n'attend aucune rponse en retour.
Ce mode requiert une ligne 2 fils, que la liaison soit directe ou tlphonique .
B Semi duplex
Elle est bidirectionnelle, Le poste A peut mettre vers le poste B et vice versa, mais un seul des deux peut
mettre un instant donn.
Ce mode requiert galement une ligne 2 fils, que la liaison soit directe ou tlphonique. On l'utilise lorsque le
canal de communication ne possde pas une largeur de bande suffisante pour permettre des liaisons bilatrales
simultanes.
C Duplex
Elle est bidirectionnelle, les deux postes peuvent mettre en mme temps.
Ce mode requiert :
- une ligne 4 fils si la liaison est directe ou si les modems de la liaison tlphonique
fonctionnent une mme frquence porteuse ;
- une ligne 2 fils si les modems de la liaison tlphonique fonctionnent des frquences porteuses diffrentes en
mission et en rception (c'est la seule solution vraiment conomique).
Remarque :
L'metteur est aussi appel : Data Communications Equipment (DCE)
et le rcepteur Data Terminal Equipment (DTE)
Du paragraphe prcdent on peut dfinir plusieurs notions lies la transmission en srie :
D Asynchrone
Principe : Dans ce type de liaison, les octets sont mis de manire alatoire, au fur et mesure de leur
disponibilit (cas typique de la saisie clavier).
Procdure :
- Au repos, mise l'tat haut de la ligne de transmission
- Emission d'un dbut de message constitu par l'envoi d'un bit de dpart (start bit) de valeur 0 (la ligne
passe de l'tat haut de repos l'tat bas)
- Emission de l'octet
- Afin de permettre au rcepteur de vrifier la validit de l'octet reu, il y aura ventuellement l'mission :
- d'un bit de parit paire (even parity bit) de valeur 0 si le nombre de bits 1 de l'octet transmis est pair
et 1 si ce nombre est impair ;
- ou d'un bit de parit impaire (odd parity bit) de valeur 1 si le nombre de bits de l'octet transmis est
pair et 0 si ce nombre est impair.
- Emission d'une fin de message constitue par l'envoi de 1, 1,5 ou 2 bit(s) d'arrt de valeur 1 (la ligne
reprend son tat haut de repos). Aprs ce bit d'arrt, un nouveau caractre peut tre transmis.
Vitesse et synchronisation : Pour que le systme fonctionne correctement, l'metteur et le rcepteur doivent
accorder la mme dure chaque bit et donc travailler la mme vitesse. Cette vitesse se mesure en bauds, du
nom de l'ingnieur Baudot inventeur d'un code du mme nom utilis en tlinformatique. Cette vitesse
s'chelonne de la centaine au million de bauds (110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200), entre 2 PC,
elle est de 115200 bauds.
Si le mode de transmission des octets est bien asynchrone, celui des bits constituant chaque octet est par contre,
lui, bien synchrone, et est ralis l'aide d'horloges locales de mme frquence nominale.
Pour tre sur que le front descendant dtect la rception est bien celui d'un bit de dpart, on attend la dure
d'un demi-bit et on vrifie l'tat de la ligne : si la ligne est toujours au niveau bas c'est qu'un bit de dpart a t
mis et on dclenche l'horloge de rception. A la rception, le signal start dclenche la mise en route de
l'oscillateur local qui permet l'chantillonnage des bits contenus dans le caractre. La lgre drive qui peut alors
se produire par rapport l'instant idal est sans consquence, compte tenu de la faible dure concerne.
Inconvnient : Dans une liaison asynchrone, pour transmettre un seul octet il faut en moyenne mettre 12 bits
( 1 bit de dpart, 1 bit de parit, 1 2 bits de stop et les 8 bits de l'octet), ce qui signifie que seulement les deux
tiers du temps sont utiliss pour transmettre de l'information utile : Le rendement est mauvais.
Une liaison synchrone permet d'amliorer ce rendement.
E Synchrone
Principe : Dans ce type de liaison, les octets sont, et donc les bits, constituant le message sont envoys les uns
aprs les autres, sans temps mort.
Procdure : Pour prvenir le rcepteur du dbut et de la fin d'un envoi, le message est prcd d'un caractre de
dbut de transmission (STX) et est suivi d'un caractre de fin de transmission (EOT).
Vitesse et synchronisation : Ce type de liaison permet d'obtenir des dbits informationnels plus levs qu'une
liaison asynchrone, mais il ncessite un fonctionnement parfaitement synchrone de l'metteur et du rcepteur.
Cette synchronisation est gnralement assure par l'une des deux mthodes suivantes :
Une impulsion se propage le long d'une ligne de transmission une vitesse proche de celle de la lumire. C'est le
type de cble utilis qui limite la vitesse de transmission relle. Les types de lignes usuels sont les paires
torsades (blindes ou non), les cbles plats ou rubans, les fils discrets pour les applications faible distance, le
cble coaxial, et la fibre optique.
Constitution d'une interface : Place entre l'ordinateur et ses priphriques, elle constitue un indispensable
intermdiaire par lequel transitent les informations, commandes ou donnes.
Compose d'un pilote de priphriques (driver), elle tablit et gre les dialogues entre les lments d'un systme
informatique.
Le fonctionnement d'une interface : le pilote, spcifique chaque priphrique, se prsente sous la forme d'un
petit programme rsident. Il reoit les informations du systme d'exploitation et les traduit en une srie de
signaux exploitables par le cble de liaison, ce dernier tant compos de diffrents fils ayant chacun une fonction
propre. La norme laquelle obit l'interface (ST506, ESDI, EDI, SCSI, IDE....) dfinit les cbles. En bout de
chane, le contrleur reoit les signaux. Il les interprte et envoie les ordres au priphrique. Au cours du
processus, le pilote et le contrleur jouent un double rle de transmission et de traduction. Le cble se contentant
de vhiculer les donnes.
Exemple : Enregistrement d'un document.
1 L'utilisateur slectionne l'option Fichier Enregistrer
2 L'application indique au Systme d'exploitation qu'il dsire ouvrir un fichier existant
3 Ce systme appelle un pilote de priphriques pour signaler au disque l'ouverture d'un fichier
A L'interface Centronics
Cette liaison parallle est destine l'mission de codes ASCII 8 bits. Elle utilise donc un BUS de donnes de
8bits (de D0 D7), une ligne de masse servant de potentiel de rfrence, et trois lignes de contrle des changes.
Le principe de fonctionnement de cette liaison est le suivant :
- L'ordinateur place l'octet de code mettre sur le bus de donnes,
- Il regarde si son priphrique est prt recevoir cette donne, en lisant le niveau de tension prsent sur
la ligne de contrle nomme BUSY (occup),
- Si le priphrique a plac sa sortie BUSY 0, c'est qu'il est disponible. Dans ce cas, l'ordinateur le
prvient qu'une donne est prsente sur le bus et peut donc tre lue en envoyant une impulsion sur la
ligne de commande STROBE (chantillonnage),
- Ds que le priphrique dtecte le front montant de l'impulsion STROBE, il passe en mode occup
(Busy au niveau 1), empchant ainsi tout nouvel envoi de donnes. Il peut alors traiter la donne
prsente sur le bus en prenant tout son temps.
1 /STROBE 17 Masse
11 BUSY 30 0V
16 0V 34 36 Non Connectes
Les connecteurs :
Le port IEEE 1284 : Ce port de transmission de donnes ne date que de 1994, il a pour but de faire
communiquer une interface parallle (une imprimante mais pas seulement) avec un ordinateur, son vritable nom
est : "A Method for a Bidirectional Parallel Peripheral Interface for Personal Computer". Cette norme est le
fruit d'un travail qui consistait remplacer les anciens ports parallles, en tant 50 100 fois plus rapide et
biensur compatible. A l'origine, en 1991, les fabricants d'imprimantes se sont runis (NPA : Network Printing
Alliance) pour discuter d'un nouveau standard qui dfinit un certain nombre de paramtres implments du cot
de l'ordinateur et de l'imprimante, permettant ainsi un contrle totale de cette dernire.
L'IEEE 1284 prend en charge les 5 modes les plus couramment rencontrs. En effet, certains modes sont rests
propre un constructeur et restent transparents pour l'utilisateur
B L'interface IEEE-488
Le bus IEEE-488 a pour vocation de normaliser le mode d'interconnexion entre les chanes d'acquisition et le
systme de traitement de mesures. Il possde ainsi une structure indpendante de tout ordinateur? Originellement
introduit en 1965 par Hewlett-Packard, pour ses propres besoins, sous le nom de HPIB (HP Interface BUS), ce
bus est rapidement devenu une norme de fait puis a t standardis par l'organisation amricaine IEEE (Institute
of Electrical and Electronics Engineers) sous le nom de IEEE-488. Il est aussi appel GPIB.
La connectique : Il est constitu d'un ensemble de 16 fils, 8 regroupant les 8 fils de donnes multiplexs avec le
bus d'adresse, et 8 fils utiliss pour le contrle et la gestion des changes. Ainsi grce ses 16 fils, il est possible
d'interconnecter directement micro-ordinateur et appareils de mesure si ceux-ci sont dots d'une sortie IEEE-488.
C'est la socit Apple qui la sortie en 1985 sous l'appelation Fire Wire, puis il a t normalis et est devenu le
bus IEEE 1394 C'est un bus destin aux priphriqus ayant besoin d'un grand dbit. l existe actuellement en trois
versions : 12,5 , 25 et 50 Mo/s, dans un futur proche on pourra le trouver des dbits proches de 200 Mo/s. Il
permet de relier jusqu' 63 priphriques, sans hub et de faon plug en play. Il est aussi possible d'ajouter ou
d'enlever un priphrique chaud (hot plugging).
Chaque priphrique dispose de deux sorties et d'une entre de type Fire Wire, ce qui permet ainsi de les chaner
entre eux.
Il n'y a pas d'identification donner aux priphriques lors de leur installation, ni de terminaison installer en fin
de chane.
Le connecteur comporte six fils, quatre pour la transmission des donnes numriques multiplxes et deux pour
l'alimentation.
La transmission des donnes se fait de faon isochrone ( les donnes sont transfres dans des intervalles de
temps rguliers).
Le bus ISA : (Industry Standard Architecture) a t invente en 1981 par IBM pour son IBM 8088, c'est un bus
8 et 16 bits qui transfre les donnes la vitesse de 5 Mo/s. Il est " devenu " peu performant par rapport aux
nouveaux Bus.
bus d'extension qui relie directement les priphriques au processeur. Ceux-ci communiquent (en thorie) alors
la mme vitesse que le bus du P.
Le Bus VESA (Video Electronics Standards Association) : spcification d'un bus local 32 bits
cadenc 33 MHz qui est presque mort-n.
Le dbit thorique est compris entre 120 et 148 Mo/s.
Le Bus PCI (Peripheral Component Interconnect) : bus dfini par Intel en 1992, il transmet les
donnes sur 32 bits et 64 une frquence de 33 , 66 et 100MHz quelle que soit la nature du
processeur. Il est compatible avec des processeurs 486, Pentium et RISC ainsi qu'avec les bus
ISA, EISA et MCA. Sa vitesse de transfert va de 132 Mo/s 264Mo/s.
Le bus AGP (Accelerated Graphic Port) : bus dfini par Intel en 1996, il permet de partager la
mmoire centrale entre la carte mre et la carte vido. Il est donc ddi la carte vido, et
permet ainsi d'liminer le goult d'tranglement qui freinait le graphisme pour les cartes vido
3D.
Ses caractristiques sont nettement suprieur au bus PCI. L'AGP 1x a un dbit thorique de
266Mo/s avec une frquence de 66MHz et une largeur de bus de 64bits. Il se synchronise sur
les fronts montants du signal d'horloge. L'AGP 2x un dbit double, car il se synchronise la
fois sur les fronts montants et les fronts descendants, et atteind ainsi un dbit de 530Mo/s. On
parle d'un AGP 4x qui permettrait d'atteindre un dbit de 1Go/s, mais pour l'instant il est limit
par la frquence du bus.
A La norme RS232 :
6 107 PC MOD DSR : Data Set Ready PDP : Poste de Donnes Prt
20 108 PC MOD DTR : Data Terminal Ready CPD : Connexion Poste Donnes sur la ligne
B La norme RS423
Cette norme spcifie les caractristiques lectriques des circuits d'interface en mode transmission de tension,
entre metteur et rcepteur symtrique. Ce type de liaison est utilis pour la transmission en srie de signaux
binaires entre des Equipements Terminaux de Donnes (DTE) et des Equipements terminaux de Circuits de
Donnes (DCE). Le DTE tant en gnral un terminal et les DCE pouvant tre un moniteur ou une imprimante.
On peut utiliser les frquences de transmission de donnes typiques de 100kbps sur 30m, ou 3kbps sur 1200m.
La norme RS423 autorise un metteur et jusqu' 10 rcepteurs pour un seul circuit de donnes. On peut
connecter ce standard avec d'autres standards d'interface numrique tels que RS232, RS422 et RS485.
Caractristiques :
- Point point ;
- Alterne ou half-duplex ;
- Dbit informationnel moyen :
- 100kbauds 1200m
- Immunit au bruit moyenne.
C La norme RS422
La norme de transmission symtrique RS422 a t labore en 1975 pour dfinir les car caractristiques de
transmissions des signaux de donnes de base de temps ou de commande entre un ordinateur hte et ses
priphriques.
Elle a t rvise RS422A en dcembre 1978.
Une ligne de transmission RS422 est une ligne unidirectionnelle (mode simplex).
Une application typique de l'interface RS422 est son utilisation en communication de donnes dans un aroport,
entre un ordinateur central et de nombreux moniteurs ou stations loigns , tels que les moniteurs de dparts et
d'arrives. Dans cette application on utilise une ligne en paire torsade unique pour relier ensemble un terminal
de contrle central et plusieurs moniteurs. La terminaison de la ligne tant dispose l'extrmit de la ligne la
plus loigne du terminal de contrle.
Caractristiques :
- Point point ;
- Alterne ou half-duplex
- Dbit informationnel lev : 10Mbauds 1200m
- Excellente immunit au bruit
D La norme RS485
Prsentation : Comme la norme RS232C, elle t normalise par l'EIA. Elle a t introduite en 1983 et est une
version amliore de la RS422. Dans sa version la plus simple, elle est constitue d'un metteur de ligne reli
un rcepteur de ligne diffrentiel par une ligne bifilaire torsade blinde.
Lorsqu'un niveau logique 1 est prsent sur l'entre de son metteur de ligne, celui-ci applique un potentiel de
+5V sur le conducteur 1 de la ligne et un potentiel 0V sur le conducteur 2 de cette ligne.
Inversement, Lorsqu'un niveau logique 0 est prsent sur l'entre de son metteur de ligne, celui-ci applique un
potentiel de 0V sur le conducteur 1 de la ligne et un potentiel +5V sur le conducteur 2 de cette ligne
Le rcepteur de ligne est sensible la diffrence de tension existant entre les deux conducteurs de ligne,
technique qui permet de s'affranchir des tensions induites par les parasites (bruit).
Caractristiques :
- Multi Points ;
- Alterne ou half-duplex
- Dbit informationnel lev : 10Mbauds 1200m ;
- Excellente immunit au bruit.
Tableau comparatif des diffrents normes.:
Mode de
Asymtrique Asymtrique Symtrique Symtrique
fonctionnement
Longueur maximum
15 1200 1200 1200
du cble (m)
E Le port USB
Ce port srie universel (Universal Serial Bus ) est un nouveau type de prise (1995) , permettant de relier l'unit
centrale jusqu' 127 priphriques sans ordre hirarchique prcis. Il permet galement le branchement des
F La boucle de courant
Prsentation : C'est une liaison issue des techniques lectromcaniques de transmission de l'information. Elle
permet des liaisons multi machines. En raison de sa simplicit et de sa bonne immunit au bruit, elle est encore
utilise en informatique industrielle et surtout en milieux perturbs (usines).
Bien qu'elle n'ait t l'objet d'aucune normalisation, au fil des ans deux standards de liaison se sont imposs :
- La boucle de courant 20mA, d'usage gnral ;
- La boucle de courant 500mA, pour les milieux trs parasits.
Dans cette liaison on module le courant circulant dans une boucle au rythme des informations binaires
transmettre. Ainsi, pour une boucle de courant 20mA, on adopte gnralement la convention suivante :
- 1 logique correspondant i = 20mA;
- 0 logique correspondant i = 0mA.
Qu'est qu'une boucle de courant ? : Souvent les informations dlivres par un capteur analogique doivent tre
transmises distance. Dans la plupart des cas, la mthode la plus commode consiste convertir l'information de
tension en un courant avant la transmission. La boucle de courant la plus communment employe se compose
de deux fils assurant la fois l'alimentation du capteur et du circuit de conditionnement de signal et le transfert
de l'information acquise sous la forme d'un courant dont l'intensit est proportionnelle au signal mesur. Le
courant dans la boucle varie gnralement de 4mA 20mA pour la pleine chelle : c'est la boucle de courant 4-
20mA. Jusqu' 4mA de courant de boucle peut tre utilis pour alimenter le capteur, le circuit de
conditionnement de signal et le convertisseur tension courant.
Caractristiques :
- Point point ;
- Simplex
- Dbit informationnel faible :
- 19200 bauds 40m
- 4800 bauds 180m
- 2400 bauds 360m
- 1200 bauds 720m
2. Introduction
En 1975, les chercheurs d'IBM firent la constatation suivante : moins de 20% des instructions disponibles dans le
microprocesseur sont utilises dans 80% des cas. D'o la question : pourquoi ne pas simplifier les
microprocesseur en implantant sur la puce les instructions les plus courantes ? On gagnerait ainsi en vitesse,
donc en performance, et on rduirait la surface de la puce, donc la consommation et le cot. C'est cette ide qui
fut la base de la technologie RISC (Reduced Instruction Set Computer : microprocesseur jeu d'instructions
rduit) par opposition aux CISC (Complex Instruction Set Computer). Mais que fait-on des instructions
complexes ? Il suffit tout simplement de les remplacer par une srie d'instructions simples (une multiplication est
une srie de sommes). Mais la diffrence de l'approche CISC, le dcodage des instructions complexes est
assur par le logiciel au niveau du compilateur, et non pas par des circuits logiques implants sur le
microprocesseur. Il permet ainsi d'viter les microcodes programmer sur la puce. Ceci oblige avoir un
compilateur plus complexe, devant tre optimis de faon rduire les temps d'excution, si l'on veut prserver
les avantages de la puce RISC.
Remarque : une instruction complexe l'intrieur du microprocesseur n'est en fin de compte qu'un " programme
" implants sur la puce.
3. Le PIPELINE
on a vu que la rduction du jeu d'instructions apporte un gain de rapidit, mais l'essentiel des performances vient
de l'exploitation du gain de place pour une nouvelle fonction : le traitement en pipeline. Une instruction du
programme s'excute gnralement en 5 squences successives. A chaque squence correspond une impulsion
d'horloge
IF : Instruction Fetch, chargement des instructions du cache mmoire vers la file d'instructions.
5. Conclusion
La division entre les concepts CISC et RISC n'est plus aussi dichotomique que par le pass. L'ensemble des
microprocesseurs utilise des solutions similaires, mme si les uns sont classs CISC et les autres RISC. Le 486
d'Intel et le 68040 de Motorola sont les deux premiers (connus du grand public) processeurs CISC se
rapprocher de la technologie RISC. L'unit centrale contient les instructions les plus courantes, tandis que les
instructions complexes sont confies une unit spcifique spare et utilisent le traitement en pipeline. Le
Pentium et le 86060 qui ont suivis, vont plus loin en adoptant l'architecture superscalaire. Par contre les
microprocesseurs RISC ont tendance enrichir leur jeu d'instructions et finissent par devenir aussi complexes
que des CISC. Si bien qu'aujourd'hui, l'important n'est pas de savoir si tel ou tel microprocesseur est CISC ou
RISC, mais de connatre son architecture interne et ses performances.
Au milieu des annes 60, Flynn a propos un modle simpliste pour classer les ordinateurs, en fonction des flots
d'instructions et de donnes. Il a ainsi rang tous les ordinateurs en quatre grandes catgories.
- SISD (Simple Instruction Simple Data), donc un seul flot d'instructions et un seul flot de
donnes. C'est la machine monoprocesseur classique tel que la dcrite John Von Neumann et
que monsieur tout le monde utilise l'heure actuelle.
- SIMD (Simple Instruction Multiple Data), donc un seul flot d'instructions et plusieurs flots
de donnes. La mme instruction est excute par plusieurs processeurs utilisant diffrents
flots de donnes. On ne dispose que d'une seule mmoire d'instructions pour tous les
processeurs, mais chacun d'entre eux possde sa propre mmoire de donnes. Un seul
processeur de contrle gre les instructions. Les processeurs sont spcifiques la tache qu'ils
excutent.
- MISD (Multiple Instructions Simple Data), donc plusieurs flots d'instructions et un seul flot
de donnes. Il n'existe pour l'instant aucune machine architecture sur ce modle.
- MIMD (Multiple Instructions Multiple Data), donc plusieurs flots d'instructions et plusieurs
flots de donnes. Chaque processeur excute ses propres instructions et opre sur ses propres
donnes. Ce qui, en tant un peu simpliste, revient dire que l'on a assembl une machine
comportant plusieurs ordinateurs ayant une architecture de type Von Neumann.
Il est certain qu'il n'existe pas une frontire franche entre ces quatre catgories d'ordinateurs,
certaines machines appartiennent plusieurs d'entre elles.
Il n'existe pas de systmes multiprocesseurs tant conus sur un modle unique. Pour chaque problme
complexe, il existe une machine complexe.
L'exemple le plus connu est Deeper Blue le super calculateur d'IBM qui pour battre Garry Kasparov aux checs,
ne contenait pas moins de 300 microprocesseurs. Cette machine est constitue de 32 nuds possdant chacun un
processeur P2SC, huit processeurs d'checs, une mmoire et des disques de donnes. En tout, ce sont donc 256
Seul le cerveau humain, qui est compos de " systmes " parallles, est capable de s'adapter toutes les
situations (ou presque)
Avant les annes 80, beaucoup de machines taient conues sur le modle SIMD. Mais la technologie aidant, la "
mode " est plutt aux architectures MIMD et elles possdent deux atouts majeurs :
- L'architecture MIMD est trs flexible, elle peut fonctionner comme une machine n'ayant
affaire qu' un seul utilisateur, dsirant lancer simultanment plusieurs tches.
- L'architecture MIMD peut tre conues en rcuprant les avantages des processeurs
standards, savoir le rapport cot performances.
Les gros ordinateurs actuels sont constitus de dizaines de microprocesseurs identiques ceux utiliss dans
l'ordinateur de " monsieur tout le monde " (ou presque).
Les machines MIMD peuvent tre classes en deux catgories dpendant de leur organisation mmoire. La
quantit de microprocesseurs qu'elles disposent fluctuant en fonction des annes.
- La mmoire partage centralise : Plusieurs couples microprocesseur cache se partagent la mme
mmoire principale physique. Il n'existe qu'un seul bus au travers duquel, les donnes transitent.
Cet ensemble contient un nombre limit de microprocesseurs. En effet le systme grant la mmoire ne peut
fournir une infinit de donnes en un laps de temps trs court. On rencontre alors des problmes de bande
passante au niveau du bus transportant les donnes. Le nombre de microprocesseurs pour la mmoire
partage centralise est infrieur cinquante. Si on veut augmenter ce nombre, il faut se rsigner passer
d'une mmoire partage centralise une mmoire distribue entre les microprocesseurs.
3. L'utilisation
Les architectures parallles peuvent tre trs utilises dans les domaines o les types de calculs le permettent. Par
exemple pour le traitement de l'image, il est facile d'imaginer que l'on peut attribuer un microprocesseur chaque
point de l'image. Mais en revanche, lorsqu'une tape de calcul va dpendre du rsultat de l'tape prcdente, la
multiplication du nombre de microprocesseurs ne diminuera les temps de calculs. Par exemple pour le calcul de
la trajectoire d'un mobile.
4. La mise en uvre
Elle est dpendante de la pense du ou des programmeurs. Dans la mthode de " pense concurrente ", le
programmeur crit son programme sans se " proccuper " de savoir s'il est possible de traiter le problme de
manire parallle. Si la machine est conue pour cela, le compilateur pourra analyser le programme, le dcouper
en diffrents calculs pouvant tre envoys sur les diffrents microprocesseurs.
Dans la mthode de " pense parallle ", le programmeur crit son programme en se " proccupant " de la mise
en parallle du problme, et la machine se charge simplement de grer les microprocesseurs.
5. L'amalgame
Afin de ne pas tout mlanger, il est bon de savoir que les systmes actuels sont constitus d'architectures MIMD
qui utilisent la mmoire partage centralise et la mmoire distribue. En effet chaque nud peut tre vu comme
tant un ordinateur mmoire partage.
2. La composition Interne
Composition physique : Le processeur, nest en fin de compte quun "vulgaire " morceau de silicium,
dont la taille va de quelques mm2 quelques dizaines de mm2.
Composition lectrique. Le microprocesseur est constitu lectriquement de millions dinterrupteurs
commands par des tensions. Ces interrupteurs sont appels transistors, et leur agencement forme un
ensemble de fonctions lmentaires telles que OU, ET, ADD, SUB .
Que fait-il ? : Il doit excuter un programme, ce programme est constitu dinstructions. Ces
instructions, il doit les connatre, les stocker, les dcoder et les excuter. Il doit "savoir " o se trouve
(aller chercher) la prochaine instruction excuter, de plus il doit tre " lheure ", donc cadenc. Toutes
ces obligations conduisent la conclusion suivante : un microprocesseur est constitu dun ensemble
dentits permettant de faire les oprations cites ci-dessus, do sa composition logique.
Composition logique : Le microprocesseur de base nest constitu en fait que de deux units
fonctionnellement spares : lUAL pour Unit Arithmtique et Logique et lUC pour Unit de
commande ou de contrle.
LUC : elle dirige le fonctionnement du microprocesseur, ses circuits gnrent les signaux
ncessaires lexcution de chaque instruction dun programme.
Cest un ensemble de dispositifs permettant la coordination du P afin de lui faire excuter la
suite doprations spcifies dans les instructions dun programme. Cette unit de commande
est constitue de :
Un Compteur Ordinal, qui est un registre contenant ladresse de la case mmoire o
est stocke linstruction suivante chercher.
Un Registre dinstructions, il contient linstruction excuter.
Un Dcodeur de code opration, qui dtermine quelle opration doit tre effectue
parmi le jeu dinstructions.
Un squenceur, il gnre les signaux de commandes pour piloter les autres entits du
microprocesseur, et synchroniser ce dernier avec la mmoire.
LUAL : elle a pour fonction deffectuer les oprations arithmtiques telles que laddition, la
soustraction et les oprations logiques telles que les fonctions OU, ET, dcalage et rotation.
3. Le jeu dinstructions
Cest lensemble des instructions de base cbles lintrieur du microprocesseur, donc que ce dernier peut
dexcuter. Chaque famille de microprocesseurs possde son propre jeu dinstructions. Ce jeu dinstructions est
4. Les registres
Ce sont des mmoires internes au microprocesseur, leur temps daccs est en gnral inversement proportionnel
la frquence de lhorloge. Leur nombre et leur type varient normment dune architecture lautre. En rgle
gnrale, plus un microprocesseur a de registres et plus il est performant, la quantit varie de 10 plus de 100.
La taille dun registre se mesure en bit (Binary Information), et lorsque lon parle dun microprocesseur 32 bits,
cela veut dire quil travaille avec des registres de taille 32 bits. Les registres peuvent tre classs en six
catgories :
Registres gnraux, ils contiennent les donnes et rsultats des oprations ralises par le
microprocesseur, on les appelle aussi des accumulateurs.
Registres spcifiques :
Compteur Ordinal (voir ci-dessus),
Registre dinstruction (voir ci-dessus),
Registre dtat, (PSW : Program Status Word), appel aussi le CCR registre code condition, il contient
diffrents bits appels drapeaux (flags) indiquant le rsultat dune condition. Exemple le bit Z indique si
le rsultat de lopration prcdente est nul. Ces bits sont tests et permettent de faire des sauts dans les
programmes.
Registre pointeur de pile, il permet de simuler une pile (FIFO ou LIFO) dans la mmoire centrale.
Registres de base, ils sont utiliss comme indice pour calculer des adresses effectives. Ils contiennent
ladresse de base, on leur rajoute ladresse du registre dinstruction et on trouve ladresse effective.
Registres dindex ou dindice, ils permettent de manipuler des tableaux de donnes plusieurs
dimensions. Pour connatre ladresse effective, on somme ladresse de base, avec ladresse du registre
dinstruction et du registre dindex. Ils sont en gnral incrments ou dcrments automatiquement
aprs chaque utilisation.
Registres de deboggage, ils permettent de faire la mise au point des programmes.
5. Le Langage
Le langage de programmation dun microprocesseur est appel le langage machine. Il nest compos que de 1 et
de O, donc du binaire. Au dbut de linformatique, les programmeurs programmaient en langage machine, ce qui
tait trs pnible, car il fallait aligner des squences de bits, dont la signification navait rien dvidente pour
lhomme. Pour comprendre cette squence de bits, il fallait compulser une table dcrivant toutes les oprations
possibles et leur reprsentation binaire.
Par exemple pour additionner deux nombres, on crivait 10001010 01011000 11010010 (ce nest quun exemple,
le codage est pris au hasard). Les 8 premiers bits reprsentent le codage de linstruction que lon nomme le code
opratoire, les 2 paquets de 8 bits suivants, reprsentent les deux nombres additionner, que lon nomme
oprandes.
Par la suite, on a donn des noms aux oprations, que lon a appel des codes mnmoniques, exemple : ADD,
DIV, OR, De mme pour les donnes et les rsultats, on a pu les mettre sous une forme symbolique. Pour
convertir ce "nouveau " langage en langage machine, on utilise un programme que lon nomme assembleur,
donc ce "nouveau " langage sappelle le langage dassemblage. Ce langage est toujours exploit et le sera
6. Fonctionnement
LUC va chercher en mmoire les instructions et les donnes, en envoyant ladresse ainsi quune commande de
lecture ou dcriture. Pour le cas de la lecture, linstruction code en binaire est transfre vers lUC, o son
dcodage permet de dterminer lopration demande ainsi que la quantit de donnes ncessaires. A partir de
cela, il y a gnration des signaux utiles lUAL pour dclencher lexcution de linstruction. Ensuite, lUC va
chercher les donnes et les transfre directement lUAL. LUAL excute linstruction et transmet le rsultat
lUC, qui va aller le stocker en mmoire. Le cycle se rpte ainsi indfiniment, un microprocesseur ne sarrte
jamais de "travailler ".
Les tapes 1, 2, 3, 4 et 7 sont ralises par lUC et les autres par lUAL.
7. La composition Externe
Pour communiquer avec le monde externe, le microprocesseur possde tout un ensemble de broches. Ces
broches peuvent tre regroupes en trois groupes que lon nomme des bus. Il existe logiquement, mais pas
obligatoirement physiquement, trois sortes de bus :
le bus de donnes sur lequel transitent les donnes et les rsultats entre le P et les composants
externes,
le bus dadresses sur lequel le P envoie les adresses des cases mmoires quil dsire lire ou bien dans
lesquelles il dsire crire,
Le bus de commandes sur lequel transite tout un ensemble de signaux permettant de grer le dialogue
entre le P et les autres composants. Exemple la ligne R/W (Read Write), permet dindiquer un botier
mmoire si le P va lire une donne ou crire un rsultat.
8. Fonctionnement
Imaginons le scnario suivant, le P va devoir effectuer lopration suivante :
ADD MmoireX, 32, cest dire additionner le contenu de la MmoireX avec la valeur 32 et ranger le
tout dans la case MmoireX, et il ne "sait " pas encore.
Quelles sont les tapes de ce travail ?
(1) Le P va chercher en mmoire le code opratoire de linstruction excuter, donc il faut
quil lise le contenu dune case mmoire. Pour cela, il met sur son bus dadresse, le code
binaire de ladresse de la case mmoire contenant le code opratoire de linstruction excuter.
Il positionne la ligne R/W 1, pour signaler la mmoire quil dsire faire une opration de
lecture,
(2) Cette instruction est rcupre par lUC qui la stocke dans le Registre dInstruction,
(3) LUC dcode cette instruction et constate quelle a besoin de deux oprandes, MmoireX et
32,
(4) Il faut aller chercher le contenu de MmoireX en mmoire, pour cela le P refait la mme
chose que pour le code opratoire de linstruction excuter,
(5) Le contenu de cette mmoire est stock dans un des registres gnraux,
(6) La valeur immdiate 32 est directement code par lUAL,
(7) LUC envoie le code (dcod) de linstruction excuter ainsi que le contenu de MmoireX
lUAL,
(8) LUAL excute linstruction, et envoie le rsultat lUC. Ce rsultat il faut le sauvegarder,
(9) Le P va stocker ce rsultat, pour cela, il met sur son bus dadresse, le code binaire de
ladresse de la case MmoireX, Il positionne la ligne R/W 0, pour signaler la mmoire quil
dsire faire une opration dcriture, le rsultat est sauvegarder dans la case mmoire.
On peut passer linstruction suivante.