L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il...

10
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

Transcript of L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il...

Page 1: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/39 Architettura dei Calcolatori

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

Page 2: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 3: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 4: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 5: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 6: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 7: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 8: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 9: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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

Page 10: L'Informatica e l'Elaboratore - salvemini.altervista.org · 25/39 Architettura dei Calcolatori Il Processore – il Ciclo di Istruzione 15.05.2012 26/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