Calcolatori Elettronici - Appunti dell`Università di Catania

Transcript

Calcolatori Elettronici - Appunti dell`Università di Catania
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
Questo testo contiene la trasposizione delle lezioni del corso di
Calcolatori Elettronici I svolto dal Prof. G. Messina nell’A.A.
2000/01, integrata con argomenti e precisazioni estrapolate da
appunti di anni precedenti.
Nonostante la dedizione profusa nella stesura del presente
elaborato, che ha comportato un lavoro di raccolta, vaglio e sintesi
non indifferente, non ci si propone di fornire un quadro esaustivo
della materia ma solo un valido supporto da completare in base
al corso del corrente anno.
Gli autori ringraziano Gabriele Cristaldi per la fattiva e preziosa
collaborazione nella raccolta delle fonti e Livio Di Lorenzo per
la puntuale consulenza su diodi, transistor e porte logiche.
Infine un ringraziamento particolare a Tino Motta per l’onerosa
opera di impaginazione.
Arturo Buscarino
Davide Lombardo
pag. 1
pag. 2
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
Sommario
I. ALGEBRA DEI CALCOLATORI ................. 5
II. PORTE E CIRCUITI LOGICI ................... 12
Diodo a giunzione: ........................................................................................ 12
Transistor: ..................................................................................................... 14
Dispositivi MOS: .......................................................................................... 15
Porte Logiche: .............................................................................................. 15
Circuiti Logici: ............................................................................................. 18
III. ARCHITETTURA
DI UN CALCOLATORE .................................. 23
Microprocessore: .......................................................................................... 23
Microprocessore Intel 8086: ........................................................................ 24
Segmentazione: ............................................................................................. 26
Registri di Segmento ed Instruction Pointer: ............................................ 26
Codice Rilocabile: ........................................................................................ 27
Implementazione Fisica dello Stack: ........................................................... 27
Memoria Riservata: ...................................................................................... 28
Microprocessore 80286: ............................................................................... 28
Microprocessore 80386: ............................................................................... 28
Microprocessore 80486: ............................................................................... 29
Microprocessore Pentium: ........................................................................... 29
Organizzazione fisica della memoria: .......................................................... 29
Organizzazione della memoria: .................................................................... 30
Architettura interna del Pentium (modello di programmazione) .............. 31
Indirizzamento in Modalità Protetta: ......................................................... 32
Registri invisibili ai programmi: ................................................................. 33
Integer Pipeline: ........................................................................................... 34
Scalarità dei Microprocessori (prerogativa dei RISC): ............................. 35
Tecniche di colloquio tra microprocessore e periferiche: .......................... 35
Interfaccia I/O: ............................................................................................. 36
Memorie: ....................................................................................................... 40
Memorie elettroniche: .................................................................................. 40
Memorie di massa: ....................................................................................... 41
Floppy disk: .................................................................................................. 41
Hard disk: ..................................................................................................... 42
Memorie di massa a nastro magnetico: ....................................................... 43
Memorie ottiche: .......................................................................................... 43
Memorie magneto-ottiche: ........................................................................... 45
pag. 3
pag. 4
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Periferiche:.................................................................................................... 45
Periferiche di uscita: .................................................................................... 45
Monitor e terminale video: .......................................................................... 45
Moduli grafici: .............................................................................................. 47
Stampanti: .................................................................................................... 47
Scanner: ........................................................................................................ 48
Plotter: .......................................................................................................... 49
Vision Systems: ............................................................................................. 50
Penna Ottica: ................................................................................................ 51
Mouse: ........................................................................................................... 51
Tastiera: ........................................................................................................ 51
IV. RETI, PROGETTO DI UN SISTEMA DI
ELABORAZIONE, STANDARD ISO E
SPECIFICHE TECNICHE ............................... 52
Reti di calcolatori e software di base: ......................................................... 52
Progetto di un sistema di elaborazione: ...................................................... 56
Standardizzazione:........................................................................................ 58
Specifiche del computer:.............................................................................. 61
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 5
I. ALGEBRA DEI CALCOLATORI
Dato un insieme di simboli S e un insieme di elementi astratti o concreti E, se esiste una corrispondenza tra S ed E l’insieme delle regole che definiscono la corrispondenza è detto CODICE.
I codici sono metodi matematici che servono a controllare, durante e dopo l’elaborazione. la
correttezza dei dati. Ad esempio nelle memorie vengono effettuati controlli sui dati in ingresso e in uscita
(Controllo di Parità) mediante codici di controllo. I metodi di compressione e controllo degli errori più
comuni sono MNP5 e MNP10
Un codice è efficiente se esiste una corrispondenza univoca tra S ed E. Un sottoinsieme di S tale
che i suoi elementi abbiano un significato è detto parola P.
Un codice è ridondante se ad almeno un elemento di E corrispondono almeno due parole diverse
di S.
Un codice è ambiguo se esiste almeno una parola di S a cui corrispondono due elementi di E.
I codici usati per sistemi di numerazione binari sono efficienti e ridondanti. In questo caso definiamo la ridondanza R =
m
dove m è il n° di cifre necessarie per rappresentare tutti gli elementi di E ed n
n
è il n° di cifre efficienti del codice. Avremo quindi che m = n + k ⇒ R = 1 +
k
. Il coefficiente k/n è detto
n
coefficiente di ridondanza.
Un codice è ponderato quando ad ogni cifra è associato un peso in decimale in funzione della
posizione della cifra stessa.
Il peso è il coefficiente associato alla posizione nella formula di espansione. Per il sistema binario è
Nb=100110 Nd=1*25 + 0*24 + 0*23 + 1*22 + 1*2 + 0*20. I pesi valgono dunque 2n dove n è la posizione
della cifra.
Un codice è di Gray quando per qualsiasi configurazione, quelle adiacenti differiscono per la
distanza di 1 (ove per distanza si intende il n° di variazioni tra bit corrispondenti).
Es:
00
01
11
10
000
001
011
è di Gray
010
110
111
101
100 è di Gray
N.B. il secondo codice è stato costruito a partire dal primo per riflessione ovvero ribaltando orizzontalmente i le 4 parole ed aggiungendo in testa uno 0 ai primi 4 e un 1 agli ultimi 4.
Un codice è autocomplementare quando il complemento a 1 della cifra binaria, qualunque essa
sia, corrisponde in decimale al complemento a 9 del numero stesso.
pag. 6
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Es1: Codice di eccesso a 3
C1(0110)=1001
C9(3)=6 è autocomplementare
Es2: Codice Heiken: i pesi sono inusuali allo scopo di garantire l’autocomplentarietà 2-4-2-1
C1(1010)=0101
C9(4)=5 è autocomplementare
Il Codice 2 su 5 è a peso costante e ridondante e per questo è autorilevatore di errori.
I Codici di Hamming si basano sul calcolo della costante H definita come la minima distanza tra
tutte le possibili coppie di parole del codice. Dopo l’elaborazione dei dati il valore di H deve essere lo
stesso, in caso contrario vi è stato un errore di elaborazione (rilevazione di errore con molteplicità H-1).
Se H è molto grande si possono costruire dei metodi matematici di autocorrezione.
Il controllo di parità avviene anteponendo un 1 se il n° di 1 all’interno della parola è dispari,
viceversa se il n° di 1 è pari si antepone uno 0: in questo modo il numero di 1 è sempre pari.
L’algebra dei calcolatori è di tipo booleano. L’algebra booleana deriva da un algebra astratta che
consiste in un insieme di elementi astratti in cui sono definite due operazioni (+,·) o (OR,AND) che
applicati a due elementi dell’insieme producono un elemento ancora appartenete all’insieme stesso, che
viene chiamato di sostegno e si indica con K.
Un insieme è un reticolo quando gode delle proprietà commutativa, associativa ed inoltre di
idempotenza ed assorbimento (ovvero a + a = a e a + a·b = a ).
Nel reticolo sussiste il Principio di Dualità ovvero è possibile variare gli operatori a primo e
secondo membro senza variare la validità dell’espressione:
a + a = a ⇒ a·a = a
a + ab = a ⇒ a·(a + b) = a
Un reticolo è distributivo se sussiste la proprietà distributiva.
Se è possibile fissare a t.c. a·0 = 0 e a + 1 = 1 esistono un massimo ed un minino. Inoltre, definendo l’operatore complemento NOT, se a·a = 0 e a + a = 1 allora l’algebra è di tipo booleano.
Per consentire il passaggio tra l’operatore OR (+) e AND (·), attraverso il metodo delle tavole della
verità, è possibile dimostrare i Teoremi di De Morgan:
1. X 1 + X 2 = X 1 ·X 2
2. X 1 · X 2 = X 1 + X 2
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 7
Dim:
1. X 1 + X 2 = X 1 ·X 2
2. X 1 · X 2 = X 1 + X 2
I Teoremi di De Morgan possono essere estesi ad n variabili.
Date n variabili x1,x2,…,xn, si definisce f una Funzione Booleana se esiste un solo valore
Y=f(x1,x2,…,xn) binario per qualsiasi configurazione delle variabili. Qulasiasi funzione booleana può
essere rappresentata dalla sua forma canonica ovvero in forma di somma di prodotti o di prodotto della
somma di tutte le variabili.
I prodotti sono detti mintermini se sono costituiti da tutte le variabili della funzione e tali che se
almeno uno di essi vale 1 allora la funzione vale 1.
Le somme sono dette maxtermini se sono costituite da tutte le variabili della funzione e tali che se
almeno uno di essi vale 0 allora la funzione vale 0.
Un qualsiasi prodotto di al massimo n-1 variabili della funzione tale che se il suo valore è 1 allora il
valore della funzione è 1 è detto implicante.
Una funzione logica può essere espressa in forma analitica, descrittiva, binaria, grafica,
tabellare e decimale (quest’ultima ricavata mediante i pesi 16-8-4-2-1). Inoltre una funzione logica può
essere minimizzata mediante i metodi delle Mappe di Karnough e di Quine - Mc Luskie che verranno
studiati in seguito.
Un implicante si dice primo se è un implicante non coperto da altri ovvero non può essere ridotto
senza variare la logica della funzione.
Un implicante primo contenuto in tutte le possibili forme minime è detto implicante essenziale
(nella forma minima sono contenuti tutti gli implicanti essenziali).
Una forma è irridondante se contiene tutti gli implicanti primi.
Una forma è minima se in essa sono contenuti tutti gli implicanti essenziali più un sottoinsieme di
implicanti primi tali che coprano tutti i mintermini di partenza.
Dal punto di vista circuitale anticipiamo i simboli per i tre operatori definiti:
x1
x2
y = x1+x2
x1
y = x1·x2
x
y= X
x2
[La presenza di un pallino prima dell’uscita di una porta ha l’effetto di negare il valore dell’uscita
pag. 8
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
stessa.
Un altro operatore logico è l’EXOR ( ⊕ ) detto OR esclusivo che opera secondo la seguente tavola
della verità:
Torniamo al problema della minimizzazione di una funzione booleana: come
detto, una funzione può essere minimizzata mediante il Metodo delle Mappe di Karnaugh o mediante il
Metodo di Quine - Mc Luskie.
Il Metodo delle Mappe di Karnaugh si basa su una rappresentazione in forma descrittiva della
funzione logica in esame: le mappe sono successioni di celle adiacenti, ciascuna delle quali rappresenta
un mintermine della funzione ed è disposta in modo tale che differisce per distanza 1 dalle celle adiacenti
(il discorso vale anche per le celle di frontiera per cui si parla di mappa “chiusa su stessa”).
Poniamo convenzionalmente come valore di partenza X = 0 e X = 1.
Per capire il funzionamento del metodo in questione osserviamo tre esempi pratici per il caso di 4
variabili.
1) Y1 = X 1· X 2· X 3· X 4 + X 1· X 2· X 3· X 4
Chiamo i due prodotti rispettivamente A e B; essi differiscono per il solo primo termine (distanza 1)
(X
1
)(
)
+ X 1 X 2· X 3· X 4 = X 2· X 3· X 4
2) Y2 = X 1· X 2· X 3· X 4 + X 1· X 2· X 3· X 4 + X 1· X 2· X 3 · X 4 + X 1· X 2· X 3 · X 4
Chiamo i 4 prodotti rispettivamente A, B, C, D.
(X
è implicante primo.
1
)(
)
+ X 1 X 2· X 3· X 4 + X 2· X 3 · X 4 = X 2· X 3· X 4 + X 2· X 3 · X 4 ⇒ X 2· X 4
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 9
3) Y3 = X 1· X 2 · X 3· X 4 + X 1· X 2· X 3· X 4 + X 1· X 2· X 3 · X 4 + X 1· X 2· X 3 · X 4
Chiamo i 4 prodotti rispettivamente A, B, C e D.
(X · X · X
1
2
3
)(
)
+ X 1· X 2· X 3 X 4 + X 4 = X 1· X 2· X 3 + X 1· X 2· X 3 ⇒ X 1· X 2
è implicante primo.
Per illustrare il Metodo di Quine - Mc Luskie, usato per funzioni di almeno 4 o 5 variabili, esaminiamo un esempio; si consideri la funzione di 6 variabili:
Y = X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6 +
+ X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6 + X 1· X 2· X 3· X 4· X 5· X 6
Come al solito, indico gli 8 prodotti con le lettere da A ad H.
Il primo passo consiste nel trasformare i mintermini nel corrispondente numerico:
Y = 100111 + 101111 + 111011 + 101011 + 100011 + 110001 + 000111 + 000011
Il secondo passo consiste nel raggruppare i mintermini a seconda del loro peso (ovvero il numero
di 1) a partire dal peso inferiore.
H ..................... 000011
EFG ................. 100011
........................ 110001
........................ 000111
AD .................. 100111
........................ 101011
BC ................... 101111
........................ 111011
Il terzo passo consiste nell’eseguire una prima semplificazione tra i mintermini di aree adiacenti
(procedendo in cascata) tali che abbiano distanza 1. Ad es: H e E hanno distanza 1 => mettiamo un – al
posto del bit diverso. Otteniamo un’altra tabella:
pag. 10
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
HE ............................. -00011
HG ............................ 000-11
EA ............................. 100-11
ED ............................. 10-011
GA ............................ -00111
AB ............................. 10-111
DB ............................. 101-11
DC ............................. 1-1011
F ................................110001
Al quarto passo procediamo ad una ulteriore semplificazione tenendo conto che abbiamo riscritto
F perché non si è semplificato con nessun mintermine.
Otteniamo la seguente tabella:
HEGA ....................... -00-11
HGEA ....................... -00-11
EADB ....................... 10--11
EDAB ....................... 10--11
DC ............................ 1-1011
F ............................... 110001
A questo punto non sono più possibili ulteriori semplificazioni. Si procede al quinto passo che
consiste nel rappresentare in maniera tabulare gli implicanti ottenuti.
Possiamo verificare che gli implicanti trovati sono tutti implicanti essenziali infatti F, DC, EADB,
HEGA non appaiono negli altri implicanti. Inoltre tutti i mintermini sono coperti dunque abbiamo ottenuto la forma minima.
Definita l’algebra sulla quale si basano i calcolatori e, più in generale, i circuiti logici, possiamo
passare ad analizzarli e sintetizzarli.
Una rete logica è una rete di nodi connessi fra loro tramite rami; i nodi sono costituiti da operatori
logici, detti porte logiche, e i rami rappresentano le connessioni fra essi (sono archi orientati). Si rappre-
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 11
senta mediante un grafico. Analizzare una rete logica significa estrarre dal grafico della rete la funzione
logica che realizza; sintetizzare una rete logica significa costruire il grafico a partire dalla funzione logica
assegnata, dopo averla adeguatamente minimizzata.
Il percorso tra un nodo e un altro della rete viene detto itinerario; definiamo livello di un nodo
rispetto ad un percorso il numero di nodi che precedono tale nodo.
Consideriamo il caso di una rete composta esclusivamente di porte NAND di cui conosciamo il
grafico; per analizzare la rete (ovvero per ottenerne l’espressione analitica) si comincia con l’identificare i
livelli di appartenenza delle varie porte logiche, crescenti man mano che dall’uscita si procede verso gli
ingressi (la porta d’uscita del circuito ha livello 1). Le porte NAND relative a livelli dispari generano
somme, mentre le porte NAND relative a livelli pari generano prodotti; gli ingressi delle porte NAND di
livello dispari vanno negate se non provengono, a loro volta, dalle uscite delle porte precedenti.
Nel caso in cui la rete sia implementata con porte NOR, valgono le regoli duali rispetto a quelle
definite nel caso precedente.
pag. 12
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
II. PORTE E CIRCUITI LOGICI
I circuiti logici sono costituiti principalmente da semiconduttori, elementi che nell’ultima orbita
presentano 4 elettroni; questa configurazione permette infatti agli elettroni di muoversi liberamente.
I componenti circuitali a semiconduttore usati nei circuiti logici sono diodi, transitori e dispositivi
MOS; vediamo brevemente il loro funzionamento.
DIODO A GIUNZIONE:
La tecnica oggi usata per aumentare la conduttività del cristallo di silicio prende il nome di
drogaggio e consiste nell’immettere, nel semiconduttore puro (intrinseco), quantità, controllate con
precisione, di elementi trivalenti (accettori) e pentavalenti (donatori). Generalmente il livello dei droganti
introdotti è molto basso (tra 1/10-8 e 1/10-18 atomi/cm3), cosicché le proprietà peculiari chimico-fisiche
del silicio restano inalterate modificandosi invece, in modo significativo, le caratteristiche elettriche.
Supponendo il cristallo intrinseco e gli atomi droganti elettricamente neutri, anche il cristallo drogato
risulterà elettricamente neutro.
Se in una barretta di semiconduttore puro si introducono da un lato elementi droganti di tipo
trivalente e dall’altro elementi di tipo pentavalente, si ottiene una giunzione PN. Infatti gli atomi trivalenti
con i propri elettroni di valenza sono in grado di saturare solo tre dei legami covalenti della struttura
cristallina, generando così, a causa del quarto legame libero, una lacuna in grado di accettare elettroni
(cristallo drogato P). Gli atomi pentavalenti, invece, non solo saturano tutti i legami covalenti del cristallo, ma rendono disponibile nel reticolo un elettrone libero come portatore di corrente (cristallo drogato
N).
Al termine del processo di drogaggio saranno presenti una concentrazione in eccesso di lacune, da
un lato ed un eccesso di elettroni dall’altro le quali determineranno una situazione di instabilità temporanea, che verrà naturalmente rimossa. Attraverso la giunzione si verificherà un passaggio di cariche nei
due sensi, tendente a riportare una situazione di stabilità, ed in particolare il flusso di lacune si sposterà
verso la zona N, mentre il flusso di elettroni attraverserà la giunzione in senso opposto. Ogni tipo di
cariche costituirà un legame con quelle di segno opposto, introducendo però un contributo di carica
(fenomeno della ricombinazione). Così, dopo un tempo relativamente breve, si formerà, a cavallo della
giunzione, una regione particolarmente stretta, (0.5 mm) detta di svuotamento (o di carica spaziale, o di
transizione) con prevalenza di ioni positivi nella zona N e negativi nella zona P.
Oltre la regione di carica spaziale, la concentrazione dei portatori sarà: p=NA nella zona P n=ND
nella zona N dove NA e ND sono le concentrazioni degli atomi droganti (accettori e donatori).
Si osservi che in questa regione la carica totale è nulla. Le cariche presenti nella zona di
svuotamento costituiscono la barriera di potenziale. Il campo elettrico associato alla barriera di potenziale
risulta diretto dalla zona N verso la zona P e contrasta il processo di diffusione. La barretta di
semiconduttore così ottenuta prende il nome di diodo a giunzione PN e rappresenta l’elemento base
dell’elettronica.
Il comportamento in regime statico della giunzione dipende dalle tensioni applicate ai suoi terminali. Se applichiamo al dispositivo PN una tensione (tensione diretta) che riduca la barriera di potenziale (e
quindi la larghezza della zona di carica spaziale) si ottiene una migrazione dei portatori maggioritari
attraverso la giunzione che sono in grado di sostenere un flusso di corrente IF, detta corrente diretta,
proporzionale alla tensione applicata al circuito in cui il diodo è inserito.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 13
Se invece si applica al diodo una tensione dello stesso segno di quella della barriera di potenziale,
(tensione inversa) il dispositivo verrà percorso da una corrente inversa molto piccola I o, trascurabile
rispetto alla corrispondente corrente diretta IF e indipendente dalla tensione applicata al circuito.
Il comportamento del diodo a giunzione in tutto il campo di funzionamento (figura 1), rappresentato nel piano V - I, è descritto dall’equazione:
 ηVV

I = I 0  e t − 1




dove:
I0 è la corrente inversa di saturazione e dipende dalla temperatura della giunzione;
η è un coefficiente correttivo ( η = 1 per il germanio e η = 2 per il silicio);
Vt è detto potenziale equivalente della temperatura. Vt =
KT
; a 30 ° C, Vt = 26 mV.
q
(T = temperatura assoluta in gradi Kelvin, q = 1.602. 10-19 coul = carica dell’elettrone.)
Per tensioni inverse e tali che |V|>|Vt| l’equazione (1) si riduce a I = I0 evidenziando così l’indipendenza della corrente inversa dalla tensione di polarizzazione del diodo.
I0 è correlata alle concentrazioni dei portatori minoritari e all’area della giunzione. Se il valore della
tensione inversa è elevato la Io subisce un brusco aumento (fenomeno del breakdown). Tale situazione è
però instabile e porta la giunzione in breve tempo alla distruzione per sovratemperatura.
figura 1: caratteristica del diodo 1N4001
Una particolare famiglia di diodi semiconduttori, detti diodi Zener o a valanga, il cui simbolo è
riportato in figura 2, costruiti per lavorare nella regione di breakdown, vengono utilizzati nei circuiti per
applicazioni specifiche quali stabilizzatori di tensione, tosatori ecc..
pag. 14
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
figura 2: caratteristica di un diodo zener
Generalmente il rapporto IF/I0 è molto grande (104 – 1012), ad esempio dispositivi al silicio, con
Id = 1 A , presentano I0 = 10-9 A. Nella zona di polarizzazione diretta è presente una ben definita tensione di soglia Vd al di sopra della quale, ha inizio la conduzione rappresentata da un andamento
esponenziale. Il valore di questa soglia dipende solo dal materiale semiconduttore, nei circuiti logici viene
prevalentemente utilizzato il silicio la cui tensione di soglia è pari a 0.6 - 0.7 V per il silicio. In
polarizzazione inversa la curva risulta parallela all’asse delle tensioni fino al raggiungimento della tensione di breakdown, in corrispondenza della quale, dovrebbe ottenersi un brusco aumento di corrente.
Comunque la regione di polarizzazione inversa utilizzabile senza inconvenienti per la integrità del diodo è
limitata ad un 70 - 80% della tensione di breakdown.
TRANSISTOR:
Il transistor viene realizzato con due giunzioni e ne esistono due versioni a seconda
della disposizione delle zone di drogaggio diverso: npn e pnp. Come si vede in figura, il
transistor ha tre piedini detti collettore, base ed emettitore (nel simbolo circuitale
l’emettitore è indicato con una freccia). Le cariche
vengono risucchiate verso l’alto e si viene a creare una
corrente Ic di collettore. Il flusso degli elettroni viene
attivato dalla d.d.p. Vcc positiva o negativa a seconda
della giunzione (npn o pnp). Nella figura è rappresentata la curva
caratteristica del transistor che è in funzione della corrente di base Ib;
quando Ic è alta (d.d.p. tra base ed emettitore tra 0.6 e 0.8 V), il
transistor è in piena conduzione e si trova nello stato di saturazione;
quando Ic e Ib sono basse (d.d.p. tra base ed emettitore < 0.5V) il
transistor è in zona di interdizione ed è spento. I transistor hanno
una resistenza di 1012 Ω.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 15
DISPOSITIVI MOS:
I Metal Oxide Semiconductor sono dispositivi diversi dai transistor. In essi la fetta di silicio presenta una zona drogata di tipo N e due sacche drogate di tipo P a diversa densità di drogaggio,
la sacca a minore densità (P+) viene detta source, la sacca a maggiore densità (P++) viene
detta drain. Polarizzando in modo inverso, si crea fra la zona N e le sacche P una depressione (layer) di concentrazione accentuate sotto la zona P più drogata. Sulla faccia superiore della fetta di silicio si viene a creare uno strato di SiO2 che sarà drogata di tipo N. Sopra
lo strato di SiO2 mettiamo un elettrodo di comando, detto gate, che carichiamo a potenziale intermedio. Tra drain e source vi è una d.d.p. che non permette il passaggio di corrente.
Se si porta il gate a potenziale negativo si ottiene per induzione un addensamento di portatori di carica nel canale grazie ai quali e per effetto delle d.d.p. tra drain e source risulta possibile il
passaggio di corrente.
Questa famiglia di dispositivi nacque per risolvere i
problemi creati dall’elevato assorbimento delle prime porte
logiche TTL. Il gate è infatti isolato dallo strato di SiO2 e funge
quindi da condensatore ad altissima resistenza d’ingresso (1015
– 1018 Ω). Questo tipo di struttura capacitiva ha lo svantaggio
di avere quindi un costante di tempo (tempo di commutazione)
RC molto elevata rispetto al transistor con una conseguente
riduzione della banda passante ovvero dell’intervallo di frequenza entro cui il dispositivo risponde ed inoltre l’elevato
tempo di commutazione rende le porte realizzate con tecnologia MOS più lente.
PORTE LOGICHE:
I componenti logici sono classificati in base alla loro struttura fisica:
DTL (diode-transistor-logic) => porte lente (30ns) e ad alto assorbimento.
TTL (transitor-transistor-logic)
HLL (high-level-logic)
Prima di descrivere le tre tipologie di porte appena nominate, definiamo un importante parametro
che caratterizza la resistenza delle porte ad eventuali elettromagnetici disturbi esterni (rumore): il Margine di Immunità al Rumore. Esso viene definito per il livello alto come M rH = VOH − VIH e per il livello
basso come M rL = VOL − VIL .
pag. 16
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Le porte DTL, quella in figura è una
porta NAND, sono porte lente e ad alto
assorbimento. Vediamo il funzionamento
della porta NAND. Per avere la saturazione di T1 e quindi conduzione, necessitiamo
di una tensione maggiore di 3*0.8=2.4V
(0.8 tensione di attivazione) per d.d.p.
alte, viceversa per d.d.p. basse deve essere
minore di 1.8V. Poiché per il diodo la
soglia e 0.8V => 2.4-0.8=1.6V è già una
tensione alta per la commutazione. Al di
sotto di 1.2V non avviene commutazione.
Se x1=1 e x2=0 sia T1 che T2 saranno in conduzione e quindi avremo in uscita y=1.
Se x1=1 e x2=1, T1 sarà interdetto e in uscita avremo y=0.
Il margine di immunità al rumore in una DTL è M rL = VOL − V IL = 0.2 − 1.2 = 1V per il livello
basso, mentre per il livello alto è M rH = VOH − VIH = 4.8 − 1.6 = 3.2V . Ovvero fino a 3.2V, la porta
funziona correttamente ad alto livello, e fino a 1V funziona a basso livello.
Le porte HLL sono largamente
utilizzate in circuiti di controllo laddove è
presente alto inquinamento elettromagnetico con conseguente generazione di rumore.
Nella figura è rappresentata una
NAND in HLL, in essa è presente un
particolare diodo, detto zener, che a
tensioni inferiori a 5.5 – 6 V si comporta
da isolante e scarica a 6 V. In M ci vogliono 7.6 V (Tensione di commutazione) affinché si chiudano T1 e T2 e si ottenga scarica in D; fino a 6.9V
siamo sicuri che non ci sarà commutazione.
I margini di immunità al rumore per porte HLL sono M rH = VOH − VIH = 17.5 − 7.6 = 9.9V e
M rL = VOL − VIL = 0.2 − 6.9 = 6.7V rispettivamente per livello alto e basso; come si vede sono margini
piuttosto alti. Sono porte piuttosto lente (centinaia di ns) e a discreto assorbimento di energia.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 17
Le porte TTL sono le porte logiche oggi
in uso e sono caratterizzate da tempi di risposta
rapidissimi (0.5-1 ns) ed è grazie a questo
breve tempo di risposta che è stato possibile
l’utilizzo di microprocessori ad alta frequenza.
Nella figura è rappresentato lo schema di una
porta NAND in TTL: in essa è presente un
transistor a multiemettitore. La porta è di tipo
LS (low/speed ovvero basso assorbimento/
veloce) che viene usata in tutti i computer in
quanto a basso assorbimento.
Se x1 e x2 sono alti, ci dobbiamo aspettare una uscita bassa ovvero il transitor T2 deve essere in saturazione; perché ciò avvenga T1 deve condurre.
La seconda figura è lo schema della porta NAND TTL ad alta velocità.
Le porte TTL sono integrate in un chip ricoperto di resina nera che contiene 4 porte logiche. La
sigla di questi chip contiene informazioni sulle caratteristiche di esso: i primi due caratteri sono SN che
rappresentano lo standard aziendale, le due cifre successive, 73 o 51, indicano l’intervallo termico nel
quale sono stati testati (-70 – 125 °C o 0 – 60 °C), quindi seguono i caratteri LS per indicare il tipo (low
speed), due cifre (es: 00) indicano in numero d’ordine e si chiude con una lettera (J, K o W) che indica
la disposizione dei pin.
La dimensione di una porta è di frazioni di millimetri, grande in confronto alle misure tipiche dei
componenti interni della macchina; l’elevata dimensione serve per dare stabilità termica: i conduttori
all’interno si allargano e dissipano il calore che altrimenti potrebbe rovinare il dispositivo.
Gli ingressi devono sempre essere polarizzati in base agli stati logici altrimenti, in presenza di
tensioni intermedie, il dispositivo andrebbe in uno stato non-logico. Nei datasheet delle porte logiche
sono specificate sigla, tecnologia, la corrente massima che il circuito può ricevere (IIL, IOL, IIH, IOH), i
margini di immunità al rumore, il numero di porte che si possono ricevere in ingresso da un punto di
vista logico (FAN IN), il numero di porte che si possono connettere in uscita (FAN OUT), la potenza
pag. 18
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
assorbita e il tempo di commutazione (high low e low high).
Esiste un’altra categoria di porte logiche realizzate mediante dispositivi MOS. Le porte MOS
vanno azzerate mediante una tensione opposta a quella che le ha caricate.
Un problema dei dispositivi MOS è che lo strato di SiO2 può non essere completamente isolante e
quindi c’è il rischio che vi siano, a potenziale sul gate nullo, delle cariche positive con conseguente
effetto di induzione elettrica che potrebbe resettare la porta stessa. Per evitare il problema, il gate andrebbe tenuto a potenziale basso anziché nullo, oppure è possibile usare MOS a canale opposto (silicio
drogato di tipo P) in modo da contrastare la comparsa di cariche positive sullo strato di SiO2. Per avere
compatibilità con i dispositivi TTL, è preferibile usare coppie di MOS di tipo diverso (N e P) dette
CMOS (Complementary MOS); i CMOS infatti portano i livelli di tensione su valori positivi come nella
logica dei dispositivi TTL.
CIRCUITI LOGICI:
Passiamo adesso allo studio del circuiti logici. Identifichiamo due categorie di circuiti logici: se le
uscite sono, a meno dei tempi di commutazione delle porte, contemporanee agli ingressi ed inoltre dipendono esclusivamente dalla contingente configurazione di ingressi si parla di circuiti combinatori, tra essi
troviamo Codificatori, Decodificatori (BCD: conversione binario-digitale), Sommatori (Half o Full
Adder) ecc.; se le uscite all’istante t dipendono oltre che dagli ingressi all’istante t anche dagli ingressi in
istanti precedenti si parla di circuiti sequenziali, che hanno una parte puramente combinatoria ed un’altra puramente sequenziale; se i ritardi in un circuiti sequenziale sono identici abbiamo circuiti sincroni
altrimenti abbiamo circuiti asincroni: i circuiti sequenziali sono a memoria.
Tra i circuiti sequenziali, notevole importanza assumo i circuiti Flip-Flop (ff). Essi sono infatti
circuiti in grado di memorizzare un bit, rimangono infatti nello stato in cui si trovano finché un comando
esterno provoca la commutazione. Tutti i circuiti sequenziali sono formati da un insieme di flip-flop.
]I Flip-Flop di tipo SR sono composti da 4 porte
NAND (o NOR) di cui 3 e 4 sono collegate in modo da
formare un latch. Esaminiamo le configurazioni possibili
con clock attivo:
Come si vede dalla tabella la configurazione 1-1 non è ammissibile e la configurazione 0-0 conserva lo stato delle uscite precedentemente all’attivazione del clock.
In realtà i flip-flop più usati sono di tipo Master-Slave che si presentano i 4 varianti: SR, JK, D e
T.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 19
I Flip-Flop MS di tipo SR sono, come si evince dalla figura, composti da due ff semplici di tipo
SR. Quando si attiva il ff Master si viene a creare una configurazione (y, y ) che fungerà da ingresso per
il ff Slave. L’attivazione dello slave avviene quando si disattiva il master e in uscita avremo una ben
precisa configurazione (Q, Q ).
Per questo tipo di ff la configurazione non ammessa è S=R=1.
I Flip-Flop MS di tipo JK sono molto simili agli SR con la sostanziale differenza che in ingresso
al master abbiamo anche le uscite dello slave (fig ?n?). Questo tipo di ff risolve in problema della configurazione non ammessa: mentre se J=K=0 abbiamo la conservazione delle uscite al clock precedente,
per J=K=1 avviene l’inversione delle uscite al clock precedente.
I Flip-Flop MS di tipo D sono come i JK ma con J sempre opposto a K.
I Flip-Flop MS di tipo T sono come i JK ma con J=K=1.
Come detto in precedenza, dalla connessione di più ff possiamo ricavare una serie di circuiti logici
fondamentali per il funzionamento di un calcolatore elettronico. Questi circuiti sono i contatori che, con
opportune modifiche, implementano i registri interni del calcolatore.
pag. 20
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Il contatore asincrono diretto a 4 bit è rappresentato in figura. E’ un circuito sequenziale in
grado di contare il numero di ingressi.
Come si vede dal grafico, Q0 cambia stato in corrispondenza del fronte di caduta di ogni impulso e
tutte le altre uscite hanno una variazione quando e solo quando l’uscita del ff precedente cambia da 1 a
0. Questa transizione negativa si propaga attraverso il contatore dal bit meno significativo al più significativo.
Il contatore Up/Down o contatore reale può essere usato sia come contatore diretto che inverso,
in base alla linea di controllo Up/Down. Se questa è attiva, l’uscita di ogni ff Q è collegata al clock del ff
successivo e si realizza il conteggio verso l’alto. Se viceversa la linea Up/Down è allo stato 0, le uscite Q
di ogni ff vengono collegate al ff successivo realizzando il conteggio verso il basso.
I registri a scorrimento permettono la lettura del bit dell’ultimo ff e lo scorrimento dei bit degli
altri ff verso destra. Possono essere di due tipi.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 21
Il registro misto monodirezionale o shift register diretto permette la lettura dell’ultimo bit e lo
scorrimento verso destra degli altri; può funzionare sia con ingressi paralleli sia seriali, così come può
avere uscite parallele o seriali. Ad ogni colpo di clock avviene lo scorrimento.
Il registro misto bidirezionale permette anche lo scorrimento in senso inverso; viene controllato
da una linea dedicata E0 che se attiva permette lo scorrimento verso sinistra. Lo scorrimento a sinistra
può avvenire solo se E1=0 ovvero gli ingressi sono seriali. I ff sono di tipo D.
Attraverso l’uso dei ff è possibile costruire il convertitore analogico-digitale e digitale-analogico.
Lo schema rappresentato è quello di un convertitore sia A/D sia D/A.
pag. 22
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Il comparatore è un circuito in grado di confrontare due ingressi analogici e dare un output digitale
in base all’esito della comparazione. Nel nostro caso se VR ≥ Vi ⇒ Vout = 1 , se VR < Vi ⇒ Vout = 0 .
La Vout va a controllare il multivibratore a-stabile, un circuito la cui uscita oscilla continuamente tra
i due livelli logici quando in ingresso riceve un livello alto, altrimenti ha uscita nulla. L’uscita del MA
controlla il clock del ff1 che, quando viene attivato, dà il via al contatore. Le uscite dei ff sono indirizzate
su resistenze pesate che faranno in modo che il contributo di corrente di ognuna di esse sia diverso a
seconda dell’importanza del bit che rappresenta. La somma dei contribuiti alimenta un amplificatore che
genera la Vi. Quando Vi>VR il conteggio si arresterà è in corrispondenza della 4 uscite avremo i bit che
compongono la conversione in digitale della VR.
Nel convertitore è presente una linea di Enable che quando viene posta a 1 dà luogo alla conversione in analogico dei bit presenti su Q0, Q1, Q2, Q3 inibendo i 4 ff.
Il convertitore A/D è infatti un circuito sequenziale, mentre il convertitore D/A è combinatorio.
Il tempi di conversione A/D possono essere ridotti agendo sul MA, facendo in modo che la frequenza del treno d’onda sia la massima possibile. Oppure si può lavorare con tensioni più basse possibile
per far sì che il valore di regime si raggiunga prima (oppure si può aumentare il coefficiente di amplificazione dell’amplificatore operazionale).
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 23
III. ARCHITETTURA DI UN CALCOLATORE
MICROPROCESSORE:
Per introdurre il metodo di funzionamento di un processore, cominciamo col descrivere il modo di
operare su dati e istruzioni del microprocessore Motorola 68000.
Ogni istruzione è divisa corredata di un Codice Operativo che la identifica. Descriviamo i componenti presenti nel processore:
A.L.U.: (Arithmetic-Logic-Unit) è l’insieme dei sommatori (half e full adder).
V.S.R.: (Very-Speed-Register)
I.R.: (Index Register)
T.R.1 e T.R.2: (Temporary Register)
P.C.: (Program Counter) è il registro che contiene l’indirizzo dell’istruzione successiva da processore.
G.R.: (General Register)
Il P.C. preleva l’istruzione (fase di fetch) e la trasferisce all’ I.R. dove viene decodificata (fase di
decode). La Central Unit legge il codice operativo e sposta l’istruzione dove viene eseguita (fase di
execute). Se l’istruzione non può venire eseguita, viene messa in attesa nei registri G.R. o, se possibile,
nei T.R. per farla pervenire alla A.L.U. quando sarà il suo turno.
Le operazioni del processore, essendo questo una macchina sincrona, vengono regolate da un
segnale di clock di periodo Dt . Ogni azione di fetch o di decode impiega un Dt.
Ad es. la somma di due cifre necessita:
∆t +
(fetch)
∆t
+ (decode)
∆t =
3-5∆
(execute)
∆t ≅ 10∆
∆t
5-7∆
pag. 24
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
1
• 10 = 2 µs .
5 • 10 6
Segmentando la memoria è possibile aumentare virtualmente il numero di bus del processore,
migliorando le prestazioni. Successivamente si è passati al parallelismo dei microprocessori.
Ad una frequenza di 5 MHz,
MICROPROCESSORE INTEL 8086:
Il processore è costituito da due unità distinte:
• Execution Unit (EU)
• Bus Interface Unit (BIU)
Le due unità sono indipendenti e ciò permette di lavorare in maniera più efficiente con
sovrapposizione delle operazioni delle due parti.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 25
Vediamo il vantaggio della sovrapposizione delle operazioni:
Come vediamo si ha una ottimizzazione dell’uso del bus e un conseguente risparmio in termini di
tempo.
Come visto la sequenza delle operazioni eseguite dal processore prevede in primis il fetch (prelievo) dell’istruzione in memoria, quindi avviene la fase di decode (decodifica) infine di execute. Il bus
viene occupato dalle operazioni di fetch e write/read.
La Execution Unit esegue le istruzioni, fornisce (e riceve) dati e indirizzi alla BIU ed inoltre
manipola i registri generali e il registro di flag. La comunicazione tra EU e BIU (che interfaccia EU
con l’esterno) avviene tramite bus interni a 16 bit. Dialogo con la ALU tramite bus a 8 bit.
La Bus Interface Unit esegue tutte le operazioni verso l’esterno, usa un addizionatore per il
calcolo degli indirizzi (20 bit) e ha accesso ai redistri di segmento e al registro IP.
Quando la EU è impegnata ad eseguire la prima istruzione, la BIU inizia il fetch della seconda: il
microprocessore memorizza le istruzioni adiacenti a quelle in esecuzione (ovvero quelle logicamente
successive se il programma è sequenziale) in una coda di 6 byte.
Se viene richiesto il comando da un indirizzo pari, la BIU legge un byte altrimenti ne legge due.
I registri generali sono 8 registri posti all’interno della EU. Sono aree di memoria a 16 bit che
mantengono i dati elaborati dalla EU; si dividono in data register, che vengono indicati con AX, BX,
CX, DX, pointer register (SP) e index register (DI, SI).
Non ci sono vincoli all’utilizzo dei data register che è implicito in alcune istruzioni; inoltre possono
essere considerati come coppie di registi a 8 bit AH/AL, BH/BL, CH/CL, DH/DL. Anche i registri SP,
DI, SI sono impliciti in alcune istruzioni. Vediamo l’uso dei registi generali:
REGISTER
OPERATIONS
AX ............................................ Word multiply, divide, I/O
AL ..................... Byte multiply, divide, I/O, translate, decimal arithmetic
AH ............................................... Byte multiply, divide
BX .......................................................... Translate
CX .............................................. String operations, loops
CL ............................................. Variable shift and rotate
DX ................................. Word multiply, word divide, indirect I/O
SP ..................................................... Stack operations
SI .................................................... String operations
DI .................................................... String operations
pag. 26
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
SEGMENTAZIONE:
Il bus indirizzi dell’8086, a 20 bit, permette l’accesso a 220 locazioni di memoria (1 Mb). Un’istruzione occupa al massimo 6 byte, mentre il nome ne occupa 2.
Il bus interno del microprocessore e i registri sono a 16 bit e quindi si pone il problema di come
gestire tutti gli indirizzi: per ovviare a ciò un indirizzo fisico è diviso in due segmenti da 16 bit e la
memoria viene a sua volta organizzata in segmenti da 64 Kb ciascuno: un segmento è un insieme di
locazioni di memoria contigue, indipendente e indirizzabili separatamente e può contenere indirizzi, dati
e stack.
Quando la BIU vuole accedere alla memoria per leggere un’istruzione oppure per leggere/scrivere
un dato genera un indirizzo fisico a partire dai due segmenti di indirizzo detti base segment e offset.
L’indirizzo si indica quindi: <base segment> : <offset>, ottenuti dall’EU.
Il base segment è l’indirizzo del segmento in cui sta la locazione di memoria da indirizzare.
L’offset è la “distanza” tra il primo byte del segmento e la locazione di memoria da indirizzare.
Vediamo come dai due segmenti viene costruito l’indirizzo (a 20 bit) della locazione da indirizzare
utilizzando un esempio:
Base segment:
1234 (esadecimale)
Offset:
0022 (esadecimale)
1234H:0022H
1 2 3 4 0 si aggiunge uno zero
0 0 2 2 viene sommato l’offset
1 2 3 6 2 Indirizzo Fisico
Per come viene costruito, ogni indirizzo fisico può essere rappresentato da più coppie <base
segment> : <offset>.
Ogni segmento da 64 Kb è indipendente dagli altri e non ci sono restrizioni sulla sua posizione:
due segmenti possono essere adiacenti, disgiunti, parzialmente sovrapposti o completamente
sovrapposti con l’unica condizione che due segmenti non sovrapposti siano ad almeno 16 byte di distanza.
REGISTRI DI SEGMENTO ED INSTRUCTION POINTER:
Tramite registri di segmento si ha l’accesso “contemporaneo” a 4 differenti segmenti:
• CS (code segment): è il registro che punta al segmento contenente il codice dal quale vengono lette le
istruzioni
• SS (stack segment): punta al segmento di stack
• DS (data segment): punta al segmento in cui sono immagazzinati i valori delle variabili del programma
• ES (extra segment): punta ad un segmento d’appoggio per ulteriori dati.
I registri di segmento possono essere manipolati dell’utente tramite istruzione opportune.
• IP (instruction pointer): è aggiornato dalla BIU affinché contenga lo scostamento all’interno del segmento
di codice dell’istruzione successiva da eseguire (equivalente al Program Counter).
I programmi non hanno accesso diretto al registro IP.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 27
CODICE RILOCABILE:
Grazie alla memoria a segmenti il codice può essere rilocato dinamicamente in memoria: la
segmentazione rende possibile una facile implementazione indipendente dalla posizione consentendo a
sistemi multiprogrammabili di fare un uso efficiente della memoria. I programmi inattivi possono essere
trasferiti su disco per liberare la memoria che si rende disponibile per altri programmi; successivamente
esso potrà essere ricaricato in un altro punto della memoria: questo si può fare perché non è necessario
specificare in quale area di memoria è il programma basta specificare base segment e offset.
Inoltre grazie alla rilocazione dinamica si può ricavare spazio ricompattando i segmenti.
IMPLEMENTAZIONE FISICA DELLO STACK:
L’indirizzo fisico dello stack è rappresentato da SS:SP. Un sistema può avere un numero illimitato
di stacks di ampiezza fino a 64 Kb. Si può però indirizzare uno stack alla volta (stack corrente) perché
c’è un solo SS:
• SS: contiene l’indirizzo di base dello stack
• SP: punta alla testa dello stack
Lo stack è una struttura LIFO: aggiungere un elemento allo stack fa decrementare l’indirizzo SP di
due byte; togliere un elemento significa incrementare l’indirizzo SP di due byte.
L’8086 è poco ortogonale. L’ortogonalità è la possibilità di usare un registro per diverse operazioni
pag. 28
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
MEMORIA RISERVATA:
Vi sono alcune zone di memoria riservata per gli interrupt: si tratta di 128 byte nella parte bassa
della memoria e 16 byte nella parte alta. Un loro uso potrebbe generare incompatibilità.
MICROPROCESSORE 80286:
Esso differisce dall’8086/88 per:
•
•
•
Address bus a 24 bit (16 Mb di memoria indirizzabile)
Set di istruzioni accresciuto per la gestione dei 15 Mb in più
Clock incrementato a 8 MHz per eseguire alcune istruzioni in meno di 250 ns corrispondenti a due cicli
di clock (4 MIPS)
Il data bus è ancora a 16 bit.
MICROPROCESSORE 80386:
Rappresenta un grande salto di qualità rispetto ai predecessori:
•
•
•
Address bus a 32 bit (4 Gb di memoria indirizzabile)
Data bus a 32 bit
Registri interni a 32 bit
Le prime versioni, un po’ inferiori, erano:
SX: dotata di un data bus a 16 bit e un address bus a 24 bit (16 Mb di memoria indirizzabile)
SL: ha un bus dati a 16 bit e un address bus a 25 bit (32 Mb di memoria indirizzabile)
SLC: alle caratteristiche della SL aggiunge una cache interna per una più rapida elaborazione dei dati.
La necessità di un processore più efficiente e più veloce nasce dall’evoluzione del software che fa
sempre più utilizzo di sofisticate interfacce grafiche (GUI).
Anche risoluzioni di 640x480 pixel (VGA) richiedono un notevole sforzo computazionale per una
gestione efficiente dei dati video.
Il bus dati a 32 bit permette di trasferire numeri a 32 bit in un unico ciclo di clock: 32 bit è la
codifica dei numeri reali utilizzati da molte applicazioni (linguaggi ad alto livello, fogli elettronici,
database, CAD).
Sono inseriti circuiti per la gestione e l’assegnamento della memoria che ne aumentano l’efficienza
(precedentemente era delegato il software OS).
Nel processore ci sono 6 stadi che operano in parallelo.
1. Bus Interface Unit: controlla gli accessi alla memoria e ai dispositivi I/O.
2. Code Prefetch Unit: riceve il codice oggetto dalla BIU e lo mette in una coda di istruzione di 16 byte
3. Instruction Decode Unit: decodifica il codice di un’istruzione presa dalla coda nel corrispondente
microcodice.
4. Execution Unit: esegue il microcodice.
5. Segment Unit: traduce gli indirizzi logici in indirizzi lineari ed effettua il controllo sulla protezione.
6. Paging Unit: traduce gli indirizzi lineari in indirizzi fisici, effettua i controlli di protezione della pagina e
contiene una cache con le pagine referenziate fino alle ultime 32.
Permette la paginazione con pagine da 4 Kb.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 29
MICROPROCESSORE 80486:
Si tratta di un 80386 con coprocessore matematico 80387 con:
•
•
Memoria cache interna di 8 Kb.
Struttura interna modificata per eseguire il 50% delle istruzioni in un ciclo di clock invece che in due.
Nella versione con clock a 50 MHz (quella base è a 20 MHz) metà delle istruzioni sono eseguite in
25 ns (50 MIPS).
Il miglioramento rispetto a 80386 con lo stesso clock è di circa il 50%.
Altri clock disponibili sono 66 MHz (80486 DX2) e 100 MHz (80486 DX4).
L’80486 aggiunge più parallelismo espandendo l’istruction decode unit con execution unit in 5
stadi che lavorano in parallelo (pipeline). Ogni stadio lavora su un’istruzione per ogni ciclo di clock, in
questo modo l’80486 può eseguire un’istruzione per ogni ciclo di clock.
Una cache di I livello ampia 8 Kb incrementa la percentuale di istruzioni che possono essere
eseguite in un unico ciclo di clock.
Permette la paginazione con pagine di 4 Kb.
MICROPROCESSORE PENTIUM:
Rispetto all’80486 esiste una seconda pipeline che permette di eseguire due istruzioni per ciclo di
clock.
La cache interna di I livello (L1) è stata duplicata: 8 Kb per le istruzioni e 8 Kb per i dati.
La paginazione è fatta su pagine sia di 4 Kb che di 4 Mb. Internamente sono stati ampliati i bus
che sono da 128 a 256 bit. Il data bus esterno è di 64 bit.
Ogni cache è a 32 byte quindi, visto che il data bus esterno è a 64 bit, la cache dati è organizzata in
8 banchi di 4 byte ognuno. La cache dati può essere referenziata contemporaneamente da entrambe le
“pipe” se queste si riferiscono a due banchi diversi.
ORGANIZZAZIONE FISICA DELLA MEMORIA:
La memoria dell’8086 è caratterizzata da 2 byte, può quindi accedere direttamente a una parola. Il
microprocessore può accedere alla memoria sfruttando delle linee del bus di controllo. Una di queste è la
BHE: viene usata insieme alla linea più bassa (A0) dell’address bus per riuscire ad individuare a quale
banco di memoria accedere
pag. 30
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
ORGANIZZAZIONE DELLA MEMORIA:
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 31
ARCHITETTURA INTERNA DEL PENTIUM (MODELLO DI PROGRAMMAZIONE)
Registri:
• EAX (accumulatore): è usato come registro a 32, 16 o 8 bit. Se usato in istruzioni particolari ha compiti
specifici altrimenti è un registro generale. Usato anche per indirizzare la memoria in 80386 e 80486.
• EBX (base index): ha un uso analogo al registro EAX.
• ECX (count): viene usato per contare in istruzioni di shift, di rotazione, loop. Usato anche per indirizzare
la memoria in 80386 e 80486.
• EDX (data): registro generale; memorizza i risultati di divisione e moltiplicazione. Usato anche per
indirizzare la memoria in 80386 e 80486.
• EBP (base pointer): in tutte le versioni è usato per puntare a locazioni di memoria.
• EDI (destination index): memorizza i risultati di operazione su stringa.
• ESI (source index): memorizza la stringa sorgente in operazione su stringa.
• ESP (stack pointer): indirizza l’area di memoria dello stack.
• EIP (instruction pointer): indirizza l’istruzione successiva da eseguire: a 16 bit se il processore è in real
mode (8086-80486), a 32 bit se il processore opera in protected mode (80286-80486).
• EFLAG: gestisce situazioni particolari quali interrupt, divisione per zero, overflow, ognuna delle quali è
caratterizzata dal valore di un bit del registro.
I registri possono scambiare dati con la cache di I livello (ovvero quella interna), con un bus di 64
bit.
pag. 32
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
INDIRIZZAMENTO IN MODALITÀ PROTETTA:
Serve ad accedere alla memoria superiore al primo megabyte. L’offset indica la locazione all’interno di un segmento, un registro di segmento contiene un selettore che punta ad un descrittore nella
“tabella dei descrittori”. Il descrittore è una struttura che mantiene le informazioni circa la locazione del
segmento, la sua lunghezza e i permessi di accesso.
Le istruzioni si comportano come nell’indirizzamento in modo reale: CS:EIP.
Il selettore è posto in un registro di segmento e seleziona uno tra gli 8192 descrittori di una tabella;
ci sono due tabelle di descrittori usati con i registri di segmento: una per i descrittori globali, che indicano segmenti usati da tutti i programmi, ed una per i descrittori locali, che indicano segmenti usati dalle
singole applicazioni.
Ogni tabella contiene 8192 descrittori per un totale di 16384 segmenti di memoria indirizzabili
contemporaneamente.
Il descrittore è un insieme di 8 byte negli 80286 e successivi (una tabella di descrittori arriva a 64
Kb). Vediamo come sono composti i descrittori di 80286 e di 80386/80486:
80286 Descriptor
80386/80486 Descriptor
Il limit indica l’ampiezza massima del segmento: un limit a 16 bit (80286) indica ampiezza massima pari a 64 Kb; un limit a 20 bit (80386/80486) indica ampiezza massima pari a 1 Mb. Grazie all’uso
del bit di granularità l’ampiezza può essere sia normale cioè da 1 byte a 1 Mb oppure da 4 byte a 4 Gb
(a passi di 4 Kb). Il limit rappresenta infatti l’ultimo offset possibile per il segmento; ad es. un segmento
va da F00000H a F000FFH si avra limit=FF.
Il base address è la locazione di partenza del segmento: 24 bit per 80286 (all’interno di 16 Mb),
32 bit per 80386/80486 (all’interno di 4 Gb). Nell’esempio precedente base address=F00000.
Se granularity bit (G) è zero il limit indica un valore da 1 byte a 1 Mb, se G è uno il valore del
limit viene moltiplicato per 4 Kb.
Se AV è uno il segmento è disponibile; viceversa se è zero il segmento non è disponibile (è usato
dal sistema operativo).
Se D è zero le istruzioni sono a 16 bit (16 bit instruction mode – compatibile 8086/80286); se è
uno le istruzioni sono a 32 bit (32 bit instruction mode).
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 33
I Diritti di Accesso sono negli 8 bit (indicati con 5) e sono:
Vediamo come è strutturato il registro di segmento (16 bit):
RPL (Requested-privilege-level): da 00 a 11, indica il grado di priorità da assegnare al selettore.
Se TI è zero, il selettore si riferisce alla tabella dei descrittori globali, altrimenti a quella dei descrittori locali.
I bit da 3 a 15 selezionano uno degli 8192 descrittori.
REGISTRI INVISIBILI AI PROGRAMMI:
Sono i registri che controllano il microprocessore quando opera in modo protetto. La memoria
cache memorizza le informazioni di un segmento del registro corrispondente.
Quando un nuovo numero è posto nel registro, il microprocessore carica i valori del descrittore
nella cache. Questi rimarranno finché non si cambia descrittore. Vediamo i registri:
• GDTR (global descriptor table register): contiene l’indirizzo di una delle tabelle dei descrittori globali
ed il suo limite.
• IDTR (interrupt descriptor table register): è usato per gli interrupts.
• LDTR (local descriptor table register): è il selettore della tabella dei descrittori locali all’interno della
tabella dei descrittori globali (permette quindi l’accesso alla tabella dei descrittori locali).
• TR (task register): indica un descrittore nella tabella dei descrittori globali che definisce un task.
pag. 34
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
INTEGER PIPELINE:
Abbiamo già visto il parallelismo nell’8086 (EU, BIU). Nell’80486 e nel Pentium il parallelismo è
ancora più marcato con la sovrapposizione di funzionalità.
Sappiamo che l’esecuzione di un’istruzione si divide in 3 fasi: fetch, decode, execute. Nell’80486
e Pentium si ha una suddivisione più fine dell’istruzione in fasi, in modo tale da aumentare e migliorare il
parallelismo:
1. Prefetching (PF)
2. Decode (D1 – decodifica istruzione)
3. Fetching degli operandi (D2 – lettura degli operandi su cui eseguire l’istruzione)
4. Execute (E)
5. Writeback (WB – aggiornamento dello stato della CPU in corrispondenza dell’esecuzione delle
istruzioni).
Ogni fase può essere considerata autonoma e superata dalle altre e eseguita da una parte del microprocessore: si dice pipeline il parallelismo asincrono (hardware) del microprocessore.
Nel Pentium il pipeline viene sdoppiato nelle istruzioni intere per cui si può avere contemporaneamente l’esecuzione di due istruzioni per volta su due flussi.
Durante l’esecuzione le due istruzioni vengono lette, controllate e, se possibile, vengono eseguite
contemporaneamente: la prima viene mandata alla pipeline U, la seconda, se possibile, alla pipeline V (la
restrizione sulla seconda istruzione sta nel fatto che il processore ha un set di istruzioni ridotto per cui
esegue istruzioni semplici).
N.B.: Il buffer di prefetching comunica con le due ALU tramite i due bus a 32 bit e sopra il
prefetching bus c’è la cache istruzioni che comunica col buffer tramite dei bus a 256 bit; la cache di II
livello viene collegata alla BIU.
Internamente all’Instruction Prefetcher, ci sono 4 buffer da 32 byte. Ad ogni stadio di
prefetching due coppie di buffer operano congiuntamente al Branch Target Buffer (BTB).
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 35
In ogni istante solo un buffer richiede un prefetching.
Quando viene letta una istruzione che causa una diramazione del flusso del programma, il BTB
effettua una predizione sul flusso: se la predizione è negativa il fetching continua linearmente, se invece è
positiva, viene abilitato il secondo buffer che immagazzina le istruzioni provenienti dal secondo flusso.
Se la predizione è sbagliata le pipelines sono ripulite e le operazioni di prefetching ricominciano.
Poiché la cache dei dati e delle istruzioni sono separate, le operazione di prefetching non sono in
conflitto con gli accessi ai dati. Il processore Pentium ha due buffer per la scrittura, uno per ogni
pipeline. Ogni buffer ha una ampiezza di 64 bit che possono essere riempiti simultaneamente in un clock.
Il contenuto di questi buffer viene mandato all’esterno nell’ordine con cui le scritture vengono
generate dal processore.
Per il pipeline dei floating point (quantità in virgola mobile) ci sono tre fasi in più della pipe dell’unità per il trattamento degli interi dovute alla necessità che le istruzioni siano convertite per poi avere
una pipeline come gli interni, poi il risultato viene arrotondato e i registri aggiornati.
SCALARITÀ DEI MICROPROCESSORI (PREROGATIVA DEI RISC):
Il CISC (complex instruction set computing) ha un set di istruzioni di tipo complesso (usa comandi che incorporano molte piccole istruzioni per eseguire un’unica operazione).
Il RISC (reduced instruction set computing) utilizzano un set di istruzioni ridotto: questo modo di
procedere dalle microistruzioni è compattata in un’istruzione più completa. Questo processore può essere
più veloce del CISC e ha un parallelismo a 64 bit maggiore, quindi, di quello del CISC per cui si dice che
il RISC è più scalare.
La prima tecnica di parallelismo è il pipeline (scalarità di tipo hardware). Il multipipeline è stato
fatto per processori sempre più potenti.
Il RISC utilizza anche la scalarità software ecco perché viene detto superscalare. La scalarita
software suddivide le istruzioni di 64 bit in istruzioni a 32, 16 e 8 bit da elaborare parallelamente e poi
ricongiungere.
I multiprocessori SIMD e MIMD utilizzano i processori transputer che lavorano in parallelo.
I CISC hanno frequenza di lavoro maggiore quindi parallelismo minore.
Esempi di RISC sono ALPHA della DEC, RISC2000 della IBM e POWERPC.
TECNICHE DI COLLOQUIO TRA MICROPROCESSORE E PERIFERICHE:
Per permettere il dialogo tra microprocessore e periferiche esistono tre tecniche: polling, interrupt e
DMA.
Nel Polling il trasferimento dati è controllato dal microprocessore che ad intervalli di tempo stabiliti dal programmatore, interroga tutte le periferiche del sistema per sapere se devono inviare dati o se
sono pronte a ricevere dati in uscita.
L’interrogazione consiste nel test di un bit di stato (FLAG) della periferica; se la periferica è
disponibile per lo scambio dati, il microprocessore lo effettua eseguendo l’apposito programma (routine
pag. 36
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
di servizio). Questa tecnica viene usata quando il tempo di risposta delle periferiche è molto alto rispetto
a quello di elaborazione dei dati. Comporta un hardware minimo e un appesantimento del software (ogni
volta che viene eseguita, la routine del polling vengono testate tutte le periferiche, anche quelle inattive).
Nella tecnica di interrupt è la periferica a chiedere al microprocessore l’inizio del colloquio mediante un segnale di “interruzione” inviato nel control bus. Quando il microprocessore può accettare la
richiesta, risponde con un segnale di accettazione (int acknowledge) sul control bus, che permette alla
periferica di collegarsi al data bus e iniziare lo scambio sotto la supervisione della routine di servizio
eseguita dal microprocessore. L’interruzione del programma principale all’arrivo dell’interrupt viene
comunque fatta alla fine dell’esecuzione dell’istruzione in corso.
I microprocessori hanno al massimo due piedini di interrupt utilizzati da tutte le periferiche quindi
possono sorgere dei problemi in quanto il microprocessore deve individuare l’unità origine della richiesta,
avere una strategia di priorità per risolvere situazioni di richieste simultanee, sapere cosa fare se una
periferica manda un interrupt mentre sta eseguendo una routine di servizio relativa ad un’altra periferica.
I moduli principali del colloquio sono il modulo pic e il modulo del controllo della qualità degli
interrupt.
Il modulo PIC è il modulo che gestisce le priorità degli interrupt. Gli indirizzi delle varie periferiche vengono inviati in un registro detto “Maschera delle priorità”. Il microprocessore stabilisce le
priorità a seconda delle quali la maschera delle priorità fa uscire fuori gli indirizzi (si crea una coda degli
interrupt).
Può succedere che arrivi il secondo interrupt prima che arrivi l’ack al primo: in situazioni di questo
tipo il secondo interrupt dovrebbe essere trascurato (controllo della qualità degli interrupt). Il circuito
di validazione degli interrupt consente o meno che un interrupt segua il suo corso e nel caso in cui il
processore non è pronto lo fa aspettare. Quella dell’interrupt è la tecnica più usata nel colloquio tra
microprocessore e periferiche.
Il DMA (direct memory access) viene usato quando ci sono grosse quantità di dati da trasferire
verso le periferiche che rallenterebbero il microprocessore, occupato in continua lettura/scrittura sulla
memoria. I dispositivi vengono messi in diretto contatto con la memoria, accedendo ai dati ed evitando di
coinvolgere il microprocessore. Una periferica che necessita di uno scambio dati intenso con la memoria
è il video ed infatti è connesso tramite DMA.
Nelle tecniche di polling e interrupt, lo scambio dati tra periferiche e microprocessore avviene
attraverso l’unità dei I/O e sotto il controllo diretto del microprocessore; nella tecnica di DMA si ha una
connessione diretta tra dispositivo e memoria attraverso il data bus gestito dal controller DMA.
INTERFACCIA I/O:
Il collegamento tra il processore e le periferiche avviene tramite i bus, fasci di conduttori di dati
realizzati con circuiti stampati su piastra isolante e sono di tre tipi:
1. Address Bus (trasporto indirizzi)
2. Data Bus (trasporto dati)
3. Control Bus (trasporto segnali di controllo che partono dalla CU=control unit del
microprocessore)
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 37
Il parallelismo dei bus è il numero di linee del bus.
Un address bus a 16 linee (A0 à A15) usa le prime tre linee (A15-A14-A13) per l’indirizzamento
dei moduli (periferiche). A12 viene usata per la selezione RAM-ROM. Le rimanenti linee vengono
utilizzate per l’indirizzamento della memoria, la quale potrà essere al massimo di 212 byte.
Tra i moduli e il bus deve essere implementata una port. Esistono tre tipi di port:
1. Ingresso (uscita dal modulo verso il bus)
2. Uscita
3. Bidirezionale
]Il disaccoppiamento tra bus e modulo avviene attraverso una batteria di buffer three state. Questi
sono dispositivi che in base al valore della tensione di gate può avere impedenza nulla (se VG = 1) o
infinita (se VG = 0). La batteria di B3S va posta come in figura e funge da controllo del flusso di dati.
In uscita dal bus verso il modulo va posta una batteria di latch di tipo D in parallelo con clock
comune. Quando il clock è attivo il bus dati scarica i dati sul modulo.
Le port bidirezionali vengono realizzate come in figura. Se C è ON e CK è ON si attiveranno B2 e
B3 e il verso di percorrenza sarà da dx a sn. Cambiando stato in C si attivano B1 e B4 e il verso è opposto.
pag. 38
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
L’interfaccia di I/O è un modulo di connessione locale o remota.
Per connessione locale sono di tipo seriale o parallelo; la connessione seriale (i bit escono in
modo seriale) è più semplice della parallela e può essere multiplata; la connessione parallela non può
essere multiplata (sfrutta il parallelismo della macchina): infatti le porte parallele sono in numero inferiore
rispetto alle seriali.
Con le porte seriali si possono connettere più periferiche i cui dati scorrono alternativamente
(TDM), anche se maggiore è il numero di periferiche connesse maggiore sarà il rallentamento. Per
ovviare a questo problema, si usano schede di tipo Special X.
Per connessione remota vengono usati moduli di gestione esterna (Rete Telecom) collegati tramite
Modem o attraverso moduli di rete locale. Il modem (modulator-demodulator) effettua la modulazione
del segnale da trasmettere attraverso la linea telefonica e la demodulazione dei segnali in arrivo. Il
modem invia i dati ad alta frequenza a velocità da 28,8 Kbit/s fino a 56 Kbit/s (per la normale rete
telefonica); per linea ISDN si viaggia a 128 Kbit/s ma vanno utilizzati modem specifici. Il dialogo viene
gestito da protocolli di comunicazione che dovrebbero assicurare la correttezza di ogni dato e che esso
sia giunto a destinazione; un modem deve supportare il più ampio numero di protocolli possibile per
assicurare la compatibilità. I dati vengono compressi affinché possano essere trasmessi più velocemente
ed in maggior numero (MNP5 e MNP10).
Inoltre un modem deve essere dotato di metodi di correzione di errore e di moduli di sicurezza.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 39
I moduli di connessione seriale sono di due tipi: UART e USB.
Il modulo UART (Universal-Asynchronic-Receiver-Transmitter) è schematizzato in figura. La presenza di
registri di conversione P/S e S/P è dovuta al fatto che sulla scheda madre i dati viaggiano in parallelo per cui
è necessario adattarli in ingresso e in uscita.
Il modulo USB (Universal-Serial-Bus) è una UART dotata di registri di trasmissione e ricezione sdoppiati
e connessi in parallelo in modo che se è uno è occupato il dato viene dirottato all’altro. Avendo più registri
l’USB è più veloce della UART.
Lo SCSI è un protocollo di trasmissione tra macchina e periferiche che utilizza trasmissione a
blocchi (molto veloce). Le varie evoluzioni sono SCSI I, SCSI II, Ultra SCSI, Ultra Wide SCSI (SCSI
III) ognuna delle quali ha un suo particolare tipo di connettore.
pag. 40
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
MEMORIE:
Le memorie sono di tipo elettronico e non elettronico. Le prime stanno sulla scheda madre,
mentre le seconde hanno dimensioni tali da non poter essere poste sulla scheda madre e vengono chiamate memorie di massa.
Le caratteristiche principali delle memorie sono: capacità di memorizzazione, numero massimo di
byte che possono essere immagazzinate nella memoria, tempo di accesso, tempo necessario per leggere
una informazione immagazzinata in qualunque parte della memoria, affidabilità. Le memorie si dividono in base alla tecnologia: a controllo di parità, EDO (tecn. CMOS), ECC (con cod. Hamming).
MEMORIE ELETTRONICHE:
Le memorie di tipo elettronico sono la ROM (Read-Only-Memory) e la RAM (Random-AccessMemory).
Le memorie RAM sono poste su banchi appositi realizzati sulla scheda madre, organizzate in
scheda a 168 pin o più. Ogni dato è accompagnato da un indirizzo: il parallelismo del dato è il numero di
bit con il quale il dato viene codificato. La scheda madre indica tramite il numero di address bus il massimo numero di allocazioni di memoria disponibili.
Ogni nodo rappresenta una allocazione di memoria costituita da
un numero di flip-flop pari al parallelismo del dato. L’indirizzamento
avviene mediante una linea che accende una locazione di memoria
(ovvero “accende” il primo flip-flop). (DI=data in, DO=data out)
La RAM è suddivisa in un certo numero di banchi (ognuno dei quali con
una certa capacità, per esempio 16 Mb) collegati ad un decoder. Il ruolo del
decoder è quello di assegnare un riconoscimento ai banchi e selezionare il banco
dove si trova l’indirizzo richiesto. Se il numero di banchi è 4, il decoder avrà due
uscite.
Le uscite della memoria sono, come le porte di accesso ai bus, collegate a
dei buffer three state, mentre gli ingressi sono dotati di una batteria di latch (per
polarizzare gli ingressi su stati logici).
Quelle descritte sono memorie di tipo statico, molto costose da un punto di vista energetico perché
è necessaria una polarizzazione continua.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 41
Nelle RAM dinamiche, che si usano oggi, il singolo bit
della locazione di memoria viene conservato in un condensatore (10-15 F) ad alto livello di integrazione, che sarà carico
per lo stato 1 o scarico per lo stato 0. Nel caso in cui il
condensatore contenga lo stato 1 è necessario un circuito di
refresh per rigenerarne la carica.
Il MOS M1 ha un pin che dà la tensione di attivazione
al gate qualora si voglia memorizzare un bit. Ormai tutte le
memorie sono di tipo dinamico con frequenza di refresh pari
a 10 volte il clock della macchina.
Le memorie ROM sono di vari tipi. Quella in figura è una memoria
ROM non programmabile. Quando esce dalla linea di produzione viene
programmata in modo definitivo: la programmazione avviene bruciando il
fusibile per implementare l’uno logico. Infatti se c’è il fusibile il livello di
tensione va a 0 in M2 e quindi l’uscita è 0. La ROM non programmabile
resta in uso solo nei custom.
La PROM (programmable-ROM) è una memoria programmabile
direttamente dall’operatore ma sempre in maniera definitiva.
Le ROM riprogrammabili vengono dette EPROM (erasable-programmable-ROM); le celle di
memoria sono costituite da MOS in cui è inserito il cosiddetto gate
fluttuante: si tratta di una sacca di semiconduttore all’interno dello
strato di SiO2, in grado di polarizzarsi in maniera opposta rispetto
al gate. Togliendo il gate, il semiconduttore affogato diventa il
nuovo gate.
Inizialmente si mette un gate fortemente negativo per far
resistere la polarizzazione del gate affogato (12 V) per 10-20 anni
(stato logico 1). Fino a qualche anno fa non si riusciva a scaricare il
gate affogato elettricamente e si operava mediante raggi UVA all’interno di camere speciali; proprio per
questo venivano protette da una placca in modo da evitare l’esposizione accidentale ai raggi UVA. Da 15
anni si usano le memorie EAROM (electrically-alterable-ROM) nelle quali è possibile rimuovere la
polarizzazione del gate affogato inserendo una tensione opposta e due volte superiore a quella logica: è
così possibile cancellare e riprogrammare la ROM direttamente dal computer.
MEMORIE DI MASSA:
FLOPPY DISK:
I floppy disk sono memorie facili da trasportare, ma anche pericolosi mezzi per trasportare virus
con velocità di 160 giri/s
Sono memorie di tipo magnetico (i dati vengono conservati sotto forma di campo magnetico
permanente): il disco, di materiale plastico, è ricoperto di una sostanza ferromagnetica che conserva il
campo magnetico applicato; la cancellazione si opera applicando un campo magnetico più forte.
pag. 42
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Il principio fisico per la scrittura è la magnetizzazione
realizzata mediante una corrente (onda quadra) che magnetizza la
bobina avvolta attorno al magnete; la lettura avviene per induzione magneto-elettrica: è il c.m. del disco che induce corrente nella
bobina (legge di Faraday-Lenz-Newmann).
Nonostante le perdite, grazie a dispositivi elettronici con
ampi guadagni, si riesce a rinvigorire il segnale: i floppy disk
durano circa 10 anni, poi perdono l’informazione contenuta; questa è
organizzata in tracce e settori per dare un indirizzo specifico ad ogni dato;
la definizione (creazione) di tracce è detta formattazione.
Un danno particolare che si può venire a creare è il cosiddetto
atterramento del disco ovvero l’interposizione di impurità tra testina e
disco; per la sua natura magnetica, la memoria potrebbe venire danneggiata
dall’alta temperatura o da variazioni elettromagnetiche generate da campi
esterni.
La capacità della memoria va da 720 Kb a 1,44 Mb fino a 2,88 Mb (IBM).
HARD DISK:
Il principio è lo stesso del floppy disk, ma con un
aumento del numero di lettori e scrittori (avendo l’hard disk
più di un disco) che, una volta, venivano disposti a
winchester: questa struttura era tuttavia molto fragile.
Oggi si utilizzano solo due dischi essendo la densità
molto aumentata.
Il tempo di attesa è costituito da:
- perfezionamento del braccio meccanico di write/read
- ricerca informatica
- isteresi magnetica
La somma di questi tempi è detta tempo di comunicazione tra computer e hard disk: è un dato
intrinseco al disco che può essere ridotto fino a 10 microsecondi scegliendo un’opportuna architettura di
comunicazione.
Oggi il metodo più utilizzato è quello che usa controller SCSI, mentre più diffuso anche se più
lento è il metodo IDE.
I tempi in ogni caso sono intorno ai 10-12 microsecondi, ma tempi più alti sono ancora accettati:
devono comunque essere dichiarati dal costruttore.
Altri parametri importanti sono il numero di giri al minuto (rpm), che va da 5600 a 7200, e la
capacità di memorizzazione che va da 10 a 30 Gb.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 43
MEMORIE DI MASSA A NASTRO MAGNETICO:
Nascono contemporaneamente ai computer (prima degli hard disk) allo scopo di rendere
trasferibile la memoria.
Originariamente erano a supporto in plastica, su materiale ferromagnetico, di grosse dimensioni
(larghezza 1 cm, lunghezza di centinaia di metri).
I primi nastri erano costituiti da 8 “piste” per i dati (parallelismo a 8 bit ) e una pista per il controllo
(per segnalare l’inizio e la fine del nastro, eventuali stop intermedi,…).
Questo sistema consentiva capacità di circa 50 Mb (500 volte superiore a quella dei primi floppy
disk).
Successivamente le aziende produttrici cominciarono a magnetizzare i nastri a diverse densità (da
800 bit / inch fino agli attuali 12000 bit / inch) causando problemi di compatibilità potendo ogni tipo
essere letto solo da uno specifico lettore.
I sistemi a nastro si chiamano streaming tape e leggono oggi nastri della dimensione di una cassetta audio ce si differenziano tra loro non più solo per la densità.
La capacità arriva oggi fino a 32 Gb, ma solo per l’esclusivo scopo di effettuare backup ovvero di
copiare i file in modo seriale per trasferirli in un’altra macchina (non c’è colloquio con la cpu e non si
possono eseguire file).
Tra i diversi tipi in commercio ricordiamo:
- Travan
- Dat (Digital-Audio-Tape, brevetto Sony, affidabile e ad alte capacità)
- QC (usato da macchine HP e letto da lettori Surestore, arriva fino a 8 Gb, ma sta andando in disuso)
- Iomega-Jaz (da 2 a 5 Gb)
Tutti questi sistemi utilizzano alto parallelismo (fino a 64 piste) e sono aumentate anche le linee di
controllo; i problemi dei nastri magnetici sono gli stessi dei floppy disk (temperature, variazioni elettromagnetiche, …).
Il tracciato record è un tracciato nel quale vengono stabiliti (dal programmatore) i codici di interpretazione dei dati usati nel nastro magnetico. Di solito vengono utilizzati i codici ASCII e EBCDIC
che costituiscono gli standard internazionali.
MEMORIE OTTICHE:
Sono molto utilizzate perché soggette a meno problemi rispetto a quelle magnetiche.
Prima di descrivere il funzionamento dei supporti ottici è necessario richiamare alcune nozioni di
ottica. La luce emessa dal sole è:
- policromatica (contiene tutta la gamma di colori dello spettro del visibile)
- non polarizzata (è emessa in tutte le direzioni)
- non coerente (i fotoni sono emessi casualmente senza relazione di fase tra di loro)
La luce usata in informatica è invece monocromatica, polarizzata e coerente.
Tramite polarizzatori la luce viene resa parallela ad un piano (polarizzata): le prime
apparecchiature furono progettate da un ingegnere italiano per scopi bellici.
pag. 44
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Il laser, invece, è lo strumento che consente di produrre monocromatica (rossa, azzurra o verde),
polarizzata e coerente concentrata in piccolissimi raggi di intensità variabili (modesta per la medicina
oppure notevole per fondere lamiere).
La frequenza del campo elettromagnetico regola il moto dei fotoni (in ogni driver CD-ROM c’è un
dispositivo di questo tipo).
Le memorie ottiche oggi in uso sono:
- CD-ROM (600-700 Mb)
- DVD (5-6 Gb)
- Dischi ottici (70-120 Gb, costo di circa 20-50 milioni)
CD-ROM:
Sono dischi in plexiglas ricoperti da una sottilissima lega di Al deformabile a 80-90°.
La scrittura avviene tramite deformazione (o meno) delle piccolissime “aree” in cui è diviso il
disco: tale procedura si esegue grazie al riscaldamento dovuto a microscopici raggi laser che creano
“solchi” sulla sostanza metallica; si vengono a creare sulla superficie del disco due tipi di aree di dimensioni pari alla lunghezza d’onda del laser:
- LAND (aree deformate) che implementano 0 logico
- PEAK (aree non deformate) che implementano 1 logico
La lettura può essere realizzata in due modi sfruttando o il fenomeno della diffrazione (1) o quello
dello sfasamento (2):
1.
viene inviato un debole raggio laser mentre il disco ruota: se colpisce un land non c’è riflessione, viceversa il raggio riflesso viene “letto” da un fotodiodo.
2.
la differenza tra peak e land viene ravvisata grazie alla differenza di fase tra le onde riflesse
da land e peak evidenziato da un rilevatore di sfasamento.
Il secondo sistema è più affidabile e sofisticato perché genera meno errori di lettura.
In ogni caso, la lettura viene effettuata a velocità multipla di una data (10x, 40x, 50x) e termina
quando per un certo intervallo di tempo vengono letti solo zeri (000000).
Un limite era inizialmente l’impossibilità di riscrivere in quanto i primi dischi potevano essere
deformati una sola volta, oggi ci sono anche quelli rewritable (riscrivibili, ma non più di poche volte):
sono in grado di “ricompattare” la sostanza che ricopre il disco anche se la velocità di riscrittura è ancora
bassa. Tra i vantaggi rispetto alle memorie magnetiche ci sono capacità di memorizzazioni maggiori e
tempi di lettura rapidissimi.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 45
MEMORIE MAGNETO-OTTICHE:
Per ovviare all’iniziale impossibilità di riscrivere le memorie ottiche vennero brevettati sistemi di
tipo magneto-ottici (lettura ottica e scrittura magnetica) che prevedevano l’utilizzo di sostanze dicroiche
ovvero sensibile a fenomeni ottici, magnetici ed elettrici (ogni asse spaziale è sensibile a un solo tipo
fenomeno). Le molecole di questa sostanza sono asintropicamente organizzate, ma la struttura diventa
isotropa in presenza di un c.m. potendo così variare l’asse ottico implementando i valori logici di 0 e 1; il
problema si avrebbe una volta levato il c.m., ma ci viene in soccorso l’effetto Kerr: la sensibilità al c.m.
cessa al di sotto dei 70-80°. Per scrivere, allora, si porta la sostanza sopra i 70°, la si polarizza e poi la si
raffredda rapidamente per conservarne la struttura (il cui asse ottico, in base al suo orientamento, rappresenta uno stato logico che può essere letto con il laser) che a temperatura ambiente è ininfluente al c.m.
Questo tipo di memorie ebbe un grande impiego fin quando non furono affinate le tecnica di
riscrittura delle memorie ottiche.
PERIFERICHE:
Sono componenti esterni alla mainboard connesse al processore tramite interfaccia I/O e si dividono in periferiche d’ingresso (tastiera, scanner, penna ottica, mouse, tavola grafica, periferiche analogico-digitali) e in periferiche di uscita (monitor, terminale video, stampanti, plotter, uscite D/A)
PERIFERICHE DI USCITA:
MONITOR E TERMINALE VIDEO:
Il monitor è un dispositivo in grado di visualizzare su schermo dati (input) e risultati (output)
parziali o definitivi elaborati dai software di base e dai software applicativi (per questo deve essere gestito
da un sistemista esperto). Vengono connessi al processore tramite schede grafiche di potenza opportuna.
Il terminale video invece rende visibili su schermo dati e risultati solo dei software applicativi (per questo
può essere gestito anche da un utente). La connessione è di tipo seriale con pochissime linee di controllo.
Esistono tre tipi di monitor.
I monitor a raggi catodici hanno come elemento principale il tubo a raggi catodici.
Il funzionamento sfrutta il fenomeno della fluorescenza:
questo avviene quando gli elettroni di determinate sostanze
raggiungono, in seguito ad un aumento di energia (nel nostro
caso la causa è l’urto con il raggio elettronico), uno stato
quantico superiore e nella successiva decaduta rilasciano
energia sotto forma essenzialmente di quanti luminosi. Ciò che
si ottiene è un puntino luminoso sullo schermo.
Il catodo fa partire un raggio (o più raggi per i monitor a
colori) a velocità altissime: la d.d.p. anodo-catodo è di 6 KV
per il b/n e fino a 50 KV per i colori. Per deviare il raggio in
modo che possa far apparire un puntino in qualsiasi punto dello schermo si utilizzano delle placchette
pag. 46
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
(deflessione dovuta a campo elettrico) oppure si avvolge la
base del tubo con una bobina (deflessione magnetica). Per
formare l’immagine si utilizza il metodo della trama: si
manda una tensione alternata e l’informazione visiva sul
monitor si ottiene modulando in ampiezza il segnale ad alta
frequenza che porta la traccia (segnale sul fondo) per
marcare più o meno la traccia nello schermo.
La formazione del colore viene fatta con il metodo delle somme dei tre colori fondamentali RGB
(red-green-blue) ottenuti con raggi catodici a diversa frequenza.
I primi monitor erano interlacciati ovvero la traccia era continua, mentre oggi si usano monitor
non interlacciati ovvero la traccia non è continua e si limita ad una singola riga per volta ottenendo un
minor sfarfallio dell’immagine.
Le immagini si fanno scorrere a velocità opportuna che non sia troppo lenta ma che permetta
all’occhio umano di poterla focalizzare (60 – 110 Hz). Un monitor che assicura un certo livello di risoluzione a una determinata frequenza è migliore di uno che assicura la stessa risoluzione ad una frequenza
inferiore. Fino ad ora abbiamo parlato di frequenza in senso teorico poiché la frequenza reale è stabilita
dal controller della scheda grafica. Il controller deve adeguare la velocità di uscita dei dati del computer a
quella di visualizzazione sullo schermo (è l’unico caso in cui la velocità di visualizzazione è maggiore di
quella di uscita dei dati). La scheda grafica deve riuscire a inviare tutti i fotogrammi al monitor nel modo
più veloce possibile per non rallentare la prestazione complessiva; per far ciò utilizza un acceleratore
grafico e deve disporre di una memoria propria (16 – 128 Mb) tale da poter immagazzinare quanti più
dati è possibile per stabilizzare le immagini.
La risoluzione della scheda è peggiorativa rispetto a quella del monitor infatti mettendo la scheda
ad alta risoluzione perdo la stabilità dell’immagine; è possibile scegliere la risoluzione di volta in volta:
640x480, 800x600, 1024x768, 1280x1024, …, 2000x1600.
La distanza tra i pixel (ovvero la distanza tra i puntini luminosi sullo schermo) è un parametro
fondamentale (dot pitch): la massima consentita è di 0.28 mm (se più alta dà problemi alla vista).
Se i monitor hanno geometria dei pixel a delta, bisogna specificare la distanza diagonale.
Il dot pitch mask è la distanza tra i fori della maschera inserita all’interno della sostanza fluorescente per evitare che i contorni dei pixel siano mal definiti.
I problemi di un monitor sono legati in buona parte alla fluorescenza: le sostanze fluorescenti, oltre
ad emettere onde luminose, emettono onde sullo spettro X e g dannose per chi sta vicino al monitor; le
norme che limitano queste radiazioni sono le MPR I e MPR II, e le valutazioni sono condotto dai laboratori TCO. Per limitare questo fenomeno, maggiormente presente nei monitor a colori e dovuto anche
allo scattering, sono necessari schermi di piombo. Altri problemi sono legati ai danni che fenomeni ottici
come la differente intensità con cui la luce colpisce la retina creano sull’occhio.
Un’ultima specifica tecnica è l’economia ovvero la norma di risparmio energetico a cui si attiene il
monitor.
I monitor a stato solido utilizzano come pixel diodi LED che emettono un ampio spettro di
frequenze luminose in modo da formare tutti i colori. Nei monitor a plasma invece ogni gruppo di pixel
è “un’ampolla” contenente piccole quantità di una miscela di gas ionizzato: ciascun gas emette a una
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 47
determinata temperatura, in modo che variando la temperatura si può stabilire quali gas fare emettere. I
monitor a plasma hanno una buona visibilità anche ai limiti del cono visivo a differenza di quelli a stato
solido. I monitor a matrice passiva sono quelli che hanno dietro ai pixel un gioco di filtri e specchi che
armonizzano le immagini, altrimenti si dicono a matrice attiva.
MODULI GRAFICI:
Sono dispositivi composti da più schede grafiche e dotati di un proprio sistema a microprocessore
(Workstation Grafiche) per gestire le immagini ed al limite critico le immagini in movimento.
STAMPANTI:
Vengono classificate in base ai principi fisici che stanno alla base del processo di stampa.
Le stampanti ad aghi si dividono in seriale, a matrice o di tipo parallelo. Nella stampante ad
aghi seriale, come per tutte le stampanti ad aghi, gli aghi agiscono su un nastro d’inchiostro che
viene pressato sulla carta; la testina che li contiene è dotata di 9-18-24 aghi posti in fila.
Nella stampante a matrice la testina è costituita da più colonne di aghi (matrice) ognuna
delle quali è dotata di 9-18-24 aghi. Il formato A4 ha 80 colonne, l’A3 ne ha
183. Le stampanti ad aghi oggi sono utilizzate per stampa di massa su rullo
continuo e sono molto rumorose (per legge l’emissione sonora non deve superare i 55 dB). La velocità di una stampante ad aghi seriale o a matrice si misura in
caratteri per secondo (cps), attualmente si va da 120 a 1000 cps. La densità di stampa
si misura in caratteri per inch (cpi) e può essere oggi 10 (Pica), 12 (Elite), 15 (Draft),
18 (High Draft), 20 (Very High Draft) cpi.
I font sono i diversi tipi di carattere che si possono stampare e si dividono in font residenti, conservati nella memoria della stampante (35 o 36), e font non residenti, forniti via software.
Ogni stampante è dotata di un driver per il dialogo con il PC che avviene attraverso linguaggi
diversi a seconda della macchina per cui le stampanti devono essere dotate di tutti i linguaggi più usati.
L’ultima categoria di stampanti ad aghi è quella delle stampanti in parallelo o Line Printer. Sono
stampanti che riescono a stampare una linea per volta; oggi la velocità di stampa, che per le line printer si
misura in linee al minuto, è da 400 a 2000.
Nelle line printer vi sono tante testine quante sono le colonne oppure una testina ogni 2 colonne; in
quest’ultimo caso la velocità è più alta e la densità è di 400 cpi.
La memoria di una stampante deve contenere almeno una pagina per cui si usano memorie da 2 a
8 Mb oppure si utilizza un nuovo sistema che consente di catturare la pagina direttamente dalla RAM
(spooling), riducendo la memoria della stampante a 128 Kb. Il collegamento è in parallelo o seriale.
Le specifiche tecniche dinamiche sono: velocità, densità, risoluzione. Le specifiche statiche sono:
dimensioni, n° di aghi, font. La Modalità di accesso ai fogli è bottom, rear o top.
Il contenitore contiene da 50 a 500 fogli. La potenza va da 50 a 500 KW.
Le stampanti ink-jet sono stampanti che sfruttano un meccanismo simile a quello delle stampanti
pag. 48
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
ad aghi seriali. La stampa avviene mediante un getto
d’inchiostro liquido attraverso degli ugelli collegati ad un
serbatoio e posti sulla testina. La testina è costituita da una
sostanza semiconduttrice in cui sono immerse altre sostanze: in questo modo alla testina è conferita una struttura
porosa sensibile al campo elettrico. Degli elettrodi impongo
una d.d.p. ai lati della testina facendo sì che i pori della sostanza si dilatino per effetto termico e l’inchiostro fuoriesce in maniera capillare. Le testine a colori sono costituite da gruppi di 6 ugelli che grazie a
campi elettrici diversi permettono la formazione dei vari colori.
Tra le ink-jet, le stampanti bubble-jet hanno pori più piccoli, che invece di spruzzi fanno uscire
una bolla di inchiostro che permette un miglior mescolamento dei colori (le Epson, grazie a molte centinaia di pori raggiungono qualità fotografica).
La velocità si misura in pagine per minuto (ppm), oggi le stampanti vanno da 2 a 15 ppm.
La risoluzione si misura in dot per inch (dpi), le stampanti odierne vanno da 600 a 2400 dpi;
nelle specifiche tecniche si indica la ris. Orizzontale X la ris. Verticale.
Le stampanti ink-jet supportano sia i fogli singoli sia il rullo continuo.
Vale lo stesso discorso fatto su caratteri e dialogo col PC descritto per le stampanti ad aghi. La
connessione oggi è anche tramite USB oltre che parallela.
Le stampanti laser hanno un meccanismo di funzionamento proprio (nella parte finale simile a
quello di una fotocopiatrice). Un cilindro (Drum) viene
caricato positivamente durante l’inizializzazione sulla superficie del quale viene fatto agire un raggio laser che “toglie”
alcune elettriche “disegnando” l’immagine da stampare.
Sotto il cilindro è presente una vasca contenente il toner,
sostanza costituita da microgranuli di polveri; il foglio si
interpone tra drum e toner, il quale si fissa sul foglio in
corrispondenza delle zone cariche del drum. Il foglio viene quindi passato attraverso un doppio rullo che
imprime per cottura il toner sul foglio.
Il tempo di preparazione è specificato nei datasheet ed è il tempo di carica del drum (circa 10
sec).
La velocità di stampa è da 6 a 50 ppm. I vantaggi stanno nella migliore risoluzione per la scala di
grigi, nell’elevata velocità e nella maggiore durata del toner rispetto alla cartuccia delle ink-jet; tra gli
svantaggi abbiamo un peggioramento della risoluzione del colore visto che le polveri dei diversi colori
vengono cotte anziché miscelate, inoltre il costo è sostenuto.
SCANNER:
E’ un dispositivo in grado di digitalizzare un’immagine, ovvero immagazzinarla in un file. Venne
creato per riconoscere caratteri alfanumerici ma fallì perché non comprendeva caratteri manoscritti. Il
riconoscimento del carattere era svolto da un modulo software detto OCR (optical character
recognition). Oggi il compito dell’OCR è affidato ai Vision Systems (più costosi) di cui si parlerà in
seguito.
La testina di lettura scorre sotto il vetro su cui è posto il foglio ed emette una luce polarizzata non
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 49
coerente (led) che viene riflessa dal foglio e tradotta
da fotodiodi in corrente di intensità proporzionale al
segnale luminoso (scanner in bianco e nero). Nello
scanner a colori la luce inviata è policromatica e i
fotodiodi, posti in batterie, hanno soglie di risposta a
frequenze diverse ovvero si attiva in presenza di
determinati colori.
Il sensore è stato brevettato e viene venduto da un’unica casa; le differenze di prezzo sono dovute
alla qualità dei controlli ed alla risoluzione del sensore (da 600 a 2400 dpi). La risoluzione ottica può
essere migliorata tramite interpolazione software dei punti scannerizzati: tra i punti vicini si inseriscono
punti virtuali calcolati mediante algoritmi numerici ed in questo modo possiamo raggiungere risoluzioni
fino a 19200 dpi. Esiste anche una risoluzione hardware, peggiorativa, dovuta al passaggio attraverso led
e fotodiodi; il produttore dovrebbe quindi specificare risoluzione ottica, software e hardware.
La larghezza della finestra ottica può essere 30, 36 o 40 bit. Questo discorso vale per formati A4 o
A3. Per formati più grandi cambia il metodo di cattura delle immagini: l’immagine viene prelevata da tre
telecamere poste sul foglio fino a coprirne l’intera larghezza. Le coordinate prelevate dalle telecamere
con i relativi dati vengono convertite (Vettorializzazione) in tabelle di vettori (matrici) che verranno
ritradotte nell’immagine originale in fase di stampa. Il limite di questi scanner è la collimazione delle
immagini ottenute dalle diverse telecamere: piccolissimi spostamenti, sbalzi di temperatura o urti generano infatti sfasamenti e quindi errori di vettorializzazione. La risoluzione massima può arrivare a 8000
dpi. Un’altra caratteristica di questi scanner è la rasterizzazione ovvero l’elenco delle caratteristiche
principali del disegno (formato, zone con tracce evidenti, dati significativi) che serve per ottimizzare la
vettorializzazione. I dati possono essere disposti in modo lineare oppure raggruppati secondo motivi
predominanti del disegno così, tramite i software di rasterizzazione che passano i file al plotter, si può
ovviare ad eventuali imprecisioni della vettorializzazione e risparmiare tempo nella stampa di alcune
parti. I linguaggi tipici dei software di vettorializzazione e rasterizzazione sono RTL I, RTL II, HGL I,
HGL II.
PLOTTER:
Possono essere piani, a rullo e a trasferimento termico in base ai principi ed al meccanismo di
funzionamento.
Il plotter piano è costituito da un piano atto a facilitare l’adesione del foglio, che può essere di
formato A3 o A4. Sul piano c’è una struttura con 4-8 pennini che si può spostare lungo i due assi. La
velocità del plotter si misura in centimetri al secondo e va da 5 a 40 (dipende dal peso del pennino e dalla
qualità dell’inchiostro usato). La pressione dei pennini è una ulteriore specifica.
Il plotter a rullo si usa per fogli di dimensione A1 o
A0; la larghezza del foglio è di 91 cm e la lunghezza è la
massima consentita dalla memoria disponibile. 5 aspetti
caratterizzano il funzionamento del plotter:
1. Aspetto Meccanico: il rullo fa scorrere il foglio in
avanti e indietro tramite una corona dentata mobile; dal punto di vista temporale il rullo è il punto debole
per cui lo si rende quanto più leggero possibile per limitarne l’inerzia.
2. Aspetto Elettromeccanico: il movimento del rullo è gestito da motori passo-passo che hanno inerzia
pag. 50
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
quasi nulla e consentono l’interruzione quasi istantanea del movimento.
3. Aspetto Elettronico: è costituito da convertitori A/D e D/A.
4. Aspetto Informatico: la parte hardware è costituita da memoria ROM in cui è inserito il firmware,
che contiene le figure standard richiamabili dal programmatore, e/o un sistema a microprocessore che è
in grado di richiamare piccoli programmi di grafica (subroutine) atti a creare nuove figure. La memoria
raggiunge i 160-170 Mb. Più linguaggi ha il plotter più larghe sono le possibilità di applicazione.
5. Aspetto Comunicazione: un software gestisce le comunicazione del plotter con l’esterno.
La connessione è tramite porta parallela oppure USB o SCSI. Il costo è di 4.5-5 mln. La risoluzione va da 300x300 a 1200x1200 dpi.
VISION SYSTEMS:
Rappresentano l’evoluzione degli scanner ed hanno l’obiettivo del riconoscimento delle immagini
fisse o in movimento.
Questi dispositivi sono a struttura logico-funzionale gerarchica organizzata in 5 livelli (o blocchi
funzionali):
I Livello (Cattura delle immagini)
Le immagini vengono catturate (e digitalizzate) mediante telecamere ed altri sensori; per questa fase è
necessaria una competenza di tipo elettronico.
II Livello (Pre-processing)
Vengono eliminate dall’immagine le parti meno significative come le ombre di certi oggetti; per questa
fase sono necessarie competenze di software e di metodi empirici di tipo ottico e elettronico.
III Livello (Segmentation)
Si esegue una sorta di rasterizzazione, ma più dettagliata: si tratta di una raccolta di caratteristiche e
dettagli fatta reticolando l’immagine e prelevando da ogni “quadratino” un punto singolare, un colore, un
angolo o un altro particolare e raggruppando questi dati per affinità: si ottengono così fasci di informazioni omogenee.
IV Livello (Description)
Vengono associati dei valori ai segmenti precedentemente ottenuti e si opera la vettorializzazione (le
caratteristiche geometriche vengono implementate in matrici: una tabella conterrà tutti i valori relativi ad
una particolare porzione di immagine).
V Livello (Recognition)
Le matrici vengono mappate con modelli predefiniti (organizzati anch’essi in matrici) per percentuali di
affinità; è la “macchina intelligente” che opera il “riconoscimento” dopo aver confrontato con le tabelle
contenute nel computer: una macchina intelligente è una macchina che contiene un certo numero di dati
basilari raccolti dalle sue stesse esperienze mediante programmi di sistemi esperti.
Per le immagini in movimento c’è necessità di alto parallelismo e per questo si utilizzano sistemi di
transputer (ciascuno dotato di sistema CUSTOM).
I sensori spazio-varianti e tempo-varianti, prodotti dalla FIAR, sono utilizzati nel riconoscimento di
immagini in movimento; hanno un’alta densità di pixel nella parte centrale e via via minore andando
verso la periferia: la zona ad alta densità serve a focalizzare l’oggetto mentre le parti a minor densità si
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 51
occupano della scena.
Se l’oggetto si sposta i sensori lo seguono (spazio-varianti) in modo che la parte centrale possa
continuare a focalizzare l’oggetto mentre quella periferica osserva un’altra parte della scena; se l’oggetto
muta la sua velocità i sensori adeguano la loro a quella dell’oggetto (tempo-varianti).
Questi sensori hanno necessità di meno pixel rispetto alle telecamere fisse: i costi sono minori
perché c’è minore necessità di risorse elaborative.
PENNA OTTICA:
Serve per il riconoscimento di codici a barre e ha struttura simile a quella dello scanner. Oggi è
dotata di batteria di LED per emettere la luce laser e batterie di fotodiodi per ricevere la luce riflessa;
software di riconoscimento si occupano di interpretare i 3-4 tipi di codice a barre oggi in uso.
MOUSE:
TASTIERA:
pag. 52
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
IV. RETI, PROGETTO DI UN SISTEMA DI ELABORAZIONE, STANDARD ISO E SPECIFICHE TECNICHE
RETI DI CALCOLATORI E SOFTWARE DI BASE:
Una rete di calcolatori è un sistema di connessione di risorse elaborative tra “nodi”, mediante
collegamenti fisici o via radio.
Una macchina è gestita dal cosiddetto software di base o di sistema. Esso è costituito dal Sistema
Operativo, dai Linguaggi di Programmazione, dal Software Grafico di Sistema e dal Software di
Rete.
Un sistema operativo moderno assorbe tutti gli altri aspetti del software di base. Un sistema operativo è l’insieme di programmi che consentono la gestione di tutti i moduli interni del computer, delle
periferiche esterne e del rapporto uomo-macchina da parte del microprocessore.
Un sistema operativo è monoutente se a un solo utente è consentito di gestire il rapporto uomomacchina; viceversa è multiutente se più utenti possono accedere al rapporto uomo-macchina.
Un sistema operativo è monoprogrammabile se consente la gestione di un solo processo o programma in contemporanea; viceversa è multiprogrammabile se permette la gestione di più processi alla
volta.
Il primo livello del sistema operativo è composto dall’insieme dei programmi che stanno sulla
ROM in firmware (BIOS) che contengono le informazioni per l’avviamento della macchina e l’elenco
delle risorse disponibili e utilizzabili dal microprocessore.
Il secondo livello è costituito dai software di gestione che vengono caricati dall’hard disk nella
RAM (File System).
La multiutenza può essere gestita in Time Sharing o mediante distribuzione delle risorse
ottimizzata. Il Time Sharing è una tecnica per la quale il sistema operativo distribuisce le risorse per un
certo Dt ad ogni utente; la distribuzione delle risorse ottimizzata avviene invece minimizzando il
tempo impiegato per l’esecuzione dei programmi e massimizzando l’attività del microprocessore e delle
risorse utilizzate contemporaneamente.
Un sistema operativo gestisce il rapporto uomo-macchina in realtime (o interattività), quando
agisce su input dell’utente, oppure in batch, se esegue azioni anche in assenza dell’utente.
Nella multiprogrammazione, un processo può essere iniziato, sospeso, ripreso o terminato. Un
processo viene iniziato su ordine del Program Counter e se è atomico non può essere sospeso, altrimenti,
soprattutto se è molto lungo, può essere interrotto per dare spazio a processi più urgenti o più brevi: il
passaggio tra l’esecuzione di un processo e un altro è detta cambio di contesto. Quando il microprocessore sospende un processo, salva nei registri tutte le informazioni utili affinché possa essere ripreso ed
inoltre i dati prodotti da esso fino al momento della sospensione. La tecnica che detta quale processo
mandare in esecuzione e quale mettere in attesa è detta sharing; viene applicata dal sistema operativo e
tiene in conto la priorità dei singoli processi e dei percorsi (path) da percorre in base alla dipendenza tra i
processi in coda.
I sistemi operativi moderni contengono anche gli aspetti grafici di sistema ovvero l’interfaccia
grafica ad icone. In precedenza gli input partivano da tastiera.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 53
I linguaggi di programmazione comprendono i traduttori e il linguaggio stesso ad alto livello e
risiedono sull’hard disk.
I sistemi operativi gestiscono la memoria virtuale, estensione virtuale della RAM sull’hard disk
che mantiene i dati fino allo svuotamento della RAM vera e propria.
La connessione tramite rete si fonda su un’architettura a 7 livelli, standardizzati dal modello OSI,
che rappresentano i vari gradi della connessione stessa. In ogni livello vengono svolti compiti e funzioni
ben precise ed omogenee. Il modello OSI non specifica l’organizzazione interna o il funzionamento del
modello, ma solo il suo comportamento esterno.
I 7 livelli sono:
1.
2.
3.
4.
5.
6.
7.
PHYSICAL
DATA-LINK
NETWORK
TRANSPORT
SESSION
PRESENTATION
APPLICATION
Essi sono posti in ordine gerarchico, dal più basso al più alto.
Prima di passare alla descrizione dei 7 livelli, dividiamo le reti in due categorie in base alla dimensione geografica di esse: le reti LAN (Local-Area-Network) sono contenute in spazi relativamente ridotti
ed utilizzano hardware specifico; i cavi e le linee di connessione sono di lunghezza ridotta per evitare
dispersioni. Le reti WAN (World-Area-Network) sono invece su scala mondiale; la connessione avviene
tramite modem connessi alle linee telefoniche. E’ inoltre possibile creare LAN virtuali tra reti remote
mediante l’uso di routers, apparecchiature che saranno oggetto di attenzione in seguito.
Passiamo alla descrizione dei 7 livelli.
Il livello physical governa gli aspetti fisici della connessione quali caratteristiche elettriche e
connettori. Si occupa inoltre della conversione A/D e D/A, mediante lo standard RS232C
Nel livello data-link, i dati da inviare vengono aggregati per formare dei “pacchetti” detti frames,
che vengono corredati delle informazioni necessarie affinché mantengano l’ereditarietà della struttura di
provenienza. Infine in questo livello si misura la velocità di trasmissione, ovvero il numero di bit al
secondo effettivamente trasmessi.
Al livello network vengono specificate le modalità di trasmissione dei pacchetti attraverso la rete e
viene stabilito il percorso ottimizzato che dovranno seguire.
Il livello transport gestisce la connessione tra applicazioni remote, controlla la dimensione, la
sequenza e il flusso dei dati; consente il recupero di eventuali errori introdotti dalla rete mantenendo
l’integrità sintattica del messaggio.
Il livello session gestisce il dialogo tra gli applicativi (tempo di trasmissione dei dati, ripristino di
connessioni interrotte, sicurezza e riservatezza dei dati, riconoscimento del mittente).
Nel livello presentation il dato viene adattato al formato richiesto dall’applicazione specifica che lo
riceve.
pag. 54
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Infine il livello application definisce il sistema operativo della rete e l’applicativo in esecuzione.
La connessione viene gestita tramite protocolli di comunicazione che vengono fissati dal software
di comunicazione indipendentemente dall’applicazione. Nelle LAN i protocolli di comunicazione sono di
tipo Ethernet che garantiscono un elevato grado di sicurezza per i dati. La Novell aveva sviluppato un
software di comunicazione che poteva gestire una connessione tra soli due elaboratori. Oggi è stato
sostituito da Unix e WinNT. La SCO ha sviluppato una rete Unixware che consente la multiutenza.
Nelle LAN con protocolli Ethernet, a livello data-link è molto usato il protocollo CSDMA che si basa sul
metodo classico del modulatore-demodulatore di tipo probabilistico (in questi casi vi è probabilità d’errore). Il protocollo CSMA/CD rileva collisioni nell’accesso multiplo di dati.
Nelle LAN, a livello data-link, si usano protocolli di tipo token passing che si basa su un metodo
deterministico (possibilità d’errore nulla). Nelle reti ad anello con protocollo token ring, il diritto di
trasmissione viene passato da una apparecchiatura ad un’altra tramite un “gettone” (token). L’unità che
entra in possesso del gettone dispone di un tempo limitato per inviare il suo messaggio, scaduto il quale
deve cedere il gettone all’unità successiva. La struttura di una rete di tipo Ethernet è di tipo Client/
Server.
Nelle reti di calcolatori entra in gioco il seguente hardware:
1. Scheda di Rete
2. Hub
3. Router
4. Switch
5. Permutatori
6. Cavi Coassiali
7. UTP
8. Plug
9. Prese RJ45
10. Modem
Le schede di rete permettono di svolgere funzioni di rete e hanno velocità da 10 a 300 Mbit/sec in
base ai cavi usati per la trasmissione (coassiali, fibre ottiche (100), UTP (300)). Sulle schede di rete non
c’è RAM (a parte 128 Kb per la gestione della connessione) e quindi esercita solo un controllo di flusso.
Per aumentare le prestazioni si possono implementare alcuni Mb di RAM, la Tricom, infatti, produce
schede all’avanguardia (300 Mbit/sec) dotate di 4 Mb di RAM.
La scheda di rete implementa il livello fisico con la trasmissione dei bit, ha alcune funzioni di
controllo tipiche del livello data-link e qualche funzione di indirizzamento. Nel caso di rete client/server
sono necessari due tipi di software: il Sistema Operativo del client e quello della rete. Il primo gestisce il
flusso di informazioni di ogni stazione verso la rete, elabora le informazioni provenienti dalla rete e alloca
le risorse di rete quando è necessario. Per far lavorare una stazione con client è necessario un modulo
software, detto driver, che gestisce la scheda di rete all’interno della stazione. Il S.O. client comunica con
la rete attraverso questa scheda e il driver agisce da traduttore fra i due. La scheda di rete è inserita
all’interno di ogni stazione, sia server sia client, a cui si connette il cavo che collega la stazione alla rete.
Oltre ad essere il collegamento fisico con la rete, la scheda prepara i dati per trasmetterli serialmente sul
cavo. Ogni scheda di rete è dotata di un indirizzo che viene inviato sul cavo con l’invio di ogni messaggio.
Gli hub sono in grado di moltiplicare l’ingresso in più uscite e sono molto utilizzati dagli UTP.
L’aumento del numero di linee in uscita dà la possibilità di connettere più nodi della rete locale. Gli hub
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 55
sono bidirezionali e fungono anche da amplificatori di segnale in quanto si affievolisce a causa della
distanza. Il numero di linee in uscita può essere 8, 16 o 24; anche se è possibile arrivare a 48 linee in
uscita, si preferisce usare più hub in cascata. Il cavo più usato è il cavo coassiale (RG58) con connettore
BNC, oppure la fibra ottica ed in tal caso la velocità è di 100 Mbit/sec. Le fibre ottiche trasmettono
l’informazione mediante riflessione della luce lungo l’asse per effetto di specchietti che convogliano la
luce lungo il cavo mantenendone integre le caratteristiche. La luce viene modulata per portare informazioni di tipo logico; avendo ampia banda di frequenze si usa una modulazione molto ampia per convogliare l’informazione su un unico canale. L’hub compie anche il monitoraggio della rete, che avviene
tramite un software, installato sul server, che dà una visione geografica della rete e lo stato di tutti i
componenti. Gli standard di monitoraggio usati sono SNMP o R-MON.
Il router è un elemento di rete che assicura la distinzione dei canali di comunicazione e il mantenimento degli indirizzi anche in presenza di una linea di comunicazione pubblica. Il router è il nodo della
connessione mediante il quale si può connettere due LAN remote in una unica LAN virtuale. Il router
inoltre mantiene gli indirizzi fino a che il messaggio è giunto a destinazione.
Il protocollo di comunicazione più usato è il TCP/IP che ammette la multisession (possibilità di
gestire più canali) a livello session. Ogni nodo della rete ha un indirizzo IP che va richiamato per attivare
la comunicazione; ogni risorsa del nodo è a sua volta dotata di un indirizzo.
Nelle reti WAN l’indirizzo di una risorsa è più complesso ed è formato da dominio e sottodominio.
Lo switch serve per il sezionamento fisico e di software dei rami di una rete su comando del
server: praticamente accende alcuni rami al fine di ottimizzare i flussi di dati verso la destinazione ignorando i client posti nella parte disattivata.
I cavi UTP (dal nome della norma CEE che li ha standardizzati) sono costituiti da fili di rame
intrecciati uno intorno all’altro, per ridurre le interferenze elettromagnetiche, e isolati da una guaina. E’
preferibile non superare il metro di lunghezza.
Descriviamo adesso la topografia di una rete Ethernet.
Supponiamo di voler servire un edificio con una LAN e collegarla alla LAN di un altro edificio.
Ad ogni piano viene posto un transceiver ovvero un trasduttore tra la rete elettrica e la fibra ottica che
trasmette i dati tra i piani; su ogni piano vi sono poi un hub per stanza che gestiscono tutti gli elaboratori
pag. 56
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
del piano stesso. Un cavo dorsale collega i piani al server, posto a piano terra, prima del quale è posizionato uno switch. Il server è collegato tramite linea telefonica o ISDN al server dell’altro edificio.
In ogni rete Ethernet viene posto un armadio permutatore che contiene tutti gli elementi della rete
ed un insieme (pitch panel) di prese di uscita e connettori; per i transceiver abbiamo sezione apposita
dell’armadio permutatore, in quanto essi sono delicati ed anche lo spostamento del cavo può creare
disfunzioni.
La velocità di una rete è di 10 Mbit/sec con cavi coassiali, di 100 Mbit/sec con fibre ottiche
standard e di 300 Mbit/sec con cavi UTP e dipende anche dalla scheda di rete.
Tutte le componenti passive (cavi, prese, connettori) di alta qualità sono standardizzate dalla categoria 5 che assicura la minimizzazione degli assorbimenti nelle connessioni anche ad alte velocità.
PROGETTO DI UN SISTEMA DI ELABORAZIONE:
Per fare il progetto di un sistema di elaborazione sono necessarie competenze diverse:
- ANALISTA
- PROGRAMMATORE
- SISTEMISTA
- INTEGRATORE DI SISTEMA (o DI RETE)
Analista
Per progettare un sistema di elaborazione bisogna partire da un sistema informativo ovvero da un
sistema in cui esistono delle informazioni da elaborare (teoricamente dovrebbe essere conservativo:
dovrebbe contenere tutte e sole le informazioni necessarie).
L’analista deve individuare tutti i tipi di dati (e se necessario creare dei nuovi tipi) e organizzarli in
tabelle; deve individuare tutte le variabili; deve rappresentare tutte le esigenze dell’utente; deve tener
conto della descrizione del problema, delle esigenze logistiche: numero e posizione di risorse indispensabili o esplicitamente richieste dall’utente, vincoli spaziali, …
La strutturazione logica del problema consiste nella sua rappresentazione logica mediante l’uso di
connettivi logici e enunciati; vengono utilizzate le regole referenziali standard (reti di Petri, ..) e altre sono
create.
Alla fine di questa fase abbiamo conseguito:
- tabelle e tipi di dati
- elenco di variabili e parametri
- elenco delle esigenze logistiche
- strutturazione del problema
Programmatore
La strutturazione logica del problema viene passata al programmatore che si occupa della realizzazione dei software applicativi dopo avere scelto gli opportuni linguaggi.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 57
Sistemista
Si occupa di definire l’architettura del sistema: è il primo modo per individuare i nodi elaborativi
(quanti e quali) tramite:
1. decomposizione gerarchica del sistema informativo (TOP-DOWN) che è descritta dall’albero
delle priorità: alla radice dell’albero c’è l’elenco delle risorse richieste dall’utente e dalle applicazioni (sia
hardware che software)
2. rappresentazione grafica: questa struttura viene rappresentata mediante grafi che indicano le
varie connessioni.
Alberi e grafi danno una prima idea di come individuare i nodi elaborativi (stanno nelle zone dove
ci sono forti legami tra applicativi diversi).
Si passa poi alla fase hardware con la definizione dei nodi elaborativi: questi devono essere progettati separatamente stabilendo, per prima cosa, la necessità di memoria di massa e la sua dimensione
(dipende dalla scelta del sistema operativo, dei linguaggi necessari, del software di base, degli applicativi,
il tempo di permanenza dei dati: il numero di byte calcolato va moltiplicato per 3 e ancora per 2 nel caso
si ha un RAID), successivamente si definisce numero e il tipo dei processori a seconda che il nodo funga
da server, PC, ….
Per stabilire il numero di processori si calcola il numero di microistruzioni relative ai programmi
eseguiti contemporaneamente e quindi il tempo di elaborazione: se il risultato è inaccettabile si aumenta il
numero di processori.
La cache, di norma, è vincolata al tipo di processore scelto, ma può essere conveniente usare una
cache grande se il volume dei dati è molto elevato e per questo motivo talvolta si sceglie di passare ad
una classe di macchine superiore.
La scelta della RAM tiene conto dei processi elaborativi contemporaneamente eseguiti nel nodo
(l’obiettivo è la copertura del 100%, ma ci si può accontentare del 50-60%).
Poi si sceglie l’I/O e, per questo, si considerano le periferiche richieste dall’utente o necessarie; le
periferiche che scambiano grandi quantità di dati necessitano di USB o porte parallele, altrimenti si usano
porte seriali.
Quindi nella fase hardware sono operate:
- definizione nodi elaborativi
- descrizione macchine e hardware per ciascun nodo
Integratore di Sistema
Si occupa di collegare i nodi elaborativi in una rete dotata eventualmente di modem per il collegamento esterno.
pag. 58
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
STANDARDIZZAZIONE:
La standardizzazione è la disciplina che si occupa di regolare tutte le norme di tipo tecnico alle
quali tutti i prodotti devono sottostare e si divide in standard de jure (giudizio di esperti globali) e
standard de facto (accordi tra le case produttrici).
La standardizzazione è suddivisa in 3 livelli gerarchici in ordine di estensione geografica:
- organismi internazionali (1)
- organismi continentali
- organismi nazionali
1. ISO
SCIA
IEC
CCITT
IEEE
(2)
(3)
(International Standard Organization)
(comitato per l’automazione industriale)
(comitato internazionale elettrico)
(poste e telecomunicazioni)
(International Electrical Elettronic Engineers, protocolli di basso livello)
2. CEN
(Comitato Norme Europee, interfacce)
CENELEC
(ramo elettrico del CEN)
EUROPROJECT (progetti da cui è nato ESPRIT: generatore automatico di modelli)
ENV
3. UNI
CEI
(Unione Nazionale Industriali)
(Comitato Elettrotecnico Italiano)
La standardizzazione si occupa dei prodotti (dalla struttura alle specifiche tecniche) e genera norme
in base a determinati principi come :
- regole di mercato
- leggi politiche
- scelte economiche
- tutela del consumatore
Gli organismi emettono delle resolution (come risultato finale dell’attività di standardizzazione)
che vengono scritte su libri detti issue e che possono o meno essere adottate dalle singole nazioni; ad
esempio:
ISO 9000
ISO 9001
ISO 9002
ISO 9003
ISO 9004
(garantisce la qualità aziendale dei prodotti)
(garantisce la qualità dei progetti, costruzione, manutenzione, vendita, dismissione)
(stessa finalità dell’ISO 9001, ma non si occupa dei progetti)
(si occupa dell’assistenza)
(si occupa dello sviluppo dei software)
Iso:
L’ISO si suddivide in tre livelli gerarchici:
- Comitati Tecnici
- SottoComitati
- Work Groups
(TC) : coordinamento amministrativo
(SC) : coordinamento attività tecnico-scientifiche
(WG): attività tecnico-scientifiche
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 59
I principali comitati tecnici nel campo informatico sono il JTCI e TC-184 che si occupa delle
applicazioni informatiche all’industria e di cui esaminiamo la gerarchia:
1. TC-184
2. ADG
(Advanced Group)
3. WG5
(sicurezza)
4. SC1, SC2, SC3, SC4, SC5
I vari sottocomitati si dividono a loro volta in working groups dei quali diamo una breve descrizione:
1. SC1: Controllo dei dispositivi fisici (physical device control)
- WG1 : macchine a controllo numerico (Vocabolari: generatore di termini)
- WG2 : dati per le macchine a controllo numerico
- WG3 : sicurezza di rete
- WG4 : linguaggi di programmazione
- WG5 : controllo dei sistemi di visione
- WG6 : interconnessione di tutte le fabbriche in un’unica rete e definizione della macchina virtuale di
interfaccia tra prodotto e rete
- WG7 : applicazione di STEP alle macchine a controllo numerico
2. SC2: Robot (robot manufactoring)
- WG1 : coordinamento e movimento dei bracci di un robot
- WG2 : performance evolution (prestazioni)
- WG3 : sicurezza dei robot
- WG4 : linguaggi di programmazione; ci sono due linee di standardizzazione:
a) ICR (Intermediate Code for Robots: scambio dati tra robot e programmatore)
b) PLR (Programming Language for Robots: interfaccia utente/controllo del robot)
- WG5 : vocabulary
- WG6 : CSMMS (ha terminato il suo lavoro)
3. SC3: Aveva il mandato di sviluppare un ambiente di programmazione unico per qualunque sistema
all’interno di una fabbrica ed ancora non ha completato il suo mandato (è arrivato al MAPLE).
4. SC4: STandard of Exchange of Product (STEP)
5. SC5: Architectured and Communication problems
- WG1 : modelli e loro integrazione (è stato sviluppato SFPM: Short Floor Product Model che è il
piano base di una fabbrica ed esistono anche documenti di description come il FAM: modello generale
di una fabbrica; si sta lavorando anche sul CIM: Computer Integrated Manufactoring, che si dedica
all’integrazione all’interno di una fabbrica con sistemi di automazione)
- WG2 : comunicazione nella fabbrica
- WG3 : sicurezza (ormai annullato perché le sue funzionalità sono state assorbite da WG5 ad alto
livello)
- WG4 : linguaggi di programmazione
- WG5 : vocabulary
Parliamo ora più approfonditamente del SC5-WG1: il primo risultato già standardizzato come
description (modello di descrizione), ma non come CD (risultato definitivo di un WG), è stato il FAM
pag. 60
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
(Factory Automation Model). Esaminiamo i livelli funzionali di FAM dal più basso al più alto:
a) Equipment : include robot e macchine a controllo numerico e a PLC (Programming Logic Control)
per il materiale grezzo.
b) Station : stazione di controllo di produzione al computer (calcolatori posti in rete LAN e
work station per il controllo)
c) Cell : definisce le celle di lavoro sul piano base
d) Plant : definisce impianti e materiali per la produzione (tiene in considerazione solo tre elementi:
materiali, controllo e informazione)
e) Facility : si occupa del passaggio tra parte finanziaria-gestionale (definizione del budget) e parte
progettuale; da qui nasce la gestione dei progetti al computer come CAD (progetto) e CAM
(produzione) tra le quali c’è la fase di STEP
f) Enterprise : si occupa del livello finanziario-gestionale
I livelli funzionali dall’ Equipment al Cell è descritto dallo standard detto SPFM, oltre non si è
potuto andare perché, mentre i primi tre livelli hanno programmi di gestione omogenei per l’automazione delle celle di lavoro, gli ultimi livelli hanno programmi disomogenei: il problema da affrontare è
soprattutto la diversità dei tempi di elaborazione:
- livelli di produzione: tempi critici
- livelli Plant e Facility tempi non molto critici
- livello Enterprise
cambiano addirittura i programmi
Queste differenze non hanno permesso la compilazione di uno standard unico e comprensivo di
tutti e sei i livelli.
Computer in industry:
Software Standardization Integrating Industrial Automation System
Il lavoro dell’organizzazione di standardizzazione internazionale ha già dato risultati che presto
saranno utilizzati da fabbricanti, rivenditori e utenti di sistemi di automazione industriale.
Sulla base del lavoro svolto dal TC-184 si evidenziano i seguenti standard: STEP, MAPLE, ICR e
PLR. Negli ultimi anni, le rigide linee di produzione industriale sono state trasformate in sistemi
automatizzati più flessibili: questo tipo di produzione è assistito completamente dai computer dalla fase
progettuale alla spedizione finale del prodotto finito attraverso tutti gli stadi della produzione; questo
sistema si chiama CIM (Computer Integrated Manufactoring).
Parliamo ora dello STEP: si tratta di uno standard per la rappresentazione e lo scambio dei dati di
un qualunque stadio del processo produttivo durante tutta la vita media del prodotto (gestisce dati attinenti alla descrizione e allo scambio informativo con applicazioni e programmi diversi senza l’intervento
umano); si vuole anche implementare database e archivi riguardanti la fabbrica.
Il suo intento, non ancora raggiunto, è quello di creare un modello di prodotto standard che opra,
oltre a tutte le fasi della produzione, anche tutti gli aspetti esterni al prodotto (marketing, aspetti amministrativi, …). L’obiettivo è, quindi, un software unico e un database che rappresentino l’intera azienda e in
cui si inseriscano, in qualunque momento, tutti i programmi di tutte le fasi produttive: linguaggi come il
C consentono di dialogare con lo standard STEP.
Il linguaggio di programmazione usato nello standard STEP è l’express (di tipo dichiarativo) ed il
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 61
lavoro viene effettuato in tre parti:
1. Definizione delle proprietà dei materiali
2. Rappresentazione delle proprietà dei materiali
3. Misure qualificanti del prodotto (si effettuano test)
Un giorno un dischetto accompagnerà ogni prodotto e ne fornirà informazioni in maniera estremamente dettagliata e obiettiva.
SPECIFICHE DEI COMPUTER:
I computer si suddividono in:
•
•
•
•
•
•
•
Home Computer
Personal Computer
Server
Mini-Computer
Computer Di Media Dimensione
Computer Di Grande Dimensione
Super-Computer
Home computer:
Sono i computer come i Commodore, Amiga, …: dotati di frequenza molto alta per gestire la
grafica; spesso erano solo a nastro: questo scaricava il programma sulla piccola RAM da dove il programma veniva eseguito.
Personal computer (stand alone, client):
Numero di microprocessori:
1-2
Tipo di microprocessore:
CISC (Pentium, AMD, Motorola, Cyrix)
Frequenza del microprocessore:
733 MHz – 1,46 GHz (poco stabile oltre 1 GHz)
Parallelismo del microprocessore:
32 bit (coincide con quello della scheda madre)
Memoria cache:
128 Kb – 512 Kb (di tipo flash)
Memoria RAM:
64 Mb – 512 Mb, 100 – 133 MHz, tipo DIMM
Interfaccia di I/O:
2 porte seriali, 1 parallela, 2 USB (tecn. CMOS o TTL)
Slot della scheda madre (controller): UDMA che gestisce da 2-4 tra HD, …
PCI (4) che gestisce scheda audio, acc. grafici, modem,…
VGA che ormai potrebbe non esserci più
AGP (1) che si occupa di grafica
ISA (1)
SCSI (1)
Hard disk:
10 – 40 Gb (EIDE), 9 – 18 – 32 Gb (SCSI), 5400, 7200,
10000 rpm
Zip:
100 – 250 Mb
Memorie ottiche:
CD-ROM, DVD, ...
Audio:
scheda audio a 64 – 128 bit
Altoparlanti:
60 – 450 Watt
Scheda video:
8 – 64 Mb
Scheda di rete:
Ethernet, Token Ring
pag. 62
Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardo
Modem:
interno o esterno, 56 K – 128 K (ISDN)
Server:
Si può considerare sia una estensione dei PC sia appartenente alla classe dei mini-computer.
Numero di microprocessori:
2-4
Tipo di microprocessore:
CISC (pentium, athlon, xeon) – RISC (aix, dec)
Frequenza del microprocessore:
1 GHz – 1,5 GHz
Parallelismo del microprocessore:
64 bit per i RISC
32 bit per i CISC
Memoria cache:
1 Mb – 8 Mb per i dati, 128 Kb – 512 Kb per le istruzioni
Memoria RAM:
128 Mb – 2 Gb
Interfaccia di I/O:
2 porte seriali, 2 parallele, 2 USB
Hard disk:
2-4 unità da 40 Gb
Scheda grafica:
32 – 64 Mb
Memorie ottiche:
DVD con masterizzatore
Streaming tape:
DAT (16-32 Gb)
Scheda di rete:
da 10 a 100 Mbit/sec, le ultime raggiungono 300 Mbit/sec
con una memoria da 32 a 128 Mb
Modem:
interno o esterno, 56 K – 128 K (ISDN)
Mini-Computer
Numero di microprocessori:
Tipo di microprocessore:
Frequenza del microprocessore:
Parallelismo del microprocessore:
Memoria cache:
Memoria RAM:
Interfaccia di I/O:
Hard disk:
Scheda grafica:
Memorie ottiche:
Streaming tape:
Scheda di rete:
2-16
RISC
1,8 GHz
64 bit per i RISC
16 Mb per i dati, 128 Kb – 512 Kb per le istruzioni
256 Mb – 4 Gb
100 porte seriali, 4 parallele, USB non è ancora in uso
da 60 Gb a 160 Tb
alto livello
usate per editing (digitalizzazione di immagini video) ed
editoria.
DAT (16-32 Gb)
Ethernet e Token Ring
Computer di Medie Dimensioni
Sono dotati di mainframe che permette di far lavorare in parallelo tante mainboard, tipiche dei
mini-computer.
I Sistemi a Cluster fanno sì che due mainboard si scambino contemporaneamente dati, RAM e
HD con gli stessi permessi e priorità (quindi è una condivisione completa). Per rendere ciò possibile ci si
serve di un sistema operativo complesso che è proprietario della casa e molto diverso da Windows o
Unix.
Il sistema di memorie di massa è gestito in modo distribuito. Queste macchine sono usate da enti
territoriali di grandi dimensioni anche nazionali.
Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino
pag. 63
Computer di Grandi Dimensioni:
Vengono utilizzati da strutture scientifiche di grandi dimensioni (URSS, New Mexico). Sono una
estensione dei computer di medie dimensioni ottenuti massimizzando il numero di mainframe fino a
crearne delle reti.
SuperComputer:
Se ne trova una al Pentagono sono utilizzati da enti militari. Si sta sperimentando la trasmissione
ottica per velocizzare lo scambio dei dati. Sono sistemi che adottano parallelismi altissimi.