Capitolo 1 Introduzione al calcolatore

Capitolo 1
Introduzione al calcolatore
1.1. I passi necessari per eseguire l’istruzione macchina
Add
R4, R2, R3
sono i seguenti.
• Mandare l’indirizzo della parola dell’istruzione dal registro PC alla memoria ed emettere un comando
di controllo Read.
• Attendere che la parola richiesta sia stata prelevata dalla memoria, poi caricarla nel registro IR, dove
viene interpretata (decodificata) dal circuito di controllo per determinare l’operazione da eseguire.
• Incrementare il contenuto del registro PC per puntare alla prossima istruzione in memoria.
• Mandare il contenuto dei registri R2 e R3 alla ALU ed emettere il comando Add alla ALU.
• Mandare la somma dall’uscita della ALU al registro R4.
1.2. I passi necessari per eseguire l’istruzione macchina
Store
R4, LOC
sono i seguenti.
• Mandare l’indirizzo della parola dell’istruzione dal registro PC alla memoria ed emettere un comando
di controllo Read.
• Attendere che la parola richiesta sia stata prelevata dalla memoria, poi caricarla nel registro IR, dove
viene interpretata (decodificata) dal circuito di controllo per determinare l’operazione da eseguire.
• Incrementare il contenuto del registro PC per puntare alla prossima istruzione in memoria.
• Mandare il valore dell’indirizzo LOC dall’istruzione nel registro IR, insieme col contenuto del registro
R4, alla memoria ed emettere un comando di controllo Write.
• Attendere che il contenuto del registro R4 sia stato scritto in memoria.
1.3. (a) Si pu`o usare una sequenza di quattro istruzioni:
Load
Load
Add
Store
R2, A
R3, B
R4, R2, R3
R4, C
(b) Si pu`o usare un numero minore di istruzioni. La sequenza e` :
Move
Add
C, B
C, A
1
Hamacher, Vranesic, Zaky, Manjikian, Introduzione all’architettura dei calcolatori 3e
© 2013 McGraw-Hill Education Italy S.r.l.
1.4. (a) Il tempo di esecuzione senza cache e`
T = 250 × 20 + 50 × 20 × 15 = 20.000
Il tempo di esecuzione con cache e`
Tcache = 300 × 20 + 50 × 2 × 14 = 7.400
Quindi l’accelerazione (speedup) e`
T /Tcache = 2, 7
(b) L’accelerazione e` data dall’espressione
[(w − x) × m + x × m × y]/[w × m + x × c × (y − 1)]
che pu`o essere trasformata nella forma pi`u utile
[w × m + x × m × (y − 1)]/[w × m + x × c × (y − 1)]
(c) L’espressione nella variabile y e`
5 = [300 × 20 + 50 × 20 × (y − 1)]/[300 × 20 + 50 × 2 × (y − 1)]
che pu`o essere risolta per dare
y = 49
(d) Quando il numero di iterazioni del ciclo, y, cresce fino a diventare molto grande, l’espressione per
l’accelerazione tende al valore
[x × m × (y − 1)]/[x × c × (y − 1)]
che si riduce a m/c quale limite superiore per l’accelerazione.
1.5. (a) Il tempo di prelievo di un’istruzione senza cache e` di 10 unit`a di tempo. Il tempo medio di prelievo con
cache e`
0, 96 × 1 + (0, 04 × (10 + 1)) = 1, 4
Quindi
accelerazione = 10/1, 4 = 7, 1
(b) Raddoppiando la dimensione della cache, il tempo medio di prelievo con cache diventa
0, 98 × 1 + (0, 02 × (10 + 1)) = 1, 2
Quindi
accelerazione = 10/1, 2 = 8, 3
2
Hamacher, Vranesic, Zaky, Manjikian, Introduzione all’architettura dei calcolatori 3e
© 2013 McGraw-Hill Education Italy S.r.l.
1.6. Quando il bit di riporto in ingresso e` 0 per i quattro casi mostrati in Figura 1.4, il bit di riporto in uscita e il
bit di somma sono 00, 01, 01, e 10, rispettivamente.
Quando il bit di riporto in ingresso e` 1, i bit di riporto in uscita e di somma sono 01, 10, 10, e 11,
rispettivamente.
1.7. I casi di trabocco sono indicati specificatamente. In tutti gli altri casi non si verifica trabocco.
00100
+ 01011
01111
(+4)
+ (+11)
(+15)
00110
+ 01110
10100
trabocco
11100
+01000
00100
(−4)
+ (+8)
(+4)
11110
+10111
10101
(+6)
+ (+14)
(+20)
(−2)
+(−9)
(−11)
10011
+01100
11111
10111
+10010
01001
trabocco
(−13)
+ (+12)
(−1)
(−9)
+ (−14)
(−23)
1.8. I casi di trabocco sono indicati specificatamente. In tutti gli altri casi non si verifica trabocco.
00100
−01011
(+4)
− (+11)
(−7)
00100
+10101
11001
00110
−01110
(+6)
−(+14)
(−8)
00110
+10010
11000
10011
−01100
(−13)
−(+12)
(−25)
10011
+10100
00111
trabocco
11100
−01000
(−4)
−(+8)
(−12)
11100
+11000
10100
11110
−10111
(−2)
−(−9)
(+7)
11110
+01001
00111
10111
−10010
(−9)
−(−14)
(+5)
10111
+01110
00101
3
Hamacher, Vranesic, Zaky, Manjikian, Introduzione all’architettura dei calcolatori 3e
© 2013 McGraw-Hill Education Italy S.r.l.
1.9. Come numero binario, la sequenza 01010011 rappresenta il valore decimale 83 = (64 + 16 + 2 + 1). Come
codice ASCII rappresenta la lettera maiuscola S.
1.10. Supponiamo che l’operazione di sottrazione sia
R=A−B
Il trabocco pu`o avvenire solo se i segni di A e B sono diversi, nel qual caso il trabocco avviene se il segno
del risultato, R, e` diverso dal segno di A o, equivalentemente, se il segno di R e` lo stesso di B.
4
Hamacher, Vranesic, Zaky, Manjikian, Introduzione all’architettura dei calcolatori 3e
© 2013 McGraw-Hill Education Italy S.r.l.