corso di laurea ingegneria civile fondamenti di...
TRANSCRIPT
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 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