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.
© Copyright 2024 ExpyDoc