vuoi
o PayPal
tutte le volte che vuoi
Calcolatori elettronici – Introduzione
I seguenti appunti seguono il modello del corso di Calcolatori Elettronici T della laurea triennale
in Ingegneria Informatica dell’università di Bologna. La struttura è volutamente a forma di
domande poiché ciò permette una migliore focalizzazione sui contenuti e dà una maggiore idea su
come gli argomenti potrebbero essere chiesti all’esame.
In particolare in questo documento viene trattata l’introduzione ai calcolatori e in particolare i
seguenti principali argomenti:
1. La macchina di Von Neumann
2. La struttura del bus di sistema
3. La CPU
4. Il modello di esecuzione di un programma
5. L’organizzazione della memoria
6. Il PC (Program Counter)
7. Gli agenti del bus e i sistemi multimaster
8. Il DMA
9. Il ciclo di bus
10. L’architettura di un calcolatore
11. CPU Time e CPI medio
12. Lo Speed Up
Il tutto è trattato sotto forma di 25 domande circa.
Calcolatori Elettronici - Introduzione
Pagina 1
1) Qual è il modello di riferimento dei sistemi di elaborazione? Parlane.
Il modello di riferimento dei sistemi di elaborazione è la macchina di Von Neumann.
Tale modello si compone di:
ü Un’architettura fissa, ovvero di un HW che non cambia!
ü Un programma (variabile) che consiste in una sequenza di istruzioni e che viene
memorizzato in una memoria. Tale programma sfrutta l’HW sottostante per risolvere un
grande numero di problemi.
Nel modello di Von Neumann per cambiare il funzionamento del sistema di elaborazione è
sufficiente cambiare il programma residente in memoria!
3) Qual è lo svantaggio del modello di Von Neumann?
Il modello di Von Neumann garantisce una grande versatilità in quanto, semplicemente cambiando
il programma residente in memoria, è possibile risolvere un grande numero di problemi!
Tale generalità ha però lo svantaggio che il sistema si adatterà ad un grande numero di
problemi, ma a nessuno si adatterà al meglio!
4) I sistemi di elaborazione sono sincroni o asincroni?
Il 99.9% dei calcolatori sono sincroni! Ultimamente ci sono stati degli studi per sistemi asincroni,
ma non hanno avuto molto seguito. Un sistema asincrono sarebbe vantaggioso rispetto ad un
sistema sincrono in quanto consumerebbe meno!
Una macchina sincrona, infatti, non si ferma mai in quanto ad ogni Clock campiona lo stato!
Dunque per noi la CPU è un sistema SINCRONO!
5) Qual è la struttura del bus di sistema?
I segnali del bus di sistema sono suddivisi in 3 gruppi:
à
1. Bus Dati Costituito dai segnali che portano istruzioni e operandi.
Il suo parallelismo è multiplo di un byte secondo una potenza di 2 (es. 1,2,4,8,16 byte) e
rappresenta un altro parametro caratteristico dell’architettura della CPU.
Il Bus dati è identificato dal vettore di m bit D[m-1 … 0]
Ovviamente più è ampio il bus dati, più sarà veloce l’accesso ai dati! Infatti gli accessi alle
memorie sono il collo di bottiglia del sistema in quanto il processore deve fermarsi e
attendere i dati dalla memoria. (cache possono migliorare le cose!)
à
2. Bus degli Indirizzi Costituito dai segnali che identificano la posizione delle informazioni
trasferite nello spazio di indirizzamento a cui si intende accedere.
Il bus degli indirizzi è solitamente identificato dal vettore di n bit A[n-1 … 0]
à
3. Bus dei Segnali di comando Costituito dai segnali che comandano i trasferimenti di dati
sul bus.
Calcolatori Elettronici - Introduzione
Pagina 2
6) Cos’è e da cosa è composta una CPU?
Una CPU è una macchina sequenziale sincrona e potrebbe essere composta da:
ü Memoria principale, dove risiedono il programma e i dati
ü Unità di elaborazione, la quale disporrà di:
PC (Program Counter)
o ALU
o Registri interni
o Un eventuale Cache
o
ü Interfacce generiche per la comunicazione con l’esterno (es. interfacce di rete, di I/O …)
7) Come sono codificate le informazioni all’interno di un calcolatore?
All’interno di un calcolatore tutte le informazioni (es. dati e istruzioni) sono codificate in forma
binaria. In particolare saranno codificate in complemento a 2 se con segno, altrimenti in valore
assoluto.
Ciò significa che:
ü Nell’unità di elaborazione verranno elaborate variabili binarie
ü Dati e istruzioni risiedono sotto forma di variabili binarie
8) Cos’è il BUS?
Il BUS è il supporto di interconnessione tra i blocchi che costituiscono il calcolatore!
Sul BUS transitano variabili binarie e quindi i segnali del bus sono segnali digitali!
9) Qual è il modello di esecuzione di un programma?
Il programma risiede in memoria ed è costituito da istruzioni codificate in forma binaria.
In memoria risiedono anche gli operandi di tali istruzioni, ovvero i dati elaborati e da elaborare.
Le istruzioni del programma vengono eseguite in sequenza dalla CPU.
A livello di massima astrazione possiamo considerare la CPU come una macchina a due stati:
ü à
Instruction Fetch (IF) Stato in cui la CPU legge in memoria la prossima istruzione da
eseguire
ü à
Execute (EX) Stato in cui la CPU esegue l’istruzione letta durante l’IF
Per velocizzare l’esecuzione è buona norma eseguire un IF durante l’EX. Questo però non funziona
correttamente quando ci sono dei salti! In tal caso l’IF effettuato sarà scartato e la prossima
istruzione diviene la destinazione del salto.
Per funzionare la CPU ha bisogno almeno degli ingressi di reset e di clock.
Quando il reset non è attivo la CPU perennemente legge e esegue istruzioni, cambiando stato ad
ogni impulso del clock! Per questo motivo la frequenza del clock è uno dei parametri che
caratterizzano la CPU.
Calcolatori Elettronici - Introduzione
Pagina 3
10) Com’è organizzata la memoria?