UOMO |
COMPUTER |
|
|
Legge,
ascolta istruzioni e dati attraverso organi di senso. Registra le istruzioni e i dati
nella memoria. Elabora i dati utilizzando il cervello
come unità di calcolo e di controllo. Talvolta
usa carta, lavagna, etc. per registrare dati e istruzioni che non è in grado
di ricordare (non entrano tutte insieme nel cervello che ha memoria limitata). Fornisce
i dati in forma percepibile sensorialmente da altri uomini. |
Acquisisce dati e programmi
attraverso dispositivi di input. Registra i
programmi e i dati nella memoria centrale. L’unità
di controllo controlla la sequenza delle operazioni; l’unità logico -
aritmetica (ALU) effettua i calcoli. Registra dati e programmi su memoria
ausiliaria (dischi, nastri, etc.). Emette
i risultati tramite i dispositivi di output. |
Memoria Centrale
Þ Indirizzi (0..max)
Þ Parola (8, 16, 32 o 64 bit)
indirizzi indirizzi
0 0
1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1
1 1 0 1 0 0 1 0 1 2 1
1 1 1 0 0 1 1 0 0 0 0 0 0 0 0
parola
di 16 bit
2 1 1 1 1 0 0 1 1 .....
3 0 0 0 0 0 0 0 0
... parola di 8 bit
Due modi differenti di organizzare una memoria a 8 o 16 bit
Capacità:
· kilobyte (KB) =
210 byte = 1.024 byte @ 1.000 byte
· megabyte (MB) = 220
byte = 1.048.576 byte @ 1.000.000 byte
· gigabyte (GB) = 230
byte @ 1.000.000.000 byte
· terabyte (TB) =
240 byte @ 1.000.000.000.000
byte
Tempo di accesso:
· millisecondo (ms) = un millesimo di secondo = 10-3 sec.
· microsecondo (ms) = un milionesimo di secondo = 10-6 sec.
· nanosecondo (ns) = un miliardesimo di secondo = 10-9 sec.
Memoria Centrale
PERMANENTI: il contenuto permane anche in assenza di alimentazione.
VOLATILI: il contenuto si perde senza alimentazione.
STATICHE: non necessitano di refresh.
DINAMICHE: richiedono una riscrittura periodica (refreshing) perché tendono a perdere il contenuto.
RAM: (Random Access
Memory) sono memorie accessibili per scrittura e lettura.
ROM: (Read Only Memory)
sono memorie usabili solo in lettura dopo una scrittura iniziale (il contenuto
non può essere modificato).
EPROM: (Erasable
Programmable ROM) sono memorie ROM riscrivibili con strumentazione ad hoc.
EEPROM: (Electrally Erasable
PROM) sono memorie riscrivibili, ma con tempi di scrittura dell’ordine di
millisecondi; sono usate tipicamente per memorizzare dati quasi costanti.
Memoria Centrale
PARAMETRI DI VALUTAZIONE
à CAPACITÀ in byte
à VELOCITÀ di accesso (attuale < 80 ns; a nuclei » 1 ms)
à DIMENSIONI
FISICHE
da uno o più MB; maggiore compattezza
Þ
maggiore velocità
à ASSORBIMENTO di energia (+
velocità Þ
+ energia Þ
problemi di raffreddamento)
à LUNGHEZZA
DELLA PAROLA: 8, 16, 32, 64
bit; parola + lunga Þ memoria + veloce
EVOLUZIONE DELLE DIMENSIONI
Elementi per cm2
1021 |
Limite fisico |
1019 |
Memoria genetica |
1010 |
Cervello umano ¬ situazione
attuale |
109 |
Circuiti VVLSI (very very large
scale integration) |
108 |
Circuiti VLSI (very large scale
integration) |
106 |
Circuiti LSI (large scale
integration) |
105 |
Circuiti SSI (small scale
integration) |
103 |
Memorie a nuclei magnetici |
1 |
Circuiti a transistor |
10-2 |
Circuiti a valvole |
Memoria Centrale
Schema di una memoria centrale
memoria comando di lettura / scrittura
Registro indirizzamento |
||
|
||
|
||
|
Registro di lettura/scrittura
· Registro Indirizzamento: indirizzo della cella di memoria da selezionare
· Registro di Lettura/Scrittura: dato da scrivere (comando di scrittura) o dato letto
(comando di lettura)
La
scelta del tipo di memoria dipende dall’applicazione sulla base della
valutazione dei vari fattori: velocità, costo, dissipazione di potenza, ingombro,
etc.
C.P.U.
PC:=indirizzo
iniziale |
nel
registro PC viene caricato l’indirizzo della prima istruzione |
loop |
inizio
ciclo di esecuzione |
IR:=memoria(PC) |
nel
registro IR viene trasferita l’istruzione di indirizzo PC (fetch) |
decode |
decodifica
dell’istruzione |
incremento di PC |
a
seconda della lunghezza dell’istruzione, per indirizzare la prossima |
execute |
esecuzione
dell’istruzione corrente |
end
loop |
nuova
iterazione |
C.P.U.
Architettura
PC “IBM compatibile” =
microprocessori
Intel famiglia 80x86
Modelli:
·
1981: CPU 8088 (4,77
Mhz; 8 bit; max memoria 1MB)
·
1982: CPU 8086 (8/16
bit; frequenza più elevata)
·
1983: CPU 80286 (16
bit; frequenze 6¸16
Mhz; max memoria 16MB)
· 1985: CPU
80386
(32 bit; frequenze 16¸40 Mhz; max memoria
4GB)
·
1988: CPU 80486 (32
bit; frequenze 25¸100
Mhz; coprocessore matematico ed MMU incorporati)
· 1992: CPU
Pentium
(CISC & RISC; 64 bit;
frequenze 60¸90
Mhz; max memoria 264 @ 4 milioni di terabyte)
· 1995: CPU
Pentium Pro (P6)
Architetture
CISC e RISC |
·
metà anni ‘80 prime CPU di tipo RISC ·
basso costo ·
elevate prestazioni, raggiungibili per l’architettura
semplificata ·
sensibile aumento della frequenza di clock (sino ed oltre i 200 Mhz) ·
maggiore dotazione di cache (primaria e secondaria) ·
elevato parallelismo nelle istruzioni macchina (pipeline). ·
supporto di
sistemi multiprocessore ·
architettura di tipo generale, e non solo per applicazioni scientifiche. ·
nel 1992
passaggio ai 64 bit ·
meno “intelligenza” cablata Þ gestione a carico
dei compilatori ·
Tempo di CPU
= N.ro di Istruzioni * Cicli/Istruzione * Tempo di Ciclo Þ meno Cicli
per Istruzione, più basso Tempo di Ciclo · altre caratteristiche: - set di istruzioni macchina semplici e a lunghezza fissa Þ n.ro complessivo di istruzioni 2¸4 volte maggiore; - alto numero di registri; -
accesso alla
memoria del tipo load/store. ·
evoluzioni
recenti: - bus
indirizzi separato dal bus dati (architettura Harvard); - memorie cache separate per istruzioni
e dati; - struttura interna a bus multipli per supportare più unità
di esecuzione; -
unità di
esecuzione con schema pipeline, l’unico in grado di
fornire un risultato per ogni ciclo di clock. |
C.P.U.
L ’ U n i t à L o g i c o -
A r i t m e t i c A
Þ Contiene una serie di registri nei quali vengono memorizzati
i dati su cui operare ed i risultati ottenuti.
Þ Riceve in ingresso i segnali su cui operare ed il codice
dell’istruzione e produce i segnali di output.
Inp = segnali di Input
Out = segnali di Output
Sel = segnali di selezione operazione
Architetture Bus Standard
· 1981: primo bus a 8 bit (PC e XT)
· 1983: bus I.S.A.
a 16 bit (AT Bus)
· 1985: bus a 32 bit M.C.A.
(di IBM) ed E.I.S.A. (altri)
· 1988: local-bus
V.E.S.A. a 32 bit (accelerazione video; totale dipendenza dalla CPU)
· 1990: bus P.C.I.
a 32/64 bit (intermedio tra bus tradizionale,
CPU e memoria; asincrono ed indipendente dalla CPU; clock fisso di 33
Mhz Þ
132¸260
MB/sec; bus-mastering multiplo)
C.P.U.
Istruzioni macchina
C O D I C E O P E R A T I V O ½ O P E R A N D I
|----------------------------------------- p a r
o l a ------------------------------------------|
· codice
operativo: sequenza di bit che
identifica l’operazione da eseguire
· operandi: valori
costanti oppure indirizzi di memoria (in binario)
Operazioni
tipiche:
· su registri (load/store)
· salti (“branch”) condizionati
· salti incondizionati
· aritmetiche
· logiche
C.P.U.
Esempio di istruzioni macchina:
prodotto di due
numeri A e B
R3 ¬ 0
R1 ¬ memoria(300)
R2 ¬ memoria(301)
L1: se R2 =
0 vai a L2
R3 ¬ R3 + R1
R2 ¬ R2 - 1
vai a L1
L2: memoria(302) ¬ R3
fine
Memorie di massa
|
· archiviazione permanente di dati e programmi
·
basso costo
·
elevata capacità
·
non volatili
“I
dati ed i programmi cui può accedere direttamente il processore sono solo
quelli presenti in memoria centrale. Per essere utilizzati, i dati e i
programmi registrati su memoria di massa devono essere trasferiti in
memoria centrale”
Memorie di massa
Parametri:
·
CAPACITÀ (relativamente
alta)
·
COSTO (basso)
·
TEMPO DI ACCESSO (dischi³5 ms)
· TIPO DI
ACCESSO:
- diretto (dischi
magnetici)
-
sequenziale (nastri magnetici)
Dischi magnetici:
· uno o più piatti rigidi (hard-disk) o disco flessibile
(floppy-disk)
· ruotano a velocità costante (hard-disk) o su richiesta
(floppy)
· lettura/scrittura effettuata per mezzo di testine per tracce
concentriche (cilindri), suddivise in settori
· densità di registrazioneattuale = 108 bit/cm2
· dimensioni (diametro): 14”®8”®5¼”®3½”®2”®...
· capacità 400MB ¸ 4GB
D i s c h i
Tempo di accesso
latenza (³4,16 ms)
seek (pochi ms)
avvio motore
(10¸100 ms)
D i s c
h i
Tipologie:
·
dischi rigidi estraibili (minore
capacità, trasportabili)
·
dischi fissi (tecnologia
“winchester” sotto vuoto)
·
floppy disk (supporto
flessibile, molto leggeri, densità minore, meno affidabili, basso costo)
·
dischi a testine fisse (tamburi):
minimo tempo di accesso
DISCHI MAGNETICI
RIGIDI FLESSIBILI
REMOVIBILI FISSI
TESTINA
FISSA TESTINA MOBILE
(tamburi)
D i s c h i
Caratteristiche
tecniche:
·
tempi di accesso
attuali ~
4,16 ms
·
dischi a testine
fisse non più in uso
·
più testine sullo
stesso braccio
·
dischi di piccole
dimensioni Þ
avviamento su richiesta
·
costo ~ 10-4
£/bit
·
“accesso ciclico”
·
cache-controller
|
Costo |
|
Maneg- gevolez-za |
Tempo di accesso |
Affidabilità |
Capacità |
||||
Flessibili |
basso |
alta |
200 ms |
bassa |
bassa (1-2
MB) |
|
||||
Testina
fissa |
alto |
bassa |
5-8 ms |
alta |
bassa (in disuso) |
|
||||
Testina
mob. |
medio |
bassa |
10-15 ms |
alta |
alta
(200MB-4GB) |
|
||||
Removibili |
medio-alto |
media |
10-50 ms |
medio-alta |
alta
(100MB-2GB) |
|
||||
Dischi Ottici e Magneto-Ottici
Þ CD-ROM o WORM:
scrivibili una sola volta; usano superfici sensibili ad un raggio laser
Þ magneto-ottici
(riscrivibili; usano superfici
anche magnetiche)
Caratteristiche:
·
bassissimo costo
supporto (CD-ROM);
·
capacità attuale
circa 1 GB;
·
estraibili;
·
tempo di accesso
50-150 ms;
·
idonei alla
registrazione di dati, voce, immagini (fisse ed in movimento);
· utilizzati nelle applicazioni multimediali;
· juke-box di CD-ROM con capacità di centinaia di GB.
N a s t r i
M a g n e t i c i
Utilizzati essenzialmente per operazioni di backup
e trasporto
dati
¨unità a bobina: costose, poco capaci ed ingombranti
¨unità streamer: economiche, capaci e poco ingombranti (cartucce magnetiche
da 1/4” o cassette da 8 mm; capacità alcuni GB)
Canali di Input/Output
¨unità dedicate
al trasferimento dei dati
¨dotate di
capacità elaborative proprie
¨gestiscono
l’I/O, sollevando la CPU da questo compito
I n t e r f a c c e
Dispositivi
per il collegamento delle periferiche ai canali di I/O o al BUS
|
seriale
(un bit alla volta)
|
parallela
(8
bit = 1 byte alla volta)
|
controller (dispositivi
intelligenti, con comandi indipendenti dal particolare device, usati per dischi,
nastri, etc.)
Tecnologia
DMA
accesso
diretto alla memoria ®
più
unità cooperanti