[PDF] [PDF] cours 10 processeurpdf - Les pages perso du LIG





Previous PDF Next PDF



Chapitre 2

Processeur contient deux registres spéciaux. • Registre d'instruction (RI) Extraction de l'instruction à l'adresse contenue dans le registre PC.



CPU et mémoire

Exécute les instructions machines en utilisant les registres et l'UAL. Le bus de communication interne centrale et le processeur (registre) ...



But de ce sujet Les registres du processeur

Introduction à l'assembleur http://www.courstechinfo.be/Programmation/IntroASM.pdf. 2. CX "count register"est implicitement le registre compteurs de boucles 



LE MICROPROCESSEUR 8086 ) 8088

Le processeur 8086 d'Intel est à la base des processeurs Pentium actuels. Les Un registre est une petite partie de mémoire intégrée au.



4. Initiation à lassembleur

instructions machine. Par exemple add eax



8. Introduction a larchitecture ARM.key

98% de téléphones portables contiennent au moins 1 processeur ARM Accès à la mémoire régit par le contenu des registres et par les instructions.



Jeu dinstructions

du processeur vers la mémoire et vice versa ainsi qu'entre registres du processeur. ? Taille du mot mémoire ? 16? 32? 64 bits? ? Arithmétiques.



Architecture des ordinateurs - Licence Informatique - Université de

On trouve au sein d'un processeur : des éléments de mémorisation : (banc de) registres - cache des éléments de calcul : unité arithmétique et logique 



Fonctionnement et performance des processeurs

Lecture en mémoire ou des registres pour envoyer les opérandes à l'unité de calcul ou d'accés en mémoire Registre = mots mémoire internes au processeur.



Cours dArchitecture des ordinateurs

6.5.1 Registre élémentaire . 6.5.2 Registre `a décalage . ... Le processeur traite des informations ; les registres sont utilisés pour stoker ...



[PDF] CPU et mémoire

Registre (ou l'ensemble de registres) utilisé pour la manipulation des données D'habitude contient les résultats des opérations arithmétiques ou logiques Page 



[PDF] Architecture des ordinateurs

Architecture de von Neumann • Processeur • Gère l'allocation du BUS • Décode et exécute les instructions • Possède une petite mémoire locale (registres)



[PDF] But de ce sujet Les registres du processeur - CoursTechInfo

http://www courstechinfo be/Programmation/IntroASM pdf Les registres décrits ci-dessous sont les registres du 8086 l'ancêtre des processeurs qui sont



[PDF] Etapes dexécution des instructions

réaliser l'étape d'exécution – LI: accès à la file d'instructions – DE : accès aux registres – CA : unité de calcul – ER : accès registre et mémoire de 



[PDF] INTRODUCTION - IUT de Bayonne

13 à 2 13 2 Espace mémoire 16K 64K 64K 64K Registres d'usage général L'instruction WAI provoque l'arrêt du processeur jusqu'à ce qu'arrive une 



[PDF] chapitre 3- le processeur 1 introduction - ecosys

La taille des registres dépend de l'architecture mais est généralement de quelques octets et correspond au nombre de bit de l'architecture (exemple un



[PDF] Types et performances des processeurs

mémoire et stockée dans un autre registre du processeur: le IR (Instruction PC ? PC+1 différents champs est appelée le format de l'instruction



[PDF] 7 Les processeurs - Inria

le processeur dispose d'un registre appelé PC ( Program Counter) qui contient l'adresse en mémoire de la prochaine instruction à exécuter ; le processeur 



[PDF] cours 10 processeurpdf - Les pages perso du LIG

1 LE PROCESSEUR Introduction • Exécution d'instructions machines Un seul registre de calcul appelé ACC (Accumulateur) • Jeu d'instructions!:



[PDF] Microprocesseur - Cours tutoriaux et travaux pratiques

Chacun des bits du registre d'état est un indicateur d'état ou flag (drapeau) Exemple : registre d'état du microprocesseur Z80 : 0 1

  • Quels sont les registres d'un processeur ?

    Il existe ainsi deux types de registres : les registres architecturaux, manipulables par des instructions, et les registres internes aux processeurs. Ces derniers servent à simplifier la conception du processeur ou mettre en œuvre des optimisations de performance.
  • Quel est le rôle de registres dans un processeur ?

    Un registre de processeur est l'un des plus petits emplacements de stockage de données du processeur. Un registre peut contenir une instruction, une adresse de stockage ou toute autre donnée (une séquence de bits ou des caractères individuels, par exemple).
  • Quels sont les registres généraux ?

    Registres généraux
    Ceux-ci peuvent stocker indifféremment des adresses, des entiers, des flottants, etc. Par exemple, le Motorola 68000 dispose de 8 registres de données banalisés (D0 à D7) et de 8 registres d'adresses (A0 à A7, banalisés sauf A7 qui sert de pointeur de pile).
  • Ainsi, selon la largeur de ces registres (sur les nombres entiers) on parlera de microprocesseur 8 bits, 16 bits, 32 bits, et actuellement 64 bits, bien qu'il existe des processeurs spécialisés, notamment les GPU (cartes graphiques) capables de monter plus haut.

Le processeur

© P. Sicard-Cours ALM 10

1

LE PROCESSEUR

Introduction

•Exécution d'instructions machines •Instructions et données des programmes se trouvent dans une mémoire (Architecture de Von Neuman - 1948) •Machine algorithmique particulière

1100 0010

1101 0010

1100 0010

10001111

10101010

0taille -1AdressesBus adressesBus donnéesMémoire vive (RAM)RIRegistresdecalculsPCUALProcesseur

Instructions

machines

Données

Le processeur

© P. Sicard-Cours ALM 10

2

LE PROCESSEUR

Le processeur

© P. Sicard-Cours ALM 10

3

Brève historique

•Processeurs dans les micro-ordinateurs AnnéeNom (fabriquant)Bus données/adrHorlogeOrdinateur

1975-80

6502 (MOS

technologie)

8 /16 bits1 Mhz

Atari-Apple II-

Commodore 64

19798088 (Intel)8/16 bits5 MhzPC19808086(Intel)16/16 bits5 MhzPC1980-9068000(Motorola)16/24 bits8 puis 16 MhzMAC

1990

80386 puis

80486 (Intel)

32/32 bits25 puis 50 MhzPC1995

PowerPC (Apple-

IBM-Motorola)

32/64 bits50 puis 100MAC

1995Pentium (Intel)32/6460PC2000PowerPC/Pentium32/36300MAC/PC

2006

Core/core duo

(Intel)

32/361 à 3 GigaHzMAC et PC

2010Core i7 (Intel)64/643 à 4 GigaHzMAC et PC

Le processeur

© P. Sicard-Cours ALM 10

4

Evolution processeur (Source Intel)

10 µm6 µm3 µm1,5 µm1 µm0.8 µm0.25 µm0.18 µm90 nm65 nm45 nm

Taille du transistor (micro: 10

-6 mètre, nano 10 -9 mètre)

Le processeur

© P. Sicard-Cours ALM 10

5

Architecture générale

•CISC: Complexe Instruction Set Computer •Jeu d'instructions complexe pour "aider" les compilateurs •Nombreux modes d'adressage •Instructions de tailles différentes •Instructions de durées différentes •Jusqu'en 1995 •RISC: Reduce Instruction Set Computer •Jeu d'instructions restreint •Permet de "pipeliner" l'exécution des instructions •Plusieurs instructions s'exécute en même temps •Chacune est dans une phase différente à un moment donné •Exemple: ARM : 4 phases •Instructions de taille unique •Instructions de durée unique (pas tout à fait vrai pour load/ store) •A partir du PowerPC et du Pentium

Le processeur

© P. Sicard-Cours ALM 10

6

Algorithme du processeur

•Soit Mem le tableau représentant la mémoire •Soit PC la variable contenant l'adresse de l'instruction en cours d'exécution •Soit RI une variable contenant l'instruction machine à exécuter •Le jeu d'instruction du processeur est composé de N instructions

•PC=0!; /*il faut bien commencer quelque part, la première instruction doit être à l'adresse 0

en mémoire*/ •Tant que vrai faire -RI=Mem[PC]!; /*Une instruction!: 1 mot mémoire, variable suivant les processeurs*/ -PC=PC +1!; /*On passe à l'instruction suivante, cas particulier pour les branchements

PC = adresse de branchement*/

-Suivant RI!:

Instruction1!: exécuter instruction1

Instruction2!: exécuter instruction2

InstructionN!: exécuter instructionN

Le processeur

© P. Sicard-Cours ALM 10

7 •Définition des caractéristiques du processeur -Définition de la taille des données et des adresses(Bus) -Définition du jeu d'instructions!: opérations possibles, registres, mode d'adressage, instructions spéciales pour langage haut niveau (saut à sous programme...) -Choix du codage des instructions (taille des instructions) • Exemple!: " -ARM !: 32 bits d'adresse, données 32!; instructions sur 32 bits -68000!: adresse sur 24 ou 32 bits, données sur 8 ou 16 bits, instructions sur 8,16, 24 32,64 bits

Le processeur

© P. Sicard-Cours ALM 10

8

Etude sur un processeur "Ecole"

•Taille des données!et des adresses: 1 mot (par exemple 8 bits) •-> Taille maximale de la mémoire 256 octets •Instructions sur 2 mots •Un seul registre de calcul appelé ACC (Accumulateur) •Jeu d'instructions!: -Load "#Vi!"! Acc= Vi (Valeur immédiate) -St "Adresse"! Mem[Adresse]=Acc -Jmp"Ad" ! PC=Ad, difference avec le ARM!: déplacement -Add"Ad" ! Acc!=Acc+ Mem[Ad]

Le processeur

© P. Sicard-Cours ALM 10

9

Codage des instructions

•Format et codage des instructions •Mot1, Mot2 •Mot1 contient le code opération -4 valeurs!(en décimal): Load!: 0 , St!: 1, Jmp!: 2, Add!: 3 •Mot2 contient -soit la valeur immédiate (Load), -soit l'adresse(St, Jmp, Add) •Exemple de programme en assembleur "!Ecole!» -Adresse Contenu

0" 0"" Load # 3

1" 3

2" 3""Etiq1!: "Add [5]

3" 5

4" 2"" Jmp Etiq1

5" 2

Le processeur

© P. Sicard-Cours ALM 10

10

Algorithme détaillé du processeur Ecole

•PC=0!; •Tant que vrai faire -RI1=Mem[PC]!; -PC=PC +1!; -RI2=Mem[PC]!;"/*Instruction sur 2 mots ! 2 registres instr*/ -PC=PC +1!; -Suivant RI1!: • 0!: ACC=RI2 """ /* Load */ • 1!: Mem[RI2]=ACC"" /* Store */ • 2!: PC=RI2"""" /* Jump */ • 3!: ACC=ACC+ Mem[RI2]" /* Add */

Le processeur

© P. Sicard-Cours ALM 10

11

Architecture PC/PO

•Registres!: PC, RI1, RI2, ACC •Operations!: •+1, •Addition, •Calcul des conditions RI1= 0, 1 , 2, 3!? •Entrées sorties!: bus données (E/S), Bus adresse (S) •On suppose que la lecture/écriture en mémoire peut se passer en 1 cycle d'horloge du processeur. •Poignée de main simplifiée pour les E/S, plus besoins de signaux

EntréePrise et SortiePrise.

Le processeur

© P. Sicard-Cours ALM 10

12

La partie opérative

PO "standard"

RI2PCBus opérande2Bus opérande1Bus RésultatRI1ACC

Le processeur

© P. Sicard-Cours ALM 10

13

Load : ACC=RI2

"RI2 ! Opérande 1, "Bus Resultat ! ACC RI2PCBus opérande2Bus opérande1Bus RésultatRI1ACC

Opération de l'UAL : RES=Opérande 1

Le processeur

© P. Sicard-Cours ALM 10

14

Jump: PC=RI2

"RI2 ! Opérande 1 "Bus Resultat ! PC

Opération de l'UAL : RES=Opérande 1

RI2PCBus opérande2Bus opérande1Bus RésultatRI1ACC

Le processeur

© P. Sicard-Cours ALM 10

15

Add: ACC= ACC + Mem[RI2]

"RI2 ! Bus Adresse, "Bus Donnée ! opérande 2 "ACC ! opérande 1 "Bus Resultat ! ACC Opération de l'UAL : RES=Opérande 1 + Opérande 2

RI2PCBus opérande1Bus RésultatRI1ACC

Bus adresseBus donnéeBus opérande2

Le processeur

© P. Sicard-Cours ALM 10

16

Store: Mem[RI2]=ACC

"RI2 ! Bus Adresse, "ACC ! Bus Donnée

Opération de l'UAL : Indifférent

RI2PCBus opérande1Bus RésultatRI1ACC

Bus adresseBus donnéeBus opérande2

Le processeur

© P. Sicard-Cours ALM 10

17

RI1=Mem[PC], RI2=Mem[PC]

"PC ! Bus Adresse, "Bus Donnée ! Opérande2 "Bus Résultat ! RI1 ou RI2

Opération de l'UAL : Res=Opérande 2

RI2PCBus opérande1Bus RésultatRI1ACC

Bus adresseBus donnéeBus opérande2

Le processeur

© P. Sicard-Cours ALM 10

18

PC= PC+1

"PC ! Opérande1, "Bus Resultat ! PC

Opération de l'UAL : Res=Opérande 1 + 1

RI2PCBus opérande1Bus RésultatRI1ACC

Bus adresseBus donnéeBus opérande2

Le processeur

© P. Sicard-Cours ALM 10

19

SUIVANT RI1:

Pris directement dans RI1 , inutile de passer dans l'UAL (1 état supplémentaire dans la PC)

00, 01, 10 et 11!:"Bit0RI1 / Bit1RI1

Opération de l'UAL : Indifférent

RI2PCBus opérande1Bus RésultatRI1ACC

Bus adresseBus donnéeBus opérande2

2 bits poids

faible de RI1

Le processeur

© P. Sicard-Cours ALM 10

20

La partie opérative

•En résumé 4 opérations dans l'UAL!: - Res=op1+op2 - Res=op1+1! - Res=op1 - Res=op2 •Il faut rajouter les signaux de contrôle -Commandes des sélections des bus opérande 1 et 2 -Liaison Bus Interne/externe (Adresse et donnée) -OpUAL -Chargement/initialisation registres

Le processeur

© P. Sicard-Cours ALM 10

21

La partie opérative avec les signaux de

contrôle

2 bits Poids

faible vers partie contrôle RI2PCBus opérande2Bus opérande1Bus Résultat chPCOpUALSRI2op1RI1ACCchACCResetPC Bus adresseBus donnéePCAdRi2AdchRI2chRI1SACCop1SACCop2SPCop1

Le processeur

© P. Sicard-Cours ALM 10

22

La partie contrôle

Le processeur

© P. Sicard-Cours ALM 10

23

Exemples: Signaux de contrôle

•Signaux mentionnés à 1 •Etat ACC=ACC+Mem[RI2]

SACCop1, (ACC ! BusOpérande1)

Op2Don, Ri2Ad, ReadMemoire (Mem[RI2] ! BusOpérande2) OpUAL: code pour l'addition (BusOpérande1+ BusOpérande ! BusRésultat) chACC (BusRésultat ! ACC) •Etat: Mem[RI2]=ACC

SACCop2, Op2Don, (ACC ! Busdonnée)

RI2Ad, WriteMemoire (BusDonnée ! Mem[RI2])

Le processeur

© P. Sicard-Cours ALM 10

24

Améliorations

•Parallélisation de calcul -RI2=Mem[PC] // PC=PC+1 -RI1=Mem[PC] // PC=PC+1 -On gagne 2 périodes d'horloge •Il faut rajouter dans la PO!: -Le bus donnée doit arriver à l'entrée de RI1 et RI2 sans passer par l'UAL -Du coup, le bus résultat ne doit plus arriver à l'entrée de RI1 et RI2 -On n'a plus besoin de l'opération Res=op2 dans l'UAL

Le processeur

© P. Sicard-Cours ALM 10

25

La partie opérative bis

2 bits Poids

faible vers PC RI2PCBus opérande2Bus opérande1Bus RésultatchPCOpUALSRI2op1RI1ACCchACCResetPC Bus adresseBus donnéePCAdRi2AdchRI2chRI1SACCop1SACCop2PCop1

Le processeur

© P. Sicard-Cours ALM 10

26

La partie contrôle bis

Le processeur

© P. Sicard-Cours ALM 10

27

Extension du jeu d'instructions

• Un branchement conditionnel!suivant le flag N (branchement si négatif en complément à 2) - BrN adresse - Code 5

Le processeur

© P. Sicard-Cours ALM 10

28

Amélioration

• Un état inutile et un état commun avec l'instruction jmp InitPC=0RI1=Mem[PC]//PC=PC+1RI1=5 et NRI1=3PC=RI2RI1=2RI1=1RI1=0RI1=5 et NRI2=Mem[PC]//PC=PC+1

Le processeur

© P. Sicard-Cours ALM 10

29

Modification de la PO

• Flag N donné par l'UAL • Mémorisation du flag N dans une bascule (commande ChFlag) - Par exemple lors d'instructions de calcul (AddS du ARM), chargement de la bascule dans l'état du calcul du AddS • Sortie de la bascule vers la partie contrôle

OpUALBasc

vers la Partie

Contrôle

ChFlag

Le processeur

© P. Sicard-Cours ALM 10

30

Extension du jeu d'instructions

Instructions de calcul

•On augmente le nombre d'opérations de calcul possible!: add, sub, and, or ... •On peut choisir un code quelconque pour ces instructions •Un état par opérations de calcul après l'éclatement •On peut essayer de simplifier l'automate (au détriment de la PO) en se servant du code de l'instruction comme entrée des commandes de l'UAL. Il n'y a plus qu'un état pour ces 4 opérations. •Attention il faut rajouter un signal de commande supplémentaire permettant d'utiliser ou non cette fonctionnalité

Le processeur

© P. Sicard-Cours ALM 10

31

Instructions de calcul

• Exemple!: -Instructions: jmp, st, load, add, sub, or, and -Changement du codage des instructions: • Champ OpCalcul dans l'instruction •1 bit pour déterminer le type d'instruction (calcul ou autres) •Choix des codes des instructions (en binaire) •add 000 •sub 001 •or 010 •and 011 •jmp 100 •st 101 •load 110

Champ OpCalculChamp "Type d'instruction"

Le processeur

© P. Sicard-Cours ALM 10

32

Instructions de calcul

• UAL conçu en fonction du choix des codes des instructions!: - Opération à effectuer dans l'UAL (sur 3 bits): • Res= op1+op2 000 • Res= op1-op2 001 • Res= op1 or op2 010 • Res= op1 and op2 011 • Res= op1+1! 100 • Res= op1 101

Le processeur

© P. Sicard-Cours ALM 10

33

Extension du jeu d'instructions

• Le calcul effectué dans l'UAL est défini - Soit directement par les 2 bits de poids faible de RI1, - Soit par les 2 bits envoyés par la PC; par exemple pour Etat1 : opUAL= 100 (Incr)

InitEtat1

PC=0RI1=Mem[PC]//PC=PC+1

ACC=ACC op Mem[RI2]

SelOpCalcul

calcul OpUAL (états autre que calcul)

2 bits poids faible

de RI1

SelOpCalculUAL1 0

2

SelOpCalcul

Le processeur

© P. Sicard-Cours ALM 10

34

Augmentation du nombre de registres de

calcul

On veut avoir N registres Reg

j de calcul au lieu d'un seul - Toute les instructions avec ces registres: • store Reg j , Adresse • add Reg j , Adresse • load Reg j , Vimmediate -Si on ajoute un état par instruction possible, le nombre d'états devient très grand -Même idée que précédemment on n'utilise qu'un seul état, le choix du registre est déterminé directement dans la PO -On ajoute dans l'instruction un champ "!Numéro de registre!» -On sélectionne le registre à envoyer sur les bus opérandes grâce à ce champ et à un décodeur (idem pour le choix du registre à charger)

Le processeur

© P. Sicard-Cours ALM 10

35

Augmentation du nombre de registres

• Changement du codage des instructions -16 registres: Reg0 à Reg15 -Champ "No Registre" (4 bits), Champ "Type intructions",

Champ OpCalcul

• store Rj : NoRegistre, 1, 00 (indifférent) • add, sub, or, and Rj : NoRegistre, 0, Opcalcul • load Rj, Vi : NoRegistre, 1, 00 (indifférent) • jmp : 0000 (indifférent), 1, 00 (indifférent)

OpCalculType d'instruction

No Registre

Le processeur

© P. Sicard-Cours ALM 10

36

Augmentation du nombre de registres

•Il faut que le chargement et la sélection des registres sur les bus n'est lieu que dans les états où les registres sont concernés: commandes supplémentaires de la PC : Regload, RegBus1, RegBus2

Bus Résultat

Regquotesdbs_dbs16.pdfusesText_22
[PDF] sphère armillaire achat

[PDF] difference entre registre et memoire

[PDF] sphere armillaire

[PDF] registre d'adresse

[PDF] sphère armillaire ancienne

[PDF] registre dinstruction processeur

[PDF] astrolabe

[PDF] circulaire douane maroc 2017

[PDF] dedouanement jet ski maroc prix

[PDF] admission temporaire définition

[PDF] relativité générale cours et exercices corrigés pdf

[PDF] dotation touristique maroc 2016

[PDF] cours de relativité générale

[PDF] les niveaux de langue exercices ? imprimer

[PDF] les registres de langue cycle 3