Corso di Laurea Ingegneria Civile Fondamenti di...

61
L’architettura del calcolatore 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l’architettura del calcolatore Marzo 2009

Transcript of Corso di Laurea Ingegneria Civile Fondamenti di...

L’architettura del calcolatore 1

Corso di Laurea Ingegneria CivileFondamenti di Informatica

Dispensa 01Anatomia e fisiologia

del computer:l’architettura del calcolatore

Marzo 2009

L’architettura del calcolatore 2

Nota bene

Alcune parti del presente materiale didattico sono derivate da:

dispense prodotte da Luca Cabibbotrasparenze per il corso di Laboratorio di Informatica A.A. 2005-2006 prodotte da Alfonso Miola

L’utilizzo di questo materiale è stato consentito dagli autori

L’architettura del calcolatore 3

Pre-requisiti

Nessuno

L’architettura del calcolatore 4

Al termine dell’unita’ didattica lo studente sara’ in grado di

Saper individuare I diversi componenti di un calcolatore

Saper distinguere la fase di acquisizione dalla fase di

interpretazione dei dati

Saper distinguere l’hardware dal software

Saper distinguere un pc da un mainframe

Avere l’idea che ogni calcolatore e’ costituito dallo stesso

tipo di componenti

Obiettivi (competenze da acquisire)

L’architettura del calcolatore 5

Contenuti

Che cos’è un calcolatore?Anatomia

I principali componenti di un calcolatore

Fisiologia ovvero l’architetturail calcolatore come sistema strutturatola macchina di von Neumann

Breve storia del calcolo automatico

L’architettura del calcolatore 6

Che cos’è un calcolatore?

Un calcolatore è una macchina programmabile, ovvero in grado di eseguire programmi Questa definizione descrive, in parte, il punto di vista degli utenti dei calcolatori

l’utente di un calcolatore interagisce con il calcolatore attraverso uno o più programmi un programma (o programma applicativo o applicazione) consente di far svolgere al calcolatore una molteplicità di operazioni

• ciascuna operazione di una applicazione costituisce uno strumento per l’utente dell’applicazione, da utilizzare per perseguire un certo scopo

Questi concetti vengono ora illustrati mediante degli esempi

L’architettura del calcolatore 7

Il gioco SudokuUn esempio di applicazione — il gioco Sudoku

lo scopo del gioco Sudoku consiste nel riempire la griglia in modo che ogni riga, ogni colonna ed ogni riquadro 3×3 contengano una sola volta le cifre da 1 a 9.

L’architettura del calcolatore 8

Dati e operazioni nelle applicazioni

In una applicazione è possibile identificare dati gestiti dall’applicazione

• i dati sono informazioni elementari (che possono anche descrivere realtà fisiche) opportunamente rappresentate

• La gestione dei dati ne comprende l’acquisizione, la memorizzazione, la manipolazione e la visualizzazione

operazioni che possono essere eseguite per manipolare le informazioni, trasformandole e generandone di nuove

Nel caso del Sudoku i dati (le informazioni opportunamente rappresentate) sono

• Le cifre da 1 a 9, le righe e le colonne e i riquadri 3x3le operazioni permesse sono

• Inserire una cifra• Eliminare una cifra

L’architettura del calcolatore 9

Il gioco Solitario

Un esempio di applicazione — il gioco Solitario

lo scopo del gioco Solitario consiste nel disporre tutte le carte del mazzo in quattro pile di carte suddivise in base al seme, in ordine crescente dall’asso fino al re

L’architettura del calcolatore 10

Applicazioni per calcolatori

Esistono moltissime tipologie di applicazioni • dai giochi alla gestione della telefonia

• dalla gestione di immagini e documenti alla possibilità di comunicare con altre persone e calcolatori

• dalla gestione alla simulazione di sistemi complessi – ad esempio, la simulazione di un aereo in volo oppure del volo virtuale di

un nuovo modello di aereo

• dal supporto alle attività individuali alla gestione dei sistemi informativi di grandi organizzazioni

L’architettura del calcolatore 11

Applicazioni e risoluzione di problemi

La possibilità di poter eseguire su un medesimo calcolatore applicazioni diverse rende il calcolatore una macchina che può essere utilizzata da un utente per la risoluzione di problemi anche molto diversi tra loro

• un utente può risolvere un problema usando una applicazione e uncalcolatore, se è in grado di fornire all’applicazione-calcolatore le istruzioni dettagliate di come il problema possa essere risolto

Dal punto di vista dell’utente, con riferimento all’esecuzione di una applicazione

• le istruzioni che è possibile richiedere al calcolatore di eseguire sono quelle corrispondenti alle richieste di esecuzione delle operazioni fornite dall’applicazione

• ciascuna applicazione può essere caratterizzata dall’insieme delle operazioni che fornisce (e dalle regole per usarle)

L’architettura del calcolatore 12

Anatomia

http://www.schule.provinz.bz.it/ipia-galilei/PC/s_madre.htm

Figura 5 pag. 5: diagramma schematico di un computer

L’architettura del calcolatore 13

Architettura del calcolatoreUn calcolatore è un sistema

un sistema è un oggetto costituito da molte parti (componenti) che interagiscono, cooperando, al fine di ottenere un certo comportamento

Studiare l’architettura di un sistema vuol dire individuare ciascun componente del sistema comprendere i principi generali di funzionamento di ciascun componente comprendere come i vari componenti interagiscono tra di loro

La decomposizione di un sistema in componenti può essere gerarchica

ogni componente può essere solitamente considerato a sua volta un sistema, di cui può essere studiata l’architettura

• quindi, la decomposizione di un sistema in componenti può avvenire a diversi livelli di granularità

L’architettura del calcolatore 14

Hardware e software del calcolatore

Il calcolatore può essere descritto come sistema strutturatola prima decomposizione di un calcolatore èrelativa ai seguenti macro-componenti

• hardware– la struttura fisica del calcolatore, costituita da componenti elettroniche ed

elettromeccaniche

• software– l’insieme dei programmi che consentono all’hardware di svolgere dei

compiti utili – il software comprende il software di base (tra cui il sistema operativo) e il

software applicativo (applicazioni a disposizione dell’utente)

L’architettura del calcolatore 15

Software e macchine virtualiIl software ha le seguenti finalità

il software di base ha lo scopo di mostrare il calcolatore all’utente come una macchina virtuale più semplice da usare e programmare rispetto all’hardware che viene effettivamente utilizzato

• per macchina virtuale si intende una macchina che fisicamente non esiste nella realtà, ma di cui si può avere la sensazione dell’esistenza

il software applicativo mostra il calcolatore all’utente come una macchina virtuale che può essere utilizzata per la risoluzione di problemi

• il software applicativo viene realizzato in termini della macchina virtuale mostrata dal software di base, e solo raramente dipende direttamente dall’hardware utilizzato

Il software rende l’hardware una macchina virtuale più semplice da utilizzare

L’architettura del calcolatore 16

Organizzazione a livelli

Hardware e software sono organizzati a livelli (o strati)

ciascun livello corrisponde a una macchina dotata di un proprio insieme di funzionalità

• ogni macchina è caratterizzata da un proprio linguaggio, formato dalle istruzioni che quella macchina sa eseguire

ciascun livello fornisce un linguaggio più semplice da utilizzare rispetto a quello del livello sottostante ciascun livello è realizzato in termini del linguaggio del livello immediatamente sottostante

software applicativo

software di base

hardware

L’architettura del calcolatore 17

Macchina di von NeumannL’architettura dell’hardware di un calcolatore reale è molto complessa

• viene introdotta la macchina di von Neumann, che è un modello semplificato dei calcolatori moderni e che, come tale non è una macchina reale

– von Neumann è stato il progettista (dal 1945 al 1950) del primo calcolatore in cui i programmi potevano essere memorizzati anzichécodificati mediante cavi e interruttori

L’architettura del calcolatore 18

Fisiologia: la macchina di von Neumann

La macchina di von Neumann è composta da quattro tipologie di componenti funzionali fondamentali

unità centrale di elaborazione• chiamata anche processore o Central Processor Unit o CPU• componente in grado di eseguire istruzioni per l’elaborazione dei dati • svolge anche funzioni di controllo (ovvero, di coordinamento) delle altre

componenti funzionalimemoria centrale

• memorizza e fornisce l’accesso a dati e programmi interfacce di ingresso e uscita

• componenti di collegamento con le periferiche del calcolatore (considerate esterne al calcolatore), che consentono lo scambio di dati tra calcolatore e utente

bus• svolge la funzionalità di trasferimento di dati e di informazioni di controllo tra le

varie componenti funzionali

L’architettura del calcolatore 19

Architettura della macchina di von Neumann

CPU unità centrale di elaborazione

bus

interfacciai/o

memoriasecondaria

interfacciai/o

schermo

interfacciai/o

mouse

interfacciai/o

tastiera

macchina di von Neumann

memoriacentrale

L’architettura del calcolatore 20

Elaborazione con la macchina di von Neumann

Lo scopo fondamentale di un calcolatore è di permettere l’elaborazione di informazioni

le informazioni sono rappresentate sotto forma di datiun dato è una informazione elementare che viene rappresentata nell’elaboratore sotto forma di codice binario

Un elaboratore è una macchina che ricevendo dati in ingresso e un programma di elaborazione, produce dati in uscita in modo veloce e senza errori.

elaborazione

programma

dati in ingresso(input)

dati in uscita(output)

L’architettura del calcolatore 21

Rappresentazione delle informazioni e dati

Per elaborare le nostre informazioni è necessario che esse siano opportunamente rappresentate mediante datiUn calcolatore dispone almeno dei seguenti tipi di dato elementare

numeri interi numeri razionali caratteri logici (vero/falso)

Per essere manipolate da un calcolatore, le informazioni di interesse devono essere organizzate in termini di questi tipi di dati

L’architettura del calcolatore 22

Rappresentazione e trattamento dei dati

E’ importante sottolineare che nel calcolatore tutti i tipi di dato sono rappresentati sotto forma di codice binario

vedremo in una successiva lezione come ciò sia possibile

I dati, rappresentati in codice binario, possono opportunamente essere sottoposti a trattamentoIl trattamento dei dati prevede la loro:

acquisizionememorizzazioneelaborazionetrasferimento

L’architettura del calcolatore 23

Acquisizione dei dati

Un calcolatore può essere collegato a diversi dispositivi di ingresso e/o uscita (chiamati periferiche)

ad esempio, la tastiera, il mouse, lo schermo, le stampanti, il modem anche le memorie di massa (ad esempio, le unità disco e il lettore di CD-ROM) sono considerati periferiche

Nel modello di von Neumann, le periferiche non fanno parte del calcolatore

ogni periferica viene controllata mediante un’opportuna interfaccia una interfaccia ha il compito di tradurre i segnali interni del calcolatore in un formato comprensibile alla periferica stessa, e viceversa

L’architettura del calcolatore 24

Memorizzazione dei datiUn calcolatore ha la necessità di memorizzare, in modo temporaneo o permanente, i dati per la rappresentazione delle informazioni di interesse La memoria è l’unità responsabile della memorizzazione dei dati

una unità di memoria è organizzata in celle• a ciascuna cella è associato un indirizzo, che la identifica • ciascuna cella è in grado di memorizzare il valore di un dato

Una unità di memoria fornisce due operazioni memorizzazione di un dato in una cella (scrittura)

• dato il valore da memorizzare e l’indirizzo della cella, modifica lo stato della memoria

accesso al dato memorizzato in una cella (lettura) • dato l’indirizzo della cella, restituisce il valore

Nella memoria vengono memorizzati anche i programmiviene utilizzata una opportuna codifica delle istruzioni

L’architettura del calcolatore 25

Elaborazione dei datiLe istruzioni del linguaggio macchina di un calcolatore corrispondono ad operazioni elementari di manipolazione dei dati

operazioni aritmetiche • somma, prodotto, ...

operazioni relazionali • confronto tra dati (>, <, >=, <=, ==, <>)

operazioni su caratterioperazioni logiche

• somma logica (OR), prodotto logico (AND), .... Un calcolatore sa dunque svolgere pochi tipi di operazioni, ma le svolge in modo molto efficiente - ad elevata velocità (un calcolatore può eseguire in 1 secondo circa 50-100 milioni di istruzioni del linguaggio macchina)L’elaborazione dei dati viene svolta dall’unità aritmetico-logica –ALU che è un componente dell’unità centrale di elaborazione

L’architettura del calcolatore 26

Trasferimento dei dati

Il bus è il componente del calcolatore dedicato al trasferimento dei dati e di informazioni di controllo tra le varie parti componenti del calcolatore il bus è l’insieme dei collegamenti su cui vengono trasferiti i dati e i segnali di controllo in un calcolatoreL’idea alla base del bus

ci sono due modalità per collegare tutte i componenti di un calcolatore (per permettere lo scambio di dati tra i componenti)

• collegare ciascun componente con ogni altro componente • collegare tutti i componenti a un unico insieme di linee (il bus,

appunto) l’uso del bus favorisce la modularità e l’espandibilità del calcolatore

L’architettura del calcolatore 27

Unità centrale di elaborazione

L’unità centrale di elaborazione – CPU (o processore)controlla l’esecuzione di un programma (memorizzato in memoria centrale sotto forma di una sequenza di istruzioni del linguaggio macchina) eseguendo ordinatamente le istruzioni del programma

L’esecuzione di ciascuna istruzione avviene mediante lo svolgimento delle seguenti tre operazioni di base

fetch (lettura)• legge dalla memoria la prossima istruzione da eseguire

decode (decodifica)• determina il tipo di istruzione che deve essere eseguito

execute (esecuzione)• richiede lo svolgimento di tutte le azioni necessarie per l’esecuzione

dell’istruzione — ciascuna azione viene richiesta al componente opportuno

L’architettura del calcolatore 28

Unità centrale di elaborazione

La CPU è composta dal’unità di controllo (Control Unit o CU)

• svolge le azioni di coordinamento tra le varie parti del calcolatore l’unità aritmetico-logica (Arithmetic Logic Unit o ALU)

• è destinata all’esecuzione delle operazioni aritmetiche e logiche

Si deve tenere presente cheogni componente dal calcolatore esegue solo le azioni che gli vengono richieste dall’unità di controllo l’attività di controllo svolta dall’unità di controllo avviene in modo sincrono rispetto alla scansione temporale imposta dall’orologio di sistema (clock) è un coordinamento dell’esecuzione temporale delle funzioni che devono essere svolte sia internamente all’unità di elaborazione che negli altri singoli elementi funzionali

L’architettura del calcolatore 29

Struttura di una unità centrale di elaborazione

La struttura semplificata di una unità centrale di elaborazione e dei suoi collegamenti con le altre unità funzionali

unità di controlloPC

IR PSW

MAR

MDR

registro A

registro B

registro C

ALU

unità centrale di elaborazione

memoriacentrale

o

periferiche

scrivileggi

buscontrollo

busdati

busindirizzi

operazione

esegui

stato

L’architettura del calcolatore 30

RegistriL’unità centrale di elaborazione contiene un numero limitato di celle di memoria locali (chiamate registri) con scopi specifici

• registro contatore delle istruzioni (PC, program counter)– indirizzo della prossima istruzione da eseguire

• registro delle istruzioni (IR, instruction register)– l’istruzione che deve essere eseguita (codificata)

• registro di indirizzamento della memoria (Memory Address Register o MAR)

– indirizzo della cella di memoria che deve essere acceduta o memorizzata

• registro dati di memoria (Memory Data Register o MDR) – dato che è stato acceduto o che deve essere memorizzato

• parola di stato del processore (PSW)– contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata

appena eseguita

• altri registri, utilizzati ad esempio per la memorizzazione degli operandi e del risultato di una operazione

L’architettura del calcolatore 31

Caratteristiche dei microprocessori

Le caratteristiche principali di un microprocessore • repertorio di istruzioni

– le istruzioni del linguaggio macchina del processore • velocità (misurata come frequenza del clock)

– la frequenza del clock misura la durata del ciclo macchina, che è l’unità di tempo all’interno del processore

– va osservato che l’esecuzione di ciascuna istruzione richiede solitamente più cicli macchina

• ampiezza del bus – numero di bit nel bus interno del processore

• co-processore – i moderni processori sono integrati da co-processori specializzati (ad

esempio, il co-processore matematico) • cache

– una memoria veloce locale al processore, che consente un’accelerazione nell’esecuzione dei programmi

L’architettura del calcolatore 32

Memoria centrale

La memoria è la componente del calcolatore in cui vengono immagazzinati e da cui vengono acceduti i dati e i programmi

• la memoria centrale (o principale) è la memoria che può essere acceduta direttamente dal processore

Una memoria • si compone di celle (o locazioni) • ogni cella di memoria è in grado di memorizzare una parola di

memoria (ovvero, un sequenza di bit di lunghezza fissata) • ogni cella è caratterizzata da

– un indirizzo, che è un numero che identifica la cella e ne consente l’accesso

– un valore, che è la sequenza di bit memorizzata dalla cella • fornisce le operazioni di lettura e scrittura

L’architettura del calcolatore 33

Struttura di una memoria centraleLa struttura semplificata di una memoria centrale

1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0

1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

128 celle di memoria di 16 bit ciascuna

indirizzo della cella

0000000000000001000000100000001100000100000001010000011000000111

0111100001111001011110100111101101111100011111010111111001111111

........

........

........

........

parola letta o da scrivere

bus dati

busindirizzi

cella selezionata

bus dicontrollo

0 1 1 1 1 0 1 0

leggi/scrivi

L’architettura del calcolatore 34

Caratteristiche delle memorie centrali

Le caratteristiche principali di una memoria centrale

• la capacità– il numero di bit che possono essere memorizzati, misurati in byte (e

multipli del byte) – 1Kbyte indica 210 byte = 1024 byte– 1Mbyte indica 220 byte = 1024 Kbyte = 1 048 576 byte – 1Gbyte indica 230 byte = 1024 Mbyte = 1 073 741 824 byte

• la velocità di accesso – misura la velocità di esecuzione delle operazioni di lettura/scrittura

• la volatilità– le memorie RAM (Random Access Memory) possono essere sia lette che

scritte, ma i dati memorizzati vengono persi allo spegnimento del calcolatore

– le memorie ROM (Read Only Memory) possono essere solo lette, in cui i dati sono memorizzati in modo permanente

L’architettura del calcolatore 35

Memorie secondarie

Una memoria secondaria ha le seguenti caratteristiche fondamentali, che la differenziano dalla memoria centrale

• non volatilità– i dati memorizzati non vengono persi allo spegnimento del calcolatore

(perché memorizzati in forma magnetica o ottica e non elettronica)

• grande capacità– una unità di memoria secondaria ha capacità maggiore (anche di diversi

ordini di grandezza) rispetto alla memoria centrale

• bassi costi – il costo per bit di una memoria secondaria è minore (di diversi ordini di

grandezza) rispetto alla memoria centrale

L’architettura del calcolatore 36

Memorie secondarie . . .

Altre caratteristiche delle memorie secondarie rispetto alle memorie centrali

• minore velocità di accesso – i tempi di accesso a una memoria secondaria sono maggiori (di qualche

ordine di grandezza) rispetto alla memoria principale

• i dati di una memoria secondaria per essere acceduti dal processore devono comunque transitare nella memoria centrale

In pratica • la memoria secondaria memorizza tutti i programmi e di dati

del calcolatore • la memoria centrale memorizza i programmi in esecuzione e i

dati necessari per la loro esecuzione

L’architettura del calcolatore 37

Dischi magnetici

Un disco magnetico (disco fisso) è composto da uno o piùpiatti di alluminio rotanti ricoperti di materiale magnetico e da testine

• una testina permette la scrittura e lettura di bit su un disco, memorizzati sotto forma di stati di polarizzazione (positiva e negativa)

In un disco magnetico • ciascun piatto è composto da due superfici (facce) • ciascuna faccia è suddivisa in tracce (circolari) e settori (a spicchio)

– un cilindro è l’insieme delle tracce in una data posizione radiale

• i settori sono le unità logiche di memorizzazione – la capacità di un settore è tipicamente di 512 byte

• l’indirizzo di un settore è dato dalle seguenti informazioni – cilindro, superficie, settore

L’architettura del calcolatore 38

Dischi magnetici

Esempio di organizzazione fisica di un disco magnetico

L’architettura del calcolatore 39

Esempio di computazione con la macchina di von Neumann

Vediamo ora un esempio di computazione con la macchina di von NeumannSupponiamo di voler eseguire il calcolo (a + b) × cL’input (a, b e c) viene fornito da una periferica di I/OIl risultato della computazione viene inviato alla stessa periferica di I/OIn memoria centrale è caricato un programma che

legge tre dati, a, b e c dalla periferica di I/Oesegue il calcolo (a + b) × cscrive il risultato sulla periferica I/O

L’architettura del calcolatore 40

Esempio di set di istruzioniread x

legge il dato dal registro della periferica di I/O e lo copia nella cella di memoria di indirizzo x

write xscrive nel registro della periferica di I/O il dato contenuto nella cella di memoria di indirizzo x

loadA xcopia nel registro A il contenuto della cella di memoria di indirizzo X

loadB xcopia nel registro B il contenuto della cella di memoria di indirizzo X

sumABesegue la somma dei dati nei registri A e B, e copia il risultato in A

multABesegue il prodotto dei dati nei registri A e B, e copia il risultato in A

storeA xcopia il contenuto del registro A nella cella di memoria di indirizzo x

halttermina l’esecuzione

L’architettura del calcolatore 41

Il programma in memoria centrale0 read 111 read 122 read 133 loadA 114 loadB 125 sumAB6 loadB 137 multAB8 storeA 149 write 14

10 halt11121314

programma

dati

L’architettura del calcolatore 42

Approfondimenti:Storia del calcolo automatico

L’idea del calcolo automatico nasce con l’esigenza dell’uomo di:

evitare calcoli numerici noiosi e ripetitivieseguire calcoli in modo veloceeseguire calcoli senza commettere errori

L’architettura del calcolatore 43

Storia del calcolo automaticoL’abaco dei Romani

la prima realizzazione di una “macchina” del genere fu l’abaco ai tempi dei Romani, che ricorda un po’ i pallottolieri con cui i bambini iniziavano ad imparare a fare calcoli

Blaise Pascal e la pascalinabisogna attendere fino al 1600 circa quando Blaise Pascal, matematico e filosofo francese, inventò la famosa pascalina, un congegno basato su ruote dentate capace di svolgere solo addizioni e sottrazioni

von Leibnizverso la fine del 1600, Gottfried von Leibniz progettò una macchina meccanica più sofisticata ma che richiedeva meccanismi di precisione troppo elevata per la tecnologia di allora

Le schede perforate di Jacquard verso la metà del 1700, il francese Joseph Marie Jacquard applicò ai telai da tessitura, fino ad allora guidati manualmente, un meccanismo a schede perforate che contenevano la sequenza esatta di operazioni da svolgere. Il telaio veniva così guidato in modo automatico

L’architettura del calcolatore 44

Storia del calcolo automaticoLa macchina analitica di Babbage

alla fine del 1700 Charles Babbage progettò una macchina, detta macchina analitica, che avrebbe consentito di eseguire calcoli matematici di una certa complessità. La macchina era guidata anche in questo caso, da schede perforate. Ma, per mancanza di finanziamenti adeguati e di limiti della tecnologia, questa macchina non venne mai costruita e restò soltanto sulla carta

Dalle macchine meccaniche alle macchine elettrichedalla metà del 1800 in poi, la presenza dell’energia elettrica diede allo sviluppo del calcolo automatico un’impennata enorme e si assistette alla costruzione di macchine sempre più potenti e sofisticate

Le schede perforate di Hollerithl’americano Herman Hollerith pensò di codificare le informazioni dei cittadini degli Stati Uniti su schede perforate le quali, elaborate velocemente da un meccanismo elettromeccanico, consentirono un rapido e corretto censimento della popolazione americana.

• Nel 1900 circa Hollerith fondò la IBM (International Business Machine) ed inizia l’era della meccanografia.

L’architettura del calcolatore 45

Storia del calcolo automatico

Il modello di von Neumannverso la metà del 1900 nascono le valvole. All’ENIAC, uno dei piùpotenti elaboratori elettronici del tempo, lavorò John von Neumann. Una delle più importanti sue intuizioni fu l’idea di memorizzare il programma in modo da avere una elaborazione piùveloce. Da allora, sfruttando questo concetto, le macchine furono costruite secondo il modello di von Neumann. Ciò consentì di applicare la grande potenza di esse a campi anche molto diversi dal semplice calcolo (gestionali, amministrativi, industriali). la gran parte degli attuali calcolatori funzionano ancora secondo questo modello!tramite l’unità di Ingresso si immettono in memoria (RAM) sia il programma che i dati. La CPU elabora i dati secondo il programma ed i risultati dell’elaborazione vengono inviati all’unitàdi Uscita

L’architettura del calcolatore 46

Storia del calcolo automatico

I transistor sostituiscono le valvolenegli anni ’60 nacquero i transistor, successivamente i circuiti integrati ossia circuiti che in uno spazio piccolissimo inglobano centinaia di componenti elettronici: dapprima circuiti in piccola scala di integrazione SSI (Small Scale Integration), poi a mediascala di integrazione MSI (Medium Scale Integration), poi in grande scala LSI (Large Scale Integration) ed, infine, in largissima scala di integrazione VLSI (Very Large Scale Integration). Le dimensioni diventarono sempre più piccole e la potenza sempre maggiore

Nascono i microprocessori e gli elaboratori iniziano ad essere strumenti di massima diffusione, dai personal computer ai grossi elaboratori presenti nelle aziende

L’architettura del calcolatore 47

Storia del calcolo automaticoLo sviluppo delle tecnologie informatiche ed elettroniche ha fatto sì che si possa parlare di generazioni di elaboratori. La seguente tabella mostra le generazioni oggi riconosciute

Generazioni I II III IV V

Anno 1950 1960 1964 1980 1990

Componente ValvoleTransistor

(SSI)

Circuiti integrati

(MSI)Chip LSI Chip VLSI

Potenza (operazioni al

secondo)5.000 200.000 2.000.000 100.000.000 1.000.000.000

L’architettura del calcolatore 48

Storia del calcolo automatico

In parallelo a questa evoluzione che abbiamo sinteticamente descritto, e che è prevalentemente una evoluzione hardware, si anche avuta una significativa evoluzione delle tecnologie softwareL’evoluzione software è stata resa possibile dalla ricchezza di risultati scientifici sulla teoria della computazione, sui linguaggi di programmazione e sui sistemi operativi

I linguaggi sono evoluti dal Fortran e Cobol degli anni ’50 e ’60, al Pascal e al C, ai linguaggi orientati ad oggetti C++ e JavaI sistemi operativi dal DOS degli anni ’80, a Unix e quindi poi Linux, a MacOS e a Windows

L’architettura del calcolatore 49

Classificazione dei computerCalcolatrici tascabili

dimensioni e prezzo ridotti, eseguono operazioni aritmetiche e funzioni matematiche fondamentali. Possono essere programmabili

Personal computeruso individuale (domestico), usano supporti magnetici, ottici e possono avere caratteristiche multimediali. Nella forma portatile assumono il nome di notebook

Minicomputerconsentono il collegamento contemporaneo di decine di utenti anche mediante semplici terminali; prestazioni e prezzo elevati

Grandi sistemisono detti mainframe, consentono il collegamento contemporaneo di migliaia di terminali o anche di altri computer per formare una rete (network)

Riepilogo della dispensa

Cos’e’ un calcolatoreDati, applicazioni, risoluzione di problemiHardware e softwareMacchina di von NeumannRappresentazione e trattamento delle informazioniAcquisizione, memorizzazione e trattamento dei datiComponenti principali della macchina di von Neumann

L’architettura del calcolatore 50

Cos’e’ un calcolatore

Un calcolatore e’ una macchina programmabile con cui l’utente interagisce per risolvere diverse operazioni e problemiL’interazione avviene attraverso un programma (applicazione) dedicato allo scopoEsempi

GiochiCalcoli complessiComunicazione con altri calcolatoriGestione di sistemi informativi di grandi dimensioni

L’architettura del calcolatore 51

Hardware e software

L’hardware e’ tutta la parte di struttura fisica del calcolatore: componenti elettroniche ed elettromeccanicheIl software e’ l’insieme dei programmi che vengono attuati tramite la struttura fisica del calcolatore

Software di base: software essenziale per il funzionamento del calcolatoreSoftware applicativo: insieme delle applicazioni a disposizione dell’utente

L’architettura del calcolatore 52

Dati, applicazioni, risoluzione di problemi

I dati sono le informazioni che servono per eseguire le operazioni Le applicazioni sono porgrammi costituiti da istruzioni dettagliate che indicano come possa essere risolto un dato problema

L’architettura del calcolatore 53

Macchina di von Neumann

Un modello di macchina semplificato in cui vengono evidenziate tutte le parti principali alla base degli attuali calcolatori4 componenti principali:

Unita’ centrale di elaborazioneMemoria centrale

Interfacce Ingresso/Uscita (Input/Output)bus

L’architettura del calcolatore 54

Rappresentazione e trattamento delle informazioni

le informazioni con cui vogliamo lavorare vengono rappresentate al calcolatore tramite datiI dati sono principalmente numericiOgni tipo di informazione viene rappresentata da dati numericiI dati numerici sono rappresentati tutti, alla fine, in codice binario

L’architettura del calcolatore 55

Acquisizione, memorizzazione e trattamento dei dati

I dati, rappresentati in codice bianrio, devono essere elaborati devono essere cioe’:

AcquisitiMemorizzatiElaborati Trasferiti

L’acquisizione e il trasferimento dei dati avviene tramite unita’ perifriche (video, tastiera, stampante)I dati acquisiti vengono memorizzati e poielaborati

L’architettura del calcolatore 56

Componenti principali della macchina di von Neumann

L’architettura del calcolatore 57

BusUnita’ centrale di elaborazioneCentral Process Unit (CPU)Memoria centraleRandom Access Memory (RAM)Memorie secondarie (ROM, PRAM)

Viene poi spiegata la fase di acquisizione dei dati e la relativa elaborazione, specificando il ruolo che hanno in questo processo, le componenti della macchina di von Neumann

L’architettura del calcolatore 58

Uso calcolatoreArchitettura calcolatoreHardwareSoftwareMacchina di Von NeumannInterpretazione ed esecuzione delle istruzioni elementari

Conoscenze acquisite

L’architettura del calcolatore 59

Parole chiave

Hardware , software di base, software applicativoUnita’ centrale di elaborazione (CPU), ALU, microprocessoreMemoria centrale, memoria ROMInterfacce, input, output, perifericheBus, disco rigidoRegistriDato, informazione, programmaCodice binarioIstruzioni (elementari)

L’architettura del calcolatore 60

Saper individuare I diversi componenti di un calcolatore

Saper distinguere la fase di acquisizione dalla fase di

interpretazione dei dati

Saper distinguere l’hardware dal software

Saper distinguere un pc da un mainframe

Avere l’idea che ogni calcolatore e’ costituito dallo stesso

tipo di componenti

Competenze acquisite

L’architettura del calcolatore 61

Riferimenti al libro di testo

Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al capitolo 1 sull’architettura dei calcolatori:

1.1 Calcolatori e applicazioni• 1.1.1 Alcuni esempi di applicazioni• 1.1.2 Applicazioni e interfacce

1.2 Architettura dei calcolatori• 1.2.1 Hardware e software• 1.2.2 Macchina di von Neumann

1.3 Tecnologia dei calcolatori• 1.3.1 Codifica dei dati• 1.3.2 Microprocessore• 1.3.3 Memoria centrale• 1.3.4 Memorie secondarie