Transcript
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


Recommended