Sciences De Linformartique
Commentaires Composés : Sciences De Linformartique. Recherche parmi 301 000+ dissertationsPar jeremy3011 • 21 Mai 2014 • 1 725 Mots (7 Pages) • 744 Vues
chapitre 1 et 2: intro
chapitre 3: cpu
chapitre 4: s. c
chapitre 5: m.c
chapitre 6: modif
chapitre 7: f.p
chapitre 8: algorithme multi
PC renvoie l' adresse de la pkouda actuelle.
donc pour passer à la pkouda suivante on fait PC + 4 ( car les pkoudot sont toutes les 4 lignes dans l'instructrion memory).
pkoudot de types: r(register), i(immediate) et j(jump).
voir comment elles sont leur architecture dans la matseguet.
register r:
op code de R: 000000 tamid
sert à faire opération en utilisant 2 registers et met dans un autre register le resultats.(manipule trois registers en meme temps)
register rs : register source
register rd: register destination
shift decale le chiffre (donc multiplie par des puissances de 2)
11: 3
110 : 6
1100:12
func définit la
péoula à faire dans pkouda de type R.
voir exemple ADD.
pkouda i:
un register qui stocke une adresse
un register qui recoit une donnee
immediate /offset
exemple load:
charge une donnee du data memory;
lw : charge dans rt l'adresse qui se situe dans Rs + offset.
mem : data memory.
autre exemple: store.
sw rt offset(rs)
prend register de RF et met dans data memory (sauvegarde)
la donnee dans rt tu la sors , tu la prépare. l'adresse de Rs tu l'additione à offset et tu recois donc une nouvelle adresse. c'est dans cette adresse qui se trouve dans le data memory que tu vas mettre la valeur de Rt.
Branch:
un saut en condition.
beq est un type de branch qui compare deux registerim et si egaux, fait un saut de offsetinstruction : PC = PC + 4 * OFFSET.( donc maintenant on a une adresse de 18 bitim, comment on fait il nous faut une adresse de 32 bitim,pour les 14 bitim restants on fait un sign extended)
existe d'autres branchs qui font l'action si est satisfait une autre condition.
sign extended 1011 en 8 bitim: 11111011 (rajoute bit du msb a gauche plusieurs fois)
pkouda de type J:
jump.
op code , index
peut importe ou je suis actuellement, je lui dit va là maintenant à cette adresse.
PC= [ PC +4 ] pour les 4 bitim msb, les 26 à cotés sont ceux de l'index et il me manque 2 bitim . ces deux bitim sont 00 que je met en LSB.( car les adresses dans instruction memory sont par multiple de 4)
Le PC a 32 bitim.
instruction memory = 2 puissance 32 lignes chaque ligne 8 bitim.
register file = 32 registerim de 32 bittim chacun
Alu;
DATA MEMORY= chaque choura fait 32 bitim et il y a 2 puissance 32 chourot
control;
matséget 4 shéma.
pc envoie 32 bitim
les fils (bitim)d'opcode vont toujours vers le controller.
regdest sert de bakara et généré par le controller
mux A si recoit 1 alors passe le register d.
reg write définit et informe le register file de pouvoir ecrire ou pas ( 0 non , 1 oui)
mux C : ALUSrc bakara : si 0 pour pkouda R laisse passer register rt
si 1 pour pkouda de type I,
ALUop ,2 bitim bakara pour le ALU control pour la peoula.
pour toutes les pkoudot R les sibiyot bakara les memes.
si ALUop dit a ALU control que c'est pkouda de type R alors ALU control laisse priorité au FUNC(0-5).
ALU control donne toujours 1 peoula parmi 2 puissance 3. car sur 3 bitim la sortie.
dans ALU , une sorti zero flag , deleg 0 , qui vaut 1 si resultat egal 0.
Mux D: definit si quel resultat de l'operation qui était effectuee dans ALU , faut enregistrer.
pour stocker une donnee dans data memory il faut le faire en 2 pkoudot : dont en deuxieme un store.
4 dans add est sur 32 bitim.
PcSrc est égal à 1 pour un branch.
single cicle en un seul marzor chaone , donc tout en meme temps.
pkouda de type R:
(voir les shemas)
tous les processeurs la premiere operation est pc+ 4 (fetch) tout le temps. donc mon pc = pc+4 direct.
pc= (pc+4 + offet*4) branch.
deuxieme etape: decode, on separe les 32 bitim de l'instruction memory.
troisieme etape: le calcul
4 eme etape: ecriture dans register file
deux premieres etapes communes aux differents types de pkoudot.
pkoudot de type I:
load
...