architettura di un calcolatore. 2 indice sistema di elaborazione la macchina di von neumann...
TRANSCRIPT
![Page 1: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/1.jpg)
Architettura di un calcolatore
![Page 2: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/2.jpg)
2
Indice
• Sistema di Elaborazione• La macchina di Von Neumann
– Memoria– CPU– Bus– Interfacce
• Esempio– L’algoritmo– Il programma– Fasi di esecuzione di un’istruzione
![Page 3: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/3.jpg)
3
H ard w are S oftw are
C om p u te r
Il Sistema di Elaborazione
![Page 4: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/4.jpg)
4
Hardware
Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche
![Page 5: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/5.jpg)
5
Software
• Componente del calcolatore costituita dai:– Programmi di base per la gestione del
sistema– Programmi applicativi per l’uso del sistema
(possono usare i programmi di base)
![Page 6: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/6.jpg)
6
H ard w are S oftw are
C om p u te r
Il Sistema di Elaborazione
![Page 7: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/7.jpg)
7
HARDWARE:RAPPRESENTAZIONE SCHEMATICA
INPUT OUTPUT
MEMORIA
CPU
Istruzioni Dati
![Page 8: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/8.jpg)
8
DALLA MACCHINA DI TURING ALLA MACCHINA DI VON NEUMANN
• La macchina di Turing aiuta a capire come sia possibile manipolare informazione in base a un programma, leggendo e scrivendo due soli simboli: ‘0’e ‘1’
• Da questo punto di vista, pur essendo un dispositivo ideale, la macchina di Turing è strettamente imparentata col computer
![Page 9: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/9.jpg)
9
Dalla macchina di Turing alla CPU
• Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla
MACCHINA DI VON NEUMANN
![Page 10: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/10.jpg)
10
La macchina di Von Neumann
Unità diElaborazione(CPU)
MemoriaCentrale (MM)
InterfacciaPeriferica P1
InterfacciaPeriferica P2
Bus di sistema
Esecuzione istruzioni
Memoria di lavoro
Memoria di massa,stampante, terminale…
Collegamento
![Page 11: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/11.jpg)
11
La macchina di Von Neumann
• Il processore estrae le istruzioni dalla memoria e le esegue– Le istruzioni possono comportare operazioni di
manipolazione dei dati– Oppure operazioni di trasferimento dei dati
• I trasferimenti di dati attraverso elementi funzionali diversi avvengono attraverso il bus di sistema
• Le fasi di elaborazione si susseguono in modo sincrono rispetto ad un orologio di sistema
• Durante ogni intervallo di tempo l’unità di controllo (parte del processore) stabilisce la funzione da svolgere
• L’intera macchina opera in maniera sequenziale
![Page 12: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/12.jpg)
12
ARCHITETTURA DI VON NEUMANN: UNITA’ CENTRALE
I/O MemoriaCPUPreleva istruzione
Esegue
Memorizza risultato
BUS
![Page 13: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/13.jpg)
13
MACCHINA DI VON NEUMANN: IL PROCESSORE (CPU)
![Page 14: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/14.jpg)
14
COMPONENTI DELLA CPU
• La CPU non è un unico componente ma è costituita da componenti diversi che svolgono compiti diversi
Unità dicontrollo
Unità aritmeticologica
Program CounterREGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16…
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
![Page 15: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/15.jpg)
15
Componenti del processore (CPU)
Unità dicontrollo
Unità aritmeticologica
Program CounterREGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16…
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
![Page 16: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/16.jpg)
16
Registri
• I registri sono delle unità di memoria estremamente veloci
• Sono usate per mantenere le informazioni di necessità immediata per il processore
• Le dimensioni dei registri variano da 16, 32, 64 bit– Sono una parte fondamentale del processore
![Page 17: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/17.jpg)
17
Registri
• Per esempio: Program Counter– L’indirizzo della “prossima” istruzione da
eseguire è memorizzato nel registro Program Counter
• Per esempio: i Registri Generali– I registri che possono essere utilizzati
come memorie temporanee per svolgere le operazioni matematiche
![Page 18: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/18.jpg)
18
Componenti del processore (CPU)
Unità dicontrollo
Unità aritmeticologica
Program CounterREGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16…
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
![Page 19: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/19.jpg)
19
Unità di controllo
• L’unità di controllo è la parte più importante del processore– Esegue le istruzioni dei programmi– Coordina le attività del processore– Controlla il flusso delle istruzioni tra il
processore e la memoria
![Page 20: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/20.jpg)
20
Unità di controllo
• Svolge la sua attività in modo ciclico– Preleva dalla memoria principale la
“prossima” istruzione da eseguire– Preleva gli operandi specificati
nell’istruzione– Decodifica ed esegue l’istruzione– Ricomincia
![Page 21: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/21.jpg)
21
Unità di controllo
• L’esecuzione comporta l’invio di comandi opportuni all’unità relativa– Calcoli Unità aritmetico logica– Lettura/scrittura dati memoria– Acquisizione/stampa dispositivi di I/O
![Page 22: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/22.jpg)
22
Componenti del processore (CPU)
Unità dicontrollo
Unità aritmeticologica
Program CounterREGISTRI
Registro di Stato
Bus Interno
Registro Istruzioni
Registri Generali 8 o 16…
Registro Indirizzi Memoria
Registro Dati Memoria
Registro di Controllo
![Page 23: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/23.jpg)
23
Unità aritmetico logica
• L’Unità aritmetico logica si occupa di eseguire le operazioni di tipo aritmetico/logico– Somme, sottrazioni, …, confronti, …
• Preleva gli operandi delle operazioni dai Registri Generali
• Deposita il risultato delle operazioni nei Registri Generali
• Insieme all’unità di controllo collabora al completamento di un ciclo della macchina
![Page 24: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/24.jpg)
24
Clock
• Abbiamo visto che il processore svolga la sua attività in modo ciclico– Ad ogni ciclo corrisponde l’esecuzione di
un’operazione elementare (un’istruzione macchina)
• Il clock fornisce una cadenza temporale per l’esecuzione delle operazioni elementari
• La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo
![Page 25: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/25.jpg)
25
Clock
• Consideriamo una ipotesi semplificata in cui ogni battito di clock corrisponde esattamente l’esecuzione di una sola istruzione macchina– La frequenza del clock indica il numero di
operazioni elementari che vengono eseguite nell’unità di tempo
– Per esempio: il clock che ha circa 66 milione battiti per secondo il computer può eseguire circa 66 milione operazioni per secondo
![Page 26: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/26.jpg)
26
Clock
• In realtà, questa ipotesi non è sempre vero– L’esecuzione di una istruzione può richiedere più battiti di
clock– Oppure nello stesso ciclo di clock si possono eseguire (parti)
di istruzioni diverse– Dipende dal tipo di processore
• Per esempio:– Il processore Intel 80286 richiede 20 battiti del clock per
calcolare la moltiplicazione di due numeri– Il processore Intel 80486 può calcolare la moltiplicazione di
due numeri usando solo un battito del clock
![Page 27: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/27.jpg)
27
Clock
• La frequenza del clock si misura in:– MHz (1 MHz corrisponde circa a un milione di
istruzioni elementari/battiti al secondo)– GHz (1 GHz corrisponde circa a un miliardo di
istruzioni elementari/battiti al secondo)
• Per esempio: se acquistate un calcolatore e vi dicono che ha un processore a 3 GHz– Vuol dire che il processore è in grado di eseguire
(circa) 3 miliardi di istruzioni al secondo
![Page 28: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/28.jpg)
28
L’unità di elaborazione (CPU)
Registro istruzionecorrente (CIR)
Registro dati (DR)Registro indirizzi
(AR)
Registro contatoredi programma (PC)
Registro di stato (SR)
Registrointerruzioni (INTR)
A
B
Unità di controllo(CU)
Clock
Unitàaritmeticologica(ALU)
Controllo: -Prelievo -Decodifica -Esecuzione
Sincronizzazione
Operazioniaritmetichee logiche
Parola letta/da scrivere in MM
Indirizzo cella MM
Istruzione in elaborazione
Indirizzo prox istruzione
Registri generali
Stato CPUFlag: C, Z, S, V
Registri operandi
![Page 29: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/29.jpg)
29
ARCHITETTURA DI VON NEUMANN: MEMORIA CENTRALE
![Page 30: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/30.jpg)
30
Memoria principale (RAM)
• Perchè si chiama RAM (Random Access Memory)?– Si può accedere direttamente alle varie celle, una
volta noto il loro indirizzo– Il tempo necessario per accedere ad una cella è lo
stesso, indipendentemente dalla posizione della cella nella sequenza
– Il termine “random” (casuale) indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria
![Page 31: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/31.jpg)
31
Memoria principale (RAM)
• Alcune proprietà della memoria principale– Veloce: per leggere/scrivere una cella ci
vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10-9 sec.)
– Volatile: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto
– (Relativamente) costosa
![Page 32: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/32.jpg)
32
Memoria principale (RAM)
• Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit
• Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura
• Una cella può contenere un dato o un’istruzione
012345
N
34513.200.9853.890
ADD R1 R2LOAD 56 R1LOAD 3568 R1
Indirizzi Contenuto
![Page 33: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/33.jpg)
33
Memoria principale (RAM)
• Ogni calcolatore usa un numero di bit costante per rappresentare gli indirizzi
• Maggiore è il numero di bit usati, maggiore sarà il numero di celle indirizzabili: spazio di indirizzamento– Se si usano 16 bit per codificare gli indirizzi, si
potranno indirizzare fino a 65.536 celle (circa 64 KB di memoria, nell’ipotesi di celle di memoria di 1 byte)
– Con 32 bit si potranno indirizzare fino a 4.294.967.296 celle (circa 4 GB di memoria)
![Page 34: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/34.jpg)
34
Memoria principale (RAM)
• All’aumentare delle dimensioni della memoria principale aumenta il numero di programmi che possono essere “contemporaneamente” attivi
• La RAM, fino ad un certo limite, è espandibile (slot di espansione)
![Page 35: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/35.jpg)
35
Memoria principale (RAM)
bit 1 cifra binaria memorizza 0 oppure 1
byte 8 bit memorizza un carattere
parola da 16 a 64 bit numeri e indirizzi di memoria
Kilobyte (KB) 1024 byte circa mezza pagina di testo
Megabyte (MB) 1024 KB un libro di 200 pagine
Gigabyte (GB) 1024 MB alcuni volumi
Terabyte (TB) 1024 GB una biblioteca
Petabyte (PB) 1024 TB molte biblioteche
![Page 36: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/36.jpg)
36
ALTRI TIPI DI MEMORIA NELL’UNITA CENTRALE
• Memoria di sola lettura (ROM)
• Memoria cache
• Buffer
![Page 37: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/37.jpg)
37
Memoria di sola lettura (ROM)
• Non può essere modificata
• A differenza della RAM non è volatile
• Veloce quasi come la RAM
• Contiene le informazioni di inizializzazione usate ogni volta che si accende l’elaboratore (bootstrap)
![Page 38: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/38.jpg)
38
Memoria cache
• Livello di memoria intermedio tra i registri e la RAM– Memorizza i dati usati più spesso senza
doverli recuperare tutte le volte dalla RAM (che è più lenta)
– Influisce moltissimo sulle prestazioni e sul costo della CPU (e quindi del computer)
• È molto più costosa della RAM
![Page 39: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/39.jpg)
39
Memoria cache
• In genere è interna al processore (cache L1)
• Esiste anche una cache secondaria (L2) esterna al processore
• Le sue dimensione tipiche vanno dai 256KB a 1MB
![Page 40: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/40.jpg)
40
Parola (word)
Spazio diindirizzamen
to210=1024
La memoria centrale (MM)
Registro indir. (AR)
k = 10 bit
Registro dati (DR)
load
store
h = 16 bit
0
1
1023
h = 16 bit
Dati eistruzioni
RAM e ROM
Volatile
Dato daleggere/scrivere
Indirizzo cella
![Page 41: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/41.jpg)
41
La memoria centrale (MM)
• Il numero di bit che costituiscono l’indirizzo di un word all’interno della memoria è caratteristico del microprocessore e identifica lo spazio di indirizzamento del microprocessore– Esempio: Pentium 32 bit– Avendo a disposizione k bit è possibile indirizzare 2k byte
• Si ricorda che:– 210 byte = 1Kilo Byte– 220 byte = 1Mega Byte– 230 byte = 1 Giga Byte– 240 byte = 1Tera Byte
![Page 42: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/42.jpg)
42
La memoria centrale (MM) quindi...
• La memoria centrale si chiama usualmente ram o memoria ad accesso casuale– Viene cosi detta una memoria il cui tempo di accesso sia
indipendente dall’indirizzo della parola alla quale si vuole accedere
– Si tratta di una memoria volatile• Altri tipi di memoria presenti in un calcolatore sono le
rom– Hanno caratteristiche generali simili alle ram– Un tempo di accesso notevolmente maggiore– Si tratta di memorie permanenti– Sono tipicamente utilizzate per memorizzare quei dati e
programmi che servono al momento dell’accensione dell’elaboratore, prima del caricamento del S.O.
– Esempio: Il BIOS (Basic Input Output System) che carica in memoria il sistema operativo quando la macchina viene accesa
![Page 43: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/43.jpg)
43
Memoria secondaria• La memoria principale non basta (è volatile, costosa)• In grado di memorizzare i programmi e i dati in modo
permanente• È meno costosa che la memoria principale: le
dimensioni della memoria secondaria sono di solito molto maggiori di quelle della memoria principale
• I supporti di memoria secondaria sono più lenti rispetto alla memoria principale (presenza di dispositivi meccanici)
• Non tutti i supporti di memoria secondaria permettono l’accesso diretto ai dati– Alcuni permettono solo un accesso sequenziale (per
esempio, nastri magnetici)
![Page 44: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/44.jpg)
44
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
• I programmi e i dati risiedono nella memoria secondaria
Processore
Stampante Memoria secondaria
Memoria principale
![Page 45: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/45.jpg)
45
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
• I programmi e i dati risiedono nella memoria secondaria
• Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale
Processore
Stampante Memoria secondaria
Memoria principale
![Page 46: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/46.jpg)
46
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
• I programmi e i dati risiedono nella memoria secondaria
• Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale
• Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi
Processore
Stampante Memoria secondaria
Memoria principale
![Page 47: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/47.jpg)
48
Memoria secondaria
• La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua produzione si utilizzano tecnologie basate:– sul magnetismo (tecnologia magnetica)
• dischi magnetici (hard disk e floppy disk)• nastri magnetici
– sull’uso dei raggi laser (tecnologia ottica)• dischi ottici (CD-ROM, DVD)
![Page 48: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/48.jpg)
49
MACCHINA DI VON NEUMANN: I BUS
![Page 49: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/49.jpg)
50
Bus
• Permette la comunicazione tra i vari componenti dell’elaboratore
CPU RAM Interfaccia
datiindirizzi
controllo
![Page 50: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/50.jpg)
51
• Il bus di sistema collega tra loro i vari elementi del calcolatore
• In ogni istante il bus è dedicato a collegare due unità, una trasmette ed una riceve– Il processore seleziona la connessione da attivare
e indica l’operazione da svolgere (bus mastering)• Il bus è suddiviso in tre insiemi di linee:
– Bus dati– Bus indirizzi– Linee di controllo: trasportano informazioni relative
alla modalità di trasferimento e alla temporizzazione
Il bus di sistema
![Page 51: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/51.jpg)
52
Il bus di sistema
Registro istruzionecorrente (CIR)
Registro dati (DR)Registro indirizzi
(AR)
Registro contatoredi programma (PC)
Registro di stato (SR)
Registrointerruzioni (INTR)
A
B
Unità di controllo(CU)
Clock
Unitàaritmeticologica(ALU)
CPU
Bus di sistema
Bus dati, Bus indirizzi, Bus controlli Master/slave
![Page 52: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/52.jpg)
53
Sequenza di lettura
CIR
DR AR
PCSR
INTR
A
B
CUCk
ALU
0
1023
123
42123
123
Passo 1
READ
Passo 2
42
Passo 3
OK
Passo 4
![Page 53: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/53.jpg)
54
Sequenza di scrittura
CIR
DR AR
PCSR
INTR
A
B
CUCk
ALU
0
1023
123
42123
123
Passo 1
WRITE
Passo 3
OK
Passo 5
70
Passo 2
Passo 4
70
![Page 54: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/54.jpg)
55
• Si occupa della gestione dello scambio di dati tra processore e periferiche
• E’ possibile avere una interfaccia diversa per ogni periferica... ...ma è più logico avere delle interfacce standard per periferiche simili
• Esempi di interfacce standard:– Interfaccia seriale RS-232-C (mouse, modem, ...)– Interfaccia PS2 (mouse, tastiera, ...)– Interfaccia USB (mouse, telecamere, stampanti, scanner, ...)– Interfaccia parallela Centronix (stampante, scanner, ...)– Interfaccia ISA (modem, schede audio, ...)– Interfaccia SCSI (hard-disk, CD-ROM, scanner, ...)– Interfaccia EIDE (hard-disk, CD_ROM, ...)
• Ogni interfaccia contiene registri per:– Inviare comandi alla periferica– Scambiare dati– Controllare il funzionamento della periferica
Le interfacce delle periferiche
![Page 55: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/55.jpg)
56
Le interfacce delle periferiche
Interfacccia periferica 1
Bus di sistema
Peripheral Data Register (PDR)
Peripheral Command Register (PCR)
Peripheral State Register (PSR)
Peripheral Data Register (PDR)
Peripheral Command Register (PCR)
Peripheral State Register (PSR)
Interfacccia periferica 2
Dato da leggere/scrivere
Comando da eseguire
Stato della periferica
![Page 56: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/56.jpg)
57
Le interruzioni
• Al fine di gestire richieste provenienti dalle periferiche può essere necessario interrompere la normale esecuzione di un programma
• La periferica segnala sue particolari necessità attraverso una interruzione
• Ad ogni passo di esecuzione la UC verifica lo stato del registro delle interruzioni
• Se si è verificata una interruzione:– Lo stato del processore (registri) viene salvato in memoria– Viene attivata una speciale procedura di gestione delle
interruzioni (parte del S.O.)– Quando la procedura di gestione delle interruzioni termina lo
stato del processore viene ripristinato ed il programma viene ripreso
![Page 57: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/57.jpg)
58
Es.: valutazione di espressione
• Vogliamo calcolare il valore dell’espressione:(a+b)·(c+d)leggendo i valori delle variabili a, b, c, d dal dispositivo di ingresso e scrivendo il risultato della valutazione sul dispositivo di uscita.
![Page 58: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/58.jpg)
59
Un algoritmo generale
1. Leggi dal dispositivo di ingresso il valore delle variabili a, b, c, d
2. Somma il valore di a al valore di b
3. Salva il risultato parziale ottenuto
4. Somma il valore di c al valore di d
5. Moltiplica il risultato parziale appena ottenuto con quello precedentemente salvato
6. Scrivi sul dispositivo di uscita il risultato della valutazione complessiva
7. Termina l’esecuzione del programma.
![Page 59: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/59.jpg)
60
L’algoritmo dettagliato (1)
1. Scrivi nella cella di memoria centrale riservata al valore della variabile a il valore letto dal dispositivo di ingresso (disponibile nel registro dati della periferica). Fai la stessa cosa per b, c, d
2. Somma il valore di a al valore di b
2.1Copia il contenuto della cella di memoria riservata ad a nel registro A
2.2 Copia il contenuto della cella di memoria riservata a b nel registro B
2.3Somma il contenuto dei registri A e B
3. Salva il risultato parziale, contenuto nel registro A, in una cella di memoria predisposta per il risultato (z).
![Page 60: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/60.jpg)
61
4. Somma il valore di c al valore di d4.1 Copia il contenuto della cella di memoria
riservata a c nel registro A 4.2 Copia il contenuto della cella di memoria
riservata a b nel registro B4.3 Somma il contenuto dei registri A e B
5. Moltiplica il risultato parziale appena ottenuto con quello precedentemente salvato5.1 Copia il contenuto della cella riservata a z nel registro B (z e B contengono ora a+b, mentre A contiene c+d)5.2 Moltiplica il contenuto dei registri A e B.
L’algoritmo dettagliato (2)
![Page 61: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/61.jpg)
62
6. Scrivi sul dispositivo di uscita il risultato della valutazione complessiva6.1 Memorizza il risultato appena calcolato
(e disponibile nel registro A) nella celladi memoria riservata a z
6.2 Copia il contenuto della cella di memoria riservata a z nel registro dati della periferica di uscita
7. Termina l’esecuzione del programma.
L’algoritmo dettagliato (3)
![Page 62: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/62.jpg)
63
Tipologia delle operazioni svolte
• Operazioni di manipolazione– Somma: 2.3, 4.3– Moltiplicazione: 5.2
• Operazioni di trasferimento– Da periferica-input a MM: 1– Da MM a CPU: 2.1, 2.2, 4.1, 4.2, 5.1– Da CPU a MM: 3, 6.1– Da MM a periferica-output: 6.2
![Page 63: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/63.jpg)
64
Le istruzioni macchina
• Un programma scritto in linguaggio macchina è formato da una sequenza di istruzioni appartenenti al set di istruzioni del particolare processore
• Ogni istruzione è formata da:– Un codice operativo– Zero o più operandi
• Tanto il codice operativo quanto gli operandi sono rappresentati nella memoria del calcolatore sotto forma di numeri binari
• Data la difficoltà per l’uomo di interpretare numeri binari si usa l’assembler al posto del linguaggio macchina codice operativo operando(i)
![Page 64: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/64.jpg)
65
Le istruzioni macchina
• Il set di istruzioni di un qualsiasi linguaggio macchina può essere diviso in quattro classi principali di istruzioni:– Istruzioni per il trasferimento dati tra
memoria e registri del processore e viceversa
– Operazioni aritmetiche e logiche sui dati– Istruzioni per il controllo del flusso di
programma– Istruzioni per la gestione dell’I/ O
![Page 65: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/65.jpg)
66
Forma binaria del programma
0100000000010000 Leggi un valore dall’input e mettilo nella cella 16 (a)0100000000010001 Leggi un valore dall’input e mettilo nella cella 17 (b)0100000000010010 Leggi un valore dall’input e mettilo nella cella 18 (c)0100000000010011 Leggi un valore dall’input e mettilo nella cella 19 (d) 0000000000010000 Carica il contenuto della cella 16 (a) nel registro A0001000000010001 Carica il contenuto della cella 17 (b) nel registro B 0110000000000000 Somma i registri A e B0010000000010100 Scarica il contenuto di A nella cella 20 (z) (ris.parziale) 0000000000010010 Carica il contenito della cella 18 (c) nel registro A0001000000010011 Carica il contenito della cella 19 (d) nel registro B0110000000000000 Somma i registri A e B0001000000010011 Carica il contenuto della cella 20 (z) (ris. parziale) in B1000000000000000 Moltiplica i registri A e B0010000000010100 Scarica il contenuto di A nella cella 20 (z) (ris. totale)0101000000010100 Scrivi il contenuto della cella 20 (z) (ris. totale) in output1101000000000000 Halt
![Page 66: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/66.jpg)
67
Programma in memoria centrale010000000001000001000000000100010100000000010010010000000001001100000000000100000001000000010001011000000000000000100000000101000000000000010010000100000001001101100000000000000001000000010011100000000000000000100000000101000101000000010100 1101000000000000
Cella 0123456789
101112131415
Spazio riservato per a 16 Spazio riservato per b 17 Spazio riservato per c 18 Spazio riservato per d 19 Spazio riservato per z 20
![Page 67: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/67.jpg)
68
Fase di fetch 1a istruzione
0000000000
PC
AR
0100000000010000
Memoria centrale (MM)
0
DR
1023
CIR
0000000000
0100000000010000
0100000000010000
0000000001
Passo 1
Passo 2
Passo 3
Passo 4
![Page 68: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/68.jpg)
69
Fase di interpretazione 1a istruzione
0100000000010000
CIR
Codice operativo 0100 = leggi da input
![Page 69: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/69.jpg)
70
Fase di esecuzione 1a istruzione
AR
Memoria centrale (MM)
0
DR
1023
0001000000011111
PDR
0100000000010000
CIR 16
Valore di a letto dall’input (es. 4127)
Indirizzo operando00000010000 = cella 16
0000010000
0001000000011111
0001000000011111
Passo 1
Passo 2
Passo 3
![Page 70: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/70.jpg)
71
Il linguaggio assembler
• Un esempio (didattico) di assembler potrebbe contenere le seguenti istruzioni:– Le istruzioni loada e loadb servono per spostare il contenuto di
una cella di memoria nei registri A e B rispettivamente• Esempio: loada ind1
– Le istruzioni storea e storeb servono per spostare il contenuto dei registri A e B rispettivamente in una cella di memoria il cui indirizzo è indicato come parametro
• Esempio: storea ind1– Le istruzioni per lo svolgimento delle operazioni aritmetiche di base
• Operazioni su interi: add, dif, mul, div• Operazioni su reali: addr, difr, mulr, divr• Le istruzioni operano sui registri A e B e pongono il risultato nel registro
A• Nel caso di divisione tra interi il registro B viene usato per contenere il
resto dell’operazione
![Page 71: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/71.jpg)
72
Il linguaggio assembler
– Le istruzioni per lo svolgimento delle operazioni logiche di base• and, or, not• Le istruzioni operano sui registri A e B e pongono il risultato nel registro A• Nel caso di operazione not viene usato il solo registro A
– Le istruzioni per leggere/scrivere su periferiche • L’istruzione read legge un dato dalla periferica di input e pone il dato letto nella
cella di memoria il cui indirizzo viene passato come parametro• Esempio: read ind1• L’istruzione write scrive il dato presente nella cella di memoria il cui indirizzo
viene passato come parametro sulla periferica di output• Esempio: write ind1
– Le istruzioni per il controllo di flusso• L’istruzione di salto incondizionato jump salta all’indirizzo specificato come
parametro • L’istruzione di salto condizionato jumpz salta all’indirizzo specificato come
parametro se l’ultima operazione matematica ha dato risultato nullo• Il processore controlla il valore del registro di stato del processore• Il salto viene effettuato solo se il bit di zero vale 1
– Altre istruzioni• L’istruzione halt termina l’esecuzione del programma
![Page 72: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/72.jpg)
73
Linguaggio Macchina, Assembler e C
READ AREAD BREAD CREAD DLOADA ALOADB BADDSTOREA RISLOADA CLOADB DADDLOADB RISMULSTOREA RISWRITE RISHALTINT AINT BINT CINT DINT RIS
int a, b, c, d, ris;scanf("%d%d%d%d", &a, &b, &c, &d);ris = (a+b)*(c+d);printf("ecco il risultato %d", ris);
01000000000100000100000000010001010000000001001001000000000100110000000000010000000100000001000101100000000000000010000000010100 00000000000100100001000000010011 01100000000000000001000000010011 10000000000000000010000000010100 0101000000010100 1101000000000000
Linguaggio Macchina
Linguaggio Assembler
Linguaggio C
![Page 73: Architettura di un calcolatore. 2 Indice Sistema di Elaborazione La macchina di Von Neumann –Memoria –CPU –Bus –Interfacce Esempio –Lalgoritmo –Il programma](https://reader031.vdocuments.mx/reader031/viewer/2022020920/5542eb4b497959361e8b8608/html5/thumbnails/73.jpg)
74
Esercizi
• 1) Si usi il linguaggio assembler presentato per scrivere un programma che legge due numeri A e B e scrive a video B volte il primo numero A
• 2) Si usi il linguaggio precedente per scrivere un programma che legge due numeri A e B e scrive a video il prodotto di A per B– Non si faccia uso dell’istruzione mul ma
delle sole istruzioni add e dif