Capitolo primo Prerequisiti
Introduzione Argomenti che si suppone sian o noti al lettore:
• Calcolo automatico , elab orazione, algoritmo
• Automa
• Stati e registri
1 Architettura, organizzazione e struttura dei calcolatori • Macchine di Tu ring
2 Livelli di astrazione e strati • Caratteristiche fondamentali di un computer
3 I modelli fondamentali e l'architettura
4 Modello di Von Neumann 1 Architettura, organizzazione e struttura dei calcolatori
4.1 Modello “penna e carta”
4.2 Le unità del modello di Von Neumann Spunto da Stalling s
4.3 Le istruzioni elementari del modello
4.4 Caricamento del programma e sua esecuzione 2 Livelli di astrazione e strati
4.5 L'algoritmo del processore
5 Organi di un calcolatore: unità di ingresso e uscita La suddivisione in livelli di un sistema per l'elaborazione delle informazioni pu ò avvenire
5.1 Unità di ingresso in funzione dell'osservatore ch e lo u sa o lo progetta; in tal caso si parla pi ù propriamente di
5.2 Unità di uscita. strati del sistema: in fig. 2.1 è mostrata una tipica suddivisione di tal genere che si svilu ppa
6 La memoria principale (o centrale) dalla vision e d el sistema che ha l'utente finale fino a includere quella propria del progettista
7 Memorie di massa elettron ico.
8 Unità logico-aritmetica
9 Il processore e l'unità centrale (CPU) Gestione aziendale, progettazione, …
Pacchetti applicativi
Utenti Programmi
Sistema operativo (gestione lavori, sistema di archiviazione)
Processori del sistema operativo (traduttori, editor, ...)
Sistema software Sistema operativo (gestione sistema):
routine di servizio delle interruzioni, drivers, etc.
Architettura del sistema
Unità hardware componenti:
Sistema processore, unità logico-aritmetica, input-output, memorie
hardware Architettura delle unità
Macchine elementari: addizionatori, codificatori, decodificatori, reti di controllo,
registri, flip-flop, porte, etc.
Unità hardware Circuiti integrati e apparati elettromeccanici
Componenti elettronici ed elettromeccanici
Figura 1.1 -Struttura a strati di un sistema per l'elaborazione delle informazioni
L'utente finale «vede» il sistema come un og getto unico che gli consente la solu zione di
una prop ria problematica (ad es. gestione aziendale, pro gettazione di imp ianti, di strutture,
etc.) e che si integra (o dovrebbe integrarsi!) con una realtà esterna (ad es. struttura
aziendale, centro di progetto e ricerca, etc.). I componenti d el sistema, oltre a componenti
«esterni » all'elaboratore (ad es. reparto amministrativo dell'azienda, metodi di simulazione
per la progettazione di impianti, etc.), so no i pacchetti applicativ i (packages), sov ente fra
loro collegati, che affrontano una singola problematica dell'utente finale (ad es. contab ilità
generale dell'azienda, gestione magazzini, contabilit à indu striale, prog etto di strutture, di reti
elettriche, etc.).
Il progettista di pacchetti applicativi è anch'esso un utente del sistema, ma di tipo div erso:
esso tiene co nto delle esigenze dell'utente finale, ma è concentrato soprattutto su lla singola
problematica che un pacchetto applicativo deve risolvere. Esso quin di è interessato in
particolare a come articolare ciascun pacchetto in programmi (ad es. caricamento di
movimenti, aggiornamento di archivi base, calcolo di telai, distribuzione del carico, etc.), alle
sezioni «gestione lavo ri » e «archiviazio ne» del sistema operativo (s.o.) e a tutti quei
processori del s.o. che o sono strumenti per la realizzazione e messa a punto dei programmi
(tradutto ri, editors, interpreti, etc.) o possono essere inglobati nei pacchetti stessi (programmi
di sort, merge, etc.). - l'algo ritmo come concetto intuitivo: una sequenza finita di azioni elaborative da esegu ire
Il personale di gestione del sistema interagisce con i pacchetti ap plicativi e quindi con i automaticamente: l'algoritmo necessita di un esecutore per essere eseguito;
- il modello di auto ma: ciascun automa esegue un algo ritmo, ottenuto come sequenza di non
singoli programmi utilizzando il s.o. che coordina e disciplina la loro esecuzione nella
sezione g estione lavori. ulteriormente precisate "uscite", in risposta ad an aloghi "ingressi"; con l'automa si
Il progettista del s.o. è ovviamente interessato a tutti gli strati del sistema software, ma introduce il concetto di stato;
- il modello di Turing: ciascuna macchina esegue un alg oritmo , come sequenza di alcune
deve anche conoscere a vari livelli d i dettaglio tutti gli strati superiori del sistema per venire
incontro alle esigenze dell'utenza. Peraltro, esso deve soprattutto conoscere il sistema precisate azioni elabo rative elementari (destra, sinistra, leggi, scriv i, ...) e,
hardw are (architettura e .unità componen ti) per poter p rogettare la sezione del s.o. «gestione so rprendentemente, la tesi di Church ha affermato che questo semplice modello consente in
del sistema». .Tale sezione infatti «vede» il sistema hardw are in quanto interviene ripetuta - realtà di fornire una definizione di algoritmo: è algoritmo ci ò che pu ò essere calcolato da
mente durante l'esecuzione di un qualsiasi programma, sia per contro llarne l'avanzamento con una macchina di Turing.
- esiste una distin ta macchina di Turing per ciascun distinto prob lema da calcolare.
l'attribuzione delle risorse necessarie, sia per sovraintendere alle operazioni di ingresso uscita
e alla loro sincronizzazione. Ma il concetto che caratterizza un calcolatore è quello di possedere un
Il sistemista hard ware opera a livello di architettura hard ware del sistema e qu indi lo vede programma
come un insieme di componenti, dette unità hardw are, fra loro connesse in una determinata registrato in memo ria: la medesima macchina fisica (il calcolatore), attrezzata con differenti
struttu ra logico -topo logica: unità classiche sono il processore centrale (CPU), l'unità "pr ogrammi" è in g rado di rappresentare tutte le possibili macchine di Turing (fatti salvi
aritmetico-logica (ALU), i sistemi di ingresso-uscita (I/O), le memorie ed appositi «can ali» e so ltanto alcune questioni di natura puramente teorica sulla "capacità" di memoria).
Un "programma" è la descrizione formalizzata di un alg oritmo , espressa in un linguagg io
«bus» per il loro collegamento. Oltre all'architettu ra fondamentale d i V on Neu mann (lo
schema classico di collegamento fra le unità citate), sono oggi possibili anche altre di programm azione: è questo il nuovo concetto che verr à introdotto con i prossimi modelli.
architetture, sia costituenti un a semplice evoluzione di quella fondamentale in quan to In un modello alternativo, la stessa macchin a di Turing p otrebbe in effetti essere una
ottenute multiplando le u nit à componen ti e realizzando appositi collegamenti e macchina "a programma": bastereb be in proposito concepire un "linguaggio" formale con il
sincronizzazioni fra esse, sia basate su principi diversi. quale esprimere la sequenza delle azioni elaborative elementari ed un org ano che
interpretasse tali "istruzioni" eseguend ole; la descrizione della macchina avverrebbe
Ovviamente il sistemista hardware deve anche conoscere in un certo dettaglio gli strati
inferiori del sistema software, in qu anto l'architettura del sistema hardware e le funzio ni attraverso tale "p rogramma" piuttosto che attraverso la tabella delle transizioni classica dei
sv iluppate d a ciascu na unità componen te condizionan o strettamente la potenzialità e il modelli di automa e di Turing.
parallelismo d i esecuzione delle funzioni elementari presenti nei programmi deg li strati
su periori. In particolare, la potenzialità è condizionata dal linguaggio macchina dei
processori mentre il parallelismo d al tipo di architettura impiegata.
Il progettista delle unità hardware studia a sua vo lta l'unità a livello architettura,
individuandone le macchine componenti più elementari e le loro connessioni. Tale approccio
può ovviamente essere iterato dando luogo ad un processo iterativo più o meno lungo in
dipendenza della complessità delle funzioni espletate dal - l'unità, e che conduce alla
individuazione delle macchine elementari che la compongono e delle relativ e connessio ni; ad 4 Modello di Von Neumann
esempio una unità aritmetica è composta da un divisore, un moltiplicatore, un sottrattore ed
un addizionatore; quest’ultimo, se l'un it à è in virgola mobile, è composto da u na macchina L’architettura d ei calcolatori elettronici attuali trae le sue origini da un modello generale
per il confronto degli esponenti e da un addizionato re in virgola fissa, che è a sua volta di elaboratore, concepito dal matematico John Von Neumann ed illustrato nel 1945 in una
composto da un addizionatore di cifre e così via. proposta[1] per la realizzazione di un n uovo calcolatore[2] chiamato EDVA C (Electronic
Le macchine elementari o sono di tipo elettromeccanico o di tipo elettronico; con Discrete Varia ble Com puter). La realizzazione dell’EDVAC fu effettivamente portata a
particolare riferimento a qu este ultime, esse sono in gen ere prodotte in ap positi chip di termine solo nel 1952 dall'Istituto per gli Studi Avanzati (IAS) di Princeton (USA), ma già
circuiti integrati (in tali chip , peraltro, si realizzano anche funzioni più complesse, quali. nel 1948 era stato realizzato in Inghilterra, presso l’Università di Manchester, un calcolatore
quelle co rrispondenti ad una intera unità): di esse si richiede dapprima u n progetto lo gico e (Manchester Mark I) basato sul modello di Von Neumann.
su ccessivamente un progetto elettronico che so no di competenza rispettivamente del
progettista di reti logiche e del progettista di circuiti elettronici. 4.1 Modello “penna e carta”
Prima di introdurre il modello di Von Neumann, che ha ispirato l ’architettura dei primo
3 I modelli fondamentali e l'architettura calcolatori elettronici, se ne illustra una versione ipotetica in cui il ruolo di esecutore è
affidato ad un operatore inintelligente dotato di “penna e carta” come strumenti ausiliari.
L'architettura di un sistema di elaborazione delle informazioni non prescinde dai modelli Un operatore inintelligente legge istruzioni scritte su un foglio di carta (il “program ma”) e
teorici di base dell'informatica; anzi, almeno sul piano lo gico-funzionale, ne è la pratica dispon e da un lato di un tabulato in cui trascrive e da cui legge i risultati di operazio ni
attuazione. Il modello fondamentale al quale si ispirano le architetture dei moderni elementari e dall'altro una calcolatrice elettrica per l'esecuzio ne di dette operazioni. Le
calcolatori è quello di Von Neumann, che tra breve presenteremo, anche se il modello istruzioni che costituiscono il "programma di calcolo" rich iedono in generale l'esecu zione
originario ha subito nel tempo revisioni sostanziali, ma non tali da ridefinire un distin to delle seguenti operazioni:
modello. - operazioni d i ingresso dati, cioè assegnazione d i valori alle variabili del pro gramma;
Il modello di V on Neumann nasce come evoluzione d ei modelli preesistenti degli automi e - operazioni d i trasferimento dati dal tabulato ai registri della calcolatrice e viceversa;
della macchina di Tu ring e pertanto, prima di presentarlo, richiamiamo i principi introdotti - operazioni aritm etiche e logiche, eseguite dalla calcolatrice a seguito di azionamento d i
dai su ddetti modelli. appositi tasti;
I concetti fondamentali introdo tti indipendentemente dal modello di Von N eumann sono, in - operazioni di uscita, mediante le quali l'operatore restituisce al committente i risultati della
sintesi: elaborazione.
esegu e.
Il p rogramma eseguito dall’operatore è il risultato di un ’appro fondita analisi del problema
e traduce, in termini operativi e con l’impiego delle sole istruzioni che l’operatore è in grad o 4.4 Caricamento del programma e sua esecuzione
di interpretare, l ’algoritmo che un a persona esp erta (il programmatore) ha individuato come L'esecuzione di un programma al calcolato re avvien e fondamen talmente in due "fasi" o
adatto a risolvere il problema. "temp i" successivi:
- caricamento d el p rogramma (al tempo di caricamento - load time);
4.2 Le unità del modello di Von Neumann - esecuzione d el programma (al tempo di esecuzione - ru n time)
Il modello di V on N eumann ad erisce alla metafora "penna e carta" e, secon do esso, un Nella prima fase, il programma viene prelevato dall'unità di ingresso e registrato in
sistema è costituito dalle seguenti "unit à": memoria, nella seconda esso viene eseg uito per opera dell'unità di controllo che interpreta le
su ccessive istruzioni ed attiva opportunamente le altre un it à. Si n oti che, mentre il
programma viene letto n ella fase di caricamento preventivo, la lettura dei dati è una delle
c
o n
t r o
l
l
o operazioni richieste dal prog ramma e p ertanto questa viene eseguita in fase di esecuzione, nei
tempi e con le modalità prefissate dal pro gramma.
c o
n
t r
o
l l
o c
o n
t r o
l
l
o
u
. d
i c o
n
t r o
l l
o Questa precisazion e è stata qui fatta soprattutto per colui che legge per la prima volta i
( p
r o
c e
s
s
o
r e
) particolari del fu nzionamento del calcolatore, mentre l'"esperto" dovrebbe gi à sapere che in
c
o n
t r
o l
l
o effetti dal punto di vista del processore (e quindi dell'architettura del sistema) le due fasi di
d
a
t i cui sopra non sono distin te: la fase di caricamento del programma è, in effetti, essa stessa la
u
. d
i u
s
c
i t a
u
. d
i i n
g
r e s
s
o d a
t i d
a
t i fase di esecuzione di un altro programma particolare (il caricatore di programmi o load er). In
m
e
m o
r i a
( i
n
p
u
t ) ( o
u
t p
u
t ) altri termini, le istruzion i del prog ramma sono i dati di un altro p rogramma.
d
a
t i 4.5 L'algoritmo del processore
A .
L
. U
. Il p rogramma è una sequenza di "istruzio ni", ciascuna delle q uali esprime, in un linguaggio
prefissato, una delle azioni elaborative proprie del sistema. Il linguagg io direttamente
interpretato d al processore è il linguagg io macchina e quindi il programma e le istruzioni del
Figura 4.1 Modello di Von Neumann modello in esame so no quelli di macchina.
- L'unità di ingresso (input), che consente l'immissione (in gergo "lettura") di dati nella Ma come fa il processore ad eseguire le istruzion i del linguaggio macchina, mentre qu esto
memoria in fase di esecuzione del programma e del p rogramma stesso in una fase è in memoria? N ela unità di controllo è realizzato circuitalmente (o comu nque nella macchina
preliminare che diremo di caricamento del programma. di livello immediatamente inferiore a quella in esame) un apposito algo ritmo del processore
- L'unità di mem oria, nella q uale vengono registrate tutte le informazioni, cio è le istruzioni che nelle sue linee essenziali (nel seguito l'algoritmo sarà particolarizzazto e specializzato),
del p rogramma e i dati originari, intermedi e finali; essa svolge in effetti la duplice opera alternando in ciclo due attività fondamentali (fig. ):
funzione del foglio su cui veniva scritto il programma e del tabulato per i dati di cui - accesso ad una istruzione (fetch);
all'esempio. - esecuzione d ell'istruzione (execute ).
- L'unità di controllo o d i governo, detta anche processore, che presiede a tutte le operazioni Nella prima fase, l'unità di controllo accede ad u na istruzione (determinata dall'istruzione
del calcolatore, interpretando le istruzioni successivamen te prelevate dalla memoria ed precedentemente esegu ita), prelevandola dalla memoria e trasportandola nei propri registri.
inviando alle specifiche unità i segn ali per l'esecuzione delle singole operazioni. Nella fase di esecuzione, l'istruzione così individuata viene interpretata ed eseguita, con
- L'unità aritmetico-logica o di elaborazione (Arithmetic -Logic U nit - ALU), in g rado di l'ausilio, a second a dei casi, d elle un ità di ingresso, aritmetico-logica e di uscita. Infine,
esegu ire, a richiesta dell'unità di co ntrollo, le operazioni aritmetiche e logiche. l'unità di co ntrollo ripren de ciclicamente un nuovo accesso ed una nuova esecuzione.
- L'unità di uscita (output), p er la presentazio ne dei risultati dell'elaborazione su appositi Nonostante la struttura di prin cipio estremamente elementare che risulta dallo schema
documenti. proposto, il calcolatore numerico possiede notev oli capacità elaborative e flessibilità di
Il modello è rappresentato graficamente in figura 10.1, ove sono posti in evidenza con impiego: tali p rerogative gli derivano fondamentalmente dalla eno rme velocità operativa,
linee tratteggiate lo spostamento dei dati fra le diverse unità e con le linee piene la funzione dell'ordine della decina di nanosecondo per azione elaborativa elementare, dalla cap acità di
di supervisione esercitata dall'un ità di co ntrollo sulle altre unità. memoria, in grado d i registrare un nu mero di informazioni praticamente illimitato e
so prattutto dalla possibilità di memorizzare i programmi e di procedere pertanto alla
4.3 Le istruzioni elementari del modello interpretazione delle relative istruzioni a velocit à elettron ica.
Pur senza entrare nel dettaglio operativo, il modello si basa sulla scelta di alcune
operazioni elementari (azioni elaborative) semplici, che costituiscono le componenti
fondamentali d
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Calcolatori elettronici
-
Appunti Calcolatori Elettronici
-
Calcolatori Elettronici I - Esercizi
-
Calcolatori elettronici I - analisi