Table Des Matières: Architecture Des Systemes & Technologies Des Ordinateurs
Table Des Matières: Architecture Des Systemes & Technologies Des Ordinateurs
Table Des Matières: Architecture Des Systemes & Technologies Des Ordinateurs
I) Introduction
o Un moniteur
o Une unité centrale
o Un clavier
o Une souris
o Des unités de stockage de l’information
1- Le moniteur
2- L’unité centrale
Il contient le cerveau de l’ordinateur, c’est elle qui analyse et traite toutes les informations de
l’ordinateur.
3- Le clavier
4- La souris
Il permet d’adresser des commandes à l’unité centrale beaucoup plus rapidement que le clavier.
1- Définitions
a- Informatique
b- Informations
C’est un renseignement sur un fait ou un ensemble de faits dont la connaissance permet de prendre
une décision d’entreprendre une action ou d’exercer un contrôle.
1. Programmes
C’est un ensemble d’instruction qui sont écrites par une personne appelé programmeur, dans le but
d’accomplir ou de réaliser une tache ou un ensemble de taches. Ces instructions indiquent à
l’ordinateur ce qu’il doit faire et comment il doit le faire.
2. Logiciels
C’est un ensemble de programme qui sont écrits en vue d’obtenir un certain résultat ou de résoudre
un problème donné. On a deux classes essentielles de logiciels :
b. Logiciels d’application
Ce sont de petits logiciels qui permettent d’exécuter une tache bien définie.
Définitions
Par exemple : le clavier, la souris et les autres périphériques envoient des informations par les bus.
Les informations engendrent les actions du microprocesseur et celui-ci calcul, en utilisant les
mémoires RAM ou ROM suivant le type d'application.
Des contrôleurs d'extensions sont utilisés pour relier le PC aux périphériques d'entrées/sorties.
La plupart des périphériques d‘entrée sont amovibles, c'est-à-dire qu'ils peuvent être déconnectés de
l'unité centrale sans empêcher celle-ci de fonctionner (il faut parfois éteindre l'ordinateur avant de
retirer le périphérique).
Sur les micro-ordinateurs, tous les périphériques sont reliés à la carte mère par un connecteur que
l'on insère :
La carte d'extension étant amovible, il est facile de la remplacer en cas de panne ou d'évolution
technologique.
Clavier Ecran
Flash disque
…
…
1- La souris
Souris à boule :
1 : Mouvement de la boule
2 : Rouleau transmettant les mouvements latéraux de la souris
3 : Disque perforé
4 : Diode électroluminescente
5 : Capteur optique
2- Clavier
Le clavier (en anglais keyboard) permet, à la manière des machines à écrire, de saisir
des caractères (lettres, chiffres, symboles ...), il s'agit donc d'un périphérique d'entrée
essentiel pour l'ordinateur, car c'est grâce à lui qu'il nous est possible d'envoyer des
commandes.
3- Le scanner
Il existe également des scanners capables de numériser des supports particuliers tels que les
diapositives.
4- Microphone
5- Manette dejeux
6- Caméravidéo et la webcam
8- Lecteurcodeà barre
Surlemarchépresquetouslesproduitsportentuncodesousformedebarre.Pour
décoderlesbarresfixanttouteslesinformationssurcesproduits,ondoitutiliserunlecteurspécial qui
ressemble àunscannerà main appelélecteur codeà barre
9- Le joystick
L’écran (moniteur) : il affiche les images, permet de voir les informations enregistrées sur
l’ordinateur.
1. L’écran
2. Les enceintes
3. Les imprimantes
4. Le vidéoprojecteur
1) Les modems
2) Les casques
Le casque : il permet de diffuser du son produit par l’ordinateur mais sans déranger le voisin.
1- Le cd ou DVD
Définition
I- Le système décimal
Les nombres que nous utilisons habituellement sont ceux de la base 10 appelé : « système
décimal »
Nous disposons de 10 chiffres différents [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] pour écrire les autres nombres.
Avec ces 10 chiffres on peut compter jusqu’à 9.
Pour aller au-delà de 9 il faut changer de rang, c’est-à-dire que si le rang des unités est plein, on
commence le rang des dizaines et on remet celui des unités à zéro. Ensuite on re – complète le rang
des unités jusqu’à ce qu’il soit de nouveau plein.
D’une manière générale, toute base N est composée de N chiffres de 0 à N-1. Soit le nombre
décimal :
N= 2348. Ce nombre est la somme de 8 unités, 4 dizaines, 3 centaines et 2 milliers. Nous pouvons
écrire :
1- Présentation
Le binaire est le mode de comptage non plus en base 10 mais en base 2. Il est utilisé dans le domaine
de l’électronique, l’automatisme, et de l’informatique car les machines ne peuvent comparer que deux
valeurs : des « 1 » et des « 0 ». En binaire chaque rang ne peut prendre que deux valeurs. Donc dès
le rang atteint sa deuxième, la plus haute valeur, on change de rang. En binaire un rang commence à
0 et se termine à 1.
2- Tableau de correspondance
Pour y arriver, on doit décomposer le nombre décimal en puissance de 2. Ces puissances sont :
[1,2,4,8,16,32,64,128,256,512,1024].
Soit le nombre 26
26=16+8+2
26=24+23+21
(26))10 = (11010)2
Interprétation
On a nombre en décimal
On le décompose en valeur de puissance de 2
Si certaines puissances manquent on les rajoute et mettant 0 devant
On lit les coefficients devant les puissances de 2, ce sera notre nombre en binaire.
Par commodité d’écriture ion regroupe les chiffres par 4.
Cette méthode est mieux pour les grands nombres et plus facile à utiliser. Procédure à utiliser :
On a le nombre décimal
On le divise par deux et on note le reste de la division soit c’est soit 1 ou soit 0
On refait la même chose avec le quotient précèdent
On réitère la division, et ce jusqu’à ce que le quotient est 0
Le nombre en binaire apparait, le premier à placer est le dernier reste non nul, ensuite on
remonte en plaçant les restes que l’on avait.
164 ÷ 2 = 82 + 0
82 ÷ 2 = 41 + 0
41 ÷ 2 = 20 + 1
10 ÷ 2 = 5 + 0
5÷2=2+1
2÷2=1+0
1÷2=0+1
Pour convertir un nombre binaire en décimal, on multiplie par 20 la valeur du rang 0, 21 la valeur du
rang 1, …, 2n la valeur du rang n.
Exemple : soit le nombre binaire 101 0110. Ce nombre binaire s’étale sur 7 rangs, et chaque rang
correspond à une puissance de 2. Le premier en partant de la droite est le rang 0, le second est le
rang 1, etc.
On peut écrire :
101 0110 = 64 + 16 + 4 + 2
1. Présentation
Le système hexadécimal travail en base 16, c’est-à-dire qu’il faudra 16 caractères différents pour
représenter chacune des 16 valeurs. Les 16 caractères sont composés des 10 chiffres de la base
décimale, et pour les suivants nous utiliserons les lettres de l’alphabet.
2. Tableau d’équivalence
Valeur Décimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Equivalent hexadécimal 0 1 2 3 4 5 6 7 8 9 A B C D E F
Pour convertir un nombre décimal en nombre hexadécimal il faut utiliser la méthode de la division
euclidienne par 16. Dans ce cas, chaque reste représente un rang en hexadécimal.
7 ÷ 16 = 0 + 7 (2009)10= (7 D 9)16
Soit le nombre hexadécimal 4F2C. Il a 4 rangs, chaque rang est une puissance de 16. Pour convertir,
on multiplie le premier rang (en partant de la droite) par 160, le second par 161, etc.
(4F2C)16 = (20268)10
101 0011 1011 nous avons 3 blocs après regroupement de 4bits, nous allons déterminer la décimale
de chaque quadruplet. Ce qui donne :
On va utiliser le même principe que ci-dessus, à savoir qu’un rang en base 16 correspond à un rang
en base 2.
Exemple BE57
(B)16(11)10(1011)2
(E)16(14)10(1110)2
(5)16(5)10(0101)2
(7)16(11)10(0111)2
I) Introduction
Tout système informatique s’organise de façon globale comme l’indique la figure suivante :
Microprocesseur
Unité centrale
Mémoire
hardward
Périphérique d’entrée
Programmes applicatifs
Softward
Programmes systèmes
1) Généralités
La carte mère est une plaque sur laquelle sont soudés les composants essentiels pour le
fonctionnement de l’ordinateur et pour la communication de celui-ci avec les périphériques. Nous y
trouvons entre autres :
o Le chipset : circuit qui contrôle la majorité des ressources (interface de bus du processeur,
mémoire cache et mémoire vive, slots d’extension, etc.)
o L’horloge et la pile CMOS
o Le BIOS
o Le bus système
o Le format AT : c’est un format très ancien pour ordinateur avec processeur 386 et 486
o Le format ATX : c’est un format plus moderne et plus répandu. Il incorpore les principales
interfaces et leurs connecteurs de sortie tels que les ports séries, les ports parallèles, ports
USB
o Le format NLX : il est semblable au format ATX, mais les connecteurs d’extension sont
disponibles sur une carte fille.
2) Le microprocesseur
C’est le cerveau de l’ordinateur car il exécute les instructions des programmes grâce à un « jeu
d’instructions »
o Sa fréquence : elle exprime la cadence interne avec laquelle le processeur travaille. Elle
s’exprime en Mégahertz (MHZ)
o Son bus d’adresse : elle détermine l’espace adressable par le processeur. Il sert à composer
les numéros ou adresses des périphériques ou des cases mémoires.
o Son bus de données : c’est l’ensemble de broches réservées au transfert de données entre le
processeur et les autres composants de l’ordinateur.
o Son embase : c’est le support intégré à la carte mère sur lequel se monte le processeur. Il y
en a deux types : le type socket ou ZIF (zéro Insertion Force) avec un numéro pour les
processeurs en boitier PGA et le type slot1 pour les processeurs en boitier SEC
o Le refroidisseur : il est souvent constitué d’un ventilateur et/ou d’un radiateur permettant
d’évacuer la chaleur dissipée par le processeur.
o La tension d’alimentation : pour les processeurs modernes, il y a une tension pour
l’alimentation du cœur ou noyau du processeur et une autre pour les entrée/sortie.
Les principaux fabricants sont : INTEL, IBM, CYRIX, AMD, NEXGEN (désormais racheté par AMD),
CENTAUR et TEXAS INSTRUMENT. Sur les autres systèmes, il y a aussi : MOTOROLA (principalement
Macintosh), ARM, ATT, DEC, HP, MIPS et SUN dans le domaine des compatibles, Intel a été et reste le
pionnier.
Le format de l'alimentation
Il faut vérifier que l'alimentation est compatible avec le format (souvent ATX) de la carte mère.
La puissance de l'alimentation
Dans la plupart des cas, une alimentation de 500-600W est indiquée.
Pour le choix d'une alimentation PC, le type de connecteurs et leurs nombres en fonction du type de
carte mère, de disque dur, ... est important
5) La mémoire RAM
La mémoire Ram (RandomAccesss Memory c’est-à-dire mémoire à accès libre ou mémoire à accès
aléatoire) font partie des mémoires qualifiées de mémoire vive c’est-à-dire mémoire dont le contenu
n’est pas permanent. Elle constitue un espace permettant de stocker temporairement des données
lors de l’exécution d’un programme afin de faciliter l’accès à celle-ci. En effet, les RAM sont beaucoup
plus rapides d’accès que les autres supports de sauvegarde.
Son contenu disparait à la mise hors tension de l’ordinateur : elle est dite « mémoire volatile ».
o Sa capacité : elle exprime la quantité d’information qu’on peut stocker dans la mémoire. Elle
s’exprime en mégaoctet (Mo) et de plus en plus en Gigaoctet (Go).
o Son temps d’accès : c’est le temps nécessaire pour accéder à une information en mémoire. Il
s’exprime en nanoseconde (ns) mégahertz (Mhz).
o Sa densité : c’est la capacité d’une puce sur la barrette mémoire. Elle s’exprime en mégabits.
Les mémoires mortes sont des types de mémoires permettant de stocker les données de façon
permanentes. Leurs contenus sont en lecture seul. Dans l’ordinateur, ce type de mémoire permet de
conserver les données nécessaires au démarrage de l’ordinateur tel que le BIOS.
Est un circuit charger de la synchronisation des signaux du système. Elle est constituée d’un cristal
qui, en vibrant, donne des impulsions (appelés top horloge) afin de cadencer le système. On appel
fréquence de l’horloge le nombre de vibration du cristal par seconde.
C’est un circuit électronique qui conserve certaines informations sur la configuration matériel, y
compris l’heure et la date système. Le CMOS est une mémoire volatile. Pour que son contenu ne
disparaisse pas à la mise hors tension de l’ordinateur, il a été prévu une pile située généralement sur
la carte mère chargée de l’alimenter continuellement.
Est un ensemble de programmes servant d’interface entre le système d’exploitation et la carte mère. Il
est stocké dans une mémoire (ROM BIOS) de type EEPROM et utilise les données contenues dans la
puce CMOS pour connaitre la configuration matérielle du système. Les essentiels du BIOS sont :
Le programme setup : c’est une application qui permet de consulter ou de modifier la base de
données décrivant la configuration matérielle du système conservée dans la puce CMOS.il
permet donc de lire et de modifier le contenu du CMOS.
Programme POST (Power On Self Test) : il permet, à la mise sous tension de l’ordinateur, de
comparer le matériel physiquement présent dans l’ordinateur avec ceux déclarés dans la puce
CEMOS, de contrôler la présence et la viabilité de certains périphériques indispensables.
8) Le chipset
Le chipset (jeu de composants ou jeu de circuits) est un circuit électronique chargé de coordonner les
échanges de données entre les composants de l’ordinateur.
La mémoire cache permet au processeur de se rappeler les opérations déjà effectuées. En effet, elle
stocke les opérations effectuées par le processeur, pour que celui-ci ne perde pas de temps à
effectuer des opérations qu’il a déjà faites précédemment.
Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein
d’un système minimum de traitement programmé de l’information.
John Von Neumann est à l'origine d'un modèle de machine universelle de traitement
programmé de l’information (1946).
Cette architecture sert de base à la plupart des systèmes à microprocesseur actuel.
Elle est composée des éléments suivants :
Une unité centrale
Une mémoire principale
Des interfaces d’entrées/sorties
Les différents organes du système sont reliés par des voies de communication
appelées Bus.
Mémoire
Unité Centrale Interfaces E/S
Principale
BUS
1- L’unité centrale
Elle est composée par le microprocesseur qui est chargé d’interpréter et d’exécuter les
instructions d’un programme, de lire ou de sauvegarder les résultats dans la mémoire et de
communiquer avec les unités d’échange.
2- La mémoire principale
Elle contient les instructions du ou des programmes en cours d’exécution et les données
associées à ce programme. Physiquement, elle se décompose souvent en :
Une mémoire morte (ROM = Read Only Memory) chargée de stocker le programme.
C’est une mémoire à lecture seule.
Une mémoire vive (RAM = Random Access Memory) chargée de stocker les données
intermédiaires ou les résultats de calculs. On peut lire ou écrire des données dedans,
ces données sont perdues à la mise hors tension.
Remarque :
Les disques durs, disquettes, CDROM, etc… sont des périphériques de stockage, et
considérés comme des mémoires secondaires.
4- Les bus
Un bu s est un ensemble de fils (appelés broches) qui assure la transmission du même type
d’information. On retrouve trois types de bus véhiculant des informations en parallèle dans
un système de traitement programmé de l’information :
Exemple :
5- Décodage d’adresses
Interfaces E/S
BUS D’ADRESSE
Bus de Commande
Mémoire
Unité Centrale Interfaces E/S
Principale
BUS
Une mémoire est un circuit intégré permettant d’enregistrer, de conserver et de restituer des
informations (instructions et variables). Les informations peuvent être écrites ou lues. Il y a
écriture lorsqu'on enregistre des informations en mémoire, lecture lorsqu'on récupère des
informations précédemment enregistrées.
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.
Adresse
7 = 111
6 = 110
5 = 101
4 = 100
3 = 011
2 = 010
1 = 001
0 = 000
Avec une adresse de n bits il est possible de référencer au plus 2n cases mémoire. Chaque
case est remplie par un mot de données (sa longueur m est toujours une puissance de 2). Le
nombre de broches du bus d’adresses d’un boîtier mémoire définit donc le nombre de cases
mémoire que comprend le boîtier. Le nombre de broches du bus de données définit la taille
des données que l’on peut sauvegarder dans chaque case mémoire. En plus du bus
d’adresses et du bus de données, un boîtier mémoire comprend une entrée de commande
qui permet de définir le type d’action que l’on effectue avec la mémoire (lecture/écriture) et
une entrée de sélection qui permet de mettre les entrées/sorties du boîtier en haute
impédance. On peut donc schématiser un circuit mémoire par la figure suivante où l’on peut
distinguer :
MEMOIRES Données n
R/W
bites
TUEHI JB Enseignant & Formateur - +225 07 07 08 05 96– [email protected] p. 21
IO / M
Architecture des systemes & Technologies des Ordinateurs
Sélection de l’adresse
Choix de l’opération à effectuer (R / W)
Sélection de la mémoire (IO / M = 0)
Lecture ou écriture la donnée
La capacité : c’est le nombre total de bits que contient la mémoire. Elle s’exprime aussi
souvent en octet.
Le format des données : c’est le nombre de bits que l’on peut mémoriser par case
mémoire. On dit aussi que c’est la largeur du mot mémorisable.
Le temps d’accès : c’est le temps qui s'écoule entre l'instant où a été lancée une opération
de lecture/écriture en mémoire et l'instant où la première information est disponible sur le
bus de données.
Le temps de cycle : il représente l'intervalle minimum qui doit séparer deux demandes
successives de lecture ou d'écriture.
Une mémoire vive sert au stockage temporaire de données. Elle doit avoir un temps de cycle
très court pour ne pas ralentir le microprocesseur.Les mémo ires vives sont en général
volatiles : elles perdent leurs informations en cas de coupure d'alimentation. Il existe deux
grandes familles de mémoires RAM (RandomAcces Memory : mémoire à accès aléatoire) :
Le bit mémoire d’une RAM Statique (SRAM) contient entre 4 à 6 transistors. Les SRAM sont
non volatiles tant qu’il n’y a pas de coupure d’alimentation. Les SRAM sont plus rapides (T
accès) que les RAM Dynamiques (DRAM). Au niveau du coût, les SRAM sont plus chers que
les DRAM. Les SRAM sont utilisées lorsque le facteur vitesse est critique, notamment pour
des mémoires de petite taille comme les caches et les registres.
Le bit mémoire d’une RAM Dynamique (DRAM) contient entre un seul transistor. Cette
technique permet une plus grande densité d'intégration, car un point mémoire nécessite
environ quatre fois moins de transistors que dans une mémoire statique. Sa consommation
s’en retrouve donc aussi très réduite. Les DRAM sont moins chers que les SRAM. Les DRAM
doivent être rafraîchies régulièrement pour entretenir la mémorisation : l’information dans le
transistor est perdue si on ne la régénère pas périodiquement. Donc toute lecture doit être
suivie d’une réécriture. Ce rafraîchissement indispensable a plusieurs conséquences :
En général les DRAM, qui offrent une plus grande densité d'information et un coût par bit
plus faible, sont utilisées pour la mémoire centrale.
Pour certaines applications, il est nécessaire de pouvoir conserver des informations de façon
permanente même lorsque l'alimentation électrique est interrompue.
On utilise alors des mémoires mortes ou mémoires à lecture seule (ROM : Read Only
Memory). Ces mémoires sont non volatiles. L’inscription en mémoire des données restent
possible mais est appelée programmation. Suivant le type de ROM, la méthode de
programmation changera. Il existe donc plusieurs types de ROM :
ROM : Elle est programmée par le fabricant et son contenu ne peut plus être ni modifié, ni
effacé par l'utilisateur.
PROM : C’est une ROM qui peut être programmée une seule fois par l'utilisateur
(Programmable ROM). La programmation est réalisée à partir d’un programmateur spécifique
EPROM : Pour faciliter la mise au point d'un programme ou tout simplement permettre une
erreur de programmation, il est intéressant de pouvoir reprogrammer une PROM. L'EPROM
(Erasable Programmable ROM) est une PROM qui peut être effacée.
FLASH EPROM : est une mémoire programmable et effaçable électriquement. Elle répond
ainsi à l’inconvénient principal de l’EPROM (Impossible de sélectionner une seule cellule à
effacer) et peut être reprogrammée in situ (mot par mot).
Capacité
Vitesse
Consommation
Coût
Une mémoire idéale serait une mémoire de grande capacité, capable de stocker un
maximum d’informations et possédant un temps d’accès très faible afin de pouvoir travailler
rapidement sur ces informations. Mais il se trouve que les mémoires de grande capacité sont
souvent très lentes et que les mémoires rapides sont très chères. Et pourtant, la vitesse
d’accès à la mémoire conditionne dans une large mesure les performances d’un système. En
effet, c’est là que se trouve le goulot d’étranglement entre un microprocesseur capable de
traiter des informations très rapidement et une mémoire beaucoup plus lente (ex :
processeur actuel à 3Ghz et mémoire à 400MHz). Or, on n’a jamais besoin de toutes les
informations au même moment. Afin d’obtenir le meilleur compromis coût - performance, on
définit donc une hiérarchie mémoire. On utilise des mémoires de faible capacité mais très
rapide pour stocker les informations dont le microprocesseur se sert le plus et on utilise des
mémoires de capacité importante mais beaucoup plus lente pour stocker les informations
dont le microprocesseur se sert le moins. Ainsi, plus on s’éloigne du microprocesseur et plus
la capacité et le temps d’accès des mémoires vont augmenter.
Les registres : sont les éléments de mémoire les plus rapides. Ils sont situés au niveau du
processeur et servent au stockage des opérandes et des résultats intermédiaires.
La mémoire : cache est une mémoire rap ide de faible capacité destinée à accélérer l’accès
à la mémoire centrale en stockant les données les plus utilisées.
La mémoire : principale est l’organe principal de rangement des informations. Elle contient
les programmes (instructions et données) et est plus lente que les deux mémoires
précédentes.
La mémoire de masse : est une mémoire périphérique de grande capacité utilisée pour le
stockage permanent ou la sauvegarde des informations. Elle utilise pour cela des supports
magnétiques (disque dur) ou optiques (CDROM, DVDROM).
III- Le microprocesseur
Un microprocesseur est un circuit intégré complexe caractérisé par une très grande
intégration et doté des facultés d'interprétation et d'exécution des instructions d'un
programme. Il est chargé d’organiser les tâches précisées par le programme et d’assurer leur
exécution.
Ces unités sont associées à des registres chargés de stocker les différentes informations à
traiter. Ces trois éléments sont reliés entre eux par des bus interne (Adresses, Données et
Remarque :
Il existe deux types de registres :
2) L’unité de Commande
Le compteur de programme : constitué par un registre dont le contenu est initialisé avec
l'adresse de la première instruction du programme. Il contient toujours l’adresse de
l’instruction à exécuter.
3) L’unité de Traitement
C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent les traitements
nécessaires à l'exécution des instructions. Cette unité est composée de :
L’Unité Arithmétique et Logique (UAL) est un circuit complexe qui assure les fonctions
logiques (ET, OU, Ou exclusif, etc…) ou arithmétique (Addition, soustraction,
multiplication).
Le registre d’état : ce registre est directement relié à l’UAL, il stocke certaines informations
particulières concernant les opérations effectuées par l’UAL. Ce registre est généralement
composé de 8 bits ou 16 bits, quelques bits de ce registre (connu sous le nom d’indicateurs
d’états).
– CS = 1, le bit le plus significatif du résultat d’une opération est à 1 (le résultat est négatif
car le résultat est codé en complément à 2).
– CS = 0, le bit le plus significatif du résultat d’une opération est à 0 (le résultat est positif).
Exemple : Addition des 2 données -64 et -65 sur 8 bits codées en complément à 2 (cà2).
Les accumulateurs : sont des registres de travail qui servent à stocker un opérande au
début d'une opération arithmétique et le résultat à la fin de l'opération.
4) Les registres
Un registre est un ensemble de bits qui permet de stocker une information binaire dans un
microprocesseur. Cette information peut être une instruction, une donnée a traitée, ou une
adresse d’une instruction. Il existe 6 registres fondamentaux qu’on trouve dans chaque
microprocesseur :
Registre de données : il représente une interface entre le bus de données et l’UAL (voir
figure du schéma fonctionnel), ce registre continent les données a traitées par l’UAL.
5) Schéma fonctionnel
Le registre d'instruction contient maintenant le premier mot de l'instruction qui peut être
codée sur plusieurs mots. Ce premier mot contient le code opératoire qui définit la nature de
l'opération à effectuer (addition, rotation,) et le nombre de mots de l'instruction.
6) Jeu d’instructions
a) Définition
b) Type d’instructions
Les instructions que l’on retrouve dans chaque microprocesseur peuvent être classées en 4
groupes :
c) Codage
dépend du type d’instruction et aussi du type d’opérande. Chaque instruction est toujours
codée sur un nombre entier d’octets afin de faciliter son décodage par le processeur. Une
instruction est composée de deux champs :
Exemple :
d) Temps d’exécution
7) Langage de programmation
On peut caractériser la puissance d’un microprocesseur par le nombre d’instructions qu’il est
capable de traiter par seconde. Pour cela, on définit :
Le CPI (Cycle Par Instruction) qui représente le nombre moyen de cycles d’horloge
nécessaire pour l’exécution d’une instruction pour un microprocesseur donné.
microprocesseur :
Pour augmenter les performances d’un microprocesseur, on peut donc soit augmenter la
fréquence d'horloge (limitation matérielle), soit diminuer le CPI (choix d'un jeu d'instruction
adapté).
1) L’architecture CISC
CISC est l’architecture la plus ancienne, était la seule envisageable pour les machines à
microprocesseur. En effet, vue que la mémoire travaillait très lentement par rapport au
processeur, on pensait qu’il était plus intéressant de soumettre au microprocesseur des
instructions complexes. Ainsi, plutôt que de coder une opération complexe par plusieurs
instructions plus petites (qui demanderaient autant d’accès mémoire très lent). Il semblait
préférable d’ajouter au jeu d’instructions du microprocesseur une instruction complexe qui se
chargerait de réaliser cette opération. On a donc eu tendance à incorporer au niveau
processeur des instructions plus p roches de la structure de ces langages.
C’est donc une architecture avec un grand nombre d’instructions où le microprocesseur doit
exécuter des tâches complexes par instruction unique.
Pour une tâche donnée, une machine CISC exécute ainsi un petit nombre d’instructions mais
chacune nécessite un plus grand nombre de cycles d’horloge. Le code machine de ces
instructions varie d’une instruction à l’autre et nécessite donc un décodeur complexe (micro-
code).
2) L’architecture RISC
Des études statistiques menées au cours des années 70 ont clairement montré que les
programmes générés par les compilateurs se contentaient le plus souvent d'affectations,
d'additions et de multiplications par des constantes. Ainsi, 80% des traitements des langages
de haut niveau faisaient appel à seulement 20% des instructions du microprocesseur. D’où
l’idée de réduire le jeu d’instructions à celles le plus couramment utilisées et d’en améliorer
la vitesse de traitement.
C’est donc une architecture dans laquelle les instructions sont en nombre réduit
(chargement, branchement, appel sous-programme). Les architectures RISC peuvent donc
être réalisées à partir de séquenceur câblé. Leur réalisation libère de la surface permettant
d’augmenter le nombre de registres ou d’unités de traitement par exemple. Chacune de ces
instructions s’exécutent ainsi en un cycle d’horloge. Les accès à la mémoire s’effectuent
seulement à partir de deux instructions (Load et Store). Par contre, les instructions
complexes doivent être réalisées à partir de séquences basées sur les instructions
élémentaires, ce qui nécessite un compilateur très évolué dans le cas de programmation en
langage de haut niveau.
traitement.
La première idée qui vient à l’esprit est d’augmenter tout simplement la fréquence de
l’horloge du microprocesseur. Mais l’accélération des fréquences provoque un surcroît de
consommation ce qui entraîne une élévation de température. On est alors amené à équiper
les processeurs de systèmes de refroidissement ou à diminuer la tension d’alimentation.
Dans le cas d’une programmation en langage de haut niveau, cette amélioration peut se
faire en optimisant le compilateur. Il faut qu’il soit capable de sélectionner les séquences
d’instructions minimisant le nombre moyen de cycles par instructions.
Une autre solution est d’utiliser une architecture de microprocesseur qui réduise le nombre
de cycles par instruction.