l'informatica e l'elaboratore - salvemini.altervista.org · 25/39 architettura dei...
TRANSCRIPT
Architettura dei Calcolatori
Corso di Laurea in Ingegneria Civile
Politecnico di Bari – Sede di Foggia
Fondamenti di Informatica Anno Accademico 2011/2012
docente:
Prof. Ing. Michele Salvemini
Sommario
} L'Informatica e l'Elaboratore
} Preistoria e Storia
} Charles Babbage
} La macchina alle differenze finite
} La macchina analitica
} Ada Lovelace
} Von Neumann
} Architettura di Von Neumann
} Il Processore
} CU, ALU ed il Clock
} Registri
} Architettura
} Ciclo di istruzione fetch-
decode-execute
} Le Memorie } Le Memorie Primarie } Le Memorie Secondarie
} Il Bus } Categorie di Bus } Load di una cella di memoria
} Le Periferiche
15.05.2012 2/39 Architettura dei Calcolatori
L'Informatica e l'Elaboratore
} Informatica } scienza preesistente all’elaboratore, acronimo di
INFORMAzione automaTICA.
} Elaboratore } mezzo strumentale (macchina) per elaborare
automaticamente l’informazione con l’obiettivo di risolvere differenti problemi.
} Elaborazione automatica } sequenza di trasformazioni delle informazioni (dati) iniziali
fornite alla macchina per ottenere la soluzione.
} Programma } sequenza di istruzioni che, se eseguite, generano le suddette
trasformaziomi
15.05.2012 3/39 Architettura dei Calcolatori
L'Informatica e l'Elaboratore
15.05.2012
} il concetto di calcolatore/elaboratore
4/39 Architettura dei Calcolatori
L'Informatica e l'Elaboratore
15.05.2012
} Un Elaboratore quindi } È una macchina in grado di elaborare informazione
} Elabora e memorizza informazioni, rappresentate in un formato digitale binario, sulla base di istruzioni in esso memorizzate. ¨ Un insieme di tali istruzioni e’ detto programma.
} È Programmabile } è possibile cambiare il tipo di elaborazione svolta dalla macchina
(e quindi la sua funzione) cambiando il programma contenuto nella macchina.
} Funzioni } legge informazioni di ingresso (dati di input), } elabora tali informazioni in base ad un insieme di istruzioni
(programma), } restituisce le informazioni trasformate (dati di output).
5/39 Architettura dei Calcolatori
L'Informatica e l'Elaboratore
15.05.2012
} Decomposizione di un calcolatore inteso nella sua globalità: } Hardware: la struttura fisica del calcolatore, costituita da
componenti elettronici ed elettromeccanici.
} Software: l’insieme dei programmi che consentono
all’hardware di svolgere i vari compiti.
6/39 Architettura dei Calcolatori
Preistoria e Storia
15.05.2012
} La storia del calcolo automatico può essere suddivisa in tre grandi fasi } La prima comprende l'arco di tempo che va dalla preistoria
fino al 1930 } l'abaco, il pallottoliere e le macchine calcolatrici
} La seconda fase è quella dei grandi calcolatori degli anni '40
} la terza fase è quella dei computer, quella che arriva fino ai giorni nostri
7/39 Architettura dei Calcolatori
Preistoria e Storia – Charles Babbage
15.05.2012
} 1823 - Charles Babbage progettò la Difference Engine } Si trattava di un calcolatore che, sfruttando il metodo delle
differenze } ovvero il metodo grazie al quale le operazioni di moltiplicazione e
divisione vengono ridotte alle più semplici addizione e sottrazione;
} era in grado di svolgere equazioni polinomiali e creare dunque tabelle di polinomi.
} I motivi che spinsero Babbage all’ideazione di questa macchina furono
} Calcolare tavole astronomiche, } calcolare funzioni trigonometriche e logaritmi
} Fu realizzato un prototipo imperfetto
8/39 Architettura dei Calcolatori
Preistoria e Storia – Charles Babbage
15.05.2012
} 1834 - Charles Babbage progetto la macchina analitica } una macchina in grado di compiere qualsiasi calcolo
programmabile
} funzionamento a vapore
} Considerata il primo computer al mondo, consisteva di } una unità di calcolo, detta Mulino (Mill)
} una memoria, costituita da una pila di registri in cui venivano memorizzati dati e risultati intermedi.
} Una stampante per l’output } Input / Output (schede perforate)
} Fu solo progettata
9/39 Architettura dei Calcolatori
Preistoria e Storia – ADA Lovelace
15.05.2012
} ADA Lovelace (figlia legittima del poeta romantico George Byron) ideò i programmi per la macchina Analitica. } E’ stata quindi la prima programmatrice della storia!
} A lei si deve l’idea di loop e di subroutine.
} Il linguaggio di programmazione ADA ha preso il nome da lei!
10/39 Architettura dei Calcolatori
Preistoria e Storia – Von Neumann
15.05.2012
} Nel 1946, presso l’Università della Pennsylvania fu
costruito per scopi militari, il primo calcolatore elettronico: l’ENIAC
} in grado di effettuare 400 moltiplicazioni al secondo
} costituito da più di 100.000 componenti:
} occupava una superficie di 200 mq e pesava oltre 35 t.
11/39 Architettura dei Calcolatori
Preistoria e Storia – Von Neumann
15.05.2012
} L'ENIAC consumava molta corrente elettrica } secondo la leggenda, ogni volta che lo si accendeva si
abbassavano le luci in tutta Filadelfia.
} Dal punto di vista funzionale } le dimensioni della macchina, la frequenza dei guasti e il
consumo di energia elettrica erano bazzecole se paragonati alla programmazione necessaria a livello hardware.
12/39 Architettura dei Calcolatori
Preistoria e Storia – Von Neumann
15.05.2012
} fu l’EDVAC (Electronic Discrete Variable Computer -
1950), progettato dal matematico ungherese Von
Neumann, il vero precursore dei moderni computer.
} Ancora oggi i moderni calcolatori conservano la stessa organizzazione logica del modello di Von Neumann.
} primo progetto di calcolatore elettronico a “programma
memorizzato”
} Il punto chiave consisteva nell'inserire i programmi dentro la macchina, non sotto forma di connessioni tra cavi, bensì come cariche elettriche e impulsi.
13/39 Architettura dei Calcolatori
Preistoria e Storia – Von Neumann
15.05.2012
} Von Neumann decise che le funzioni di base di un calcolatore
} addizione, sottrazione, … fossero inserite nella macchina e diventassero parte integrante della sua struttura fisica;
} l’ordine e le combinazioni d’esecuzione variabili;
} Per far sì che una macchina lavorasse a diversi problemi, non sarebbe più stato necessario modificare la macchina.
14/39 Architettura dei Calcolatori
15.05.2012
} Il modello di Von Neumann
} L’Unità Aritmetica Logica (ALU), esegue calcoli e operazioni logiche
} L’Unità di Controllo (CPU), controlla il funzionamento dell’ALU e sincronizza le comunicazioni tra i componenti
} L’Unità di Memoria primaria, ospita in modo temporaneo i dati e le istruzioni (programmi);
} Le Unità di Input e Output, passando per la CPU immettono dati ed emettono i risultati;
15/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
16/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
17/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
18/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
19/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
20/39 Architettura dei Calcolatori
Architettura di Von Neumann
15.05.2012
21/39 Architettura dei Calcolatori
Il Processore
15.05.2012
} CPU (Central Processing Unit) } svolge le principali operazioni di calcolo e di controllo; } collocata su un singolo chip e chiamata microprocessore; } Interpreta ogni istruzione mediante una sequenza ben definita di
operazioni detta ciclo di istruzione; } E’ provvisto di meccanismi idonei a:
} Estrarre una istruzione (FETCH), } Decodificarla (DECODE), } Eseguirla (EXECUTE), } Determinare la prossima istruzione da eseguire.
} E’ costituito da } Unità di controllo (CU- Control Unit), } Unità di calcolo (ALU -Aritmetic Logic Unit), } Registri : Contatore (PC), di istruzione (IR), ecc…, } Clock
22/39 Architettura dei Calcolatori
Il Processore
15.05.2012
} Unità di controllo (CU, Control Unit) } controlla e coordina l'attività della CPU. } responsabile del trasferimento e della decodifica delle istruzioni
dalla memoria centrale ai registri della CPU
} ALU, Arithmetic Logic Unit } esegue le operazioni elementari necessarie per l'esecuzione delle
istruzioni (operazioni aritmetiche e confronti sui dati della memoria centrale o dei registri);
} Clock } è l'orologio interno che scandisce la durata di un ciclo di
esecuzione, permettendo il sincronismo delle operazioni. } La frequenza del clock si misura in Mhz e indica il numero di
operazioni elementari eseguite in un secondo: essa fornisce un'idea della velocità di elaborazione del computer;
23/39 Architettura dei Calcolatori
Il Processore – I Registri
15.05.2012
} Ogni registro è una memoria (Volatile) molto piccola ma veloce, utilizzata per memorizzare all'interno della CPU: } dati prelevati dalla memoria e su cui la CPU dovrà lavorare; } istruzioni prelevate dalla memoria che la CPU dovrà eseguire; } indirizzi di celle di memoria all'interno delle quali ci sono dati o
istruzioni da prelevare. } alcuni registri
} MDR (registro dati): in esso transitano le parole da leggere (load) o scrivere (store) nella memoria centrale
} MAR (registro indirizzi): contiene l’indirizzo della cella di memoria coinvolta nell’operazione di load o store
} IR (registro istruzione corrente): contiene l’istruzione correntemente in esecuzione
} PC (registro contatore di programma): contiene l’indirizzo della cella di memoria in cui si trova la prossima istruzione da eseguire
24/39 Architettura dei Calcolatori
Il Processore - Architettura
15.05.2012
25/39 Architettura dei Calcolatori
Il Processore – il Ciclo di Istruzione
15.05.2012
26/39 Architettura dei Calcolatori
Il Processore – il Ciclo di Istruzione
15.05.2012
} La CU preleva (fetch) l’istruzione dalla memoria centrale, utilizzando l’indirizzo conservato nel PC, e la trasferisce nel registro IR;
} 2. Il PC viene incrementato : (PC) = (PC)+1; } 3. L’istruzione viene decodificata nell’IR: si determina il tipo e si
indirizza il circuito o il microprogramma che la esegue ; } 4. e 5. Se l’istruzione usa operandi, si determina dove si trovano,
se necessario, vengono trasferiti in registri della ALU (fetch degli operandi);
} 6. L’istruzione viene eseguita; in presenza di operatori aritmetico/logici, gli operandi vengono inviati alla ALU per eseguire l’operazione;
} 7. e 8. I risultati vengono trasferiti in memoria centrale; } 9. Si torna al punto 1 e inizia a processare l’istruzione successiva
puntata dal PC.
27/39 Architettura dei Calcolatori
Le Memorie
15.05.2012
} Le memorie si dividono in due livelli gerarchici } Memorie primarie
} Registri
} Cache
} Ram (Memoria principale o centrale), Rom, …
} Memorie secondarie o di massa } HardDisk, CD ROM, DVD,…
28/39 Architettura dei Calcolatori
Le Memorie Primarie
15.05.2012
} Le memorie primarie o centrali o principali sono } responsabile della memorizzazione delle informazioni
relative ad i programmi in esecuzione;
} organizzata in celle o locazioni
} a ciascuna cella è associato un indirizzo, che la identifica
} ciascuna cella è in grado di memorizzare una quantità fissata di memoria (numero di bit), detta parola
} Ogni cella è caratterizzata da ¨ un indirizzo, un numero che identifica la cella e ne consente l’accesso
¨ un valore, la sequenza di bit memorizzata in essa
} Memoria a sola lettura (ROM)
} lettura/scrittura (RAM e Cache Memory)
29/39 Architettura dei Calcolatori
Le Memorie Primarie
15.05.2012
30/39 Architettura dei Calcolatori
Le Memorie Primarie – La RAM
15.05.2012
} RAM (Random Access Memory)
} capacità di memorizzazione espressa in MB o GB
} i primi computer erano dotati di alcune decine di KB
} tempo di accesso (tempo medio che intercorre tra la
richiesta ed il completamento di una operazione di lettura o
scrittura di una cella)espresso in nanosecondi
} volatile
} operazioni } Memorizzazione o modifica di un valore in una cella (scrittura)
} accesso al valore memorizzato in una cella (lettura)
31/39 Architettura dei Calcolatori
Le Memorie Primarie – La ROM e Cache Memory
15.05.2012
} ROM (Read Only Memory) } particolare tipo di memoria in cui vengono memorizzate
informazioni che possono soltanto essere lette e non modificate } Tipici utilizzi
} Bios (Basic Input output Stream) } Schede video, Schede audio
} Nei primi computer contenevano il sistema operativo (Commodore Vic20, C64,…)
} non volatile } La Cache Memory
} utilizzata per accelerare l'accesso alle posizioni di memoria RAM usate più frequentemente
} Si tratta di una piccola quantità di memoria veloce installata direttamente sul processore o nelle sue immediate vicinanze
} Volatile
32/39 Architettura dei Calcolatori
Le Memorie Secondarie – Hard Disk
15.05.2012
} Memoria di massa ad accesso casuale; } Le informazioni sono raggruppate in file gestiti dal sistema
operativo;
} Internamente è costituito da più supporti circolari rigidi, chiamati piatti (in genere in lega di alluminio), impilati su un unico asse centrale ed organizzati in tracce concentriche e in settori;
} Meccanismo di memorizzazione di tipo magnetico;
} Tempi di accesso dell’ordine di decine di millisecondi;
} Attualmente gli HD permettono di archiviare
centinaia di GB (gigabyte) di dati
(> 100.000.000.000 di byte o caratteri).
33/39 Architettura dei Calcolatori
Le Memorie Secondarie – Hard Disk
15.05.2012
} Struttura di un piatto } A) Traccia
} B) Settore
} C) Settore di una traccia
} D) Cluster, insieme di settori contigui
34/39 Architettura dei Calcolatori
Le Memorie Secondarie – Gerarchia
15.05.2012
} Capacità inversamente proporzionale alla velocità di accesso
35/39 Architettura dei Calcolatori
Il Bus
15.05.2012
} Il BUS è un insieme di linee per la trasmissione dei dati tra le varie componenti } Una trasmette, l’altra riceve: Master e Slave
} Le possibili interconnessioni sono: } tra l’unità di elaborazione e la memoria, } oppure tra l’unità di elaborazione e l’interfaccia di una specifica
periferica
} Costituito da un insieme di connessioni elementari, suddivise in tre categorie a seconda del tipo di informazione trasportata } Bus dati: bidirezionale } Bus Indirizzi: unidirezionale } Bus Controllo: bidirezionale
36/39 Architettura dei Calcolatori
15.05.2012
} Bus dati } Per la trasmissione di dati dall’unità master all’unità slave o
viceversa } Bus indirizzi
} Per la trasmissione di indirizzi di memoria centrale } Bus di controllo
} Per la trasmissione di comandi ed informazioni di controllo alle varie unità, in particolare:
} trasmette dall’unità master all’unità slave un codice corrispondente all’istruzione da eseguire;
} dall’unità slave all’unità master informazioni relative all’avvenuto completamento dell’operazione richiesta;
37/39 Architettura dei Calcolatori
Il Bus - Load di Una Cella di Memoria
15.05.2012 38/39 Architettura dei Calcolatori
Le Periferiche
15.05.2012
} Un calcolatore è generalmente collegato a vari dispositivi di ingresso e uscita (chiamati periferiche) } Esempi: tastiera, mouse, schermo, stampanti, modem;
} Consentono la comunicazione dell’elaboratore con
l’esterno ed in particolare la lettura di dati in input
e la restituzione dei risultati delle elaborazioni in
output;
} Ogni periferica è controllata con un’opportuna
interfaccia;
39/39 Architettura dei Calcolatori