Laboratorio di Informatica Architettura di un elaboratore Lezione 1.
-
Upload
franco-di-matteo -
Category
Documents
-
view
218 -
download
1
Transcript of Laboratorio di Informatica Architettura di un elaboratore Lezione 1.
Laboratorio di Informatica
Architettura di un elaboratoreLezione 1
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
2
Le principali componenti
• Un elaboratore è composto da 3 componenti principali:• Il microprocessore • La memoria• I dispositivi di Ingresso/Uscita
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
3
Le principali componenti
• Le componenti sono interconnesse
• Il processore comunica con la memoria• La memoria si interfaccia con le unità
periferiche• Le unità periferiche si interfacciano con gli
utenti
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
4
Schema dell’architettura
Processore Memoria I/O
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
5
Schema delle interconnessioni
• Le componenti sono tra loro interconnesse
Il processore
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
7
Il processore
• Il processore è composto da due componenti:
DATAPATH
CONTROLLER
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
8
Il processore
• Il datapath o unità di elaborazione• L’insieme dei circuiti che operano e manipolano i
dati
• Il controller• L’insieme dei circuiti che interpretano un
programma e sovraintendono all’esecuzione delle istruzioni da parte delle altre componenti del calcolatore
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
9
Ciclo del processore
• Il processore esegue in continuazione il ciclo• preleva-interpreta-esegui
preleva
Preleva dalla memoria principale la prossima istruzione di un programma
interpreta
Decodifica l’istruzione
esegui
Esegui l’istruzione
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
10
Il linguaggio del processore
• Ogni modello di microprocessore ha un proprio linguaggio macchina diverso da quello di altri processori
• Ogni modello di microprocessore riconosce solo programmi scritti nel proprio linguaggio macchina
• Il linguaggio macchina contiene tutte e sole le operazioni che possono essere eseguite dal microprocessore
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
11
Linguaggio macchina
• Un processore con 2 registri R1 e R2• Si debbono sommare i contenuti delle locazioni di
memoria var1 e var2 e archiviare in tot• L’operazione di somma è possibile solo sui dati
archiviati nei registri• Trasferisci il contentuto di var1 nel registro R1• Trasferisci il contentuto di var2 nel registro R2• Somma il contenuto dei due registri• Trasferisci il risultato nella locazione di memoria tot
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
12
Linguaggio macchina –2
• È necessario disporre di• Istruzioni per il trasferimento di dati dalla memoria
ai registri e viceversa• Istruzioni aritmetiche/logiche• Eventualmente istruzioni di controllo• Esempio:
load R1, var1load R2, var2add R1, r2store R1, tot
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
13
Linguaggio macchina - 3
se a=b allora c:=0 altrimenti c:=a+b
load R1, a
load R2, b
sub R1, R2
jzero R1, fine
load R1, a
add R1, R2
fine: store R1, c
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
14
Le operazioni elementari
• Ogni istruzione del linguaggio macchina viene eseguita da un microprocessore svolgendo una serie di passi, le operazioni elementari
• Il numero di operazioni elementari necessario a portare a compimento un’istruzione in linguaggio macchina è dell’ordine di 7-10
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
15
Il ciclo di clock
• Ciclo di clock• Parametro caratteristico di un processore è la
durata del ciclo di clock• Indica il tempo richiesto dal microprocessore a
compiere un’operazione elementare• La frequenza del clock è espressa in MHz (Mega
Hertz) ed è l’inverso della durata del ciclo espressa in μs = 10-6 s
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
16
La velocità dei processori
• Dati 2 processori con lo stesso linguaggio macchina, risulterà più veloce quello con frequenza di clock maggiore
• Non è possibile dire nulla su processori con linguaggi macchina diversi• Es. Pentium Vs. PowerPC
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
17
Confronto tra processori diversi
• Dati i calcolatori A e B con diversi linguaggi macchina• Clock di A è 500MHz • Clock di B è 400MHz• Il linguaggio di A richiede l’esecuzione di 10 operazioni
elementari per ogni istruzione• Il linguaggio di B ne richiede 6
• Per eseguire un programma di 100M istruzioni di linguaggio macchina• A impiegherà 2s = (100 * 106 * 10)/(500 * 10-6)s• B impiegherà 1,5s = (100 * 106 * 6)/(400 * 10-6)s
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
18
La frequenza
• La frequenza di clock non è quindi un indice assoluto per quanto riguarda la bontà di un microprocessore
• Attualmente si trovano in commercio microprocessori che operano a frequenze di 1 GHz (1 Giga Hertz)
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
19
Processori
• I microprocessori più diffusi, prodotti da case diverse, sono:
• Intel (x86)• Motorola (68xxx)• IBM (PowerPC)• HP (PA-RISC)• DEC (Alpha)
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
20
Un processore
La memoria
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
22
La memoria
• Svolge la funzione di magazzino per i programmi e i dati su cui deve operare il microprocessore
• L’informazione digitalizzata viene rappresentata e salvata in memoria sotto forma di numeri binari
• Dati e programmi sono memorizzati in unità minime chiamate Byte• Un byte è a sua volta costituito da 8 bit, una
sequenza di 8 cifre binarie
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
23
La memoria
0 1 1 0 0 0 1 0
Il significato della stringa di bit dipende dalla codificase letto come testo, è la lettera bse letto come numero, è il valore 98
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
24
Rappresentazione binaria
• La singola cifra binaria è detta bit (0 o 1)
• La scelta è dettata da ragioni di praticità ed economia
• Il bit rappresenta due stati• Come una lampadina: accesa (1) o spenta (0)
• Combinazioni di bit in sequenze di lunghezza opportuna rappresentano i dati
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
25
Combinazioni di bit1 bit
01
2 bit
00011011
3 bit
000001010011100101110111
4 bit
00000001001000110100010101100111
10001001101010111100110111101111
Ogni bit in più raddoppia il numero delle combinazioni possibili
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
26
Combinazioni di bit
• Ogni combinazione rappresenta un valore diverso• Ci sono 2N combinazioni lunghe N bit
• Quindi, ci vogliono N bit per rappresentare 2N valori distinti
21 = 2 valori
22 = 4 valori
23 = 8 valori
24 = 16 valori
25 = 32 valori
1 bit ?
2 bit ?
3 bit ?
4 bit ?
5 bit ?
Quanti valoripossiamo
rappresentare con
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
27
Struttura della memoria
La memoria è organizzata in locazioni di memoria o celle
92789279
9280928192829283928492859286
Ogni cella ha un indirizzo numerico, che la identifica univocamente
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
28
Struttura della memoria - 2
92789279
9280928192829283928492859286
Valori grandi possono essereimmagazzinati in celleconsecutive (2/4/6 byte)
10011010La memoria è organizzata in celle di una data lunghezza (spesso 1 byte di 8 bit)
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
29
Dimensione della memoria
• La capacità di immagazzinare informazione in memoria (storage capacity) è indicata dal numero di byte di cui è costituita
• La capacità è espressa in diverse unità di misura:
KB 210 = 1024
MB 220 (> 1 milione)
GB 230 (> 1 miliardo)
TB 240 (> 1000 miliardi)
unità simbolo numero di byte
kilobyte
megabyte
gigabyte
terabyte
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
30
La memoria
• Per questioni di costi ed efficienza la memoria di un elaboratore è distribuita su dispositivi hardware diversi, che nel loro insieme costituiscono il sistema memoria dell'elaboratore, più comunemente chiamato
gerarchia di memoria
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
31
La memoria
• Ai livelli più alti di questa gerarchia sono presenti le memorie più veloci, e quindi più costose. Ai livelli bassi sono presenti le memorie più economiche ma anche più lente
• La velocità di una memoria è misurata in base al tempo di accesso speso dal microprocessore
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
32
La memoria
• I livelli di memoria generalmente presenti sono• i registri, le cache, la memoria centrale, i dischi.
• Una configurazione standard di un PC• 32 registri, 256Kbyte di cache, 64-128MB di
memoria centrale e un disco di 16GB.
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
33
La memoria
• I livelli più alti sono più vicini al processore• registri nel datapath• memoria cache sul chip del processore
• Il livello intermedio è la memoria centrale• 64-128KB, su chip separati
• I livelli bassi sono fisicamente lontani• dischi, nastri, CD-ROM
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
34
La memoria
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
35
Legenda della figura
• I registri sono nel chip del processore.
• La cache di I livello può anch’essa essere nel processore o esterna.
• Backing store quando c’è svolge le funzioni di buffer per i dischi. Questa funzione può essere svolta dalla memoria centrale.
• I nastri magnetici sono piuttosto in disuso, al loro posto si usano spesso batterie di cd-rom.
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
36
Memorie: confronti
SRAM (Static RAM) per le cache di I e II livello
DRAM (Dynamic RAM) per la memoria
memorie Tempo di accesso Costo in $ nel 97
SRAM 5 -25 ns 100 -250
DRAM 50 -120 ns 5 -10
Dischi magnetici
10 -20 milioni di ns 0.10 - 0.20
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
37
La memoria
• Esistono due categorie di dispositivi di memoria: • le memorie volatili • le memorie non volatili
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
38
La memoria
• Le memorie volatili sono i dispositivi di memoria che perdono il loro contenuto quando viene loro a mancare l'alimentazione elettrica
• Le memorie non volatili invece mantengono l'informazione registrata anche in assenza di alimentazione elettrica
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
39
Le memorie volatili
• genericamente indicate con il termine RAM (Random Access Memory)• i registri di CPU, le cache e la memoria centrale • sono realizzati rifacendosi alla tecnologia dei
circuiti integrati
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
40
Le memorie volatili
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
41
Le memorie non volatili
• I dispositivi più diffusi come memoria non volatile, sono i dischi magnetici
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
42
La memoria
• A elaboratore spento tutte le informazioni risiedono su disco
• All'accensione, le informazioni necessarie al funzionamento vengono trasferite da disco a memoria centrale, sino ai livelli più alti della gerarchia di memoria in funzione del loro utilizzo
I dispositivi di I/O o periferiche
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
44
I dispositivi di I/O
• Rappresentano l’interfaccia del calcolatore verso il mondo esterno
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
45
I dispositivi di I/O
monitor
tastiera
memoriaprincipale
processore
dischetto
disco rigido
Le periferiche di input e output consentono interazione
schermitastieremousescannertouch screen
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
46
I dispositivi di input
• I dispositivi di input acquisiscono informazioni espresse in un formato consono all’operatore umano
• Le traducono in un formato consono all’elaboratore
• le trasmettono alle componenti opportune del calcolatore• Es.: mouse, tastiera, scanner, microfono
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
47
I dispositivi di output
• I dispositivi di output acquisiscono informazioni dall’elaboratore nel formato di rappresentazione interno
• le traducono in un formato consono all’operatore umano
• le visualizzano• Es.: video, stampante
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
48
I dispositivi di I/O
• Ogni periferica è costituita da 3 componenti:• Una componente visibile, il dispositivo in senso
lato detto device• Una componente elettronica di controllo chiamato
device controller• Una componente software device driver
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
49
Il controller
• Riceve gli ordini dal microprocessore e li impartisce al dispositivo fisico
• Risiede su un circuito stampato ed è solitamente esterno all’unità periferica ed all’interno dello chassis
• Il collegamento tra il controller e la periferica avviene attraverso opportuni connettori
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
50
Il device driver
• Componente sw necessaria per la gestione della periferica
• Ogni periferica ha un proprio driver che viene consegnato su un disco all’atto dell’acquisto della periferica
• Prima di utilizzare la periferica è necessario installare il driver corrispondente
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
51
I Bus
• I controller di tutte le periferiche devono essere collegati al microprocessore per poter prendere ordini dallo stesso
• Per svolgere questa funzionalità ogni elaboratore è provvisto di uno o più bus• il bus è un insieme di cavi• il bus fa convergere al microprocessore le
informazioni provenienti dai vari controller• paragonabile ad una strada su cui convergono più
vie laterali provenienti dai vari controller
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
52
I Bus• Periferiche diverse possono usare tipi di bus diversi,
in genere in funzione della velocità di trasmissione dati
• I bus più diffusi:• PCI
• Generalmente usato sulla scheda madre tra memoria e processore
• SCSI• Usato per diversi tipi di periferiche in catena
• IDE• Generalmente usati per i dischi
• USB• Usato per periferiche di I/O
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
53
Monitor
• La dimensione fisica di un monitor (17") si misura diagonalmente, come per la TV
• I monitor di oggi hanno capacità multimediali
• gestiscono testo, grafica, video, graphics, video …
• Un monitor ha una risoluzione, che indica il numero di picture elements, detti pixels, che può visualizzare (es: 1280 per 1024)
• Una risoluzione alta (più pixels) fornisce immagini più chiare
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
54
Modem
• Ci sono strumenti per trasferire dati tra due computer
• Molti computer incorporano modem, che consente di trasferire dati sulla linea telefonica
• Uno strumento per trasferire dati ha una velocità massima di trasferimento
• Un modem può avere una velocità di trasferimento di 56,000 bits per second (bps)
AA 2005/06© Alberti, Bruschi, Rosti
Architettura di un elaboratore
55
Le specifiche del computer
• Dare le specifiche di un personal computer, ad esempio:
• 600 MHz Pentium III Processor• 256 MB RAM• 16 GB Hard Disk• 24x speed CD ROM Drive • 17” Multimedia Video Display con risoluzione 1280 x 1024• 56 Kps Modem