Professional Documents
Culture Documents
Jean-Marc Talbot
jtalbot@cmi.univ-mrs.fr
257 / 313
258 / 313
Au coeur du processeur
On trouve au sein dun processeur : ements des el de memorisation : (banc de) registres - cache ements arithmetique des el de calcul : unite et logique (UAL-ALU) de calcul ottant (FPU - Floating Point Unit) unites ements de controle/commande des el de commandes : unite
Processeur : description
259 / 313
260 / 313
de calcul Unite
arithmetique Unite et logique : ALU calculs sur les entiers - operations booleennes de calcul ottant : (FPU - Floating Point Unit) Unite calculs sur les ottants : sqrt, sin, ... multimedia unite : en calcul vectoriel (meme instruction sur plusieurs donnee ` parallele) Intel MMX et SSE, AMD 3DNow ! au sein dun processeur : Plusieurs unites 3 ALU au sein du Pentium
de Provence () L3 Informatique - Universite Architecture des ordinateurs 261 / 313
qui coordonne le fonctionnement des autres el ements unite pour executer la sequence dinstructions constituant le programme. ` pour executer une instruction, deux cycles se succedent
` executer recherche de linstruction a execution de linstruction
262 / 313
: Constitue ements un horloge qui permet la synchronisation des el et des enements ` ev ` executer un decodeur qui determine les operations a en fonction du code de linstruction. un sequenceur qui declenche et coordonne les differentes operations pour realiser linstruction
265 / 313
266 / 313
Cycle de recherche :
` dans RI linstruction a ` executer ` ladresse On recup ere (celle a contenue dans PC ) On incremente de compteur ordinal PC
PC
80000
RI
PC
de Provence () L3 Informatique - Universite Architecture des ordinateurs 267 / 313 de Provence () L3 Informatique - Universite
80004
268 / 313
Horloge
denit le cycle de base : cycle machine pour synchroniser chaque etape utilisee des cycles de recherche et dexecution Lexecution du cycle de recherche ou dexecution prend un certain nombre de cycle de base (dependant de linstruction) Cycle CPU = temps dexecution minimal dune instruction (recherche + execution)
6 Le faire (Sequenceur )
LALU ajoute les deux operandes et place le resultat dans son registre de sortie e dans le le contenu du registre de sortie de lALU est transfer registre $1
de Provence () L3 Informatique - Universite Architecture des ordinateurs 269 / 313
270 / 313
Sequenceur (I)
Sequenceur = machine de Mealy recevant des informations du decodeur et des signaux detats (entrees) produisant des signaux de commandes controlant les differentes unites
Sequenceur (II)
e : Sequenceur cabl
avec des portes logiques circuit sequentiel (synchrone) realis e selon le Un sous-circuit pour chaque instruction, sous-circuit active par le decodeur. code envoye
271 / 313
272 / 313
Un chemin de donnees est deni par lensemble des composants requis pour lexecution dune instruction : PC, UAL, banc de registres, memoire, ... Liens entre ces composants : ux de donnees, signaux de partagees, lecture/ecriture, multiplexage des unites .... Selon les instructions, les composants requis et les liens existants entre eux varient
273 / 313
274 / 313
275 / 313
276 / 313
Memoire dinstructions
Compteur programme
Additionneur
Memoire de donnees
Extension signee
277 / 313
278 / 313
5 bits rs rs
5 bits 5 bits 5 bits 6 bits rt rd sa funct rt adresse sur 16 bits adresse sur 26 bits
Registres
ALU
279 / 313
280 / 313
lecriture le signal RegWrite controle dans le banc de registres ALUoperation decrit le type de calcul realis e le signal Zero est emis si le calcul vaut 0
Le signal MemRead est activite. adresse 16 bits est un deplacement relatif signe les signaux MemWrite et MemRead controlent respectivement lecriture et la lecture dans la memoire
de Provence () L3 Informatique - Universite Architecture des ordinateurs 282 / 313
281 / 313
283 / 313
284 / 313
ALUop 00 00 01 10 10 10 10 10
funct
286 / 313
de controle Lunite
RD registre dinstruction RI, registre de donnees A,B et un registre de une seule ALU avec des registres dentrees sortie ALUout
de Provence () L3 Informatique - Universite Architecture des ordinateurs 287 / 313 de Provence () L3 Informatique - Universite Architecture des ordinateurs 288 / 313
Etape
Type R
Branchements
Extraction
RI Mem[PC] et PC PC+4
Decodage
ALUout A+RI[15-0] Execution ALUout A op B Mem data Mem[ALUout] Mem[ALUout] B si (A==B) alors PC ALUout
Ecriture
Reg[RI[15-11]] ALUout
289 / 313
290 / 313
291 / 313
292 / 313
293 / 313
294 / 313
295 / 313
296 / 313
297 / 313
298 / 313
299 / 313
300 / 313
301 / 313
302 / 313
303 / 313
304 / 313
Controleur de microcode
305 / 313
306 / 313
Microprogrammation horizontale
Dans chaque microinstruction, il y a e a ` chacune des signaux de une partie controle : un bit est dedi controle une partie instruction suivante : determine la microinstruction ` executer suivante a parmi
la microinstruction suivante dans la memoire ` microinstruction de linstruction suivante la premiere un branchement selon des signaux detats
` la realisation Peu de microinstructions necessaires a dune instruction ` longues (une centaines de bits) Les microinstructions peuvent tres
de Provence () L3 Informatique - Universite Architecture des ordinateurs 307 / 313
Champs ALU Controle SRC1 SRC2 registre Controle Memoire ecriture Controle PC
308 / 313
Microprogrammation verticale
Les microinstructions sont de petite taille et se decomposent en 2 parties : Codeop donnees
prennent un sens selon le Codeop Les donnees Jeu dinstructions sophistique emission de signaux (necessitant un decodage) saut branchement conditionnel ...
En supposant un codage des signaux ` emettre a pour chacun des etats : 10 codes differents 4 bits
309 / 313
310 / 313
En MIPS le registre CR Cause Register contient en cas dinterruption ou dexception, la cause pour laquelle on fait appel au programme de traitement des interruptions/exceptions. le registre EPC Exception Programm Counter contient
ladresse de retour (PC + 4) en cas dinterruption ladresse de linstruction fautive en cas dexception
311 / 313
312 / 313
313 / 313