SlideShare une entreprise Scribd logo
architecture des ordinateurs 3


Langage de programmation
• Le langage machine est le langage compris par le microprocesseur. Ce
langage est difficile à maîtriser puisque chaque instruction est codée par une
séquence propre de bits. Afin de faciliter la tâche du programmeur, on a créé
différents langages plus ou moins évolués.
• Le langage assembleur est le langage le plus « proche » du langage machine.
Il est composé par des instructions en général assez rudimentaires que l’on
appelle des mnémoniques. Ce sont essentiellement des opérations de transfert de
données entre les registres et l'extérieur du microprocesseur (mémoire ou
périphérique), ou des opérations arithmétiques ou logiques. Chaque instruction
représente un code machine différent. Chaque microprocesseur peut posséder un
assembleur différent.
• La difficulté de mise en œuvre de ce type de langage, et leur forte dépendance
avec la machine a nécessité la conception de langages de haut niveau, plus
adaptés à l'homme, et aux applications qu'il cherchait à développer. Faisant
abstraction de toute architecture de machine, ces langages permettent
l'expression d'algorithmes sous une forme plus facile à apprendre, et à dominer
(C, Pascal, Java, etc.…). Chaque instruction en langage de haut niveau
correspondra à une succession d’instructions en langage assembleur. Une fois
développé, le programme en langage de haut niveau n’est donc pas
compréhensible par le microprocesseur. Il faut le compiler pour le traduire en
assembleur puis l’assembler pour le convertir en code machine compréhensible
par le microprocesseur. Ces opérations sont réalisées à partir de logiciels
spécialisés appelés compilateur et assembleur.


Performances d’un microprocesseur
• 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 :
o 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é.
o Le MIPS (Millions d'Instructions Par Seconde) qui représente la puissance
de traitement du 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é).
Notion d’architecture CISC et RISC
• Actuellement l’architecture des microprocesseurs se compose de deux
grandes familles :
o L’architecture CISC (Complex Instruction Set Computer)
o L’architecture RISC (Reduced Instruction Set Computer)
L’architecture CISC
pourquoi
• CISC est l’architecture la plus ancienne, était la seule envisageable pour les
machines à microprocesseur.
• En effet, vu 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 proches de la structure de ces langages.

comment
• 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).

L’architecture RISC
pourquoi


• 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.

comment
• 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.



comparaison


Le choix dépendra des applications visées. En effet, si on diminue le nombre
d'instructions, on crée des instructions complexes (CISC) qui nécessitent plus de
cycles pour être décodées et si on diminue le nombre de cycles par instruction, on
crée des instructions simples (RISC) mais on augmente alors le nombre
d'instructions nécessaires pour réaliser le même traitement.




Amélioration de l’architecture de base
• L'ensemble des améliorations des microprocesseurs visent à diminuer le
temps d'exécution du programme :
1. 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.
2. Une autre possibilité d’augmenter la puissance de traitement d’un
microprocesseur est de diminuer le nombre moyen de cycles d’horloge nécessaire
à l’exécution d’une instruction :
o 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.
o Une autre solution est d’utiliser une architecture de microprocesseur qui
réduise le nombre de cycles par instruction.

Architecture Pipeline
principe
•   L’exécution d’une instruction est décomposée en une succession d’étapes et
chaque étape correspond à l’utilisation d’une des fonctions du microprocesseur.
Lorsqu’une instruction se trouve dans l’une des étapes, les composants associés
aux autres étapes ne sont pas utilisés. Le fonctionnement d’un microprocesseur
simple n’est donc pas efficace.
• L’architecture pipeline permet d’améliorer l’efficacité du microprocesseur.
En effet, lorsque la première étape de l’exécution d’une instruction est achevée,
l’instruction entre dans la seconde étape de son exécution et la première phase de
l’exécution de l’instruction suivante débute.
• Il peut donc y avoir une instruction en cours d’exécution dans chacune des
étapes et chacun des composants du microprocesseur peut être utilisé à chaque
cycle d’horloge.
• Une machine pipeline se caractérise par le nombre d’étapes utilisées pour
l’exécution d’une instruction, on appelle aussi ce nombre d’étapes le nombre
d’étages du pipeline


   Gain de performance
• Dans cette structure, la machine débute l’exécution d’une instruction à
chaque cycle et le pipeline est pleinement occupé à partir du quatrième cycle.
• Le gain obtenu dépend donc du nombre d’étages du pipeline.
• En effet, pour exécuter n instructions, en supposant que chaque instruction
s’exécute en k cycles d’horloge, il faut :
o n.k cycles d’horloge pour une exécution séquentielle.
o k cycles d’horloge pour exécuter la première instruction puis n-1 cycles pour
les n-1 instructions suivantes si on utilise un pipeline de k étages.

 Donc lorsque le nombre n d’instructions à exécuter est grand par rapport à k,
on peut admettre qu’on divise le temps d’exécution par k.
Exemples :
• Les Pentium 2, 3 et 4 d’Intel comprennent respectivement un pipeline de 10,
12 et 20 étages.

  Notion de cache mémoire
 Principe
• Depuis le début des années 80, une des solutions utilisées pour masquer cette
latence est de disposer une mémoire très rapide entre le microprocesseur et la
mémoire. Elle est appelée cache mémoire.
• On compense ainsi la faible vitesse relative de la mémoire en permettant au
microprocesseur d’acquérir les données à sa vitesse propre.
• Au départ cette mémoire était intégrée en dehors du microprocesseur mais
elle fait maintenant partie intégrante du microprocesseur.
• Le principe de cache est très simple : le microprocesseur n’a pas conscience
de sa présence et lui envoie toutes ses requêtes comme s’il agissait de la mémoire
principale:
o Soit la donnée ou l’instruction requise est présente dans le cache et elle est
alors envoyée directement au microprocesseur. On parle de succès de cache.
o Soit la donnée ou l’instruction n’est pas dans le cache, et le contrôleur de
cache envoie alors une requête à la mémoire principale. Une fois l’information
récupérée, il la renvoie au microprocesseur tout en la stockant dans le cache. On
parle de défaut de cache.




Architecture superscalaire


• Une autre façon de gagner en performance est d’exécuter plusieurs
instructions en même temps.
• L'approche superscalaire consiste à doter le microprocesseur de plusieurs
unités de traitement travaillant en parallèle.
• Les instructions sont alors réparties entre les différentes unités d'exécution.


Remarque :
C'est le type d'architecture mise en œuvre dans les premiers Pentium d'Intel
apparus en 1993.

Architecture pipeline et superscalaire


• Le principe est d’exécuté les instructions de façon pipeliné dans chacune des
unités de traitement travaillant en parallèle.

Etude du processeur 8088
• Le processeur 8086 d'Intel est à la base des processeurs Pentium actuels. Les
processeurs successifs (de PC) se sont en effet construits petit à petit en
ajoutant à chaque processeurs des instructions et des fonctionnalités
supplémentaires, mais en conservant à chaque fois les spécificités du
processeur précédent.

Architecture externe du 8088
• Nombre de broches : 40.
• Bus de données de AD0 à AD7 : 8 broches.
• Bus d’adresses de AD0 à AD7 et de A8 à A19 : 20 broches.
(AD0 à AD7 représente à la fois le bus de données et une partie du bus
d’adresses).
• Capacité de la mémoire centrale adressable est : 220bit = 1 MégaOctet.
• L’adresse d’un mot mémoire est sur 5 bits : de 00000 H à FFFFF H.


Bus de Commande:




       : Broche de lecture mémoire ou interface.
Si              le microprocesseur effectue une lecture de données à partir de la mémoire ou
d’une interface d’E/S.


WR       : Broche d’écriture.



Si                le microprocesseur effectue une écriture dans la mémoire ou dans l’interface
d’E/S.



                    : Broche de selection.



Si                     c’est la mémoire qui est sélectionnée pour une lecture ou une écriture.



Si                      c’est l’interface qui est sélectionnée pour une lecture ou une écriture.




• ALE : validité du bus d’adresse AD0 à AD7.
o Si ALE = 1, AD0 à AD7 représente l’octet faible d’une adresse : AD0 à AD7 et
AD8 à AD19 (20 broches).
o Si ALE = 0, AD0 à AD7 représente le bus de données.

• READY : Broche de synchronisation.
o Si READY = 1, la mémoire ou l’interface d’E/S est prête à recevoir des
informations où à fournir des informations au microprocesseur.
o Si READY = 0, mémoire où interface d’E/S non prête pour le dialogue.
• INTR : Interruption masquable (considérée ou non par le microprocesseur).
o Si INTR = 1, une interruption est demandée.
Remarque : au niveau du registre d’état, il y a un bit appelé IF. Il est utilisé pour
accepter l’interruption demandée.

    •     Si IF = 1, l’interruption sera prise en compte par le microprocesseur →
        saut au sous programme de dialogue : microproc – Interface d’E/S.

    •    Si IF = 0, l’interruption ne sera pas prise en compte par le
        microprocesseur → pas de saut au sous programme de dialogue :
        microproc – Interface d’E/S.

Si INTR est acceptée → INTR = 1 et IF = 1.

•              : Broche de réponse

o Si                  , pour informer l’interface d’E/S que l’interruption
demandée a été acceptée.




• NMI : Broche d’interruption non masquable.
o Si NMI = 1, saut obligatoire à un sous programme de dialogue avec
l’interface d’E/S qui a générée l’interruption NMI.
• HOLD : Broche de demande des bus de données, d’adresses et de
commande.
o Si HOLD = 0, les bus de données, d’adresses et de commande effectuent la
liaison entre le microprocesseur et la mémoire.
→ Echange d’information entre le microprocesseur et la mémoire.
o Si HOLD = 1, le contrôleur du disque dur demande les bus de données,
d’adresses et de commande (liaison entre le contrôleur et la mémoire).
→ Echange d’information entre le contrôleur et la mémoire.
Utilisation : dans le cas d’un transfert d’une grande quantité d’informations
entre une interface d’E/S et la mémoire. Ceci pour augmenter la vitesse de
transfert d’informations.
• HOLDA : Broche de réponse à HOLD.
o Si HOLDA = 1, le microprocesseur informe l’interface qu’il est déconnecté
de ses bus.
→ Elle pourra faire l’échange d’informations avec la mémoire
   Architecture interne du 8088
Il existe deux unités internes distinctes: l'UE (Unité d'Exécution) et l'UIB
(Unité d'Interfaçage avec le Bus).
UIB
• Elle est constituée d’un ensemble de registres d’adressage, d’un
générateur d’adresse (compteur ordinal) et d’une file d’attente (registre
d’instruction), son rôle est de chercher séquentiellement les instructions
et les données stockées dans la mémoire.

UE
• Elle est destinée au traitement de données, elle se compose essentiellement
d’une UAL, d’une unité de commande et des registres opérationnels et
d’adressage. Son rôle est de lire les instructions stockées dans la file d’attente
pour décodage et d’exécution.
Les registres du 8088


• Un registre est une petite partie de mémoire intégrée au microprocesseur,
dans le but de recevoir des informations spécifiques, notamment des adresses
et des données stockées durant l'exécution d'un programme.
• Les registres peuvent être utilisés dans toutes les opérations arithmétiques et
logiques que le programmeur insère dans le code assembleur.
• Un registre complet présente une grandeur de 16 bits.
• chaque registre est en réalité divisé en deux registres distincts de 8 bits.
• De cette façon, nous pouvons utiliser une partie du registre si nous désirons y
stocker une valeur n'excédant pas 8 bits.
• Si, au contraire, la valeur que nous désirons y ranger excède 8 bits,
nous utiliserons le registre complet, c'est à dire 16 bits.
• Le programmeur dispose de 8 registres internes de 16 bits qu'on peut diviser
en deux groupes :
o Groupe de données : formé par 4 registres de 16 bits (AX, BX, CX, et DX)
chaque registre peut être divisé en deux registres de 8 bits (AH, AL, BH,
BL, CH, CL, DH et DL).
o Groupe de pointeur et indexe : formé de 4 registres de 16 bits (SI, DI, SP, BP)
et font généralement référence à un emplacement en mémoire.
Groupe de données
Registre AX : (Accumulateur)
• Toutes les opérations de transferts de données avec les entrées-sorties ainsi
que le traitement des chaînes de caractères se font dans ce registre, de même les
opérations arithmétiques et logiques.
Registre BX : (Registre de Base)
• Il contient une adresse de décalage par rapport à une adresse de référence.
Par exemple, l'adresse de début d'un tableau.
Registre CX : (Le Compteur)
• Lors de l'exécution d'une boucle on a souvent recours à un compteur de
boucles pour compter le nombre d'itérations, le registre CX a été fait pour servir
comme compteur lors des instructions de boucle.
Registre DX :
• On utilise le registre DX pour les opérations de multiplication et de division
mais surtout pour contenir le numéro d'un port d'entrée/sortie pour
adresser les interfaces d'E/S.



Groupe de pointeurs et indexes
• Ces registres sont plus spécialement adaptés au traitement des éléments
dans la mémoire. Ils sont en général munis de propriétés d'incrémentation
et de décrémentation.
Registre SP : pointeur sommet de la pile (Stack Pointer)
• Une pile est un ensemble de cases mémoire définie dans une RAM pour
stocker temporairement les données d’un programme et les contenues des
registres interne du microprocesseur. Elle est utilisée dans le cas d’une rupture
de séquence d’un programme, saut à un sous programme ou appel à une
procédure.
• Si on n’effectue pas l’empilement des registres interne (AX, BX, CX et DX)
utilisés par un programme, leurs contenues peuvent être détruits par les
instructions du sous programme ou de la procédure appelée.
• Le registre SP (Pointeur de Pile) à une longueur de 16 bits, il permet
l’adressage des cases mémoire de la pile. Il pointe toujours sur la première case
mémoire libre de la pile.
• La pile a une structure LIFO (Last In First Out), dernier entré premier
sortie, ainsi :
o Lors d’un empilement du contenu d’un registre interne, le contenu du
registre SP est décrémenté par 2 (SP=SP-2).
o Lors du dépilement, le contenu du registre SP est incrémenté par 2
(SP=SP+2).
Registre SP : pointeur sommet de la pile (Stack Pointer)

   •   Une pile est un ensemble de cases mémoire définie dans une RAM pour
       stocker temporairement les données d’un programme et les contenues des
       registres interne du microprocesseur. Elle est utilisée dans le cas d’une
       rupture de séquence d’un programme, saut à un sous programme ou
       appel à une procédure.
   •   Si on n’effectue pas l’empilement des registres interne (AX, BX, CX et
DX) utilisés par un programme, leurs contenues peuvent être détruits par
    les instructions du sous programme ou de la procédure appelée.

•   Le registre SP (Pointeur de Pile) à une longueur de 16 bits, il permet
    l’adressage des cases mémoire de la pile. Il pointe toujours sur la
    première case mémoire libre de la pile.
•   La pile a une structure LIFO (Last In First Out), dernier entré premier
    sortie, ainsi :
        o Lors d’un empilement du contenu d’un registre interne, le contenu
            du registre SP est décrémenté par 2 (SP=SP-2).
        o Lors du dépilement, le contenu du registre SP est incrémenté par 2
            (SP=SP+2)

Contenu connexe

Tendances

Theme memoires des ordinateurs gpe 1
Theme memoires des ordinateurs gpe 1Theme memoires des ordinateurs gpe 1
Theme memoires des ordinateurs gpe 1Penn Hardikhan
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donnees
Abdoulaye Dieng
 
Lordinateur et-ses-composants4941
Lordinateur et-ses-composants4941Lordinateur et-ses-composants4941
Lordinateur et-ses-composants4941Ismail Bouyahya
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
Abdoulaye Dieng
 
Codage cours1--mi
Codage cours1--miCodage cours1--mi
Codage cours1--mi
linuxscout
 
Les memoires
Les memoiresLes memoires
Les memoires
digidid
 
Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)TheCrazyMan
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
YACINE MESSAOUI
 
Ch8 architecture
Ch8 architectureCh8 architecture
Ch8 architecture
mickel iron
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERأبو وردة
 
Codage cours 1-intro-mi1-
Codage  cours 1-intro-mi1-Codage  cours 1-intro-mi1-
Codage cours 1-intro-mi1-
linuxscout
 
Architecture
ArchitectureArchitecture
Architecturezan
 
Cell process
Cell processCell process
Cell process
dihiaselma
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatique
linuxscout
 
Motherboard
MotherboardMotherboard

Tendances (20)

Ch7 memoires
Ch7 memoiresCh7 memoires
Ch7 memoires
 
Theme memoires des ordinateurs gpe 1
Theme memoires des ordinateurs gpe 1Theme memoires des ordinateurs gpe 1
Theme memoires des ordinateurs gpe 1
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
L’ordinateur
L’ordinateurL’ordinateur
L’ordinateur
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donnees
 
Lordinateur et-ses-composants4941
Lordinateur et-ses-composants4941Lordinateur et-ses-composants4941
Lordinateur et-ses-composants4941
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Codage cours1--mi
Codage cours1--miCodage cours1--mi
Codage cours1--mi
 
Les memoires
Les memoiresLes memoires
Les memoires
 
Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)
 
Composants d'une carte mère
Composants d'une carte mèreComposants d'une carte mère
Composants d'une carte mère
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
La carte mère
La carte mèreLa carte mère
La carte mère
 
Ch8 architecture
Ch8 architectureCh8 architecture
Ch8 architecture
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMER
 
Codage cours 1-intro-mi1-
Codage  cours 1-intro-mi1-Codage  cours 1-intro-mi1-
Codage cours 1-intro-mi1-
 
Architecture
ArchitectureArchitecture
Architecture
 
Cell process
Cell processCell process
Cell process
 
Cours Info1- ST/SM/MI : introduction à l'informatique
Cours Info1- ST/SM/MI : introduction  à l'informatiqueCours Info1- ST/SM/MI : introduction  à l'informatique
Cours Info1- ST/SM/MI : introduction à l'informatique
 
Motherboard
MotherboardMotherboard
Motherboard
 

En vedette

La classification des animaux
La classification des animauxLa classification des animaux
La classification des animaux
Chambres d'hôtes Aux Vieux CHênes
 
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
Adalberto
 
Conférence Ad4Screen CMD 20 Novembre 2012
Conférence Ad4Screen CMD 20 Novembre 2012Conférence Ad4Screen CMD 20 Novembre 2012
Conférence Ad4Screen CMD 20 Novembre 2012Ad4Screen
 
Lainvestigacion 091125081618-phpapp01
Lainvestigacion 091125081618-phpapp01Lainvestigacion 091125081618-phpapp01
Lainvestigacion 091125081618-phpapp01
Adalberto
 
Mbusa reset serviceindicator_final_08_2012-fr
Mbusa reset serviceindicator_final_08_2012-frMbusa reset serviceindicator_final_08_2012-fr
Mbusa reset serviceindicator_final_08_2012-frBoualam Mohammed
 
Red educación para la vida
Red educación para la vidaRed educación para la vida
Red educación para la vidaAdalberto
 
Maestria Cultivar Amistad
Maestria Cultivar AmistadMaestria Cultivar Amistad
Maestria Cultivar Amistad
Adalberto
 
CEN présentation au souscripteurs
CEN présentation au souscripteurs CEN présentation au souscripteurs
CEN présentation au souscripteurs
Palio
 
4. casos y-patrones-de-la-violencia-e-f[1]
4. casos y-patrones-de-la-violencia-e-f[1]4. casos y-patrones-de-la-violencia-e-f[1]
4. casos y-patrones-de-la-violencia-e-f[1]
Adalberto
 
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuilapprentisauteuil
 
Indicadores
IndicadoresIndicadores
Présentation Sequoia
Présentation SequoiaPrésentation Sequoia
Présentation Sequoia
DidierdeKerchove
 
Traitement du VIH (French) - The CRUDEM Foundation
Traitement du VIH (French) - The CRUDEM FoundationTraitement du VIH (French) - The CRUDEM Foundation
Traitement du VIH (French) - The CRUDEM Foundation
The CRUDEM Foundation
 
Plan social 7 julio 2010
Plan social 7 julio 2010Plan social 7 julio 2010
Plan social 7 julio 2010
Adalberto
 
Docencia 4 Lectura 1 El Texto Paralelo Siglo Xxi
Docencia 4 Lectura 1 El Texto Paralelo   Siglo XxiDocencia 4 Lectura 1 El Texto Paralelo   Siglo Xxi
Docencia 4 Lectura 1 El Texto Paralelo Siglo Xxi
Adalberto
 
Docencia 4 La ImaginacióN
Docencia 4 La ImaginacióNDocencia 4 La ImaginacióN
Docencia 4 La ImaginacióN
Adalberto
 
Evaluacion 14 nstrumentos del subsistema_de_evaluacion
Evaluacion 14 nstrumentos del subsistema_de_evaluacionEvaluacion 14 nstrumentos del subsistema_de_evaluacion
Evaluacion 14 nstrumentos del subsistema_de_evaluacion
Adalberto
 

En vedette (20)

La classification des animaux
La classification des animauxLa classification des animaux
La classification des animaux
 
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
Evaluacion 14 nstrumentos del subsistema_de_evaluacion. de colegios y univers...
 
Conférence Ad4Screen CMD 20 Novembre 2012
Conférence Ad4Screen CMD 20 Novembre 2012Conférence Ad4Screen CMD 20 Novembre 2012
Conférence Ad4Screen CMD 20 Novembre 2012
 
Lainvestigacion 091125081618-phpapp01
Lainvestigacion 091125081618-phpapp01Lainvestigacion 091125081618-phpapp01
Lainvestigacion 091125081618-phpapp01
 
25.2 outline
25.2 outline25.2 outline
25.2 outline
 
Mbusa reset serviceindicator_final_08_2012-fr
Mbusa reset serviceindicator_final_08_2012-frMbusa reset serviceindicator_final_08_2012-fr
Mbusa reset serviceindicator_final_08_2012-fr
 
Red educación para la vida
Red educación para la vidaRed educación para la vida
Red educación para la vida
 
Maestria Cultivar Amistad
Maestria Cultivar AmistadMaestria Cultivar Amistad
Maestria Cultivar Amistad
 
CEN présentation au souscripteurs
CEN présentation au souscripteurs CEN présentation au souscripteurs
CEN présentation au souscripteurs
 
4. casos y-patrones-de-la-violencia-e-f[1]
4. casos y-patrones-de-la-violencia-e-f[1]4. casos y-patrones-de-la-violencia-e-f[1]
4. casos y-patrones-de-la-violencia-e-f[1]
 
USDA - Test Doc
USDA - Test DocUSDA - Test Doc
USDA - Test Doc
 
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil
10 bonnes raisons de verser votre taxe d'apprentissage à Apprentis d'Auteuil
 
Indicadores
IndicadoresIndicadores
Indicadores
 
Présentation Sequoia
Présentation SequoiaPrésentation Sequoia
Présentation Sequoia
 
Traitement du VIH (French) - The CRUDEM Foundation
Traitement du VIH (French) - The CRUDEM FoundationTraitement du VIH (French) - The CRUDEM Foundation
Traitement du VIH (French) - The CRUDEM Foundation
 
Ma présentation
Ma présentationMa présentation
Ma présentation
 
Plan social 7 julio 2010
Plan social 7 julio 2010Plan social 7 julio 2010
Plan social 7 julio 2010
 
Docencia 4 Lectura 1 El Texto Paralelo Siglo Xxi
Docencia 4 Lectura 1 El Texto Paralelo   Siglo XxiDocencia 4 Lectura 1 El Texto Paralelo   Siglo Xxi
Docencia 4 Lectura 1 El Texto Paralelo Siglo Xxi
 
Docencia 4 La ImaginacióN
Docencia 4 La ImaginacióNDocencia 4 La ImaginacióN
Docencia 4 La ImaginacióN
 
Evaluacion 14 nstrumentos del subsistema_de_evaluacion
Evaluacion 14 nstrumentos del subsistema_de_evaluacionEvaluacion 14 nstrumentos del subsistema_de_evaluacion
Evaluacion 14 nstrumentos del subsistema_de_evaluacion
 

Similaire à Architecture des ordinateurs 3

Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
ISIG
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarquéHoussem Rouini
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
NasriMohsen2
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
HouBou3
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
gharbisalah
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
AnasAsran1
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
SihemNasri3
 
ch8_architecture.ppt
ch8_architecture.pptch8_architecture.ppt
ch8_architecture.ppt
amine17157
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
wafawafa52
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
FazaTabbana1
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
sunprass
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
AliRami3
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
HouBou3
 
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
josue25052001
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1oussamada
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
sarah Benmerzouk
 
Architecture1
Architecture1Architecture1
Architecture1
coursuniv
 

Similaire à Architecture des ordinateurs 3 (20)

Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
ch8_architecture.ppt
ch8_architecture.pptch8_architecture.ppt
ch8_architecture.ppt
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
9 - CPU_uhghfhffdttgfffgfdfffghhggfC.ppt
 
Programmation des pic_en_c_part1
Programmation des pic_en_c_part1Programmation des pic_en_c_part1
Programmation des pic_en_c_part1
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Architecture1
Architecture1Architecture1
Architecture1
 

Plus de coursuniv

Algo et c
Algo et cAlgo et c
Algo et c
coursuniv
 
Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joulecoursuniv
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiquescoursuniv
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxcoursuniv
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatiquecoursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électriquecoursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électriquecoursuniv
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurscoursuniv
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatiquecoursuniv
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gausscoursuniv
 
Analyse numerique
Analyse numeriqueAnalyse numerique
Analyse numerique
coursuniv
 
Excel
ExcelExcel
Excel
coursuniv
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
coursuniv
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
coursuniv
 
Loi de coulomb
Loi de coulomb Loi de coulomb
Loi de coulomb
coursuniv
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
coursuniv
 

Plus de coursuniv (20)

Algo et c
Algo et cAlgo et c
Algo et c
 
Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joule
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiques
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes généraux
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurs
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatique
 
Analyse s1
Analyse s1Analyse s1
Analyse s1
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gauss
 
Analyse numerique
Analyse numeriqueAnalyse numerique
Analyse numerique
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
C
CC
C
 
Loi de coulomb
Loi de coulomb Loi de coulomb
Loi de coulomb
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
 

Dernier

Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 

Dernier (7)

Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 

Architecture des ordinateurs 3

  • 1. architecture des ordinateurs 3 Langage de programmation • Le langage machine est le langage compris par le microprocesseur. Ce langage est difficile à maîtriser puisque chaque instruction est codée par une séquence propre de bits. Afin de faciliter la tâche du programmeur, on a créé différents langages plus ou moins évolués. • Le langage assembleur est le langage le plus « proche » du langage machine. Il est composé par des instructions en général assez rudimentaires que l’on appelle des mnémoniques. Ce sont essentiellement des opérations de transfert de données entre les registres et l'extérieur du microprocesseur (mémoire ou périphérique), ou des opérations arithmétiques ou logiques. Chaque instruction représente un code machine différent. Chaque microprocesseur peut posséder un assembleur différent. • La difficulté de mise en œuvre de ce type de langage, et leur forte dépendance avec la machine a nécessité la conception de langages de haut niveau, plus adaptés à l'homme, et aux applications qu'il cherchait à développer. Faisant abstraction de toute architecture de machine, ces langages permettent l'expression d'algorithmes sous une forme plus facile à apprendre, et à dominer (C, Pascal, Java, etc.…). Chaque instruction en langage de haut niveau correspondra à une succession d’instructions en langage assembleur. Une fois développé, le programme en langage de haut niveau n’est donc pas compréhensible par le microprocesseur. Il faut le compiler pour le traduire en assembleur puis l’assembler pour le convertir en code machine compréhensible par le microprocesseur. Ces opérations sont réalisées à partir de logiciels spécialisés appelés compilateur et assembleur. Performances d’un microprocesseur • 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 : o 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é. o Le MIPS (Millions d'Instructions Par Seconde) qui représente la puissance de traitement du 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é).
  • 2. Notion d’architecture CISC et RISC • Actuellement l’architecture des microprocesseurs se compose de deux grandes familles : o L’architecture CISC (Complex Instruction Set Computer) o L’architecture RISC (Reduced Instruction Set Computer) L’architecture CISC pourquoi • CISC est l’architecture la plus ancienne, était la seule envisageable pour les machines à microprocesseur. • En effet, vu 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 proches de la structure de ces langages. comment • 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). L’architecture RISC pourquoi • 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. comment • 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
  • 3. niveau. comparaison Le choix dépendra des applications visées. En effet, si on diminue le nombre d'instructions, on crée des instructions complexes (CISC) qui nécessitent plus de cycles pour être décodées et si on diminue le nombre de cycles par instruction, on crée des instructions simples (RISC) mais on augmente alors le nombre d'instructions nécessaires pour réaliser le même traitement. Amélioration de l’architecture de base • L'ensemble des améliorations des microprocesseurs visent à diminuer le temps d'exécution du programme : 1. 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. 2. Une autre possibilité d’augmenter la puissance de traitement d’un microprocesseur est de diminuer le nombre moyen de cycles d’horloge nécessaire à l’exécution d’une instruction : o 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. o Une autre solution est d’utiliser une architecture de microprocesseur qui réduise le nombre de cycles par instruction. Architecture Pipeline principe • L’exécution d’une instruction est décomposée en une succession d’étapes et
  • 4. chaque étape correspond à l’utilisation d’une des fonctions du microprocesseur. Lorsqu’une instruction se trouve dans l’une des étapes, les composants associés aux autres étapes ne sont pas utilisés. Le fonctionnement d’un microprocesseur simple n’est donc pas efficace. • L’architecture pipeline permet d’améliorer l’efficacité du microprocesseur. En effet, lorsque la première étape de l’exécution d’une instruction est achevée, l’instruction entre dans la seconde étape de son exécution et la première phase de l’exécution de l’instruction suivante débute. • Il peut donc y avoir une instruction en cours d’exécution dans chacune des étapes et chacun des composants du microprocesseur peut être utilisé à chaque cycle d’horloge. • Une machine pipeline se caractérise par le nombre d’étapes utilisées pour l’exécution d’une instruction, on appelle aussi ce nombre d’étapes le nombre d’étages du pipeline Gain de performance • Dans cette structure, la machine débute l’exécution d’une instruction à chaque cycle et le pipeline est pleinement occupé à partir du quatrième cycle. • Le gain obtenu dépend donc du nombre d’étages du pipeline. • En effet, pour exécuter n instructions, en supposant que chaque instruction s’exécute en k cycles d’horloge, il faut : o n.k cycles d’horloge pour une exécution séquentielle. o k cycles d’horloge pour exécuter la première instruction puis n-1 cycles pour les n-1 instructions suivantes si on utilise un pipeline de k étages. Donc lorsque le nombre n d’instructions à exécuter est grand par rapport à k, on peut admettre qu’on divise le temps d’exécution par k. Exemples : • Les Pentium 2, 3 et 4 d’Intel comprennent respectivement un pipeline de 10, 12 et 20 étages. Notion de cache mémoire Principe • Depuis le début des années 80, une des solutions utilisées pour masquer cette latence est de disposer une mémoire très rapide entre le microprocesseur et la mémoire. Elle est appelée cache mémoire. • On compense ainsi la faible vitesse relative de la mémoire en permettant au microprocesseur d’acquérir les données à sa vitesse propre. • Au départ cette mémoire était intégrée en dehors du microprocesseur mais elle fait maintenant partie intégrante du microprocesseur. • Le principe de cache est très simple : le microprocesseur n’a pas conscience de sa présence et lui envoie toutes ses requêtes comme s’il agissait de la mémoire principale: o Soit la donnée ou l’instruction requise est présente dans le cache et elle est alors envoyée directement au microprocesseur. On parle de succès de cache. o Soit la donnée ou l’instruction n’est pas dans le cache, et le contrôleur de cache envoie alors une requête à la mémoire principale. Une fois l’information récupérée, il la renvoie au microprocesseur tout en la stockant dans le cache. On
  • 5. parle de défaut de cache. Architecture superscalaire • Une autre façon de gagner en performance est d’exécuter plusieurs instructions en même temps. • L'approche superscalaire consiste à doter le microprocesseur de plusieurs unités de traitement travaillant en parallèle. • Les instructions sont alors réparties entre les différentes unités d'exécution. Remarque : C'est le type d'architecture mise en œuvre dans les premiers Pentium d'Intel apparus en 1993. Architecture pipeline et superscalaire • Le principe est d’exécuté les instructions de façon pipeliné dans chacune des unités de traitement travaillant en parallèle. Etude du processeur 8088 • Le processeur 8086 d'Intel est à la base des processeurs Pentium actuels. Les processeurs successifs (de PC) se sont en effet construits petit à petit en ajoutant à chaque processeurs des instructions et des fonctionnalités supplémentaires, mais en conservant à chaque fois les spécificités du processeur précédent. Architecture externe du 8088
  • 6. • Nombre de broches : 40. • Bus de données de AD0 à AD7 : 8 broches. • Bus d’adresses de AD0 à AD7 et de A8 à A19 : 20 broches. (AD0 à AD7 représente à la fois le bus de données et une partie du bus d’adresses). • Capacité de la mémoire centrale adressable est : 220bit = 1 MégaOctet. • L’adresse d’un mot mémoire est sur 5 bits : de 00000 H à FFFFF H. Bus de Commande: : Broche de lecture mémoire ou interface.
  • 7. Si le microprocesseur effectue une lecture de données à partir de la mémoire ou d’une interface d’E/S. WR : Broche d’écriture. Si le microprocesseur effectue une écriture dans la mémoire ou dans l’interface d’E/S. : Broche de selection. Si c’est la mémoire qui est sélectionnée pour une lecture ou une écriture. Si c’est l’interface qui est sélectionnée pour une lecture ou une écriture. • ALE : validité du bus d’adresse AD0 à AD7. o Si ALE = 1, AD0 à AD7 représente l’octet faible d’une adresse : AD0 à AD7 et AD8 à AD19 (20 broches). o Si ALE = 0, AD0 à AD7 représente le bus de données. • READY : Broche de synchronisation. o Si READY = 1, la mémoire ou l’interface d’E/S est prête à recevoir des informations où à fournir des informations au microprocesseur. o Si READY = 0, mémoire où interface d’E/S non prête pour le dialogue.
  • 8. • INTR : Interruption masquable (considérée ou non par le microprocesseur). o Si INTR = 1, une interruption est demandée. Remarque : au niveau du registre d’état, il y a un bit appelé IF. Il est utilisé pour accepter l’interruption demandée. • Si IF = 1, l’interruption sera prise en compte par le microprocesseur → saut au sous programme de dialogue : microproc – Interface d’E/S. • Si IF = 0, l’interruption ne sera pas prise en compte par le microprocesseur → pas de saut au sous programme de dialogue : microproc – Interface d’E/S. Si INTR est acceptée → INTR = 1 et IF = 1. • : Broche de réponse o Si , pour informer l’interface d’E/S que l’interruption demandée a été acceptée. • NMI : Broche d’interruption non masquable. o Si NMI = 1, saut obligatoire à un sous programme de dialogue avec l’interface d’E/S qui a générée l’interruption NMI. • HOLD : Broche de demande des bus de données, d’adresses et de commande. o Si HOLD = 0, les bus de données, d’adresses et de commande effectuent la
  • 9. liaison entre le microprocesseur et la mémoire. → Echange d’information entre le microprocesseur et la mémoire. o Si HOLD = 1, le contrôleur du disque dur demande les bus de données, d’adresses et de commande (liaison entre le contrôleur et la mémoire). → Echange d’information entre le contrôleur et la mémoire. Utilisation : dans le cas d’un transfert d’une grande quantité d’informations entre une interface d’E/S et la mémoire. Ceci pour augmenter la vitesse de transfert d’informations. • HOLDA : Broche de réponse à HOLD. o Si HOLDA = 1, le microprocesseur informe l’interface qu’il est déconnecté de ses bus. → Elle pourra faire l’échange d’informations avec la mémoire Architecture interne du 8088 Il existe deux unités internes distinctes: l'UE (Unité d'Exécution) et l'UIB (Unité d'Interfaçage avec le Bus). UIB • Elle est constituée d’un ensemble de registres d’adressage, d’un générateur d’adresse (compteur ordinal) et d’une file d’attente (registre d’instruction), son rôle est de chercher séquentiellement les instructions et les données stockées dans la mémoire. UE • Elle est destinée au traitement de données, elle se compose essentiellement d’une UAL, d’une unité de commande et des registres opérationnels et d’adressage. Son rôle est de lire les instructions stockées dans la file d’attente pour décodage et d’exécution. Les registres du 8088 • Un registre est une petite partie de mémoire intégrée au microprocesseur, dans le but de recevoir des informations spécifiques, notamment des adresses et des données stockées durant l'exécution d'un programme. • Les registres peuvent être utilisés dans toutes les opérations arithmétiques et logiques que le programmeur insère dans le code assembleur. • Un registre complet présente une grandeur de 16 bits. • chaque registre est en réalité divisé en deux registres distincts de 8 bits. • De cette façon, nous pouvons utiliser une partie du registre si nous désirons y stocker une valeur n'excédant pas 8 bits. • Si, au contraire, la valeur que nous désirons y ranger excède 8 bits, nous utiliserons le registre complet, c'est à dire 16 bits. • Le programmeur dispose de 8 registres internes de 16 bits qu'on peut diviser en deux groupes : o Groupe de données : formé par 4 registres de 16 bits (AX, BX, CX, et DX) chaque registre peut être divisé en deux registres de 8 bits (AH, AL, BH, BL, CH, CL, DH et DL). o Groupe de pointeur et indexe : formé de 4 registres de 16 bits (SI, DI, SP, BP) et font généralement référence à un emplacement en mémoire.
  • 10. Groupe de données Registre AX : (Accumulateur) • Toutes les opérations de transferts de données avec les entrées-sorties ainsi que le traitement des chaînes de caractères se font dans ce registre, de même les opérations arithmétiques et logiques. Registre BX : (Registre de Base) • Il contient une adresse de décalage par rapport à une adresse de référence. Par exemple, l'adresse de début d'un tableau. Registre CX : (Le Compteur) • Lors de l'exécution d'une boucle on a souvent recours à un compteur de boucles pour compter le nombre d'itérations, le registre CX a été fait pour servir comme compteur lors des instructions de boucle. Registre DX : • On utilise le registre DX pour les opérations de multiplication et de division mais surtout pour contenir le numéro d'un port d'entrée/sortie pour adresser les interfaces d'E/S. Groupe de pointeurs et indexes • Ces registres sont plus spécialement adaptés au traitement des éléments dans la mémoire. Ils sont en général munis de propriétés d'incrémentation et de décrémentation. Registre SP : pointeur sommet de la pile (Stack Pointer) • Une pile est un ensemble de cases mémoire définie dans une RAM pour stocker temporairement les données d’un programme et les contenues des registres interne du microprocesseur. Elle est utilisée dans le cas d’une rupture de séquence d’un programme, saut à un sous programme ou appel à une procédure. • Si on n’effectue pas l’empilement des registres interne (AX, BX, CX et DX) utilisés par un programme, leurs contenues peuvent être détruits par les instructions du sous programme ou de la procédure appelée. • Le registre SP (Pointeur de Pile) à une longueur de 16 bits, il permet l’adressage des cases mémoire de la pile. Il pointe toujours sur la première case mémoire libre de la pile. • La pile a une structure LIFO (Last In First Out), dernier entré premier sortie, ainsi : o Lors d’un empilement du contenu d’un registre interne, le contenu du registre SP est décrémenté par 2 (SP=SP-2). o Lors du dépilement, le contenu du registre SP est incrémenté par 2 (SP=SP+2). Registre SP : pointeur sommet de la pile (Stack Pointer) • Une pile est un ensemble de cases mémoire définie dans une RAM pour stocker temporairement les données d’un programme et les contenues des registres interne du microprocesseur. Elle est utilisée dans le cas d’une rupture de séquence d’un programme, saut à un sous programme ou appel à une procédure. • Si on n’effectue pas l’empilement des registres interne (AX, BX, CX et
  • 11. DX) utilisés par un programme, leurs contenues peuvent être détruits par les instructions du sous programme ou de la procédure appelée. • Le registre SP (Pointeur de Pile) à une longueur de 16 bits, il permet l’adressage des cases mémoire de la pile. Il pointe toujours sur la première case mémoire libre de la pile. • La pile a une structure LIFO (Last In First Out), dernier entré premier sortie, ainsi : o Lors d’un empilement du contenu d’un registre interne, le contenu du registre SP est décrémenté par 2 (SP=SP-2). o Lors du dépilement, le contenu du registre SP est incrémenté par 2 (SP=SP+2)