Architettura del calcolatore, le componenti principali

Transcript

Architettura del calcolatore, le componenti principali
Elementi di informatica
Architetture degli elaboratori
Il calcolatore
¾ Un calcolatore è sistema composto da un elevato
numero di componenti
¾ Il suo funzionamento può essere descritto se lo si
considera come un sistema strutturato in forma
gerarchica
¾ Ogni componente ha una sua funzione
1
Funzionalità di un calcolatore
Codifica dell'Informazione
3
Funzionalità di un calcolatore:
elaborazione
¾Flessibilità
Adatta a svolgere diverse tipologie di compiti
¾Modularità
Ogni componente ha una funzione specifica
¾Scalabilità
Ogni componente può essere sostituito con uno
equivalente
¾Standardizzazione
Componenti facilmente sostituibili in caso di
malfunzionamento
¾Riduzione dei costi
Grazie alla produzione su larga scala
¾Semplicità
Di installazione ed esercizio del sistema
2
Funzionalità di un calcolatore:
memorizzare dati
la memorizzazione dei dati:
9 per brevi periodi (i risultati di operazioni
intermedie)
9 per lunghi periodi (archivi elettronici che
sostituiscono quelli cartacei)
Funzionalità di un calcolatore:
trasferimento dati
Trasferimento dei dati:
„ Comunicazione con l’ambiente esterno;
„ Uso di dispositivi ausiliari “periferiche” che
svolgono operazioni di ingresso uscita.
3
Funzionalità di un calcolatore:
controllo
L’utente la realizza impartendo comandi al
calcolatore
Il calcolatore coordina le risorse al fine di
svolgere le operazioni corrispondenti ai
comandi
Il modello concettuale
4
Il modello architetturale
L’architettura di riferimento
¾ Il componente principale è l’unità di
elaborazione centrale (central processing unit,
CPU, processore) a cui sono affidate le
operazioni di controllo e coordinamento;
¾ Per la memorizzazione dei dati è presente una
memoria (indirizzo);
¾ Il collegamento tra queste unità è realizzato da
un bus (master-slave)
5
Lo schema di riferimento
Lo schema di riferimento
RAM
CPU
Scheda madre
(motherboard
)
Bus dati
Bus
Bus di
indirizzi
controllo
Interfacce
di I/O
Interfaccia di
I/O
Schermo
Tastiera e
mouse
Altoparlanti
Interfacce
di I/O
Memoria di massa
6
Scheda madre
Connettori per
schede di I/O
aggiuntive
Zoccolo per
la CPU
Connettori
per la
memoria
Connettori per
dischi fissi
Caratteristiche del collegamento al Bus
9 Semplicità
un’unica linea di connessione Æ costi ridotti di produzione
9 Estendibilità
Estendibilità
aggiunta di nuovi dispositivi molto semplice
9 Standardizzabilità
Standardizzabilità
regole per la comunicazione da parte di dispositivi diversi
9 Lentezza
utilizzo in mutua esclusione del bus
9 Limitatà
Limitatà capacità
capacità
al crescere del numero di dispositivi collegati
9 Sovraccarico del processore (CPU)
perché
perché funge da master sul controllo del bus
7
Il bus
Il bus può essere suddiviso in tre componenti
„
„
„
Bus dati
Bus indirizzi
Bus di controllo
L’esecutore
Un calcolatore esegue un programma sulla
base dei seguenti principi:
„ Dati e istruzioni in memoria;
„ I contenuti della memoria sono indirizzabili
in base alla posizione;
„ Le istruzioni vengono eseguite in modo
sequenziale;
8
Tre tipologie di istruzioni
¾ Istruzioni aritmeticoaritmetico-logiche (Elaborazione dati)
Somma, Sottrazione, Divisione, ..
And, Or, Xor,….
Xor,….
Maggiore, Minore, Uguale,…
¾ Controlo del flusso delle istruzioni
Sequenza
Selezione semplice, a due vie, a n vie, …
Ciclo a condizione iniziale, ciclo a condizione finale,..
¾ Trasferimento di informazione
Trasferimento dati e istruzioni tra CPU e memoria
Trasferimento dati e istruzioni tra CPU e dispositivi di
ingresso/uscita (attraverso le relative interfacce)
Elementi di una CPU
¾Unità di controllo
legge le istruzioni dalla memoria e ne determina il tipo
¾Unità aritmetico logica
esegue le operazioni necessarie per eseguire le istruzioni
¾Registri
memoria ad alta velocità usata per risultati temporanei e
informazioni di controllo;
il valore massimo memorizzabile in un registro è determinato
dalle dimensioni del registro;
esistono registri di uso generico e registri specifici;
9
I registri sempre presenti:
PC (Program Counter)
Counter) indica la prossima istruzione da
eseguire
IR (Instruction Register) contiene una copia dell’istruzione
da eseguire
MAR (Memory Address Register)
Register) contiene l’indirizzi di
memoria dove estrarre il dato
MDR (Memory
(Memory Data Register)
Register) contiene una copia del dato
estratto dalla memoria
PSW (Processor
(Processor Status Word) codifica sullo stato di
esecuzione dell’istruzione
Struttura del data path
10
Struttura della CPU
Esecuzione delle istruzioni
Ciclo FetchFetch-DecodeDecode-Execute
(leggileggi-decodificadecodifica-esegui)
esegui)
1. Prendi l’istruzione corrente dalla memoria e mettila nel
registro istruzioni(IR);
istruzioni(IR);
2. Incrementa in program counter (PC) in modo che contenga
l’indirizzo dell’istruzione successiva;
3. Determina il tipo dell’istruzione corrente (decodifica);
(decodifica);
4. Se l’istruzione usa una parola in memoria determina dove si
trova;
5. Carica la parola se necessario, in un registro della CPU;
6. Esegui l’istruzione.
7. Torna al punto 1 e inizia a eseguire l’istruzione successiva;
11
Il clock
Le varie unità operano in modo coordinato dal punto di vista
della temporizzazione degli eventi.
Un orologio (clock) fornisce una cadenza temporale a cui tutte
le attività elementari sono sincronizzate
La frequenza di clock è il numero di attività elementari
nell’unità di tempo (Mhz)
Concorre a determinare la velocità di elaborazione
Evoluzione delle CPU
12