Académique Documents
Professionnel Documents
Culture Documents
14 Février, 2022
Question I
Cette question ce concerne avec les schémas d’implementation d’un processeur
à cycle multiple.
Question II
Cette question ce concerne avec les techniques de pipelining simple.
1
Partie a
Il est évident que soit le charge (load) ou le addi doit occuper la
fente de retard de branche. Nous ne pouvons pas juste mettre le addi
dans la fente, car l’instruction de branchement doit comparer $3 avec
le registre $4, et l’instruction de addi va changer. Afin de déplacer
la charge dans la fente de retard de branche, nous devons réaliser
que $3 aura changé. Si vous le souhaitez, vous pouvez penser de cette
transformation en deux étapes. Premièrement, nous réécrivons le code
comme suit:
Loop: addi $3, $3, 4
lw $2, 96($3)
beq $3, $4, Loop
Ensuite, nous pouvons déplacer la charge dans la fente de retard de
branche:
Loop: addi $3, $3, 4
beq $3, $4, Loop
lw $2, 96($3) # fente de retard de branche
Partie b
Prenons chaque registre:
• IF/ID détient PC + 4 (32 bits) et l’instruction (32 bits) pour
un total de 64 bits;
• ID/EX détient PC + 4 (32 bits), Read data 1 et 2 (32 bits chacun),
les données à signe étendu (32 bits), et deux destinations possible
(5 bits chacun) pour un total de 138 bits;
• EX/MEM détient la cible de PC si brancher (32 bits), Zéro (1 bit),
Resultat d’ALU (32 bits), Read data 2 (32 bits), et le registre
de destination (5 bits) pour un total de 102 bits;
• MEM/WB contient les données sortant de la mémoire (32 bits), Resultat
d’ALU (32 bits), et le registre de destination (5 bits) pour un
total de 69 bits.
Question III
Cette question ce concerne avec les architectures de processeur.
2
Question de Boni
L’efficacité d’un pipeline est défini comme le rapport du nombre d’étages
de pipeline utilisée au nombre total de fentes utilisables, jusqu’à
la fin des calculations. Afin de tirer notre facteur d’efficacité,
considérons un exemple. Imaginez un pipeline de quatre étapes (k =
4) avec 10 instructions à exécuter. En dessinant une représentation
graphique à cycle multiple, ou ce qui est techniquement appelé time-space
diagram, du pipeline, nous pouvons remarquer que le nombre d’étapes
de pipeline utilisés est 40 (4*10), tandis que le nombre total d’intervalles
utilisables est de 52 (40 + 12), car il ya 12 fentes qui représentent
la latence de pipeline (au démarrage du pipeline) et le surchage de
pipeline flush (au arr^et du pipeline). La généralisation pour un k-étape
et n-instruction pipeline nous donne:
nk
Ef f iciencypipeline = → 1, n → ∞ (1)
nk + n2 − n
où le numérateur est la valeur numérique pour combien d’étapes de pipeline
sont occupés après l’achèvement de calcul, et le dénominateur est la
valeur numérique pour tous les emplacements admissibles sur le pipeline
((k + n − 1) ∗ n = nk + n2 − n).
Remerciements
Les réponses et les figures liés aux questions de manuels sont tirées du manuel
du professeur textit Computer Organisation and Design, par Patterson et Hen-
nessy.