Scarica Introduzione all'Architettura degli Elaboratori: I Blocchi Fondamentali e la Memoria e più Slide in PDF di Fondamenti di informatica solo su Docsity!
Traduzione di un programma
File sorgente
l
CompilatoreCompilatore
LLiinnkkeerr LLibrerieibrerie Librerie
15
File oggetto
File eseguibile
LLiinnkkeerr (^) LLibibrreerrieie
Questo file può essere direttamente caricato in memoria ed eseguito
Architettura
degli elaboratori
Memoria
I blocchi fondamentali dell’elaboratore
Unità
elaborazione
Unità
uscita
Unità
ingresso
17
Memoria
Memoria
centrale
(RAM)
Memoria
di massa
(dischi)
I blocchi fondamentali dell’elaboratore
Unità
elaborazione
Unità
uscita
Unità
ingresso
Microprocessore
I circuiti fondamentali
Memoria centrale - RAM
21
Microprocessore
- Un microprocessore (sovente abbreviato come μP) è un
chip che realizza le funzioni di una “central processing
unit (CPU)” in un computer o in un sistema digitale
Microprocessore
- Il microprocessore e’ il circuito che fisicamente
esegue TUTTE le istruzioni
- Contiene quindi:
- Tutti i circuiti per eseguire le operazioni di base su numeri interi, reali e operazioni logiche
- OOppppoorrttuunnii cciirrccuuiittii ppeerr iill “ccoooorrddiinnaammeennttoo” ddeellll’ eesseeccuuzziioonnee ddeellllee istruzioni (per es. il loro sequenziamento, controllo degli errori)
- Interfacce per spostare dati da/verso la memoria
- Interfacce per spostare dati da/verso unita’ di I/O
- Ha (in linea di principio) limitate capacita’ di memorizzare
dati e/o istruzioni
- Lo stretto necessario per eseguire le operazioni
- Ma per motivi di efficienza (v. dopo) una parte della memoria e’ “ospitata” nel microprocessore 23
Unità di
decodifica
istruzioni
Unità di
gestione
indirizzi
Unità di
gestione
BUS
CPU (Central Processing Unit)
istruzioni indirizzi BUS
ALU
Unità di
controllo
Registro
Unità operativa
- Svolge tutte le elaborazioni richieste (aritmetiche, logiche,
grafiche?, ...).
- E’ composta di:
- ALU
- Registri
- FFPPUU ((ssppeessssoo vviissttaa ccoommee uunniittaa’ sseeppaarraattaa))
- Flag (controllo risultato operazioni)
27
Registri
- Elementi di memoria locale usati per conservare
temporaneamente dei dati (es. risultati parziali).
- Pochi (8...128)
- Stessa dimensione del dato contenuto in memoria
(8...64 bit)
ALU (Arithmetic-Logic Unit) e
FPU (Floating Point Unit)
- ALU
- Svolge tutti i calcoli (aritmetici e logici)
- Solitamente composta da circuiti combinatori
- FPU:
- UUOO ddeeddiiccaattaa aaii nnuummeerrii rreeaallii
- alias “coprocessore matematico”
29
Unità di controllo
- E’ il cuore dell’elaboratore:
- in base al programma fornitole ...
- ed allo stato di tutte le unità ...
- decide l’operazione da eseguire ...
- ed emette gli ordini relativi
Esecuzione di un’’’’istruzione
Preleva una istruzione
dalla memoria centrale
fetch IR ←←←← M [ PC ] PC ←←←← PC + 1
33
Interpreta l’istruzione
Esegue l’istruzione
Decode ordini ← decode(IR)
Execute ready? go!
Il clock
- Ogni elaboratore contiene un elemento di
temporizzazione (detto clock ) che genera un riferimento
temporale comune per tutti gli elementi costituenti il
sistema di elaborazione.
Il clock
- T =periodo di clock
- f =frequenza di clock ( = 1/T )
- unità di misura = s –1^ = Hz (cicli/s)
35
t
T
Tempistica delle istruzioni
- Un ciclo-macchina è l’intervallo di tempo in cui viene
svolta una operazione elementare ed è un multiplo intero
del periodo del clock
- L’esecuzione di un’istruzione richiede un numero intero
di cicli macchina, variabile a seconda del tipo di istruzione
Indirizzamento
- La memoria è organizzata in celle (mimima unità
accessibile direttamente). Ad ogni cella di memoria è
associato un indirizzo (numerico) per identificarla
univocamente.
39
1
2
3
5
6
7
8
9
Parallelismo
- Ogni cella di memoria contiene una
quantità fissa di bit (word):
- identica per tutte le celle (di una certa unità di memoria)
- accessibile con un’unica istruzione
- è un multiplo del byte
- minimo un byyte ((t ippicament e una word pper la memoria pprinci ppale a supporto dell'UO)
Gerarchia di memoria
- Idealmente la memoria dovrebbe essere
- Piu’ grande possibile
- Piu’ econonomica possibile
- Piu’ veloce possibile
- Mantenere le informazioni indefinitamente (anche in assenza di alimentazione) – non volatili
- Una simile memoria non esiste (ancora)
- Le memorie veloci hanno un costo relativamente alto e sono volatili
- Le memorie non volatili costano relativamente poco ma sono relativamente lente
- Necessaria una gerarchia di memoria
41
Gerarchia di memoria
- Per ottimizzare tempo medio di accesso e costo medio, si
organizza la memoria a livelli
- Piu’ vicino al processore le memorie piu’ veloci, costose (e anche volatili, per motivi tecnologici)
- Piu’ lontano dal processore le memorie piu’ lente, economiche e non volatili D i i ‘ i it l ’ Dominio ‘circuitale’
Memoria RAM (Random Access Memory)
- Circuiti integrati
- Il tempo di accesso è costante (indipendente dalla cella
scelta)
- Ta = costante
- Ormai sinonimo di memoria interna volatile casuale a
lettura e scrittura
45
Le interconnessioni (bus)
I Bus (sistema circolatorio del PC)
47
Caratteristiche di un bus
- Trasporto di un solo dato per volta
- Frequenza = n. di dati trasportati al secondo
- Ampiezza = n. di bit di cui è costituito un singolo dato
- Se mal dimensionato, potrebbe essere un collo di bottiglia
Massima memoria interna
(fisicamente presente)
- La dimensione dell’Abus determina il max numero di celle
di memoria indirizzabili
- La dimensione del Dbus “indica” la dimensione di una
cella di memoria
- max mem = 22 ||AAbbuuss||^ x ||DDbb us|| bbiitt
- Esempio (Abus da 20 bit, Dbus da 16 bit):
- max mem = 2 20 x 2 byte = 2 MB
- ossia 1 M celle di memoria, ognuna da 2 byte
51
Massima memoria esterna
- La memoria esterna (es. dischi) non dipende dall’Abus
perché viene vista come un periferico (di input e/o di
output)
- La massima quantità di memoria esterna dipende dal bus
ddii II//OO ((qquueelllloo ssuu ccuuii ssoonnoo ccoolllleeggaattii ii ppeerriiffeerriiccii))
Interfaccia
(controller)
Interfaccia
(controller)
Dati
Dispositivi periferici
Controllo
53
Unità di input/output
- Trasformano informazioni dal mondo umano a quello del
computer e viceversa:
- umano = diversi tipi di segnali fisici, analogici, asincroni
- computer = segnali solo elettronici, digitali, sincroni