Appunti di Calcolatori Elettronici I - © D. Lombardo - A...

63
pag. 1 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

Transcript of Appunti di Calcolatori Elettronici I - © D. Lombardo - A...

Page 1: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 1Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Questo testo contiene la trasposizione delle lezioni del corso diCalcolatori Elettronici I svolto dal Prof. G. Messina nell’A.A.2000/01, integrata con argomenti e precisazioni estrapolate daappunti di anni precedenti.Nonostante la dedizione profusa nella stesura del presenteelaborato, che ha comportato un lavoro di raccolta, vaglio e sintesinon indifferente, non ci si propone di fornire un quadro esaustivodella materia ma solo un valido supporto da completare in baseal corso del corrente anno.Gli autori ringraziano Gabriele Cristaldi per la fattiva e preziosacollaborazione nella raccolta delle fonti e Livio Di Lorenzo perla puntuale consulenza su diodi, transistor e porte logiche.Infine un ringraziamento particolare a Tino Motta per l’onerosaopera di impaginazione.

Arturo Buscarino Davide Lombardo

Page 2: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 2

Page 3: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 3Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

SommarioI. ALGEBRA DEI CALCOLATORI ................. 5

II. PORTE E CIRCUITI LOGICI ................... 12Diodo a giunzione: ........................................................................................ 12Transistor: ..................................................................................................... 14Dispositivi MOS: .......................................................................................... 15Porte Logiche: .............................................................................................. 15Circuiti Logici: ............................................................................................. 18

III. ARCHITETTURADI UN CALCOLATORE .................................. 23Microprocessore: .......................................................................................... 23Microprocessore Intel 8086: ........................................................................ 24Segmentazione: ............................................................................................. 26Registri di Segmento ed Instruction Pointer: ............................................ 26Codice Rilocabile: ........................................................................................ 27Implementazione Fisica dello Stack: ........................................................... 27Memoria Riservata: ...................................................................................... 28Microprocessore 80286: ............................................................................... 28Microprocessore 80386: ............................................................................... 28Microprocessore 80486: ............................................................................... 29Microprocessore Pentium: ........................................................................... 29Organizzazione fisica della memoria: .......................................................... 29Organizzazione della memoria: .................................................................... 30Architettura interna del Pentium (modello di programmazione) .............. 31Indirizzamento in Modalità Protetta: ......................................................... 32Registri invisibili ai programmi: ................................................................. 33Integer Pipeline: ........................................................................................... 34Scalarità dei Microprocessori (prerogativa dei RISC): ............................. 35Tecniche di colloquio tra microprocessore e periferiche: .......................... 35Interfaccia I/O: ............................................................................................. 36Memorie: ....................................................................................................... 40Memorie elettroniche: .................................................................................. 40Memorie di massa: ....................................................................................... 41Floppy disk: .................................................................................................. 41Hard disk: ..................................................................................................... 42Memorie di massa a nastro magnetico: ....................................................... 43Memorie ottiche: .......................................................................................... 43Memorie magneto-ottiche: ........................................................................... 45

Page 4: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 4

Periferiche: .................................................................................................... 45Periferiche di uscita: .................................................................................... 45Monitor e terminale video: .......................................................................... 45Moduli grafici: .............................................................................................. 47Stampanti: .................................................................................................... 47Scanner: ........................................................................................................ 48Plotter: .......................................................................................................... 49Vision Systems: ............................................................................................. 50Penna Ottica: ................................................................................................ 51Mouse: ........................................................................................................... 51Tastiera: ........................................................................................................ 51

IV. RETI, PROGETTO DI UN SISTEMA DIELABORAZIONE, STANDARD ISO ESPECIFICHE TECNICHE............................... 52Reti di calcolatori e software di base: ......................................................... 52Progetto di un sistema di elaborazione: ...................................................... 56Standardizzazione: ........................................................................................ 58Specifiche del computer: .............................................................................. 61

Page 5: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 5Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

I. ALGEBRA DEI CALCOLATORI

Dato un insieme di simboli S e un insieme di elementi astratti o concreti E, se esiste una corrispon-denza 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. lacorrettezza 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 taleche i suoi elementi abbiano un significato è detto parola P.

Un codice è ridondante se ad almeno un elemento di E corrispondono almeno due parole diversedi 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 definia-

mo la ridondanza nmR = dove m è il n° di cifre necessarie per rappresentare tutti gli elementi di E ed n

è il n° di cifre efficienti del codice. Avremo quindi che nkRknm +=⇒+= 1 . Il coefficiente k/n è detto

coefficiente di ridondanza.

Un codice è ponderato quando ad ogni cifra è associato un peso in decimale in funzione dellaposizione 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 posizionedella cifra.

Un codice è di Gray quando per qualsiasi configurazione, quelle adiacenti differiscono per ladistanza di 1 (ove per distanza si intende il n° di variazioni tra bit corrispondenti).

Es: 00 00001 00111 01110 è di Gray 010

110111101100 è di Gray

N.B. il secondo codice è stato costruito a partire dal primo per riflessione ovvero ribaltando oriz-zontalmente 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 essasia, corrisponde in decimale al complemento a 9 del numero stesso.

Page 6: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 6

Es1: Codice di eccesso a 3

C1(0110)=1001C9(3)=6 è autocomplementare

Es2: Codice Heiken: i pesi sono inusuali allo scopo di garantire l’autocomplentarietà 2-4-2-1

C1(1010)=0101C9(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 tratutte le possibili coppie di parole del codice. Dopo l’elaborazione dei dati il valore di H deve essere lostesso, 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 checonsiste in un insieme di elementi astratti in cui sono definite due operazioni (+,·) o (OR,AND) cheapplicati a due elementi dell’insieme producono un elemento ancora appartenete all’insieme stesso, cheviene chiamato di sostegno e si indica con K.

Un insieme è un reticolo quando gode delle proprietà commutativa, associativa ed inoltre diidempotenza ed assorbimento (ovvero aaa =+ e abaa =+ · ).

Nel reticolo sussiste il Principio di Dualità ovvero è possibile variare gli operatori a primo esecondo membro senza variare la validità dell’espressione:

aaaaaa =⇒=+ ·abaaaaba =+⇒=+ )·(

Un reticolo è distributivo se sussiste la proprietà distributiva.

Se è possibile fissare a t.c. 00· =a e 11 =+a esistono un massimo ed un minino. Inoltre, definen-do l’operatore complemento NOT, se 0· =aa e 1=+ aa allora l’algebra è di tipo booleano.

Per consentire il passaggio tra l’operatore OR (+) e AND (·), attraverso il metodo delle tavole dellaverità, è possibile dimostrare i Teoremi di De Morgan:

1. 2121 ·XXXX =+

2. 2121· XXXX +=

Page 7: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 7Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Dim:1. 2121 ·XXXX =+

2. 2121· XXXX +=

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 valoreY=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 dellasomma di tutte le variabili.

I prodotti sono detti mintermini se sono costituiti da tutte le variabili della funzione e tali che sealmeno 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 sealmeno 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 ilvalore 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 verrannostudiati in seguito.

Un implicante si dice primo se è un implicante non coperto da altri ovvero non può essere ridottosenza 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 diimplicanti primi tali che coprano tutti i mintermini di partenza.

Dal punto di vista circuitale anticipiamo i simboli per i tre operatori definiti:

x1 y = x1+x2 x1 y = x1·x2 x y = X

x2 x2

[La presenza di un pallino prima dell’uscita di una porta ha l’effetto di negare il valore dell’uscita

Page 8: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 8

stessa.

Un altro operatore logico è l’EXOR ( ⊕ ) detto OR esclusivo che opera secondo la seguente tavoladella 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 ilMetodo di Quine - Mc Luskie.

Il Metodo delle Mappe di Karnaugh si basa su una rappresentazione in forma descrittiva dellafunzione logica in esame: le mappe sono successioni di celle adiacenti, ciascuna delle quali rappresentaun 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 4variabili.

1) 432143211 ······ XXXXXXXXY +=Chiamo i due prodotti rispettivamente A e B; essi differiscono per il solo primo termine (distanza 1)

( )( ) 43243211 ···· XXXXXXXX =+

2) 43214321432143212 · ··· ········ XXXXXXXXXXXXXXXXY +++=Chiamo i 4 prodotti rispettivamente A, B, C, D.

( )( ) 4243243243243211 ·· ···· ··· XXXXXXXXXXXXXXXX ⇒+=++

è implicante primo.

Page 9: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 9Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

3) 43214321432143 213 · ··· ········ XXXXXXXXXXXXXXXXY +++=Chiamo i 4 prodotti rispettivamente A, B, C e D.

( )( ) 2132132144321321 ········· XXXXXXXXXXXXXXXX ⇒+=++

è implicante primo.

Per illustrare il Metodo di Quine - Mc Luskie, usato per funzioni di almeno 4 o 5 variabili, esa-miniamo un esempio; si consideri la funzione di 6 variabili:

654321654321654321654321

654321654321654321654321

····················

····················

XXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXY

++++

++++=

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:

000011000111110001100011101011111011101111100111 +++++++=Y

Il secondo passo consiste nel raggruppare i mintermini a seconda del loro peso (ovvero il numerodi 1) a partire dal peso inferiore.

H ..................... 000011EFG................. 100011........................ 110001........................ 000111AD .................. 100111........................ 101011BC ................... 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 – alposto del bit diverso. Otteniamo un’altra tabella:

Page 10: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 10

HE ............................. -00011HG ............................ 000-11

EA ............................. 100-11ED ............................. 10-011GA ............................ -00111

AB ............................. 10-111DB............................. 101-11DC............................. 1-1011

F ................................110001

Al quarto passo procediamo ad una ulteriore semplificazione tenendo conto che abbiamo riscrittoF perché non si è semplificato con nessun mintermine.

Otteniamo la seguente tabella:

HEGA ....................... -00-11HGEA ....................... -00-11

EADB ....................... 10--11EDAB ....................... 10--11

DC............................ 1-1011F ............................... 110001

A questo punto non sono più possibili ulteriori semplificazioni. Si procede al quinto passo checonsiste 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 ottenu-to la forma minima.

Definita l’algebra sulla quale si basano i calcolatori e, più in generale, i circuiti logici, possiamopassare ad analizzarli e sintetizzarli.

Una rete logica è una rete di nodi connessi fra loro tramite rami; i nodi sono costituiti da operatorilogici, detti porte logiche, e i rami rappresentano le connessioni fra essi (sono archi orientati). Si rappre-

Page 11: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 11Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

senta mediante un grafico. Analizzare una rete logica significa estrarre dal grafico della rete la funzionelogica che realizza; sintetizzare una rete logica significa costruire il grafico a partire dalla funzione logicaassegnata, dopo averla adeguatamente minimizzata.

Il percorso tra un nodo e un altro della rete viene detto itinerario; definiamo livello di un nodorispetto 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 ilgrafico; per analizzare la rete (ovvero per ottenerne l’espressione analitica) si comincia con l’identificare ilivelli di appartenenza delle varie porte logiche, crescenti man mano che dall’uscita si procede verso gliingressi (la porta d’uscita del circuito ha livello 1). Le porte NAND relative a livelli dispari generanosomme, mentre le porte NAND relative a livelli pari generano prodotti; gli ingressi delle porte NAND dilivello 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 quelledefinite nel caso precedente.

Page 12: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 12

II. PORTE E CIRCUITI LOGICI

I circuiti logici sono costituiti principalmente da semiconduttori, elementi che nell’ultima orbitapresentano 4 elettroni; questa configurazione permette infatti agli elettroni di muoversi liberamente.

I componenti circuitali a semiconduttore usati nei circuiti logici sono diodi, transitori e dispositiviMOS; vediamo brevemente il loro funzionamento.

DIODO A GIUNZIONE:

La tecnica oggi usata per aumentare la conduttività del cristallo di silicio prende il nome didrogaggio e consiste nell’immettere, nel semiconduttore puro (intrinseco), quantità, controllate conprecisione, di elementi trivalenti (accettori) e pentavalenti (donatori). Generalmente il livello dei drogantiintrodotti è molto basso (tra 1/10-8 e 1/10-18 atomi/cm3), cosicché le proprietà peculiari chimico-fisichedel silicio restano inalterate modificandosi invece, in modo significativo, le caratteristiche elettriche.Supponendo il cristallo intrinseco e gli atomi droganti elettricamente neutri, anche il cristallo drogatorisulterà elettricamente neutro.

Se in una barretta di semiconduttore puro si introducono da un lato elementi droganti di tipotrivalente e dall’altro elementi di tipo pentavalente, si ottiene una giunzione PN. Infatti gli atomi trivalenticon i propri elettroni di valenza sono in grado di saturare solo tre dei legami covalenti della strutturacristallina, 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 cristal-lo, ma rendono disponibile nel reticolo un elettrone libero come portatore di corrente (cristallo drogatoN).

Al termine del processo di drogaggio saranno presenti una concentrazione in eccesso di lacune, daun lato ed un eccesso di elettroni dall’altro le quali determineranno una situazione di instabilità tempora-nea, che verrà naturalmente rimossa. Attraverso la giunzione si verificherà un passaggio di cariche neidue 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 dicariche 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 dellagiunzione, una regione particolarmente stretta, (0.5 mm) detta di svuotamento (o di carica spaziale, o ditransizione) 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=NDnella 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 disvuotamento costituiscono la barriera di potenziale. Il campo elettrico associato alla barriera di potenzialerisulta diretto dalla zona N verso la zona P e contrasta il processo di diffusione. La barretta disemiconduttore così ottenuta prende il nome di diodo a giunzione PN e rappresenta l’elemento basedell’elettronica.

Il comportamento in regime statico della giunzione dipende dalle tensioni applicate ai suoi termina-li. Se applichiamo al dispositivo PN una tensione (tensione diretta) che riduca la barriera di potenziale (equindi la larghezza della zona di carica spaziale) si ottiene una migrazione dei portatori maggioritariattraverso 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.

Page 13: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 13Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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, trascurabilerispetto 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), rappresenta-to nel piano V - I, è descritto dall’equazione:

−= 10

tVV

eII η

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. qKTVt = ; a 30 ° C, Vt = 26 mV.

(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’indipen-denza della corrente inversa dalla tensione di polarizzazione del diodo.

I0 è correlata alle concentrazioni dei portatori minoritari e all’area della giunzione. Se il valore dellatensione 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 perapplicazioni specifiche quali stabilizzatori di tensione, tosatori ecc..

Page 14: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 14

figura 2: caratteristica di un diodo zener

Generalmente il rapporto IF/I0 è molto grande (104 – 1012), ad esempio dispositivi al silicio, conId = 1 A , presentano I0 = 10-9 A. Nella zona di polarizzazione diretta è presente una ben definita tensio-ne di soglia Vd al di sopra della quale, ha inizio la conduzione rappresentata da un andamentoesponenziale. Il valore di questa soglia dipende solo dal materiale semiconduttore, nei circuiti logici vieneprevalentemente utilizzato il silicio la cui tensione di soglia è pari a 0.6 - 0.7 V per il silicio. Inpolarizzazione inversa la curva risulta parallela all’asse delle tensioni fino al raggiungimento della tensio-ne 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 secondadella disposizione delle zone di drogaggio diverso: npn e pnp. Come si vede in figura, iltransistor ha tre piedini detti collettore, base ed emettitore (nel simbolo circuitalel’emettitore è indicato con una freccia). Le carichevengono risucchiate verso l’alto e si viene a creare unacorrente Ic di collettore. Il flusso degli elettroni vieneattivato dalla d.d.p. Vcc positiva o negativa a seconda

della giunzione (npn o pnp). Nella figura è rappresentata la curvacaratteristica 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), iltransistor è 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) iltransistor è in zona di interdizione ed è spento. I transistor hannouna resistenza di 1012 ΩΩΩΩΩ.

Page 15: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 15Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

DISPOSITIVI MOS:

I Metal Oxide Semiconductor sono dispositivi diversi dai transistor. In essi la fetta di silicio presen-ta 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++) vienedetta drain. Polarizzando in modo inverso, si crea fra la zona N e le sacche P una depres-sione (layer) di concentrazione accentuate sotto la zona P più drogata. Sulla faccia superio-re della fetta di silicio si viene a creare uno strato di SiO2 che sarà drogata di tipo N. Sopralo strato di SiO2 mettiamo un elettrodo di comando, detto gate, che carichiamo a potenzia-le 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 porta-

tori di carica nel canale grazie ai quali e per effetto delle d.d.p. tra drain e source risulta possibile ilpassaggio di corrente.

Questa famiglia di dispositivi nacque per risolvere iproblemi creati dall’elevato assorbimento delle prime portelogiche TTL. Il gate è infatti isolato dallo strato di SiO2 e fungequindi da condensatore ad altissima resistenza d’ingresso (1015

– 1018 ΩΩΩΩΩ). Questo tipo di struttura capacitiva ha lo svantaggiodi avere quindi un costante di tempo (tempo di commutazione)RC molto elevata rispetto al transistor con una conseguenteriduzione della banda passante ovvero dell’intervallo di fre-quenza entro cui il dispositivo risponde ed inoltre l’elevatotempo 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 parametroche caratterizza la resistenza delle porte ad eventuali elettromagnetici disturbi esterni (rumore): il Margi-

ne di Immunità al Rumore. Esso viene definito per il livello alto come IHOHr VVMH

−= e per il livello

basso come ILOLr VVML

−= .

Page 16: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 16

Le porte DTL, quella in figura è unaporta NAND, sono porte lente e ad altoassorbimento. Vediamo il funzionamentodella porta NAND. Per avere la saturazio-ne di T1 e quindi conduzione, necessitiamodi 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 essereminore di 1.8V. Poiché per il diodo lasoglia e 0.8V => 2.4-0.8=1.6V è già unatensione alta per la commutazione. Al disotto 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 è VVVM ILOLrL12.12.0 =−=−= per il livello

basso, mentre per il livello alto è VVVM IHOHrH2.36.18.4 =−=−= . Ovvero fino a 3.2V, la porta

funziona correttamente ad alto livello, e fino a 1V funziona a basso livello.

Le porte HLL sono largamenteutilizzate in circuiti di controllo laddove èpresente alto inquinamento elettromagneti-co con conseguente generazione di rumo-re.

Nella figura è rappresentata unaNAND in HLL, in essa è presente unparticolare diodo, detto zener, che atensioni inferiori a 5.5 – 6 V si comportada isolante e scarica a 6 V. In M ci voglio-

no 7.6 V (Tensione di commutazione) affinché si chiudano T1 e T2 e si ottenga scarica in D; fino a 6.9Vsiamo sicuri che non ci sarà commutazione.

I margini di immunità al rumore per porte HLL sono VVVM IHOHrH9.96.75.17 =−=−= e

VVVM ILOLrL7.69.62.0 =−=−= 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.

Page 17: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 17Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Le porte TTL sono le porte logiche oggiin uso e sono caratterizzate da tempi di rispostarapidissimi (0.5-1 ns) ed è grazie a questobreve tempo di risposta che è stato possibilel’utilizzo di microprocessori ad alta frequenza.Nella figura è rappresentato lo schema di unaporta NAND in TTL: in essa è presente untransistor a multiemettitore. La porta è di tipoLS (low/speed ovvero basso assorbimento/veloce) che viene usata in tutti i computer inquanto a basso assorbimento.

Se x1 e x2 sono alti, ci dobbiamo aspetta-re una uscita bassa ovvero il transitor T2 deve essere in saturazione; perché ciò avvenga T1 deve condur-re.

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. Lasigla di questi chip contiene informazioni sulle caratteristiche di esso: i primi due caratteri sono SN cherappresentano lo standard aziendale, le due cifre successive, 73 o 51, indicano l’intervallo termico nelquale sono stati testati (-70 – 125 °C o 0 – 60 °C), quindi seguono i caratteri LS per indicare il tipo (lowspeed), due cifre (es: 00) indicano in numero d’ordine e si chiude con una lettera (J, K o W) che indicala disposizione dei pin.

La dimensione di una porta è di frazioni di millimetri, grande in confronto alle misure tipiche deicomponenti interni della macchina; l’elevata dimensione serve per dare stabilità termica: i conduttoriall’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 ditensioni intermedie, il dispositivo andrebbe in uno stato non-logico. Nei datasheet delle porte logichesono specificate sigla, tecnologia, la corrente massima che il circuito può ricevere (IIL, IOL, IIH, IOH), imargini di immunità al rumore, il numero di porte che si possono ricevere in ingresso da un punto divista logico (FAN IN), il numero di porte che si possono connettere in uscita (FAN OUT), la potenza

Page 18: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 18

assorbita e il tempo di commutazione (high low e low high).

Esiste un’altra categoria di porte logiche realizzate mediante dispositivi MOS. Le porte MOSvanno 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 equindi c’è il rischio che vi siano, a potenziale sul gate nullo, delle cariche positive con conseguenteeffetto di induzione elettrica che potrebbe resettare la porta stessa. Per evitare il problema, il gate andreb-be tenuto a potenziale basso anziché nullo, oppure è possibile usare MOS a canale opposto (siliciodrogato di tipo P) in modo da contrastare la comparsa di cariche positive sullo strato di SiO2. Per averecompatibilità con i dispositivi TTL, è preferibile usare coppie di MOS di tipo diverso (N e P) detteCMOS (Complementary MOS); i CMOS infatti portano i livelli di tensione su valori positivi come nellalogica dei dispositivi TTL.

CIRCUITI LOGICI:

Passiamo adesso allo studio del circuiti logici. Identifichiamo due categorie di circuiti logici: se leuscite sono, a meno dei tempi di commutazione delle porte, contemporanee agli ingressi ed inoltre dipen-dono esclusivamente dalla contingente configurazione di ingressi si parla di circuiti combinatori, tra essitroviamo Codificatori, Decodificatori (BCD: conversione binario-digitale), Sommatori (Half o FullAdder) ecc.; se le uscite all’istante t dipendono oltre che dagli ingressi all’istante t anche dagli ingressi inistanti precedenti si parla di circuiti sequenziali, che hanno una parte puramente combinatoria ed un’al-tra puramente sequenziale; se i ritardi in un circuiti sequenziale sono identici abbiamo circuiti sincronialtrimenti abbiamo circuiti asincroni: i circuiti sequenziali sono a memoria.

Tra i circuiti sequenziali, notevole importanza assumo i circuiti Flip-Flop (ff). Essi sono infatticircuiti in grado di memorizzare un bit, rimangono infatti nello stato in cui si trovano finché un comandoesterno 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 porteNAND (o NOR) di cui 3 e 4 sono collegate in modo daformare un latch. Esaminiamo le configurazioni possibilicon clock attivo:

Come si vede dalla tabella la configurazione 1-1 non è ammissibile e la configurazione 0-0 conser-va 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 eT.

Page 19: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 19Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

I Flip-Flop MS di tipo SR sono, come si evince dalla figura, composti da due ff semplici di tipoSR. Quando si attiva il ff Master si viene a creare una configurazione (y, y ) che fungerà da ingresso peril ff Slave. L’attivazione dello slave avviene quando si disattiva il master e in uscita avremo una benprecisa 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 ingressoal master abbiamo anche le uscite dello slave (fig ?n?). Questo tipo di ff risolve in problema della confi-gurazione 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 logicifondamentali per il funzionamento di un calcolatore elettronico. Questi circuiti sono i contatori che, conopportune modifiche, implementano i registri interni del calcolatore.

Page 20: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 20

Il contatore asincrono diretto a 4 bit è rappresentato in figura. E’ un circuito sequenziale ingrado di contare il numero di ingressi.

Come si vede dal grafico, Q0 cambia stato in corrispondenza del fronte di caduta di ogni impulso etutte le altre uscite hanno una variazione quando e solo quando l’uscita del ff precedente cambia da 1 a0. Questa transizione negativa si propaga attraverso il contatore dal bit meno significativo al più significa-tivo.

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 ffsuccessivo e si realizza il conteggio verso l’alto. Se viceversa la linea Up/Down è allo stato 0, le uscite Qdi 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 deglialtri ff verso destra. Possono essere di due tipi.

Page 21: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 21Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Il registro misto monodirezionale o shift register diretto permette la lettura dell’ultimo bit e loscorrimento 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 controllatoda una linea dedicata E0 che se attiva permette lo scorrimento verso sinistra. Lo scorrimento a sinistrapuò 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.

Page 22: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 22

Il comparatore è un circuito in grado di confrontare due ingressi analogici e dare un output digitalein base all’esito della comparazione. Nel nostro caso se 1=⇒≥ outiR VVV , se 0=⇒< outiR VVV .

La Vout va a controllare il multivibratore a-stabile, un circuito la cui uscita oscilla continuamente trai due livelli logici quando in ingresso riceve un livello alto, altrimenti ha uscita nulla. L’uscita del MAcontrolla il clock del ff1 che, quando viene attivato, dà il via al contatore. Le uscite dei ff sono indirizzatesu resistenze pesate che faranno in modo che il contributo di corrente di ognuna di esse sia diverso aseconda dell’importanza del bit che rappresenta. La somma dei contribuiti alimenta un amplificatore chegenera la Vi. Quando Vi>VR il conteggio si arresterà è in corrispondenza della 4 uscite avremo i bit checompongono la conversione in digitale della VR.

Nel convertitore è presente una linea di Enable che quando viene posta a 1 dà luogo alla conversio-ne 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 fre-quenza del treno d’onda sia la massima possibile. Oppure si può lavorare con tensioni più basse possibileper far sì che il valore di regime si raggiunga prima (oppure si può aumentare il coefficiente di amplifica-zione dell’amplificatore operazionale).

Page 23: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 23Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

III. ARCHITETTURA DI UN CALCOLATORE

MICROPROCESSORE:

Per introdurre il metodo di funzionamento di un processore, cominciamo col descrivere il modo dioperare su dati e istruzioni del microprocessore Motorola 68000.

Ogni istruzione è divisa corredata di un Codice Operativo che la identifica. Descriviamo i compo-nenti 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 didecode). La Central Unit legge il codice operativo e sposta l’istruzione dove viene eseguita (fase diexecute). 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 unsegnale 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)3-5∆∆∆∆∆t = (execute)5-7∆∆∆∆∆t ≅ 10∆∆∆∆∆t

Page 24: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 24

Ad una frequenza di 5 MHz, sµ2101051

6 =••

.

Segmentando la memoria è possibile aumentare virtualmente il numero di bus del processore,migliorando le prestazioni. Successivamente si è passati al parallelismo dei microprocessori.

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 consovrapposizione delle operazioni delle due parti.

Page 25: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 25Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Vediamo il vantaggio della sovrapposizione delle operazioni:

Come vediamo si ha una ottimizzazione dell’uso del bus e un conseguente risparmio in termini ditempo.

Come visto la sequenza delle operazioni eseguite dal processore prevede in primis il fetch (prelie-vo) dell’istruzione in memoria, quindi avviene la fase di decode (decodifica) infine di execute. Il busviene occupato dalle operazioni di fetch e write/read.

La Execution Unit esegue le istruzioni, fornisce (e riceve) dati e indirizzi alla BIU ed inoltremanipola i registri generali e il registro di flag. La comunicazione tra EU e BIU (che interfaccia EUcon 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 ilcalcolo 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: ilmicroprocessore memorizza le istruzioni adiacenti a quelle in esecuzione (ovvero quelle logicamentesuccessive 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 chemantengono 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 possonoessere 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 .......................................................... TranslateCX .............................................. String operations, loops

CL ............................................. Variable shift and rotateDX ................................. Word multiply, word divide, indirect I/OSP.....................................................Stack operationsSI .................................................... String operationsDI .................................................... String operations

Page 26: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 26

SEGMENTAZIONE:

Il bus indirizzi dell’8086, a 20 bit, permette l’accesso a 220 locazioni di memoria (1 Mb). Un’istru-zione 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 comegestire tutti gli indirizzi: per ovviare a ciò un indirizzo fisico è diviso in due segmenti da 16 bit e lamemoria viene a sua volta organizzata in segmenti da 64 Kb ciascuno: un segmento è un insieme dilocazioni di memoria contigue, indipendente e indirizzabili separatamente e può contenere indirizzi, datie stack.

Quando la BIU vuole accedere alla memoria per leggere un’istruzione oppure per leggere/scrivereun 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 indirizzareutilizzando un esempio:

Base segment: 1234 (esadecimale)Offset: 0022 (esadecimale)1234H:0022H1 2 3 4 0 si aggiunge uno zero 0 0 2 2 viene sommato l’offset1 2 3 6 2 Indirizzo Fisico

Per come viene costruito, ogni indirizzo fisico può essere rappresentato da più coppie <basesegment> : <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 completamentesovrapposti con l’unica condizione che due segmenti non sovrapposti siano ad almeno 16 byte di distan-za.

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 leistruzioni

• • • • • 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.

Page 27: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 27Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

CODICE RILOCABILE:

Grazie alla memoria a segmenti il codice può essere rilocato dinamicamente in memoria: lasegmentazione rende possibile una facile implementazione indipendente dalla posizione consentendo asistemi multiprogrammabili di fare un uso efficiente della memoria. I programmi inattivi possono esseretrasferiti su disco per liberare la memoria che si rende disponibile per altri programmi; successivamenteesso potrà essere ricaricato in un altro punto della memoria: questo si può fare perché non è necessariospecificare 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 illimitatodi 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 didue 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 operazio-ni

Page 28: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 28

MEMORIA RISERVATA:

Vi sono alcune zone di memoria riservata per gli interrupt: si tratta di 128 byte nella parte bassadella 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 fasempre più utilizzo di sofisticate interfacce grafiche (GUI).

Anche risoluzioni di 640x480 pixel (VGA) richiedono un notevole sforzo computazionale per unagestione 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 è lacodifica 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 byte3. 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.

Page 29: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 29Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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 in25 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 5stadi che lavorano in parallelo (pipeline). Ogni stadio lavora su un’istruzione per ogni ciclo di clock, inquesto 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 essereeseguite 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 diclock.

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 busche 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 in8 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. Ilmicroprocessore può accedere alla memoria sfruttando delle linee del bus di controllo. Una di queste è laBHE: viene usata insieme alla linea più bassa (A0) dell’address bus per riuscire ad individuare a qualebanco di memoria accedere

Page 30: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 30

ORGANIZZAZIONE DELLA MEMORIA:

Page 31: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 31Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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 64bit.

Page 32: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 32

INDIRIZZAMENTO IN MODALITÀ PROTETTA:

Serve ad accedere alla memoria superiore al primo megabyte. L’offset indica la locazione all’inter-no 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 delsegmento, 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 indica-no segmenti usati da tutti i programmi, ed una per i descrittori locali, che indicano segmenti usati dallesingole applicazioni.

Ogni tabella contiene 8192 descrittori per un totale di 16384 segmenti di memoria indirizzabilicontemporaneamente.

Il descrittore è un insieme di 8 byte negli 80286 e successivi (una tabella di descrittori arriva a 64Kb). 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 massi-ma pari a 64 Kb; un limit a 20 bit (80386/80486) indica ampiezza massima pari a 1 Mb. Grazie all’usodel 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 segmentova 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 dellimit viene moltiplicato per 4 Kb.

Se AV è uno il segmento è disponibile; viceversa se è zero il segmento non è disponibile (è usatodal 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).

Page 33: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 33Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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 memoriacache memorizza le informazioni di un segmento del registro corrispondente.

Quando un nuovo numero è posto nel registro, il microprocessore carica i valori del descrittorenella 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 globalied 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.

Page 34: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 34

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’80486e Pentium si ha una suddivisione più fine dell’istruzione in fasi, in modo tale da aumentare e migliorare ilparallelismo:

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 micro-

processore: si dice pipeline il parallelismo asincrono (hardware) del microprocessore.

Nel Pentium il pipeline viene sdoppiato nelle istruzioni intere per cui si può avere contemporanea-mente l’esecuzione di due istruzioni per volta su due flussi.

Durante l’esecuzione le due istruzioni vengono lette, controllate e, se possibile, vengono eseguitecontemporaneamente: la prima viene mandata alla pipeline U, la seconda, se possibile, alla pipeline V (larestrizione sulla seconda istruzione sta nel fatto che il processore ha un set di istruzioni ridotto per cuiesegue istruzioni semplici).

N.B.: Il buffer di prefetching comunica con le due ALU tramite i due bus a 32 bit e sopra ilprefetching bus c’è la cache istruzioni che comunica col buffer tramite dei bus a 256 bit; la cache di IIlivello viene collegata alla BIU.

Internamente all’Instruction Prefetcher, ci sono 4 buffer da 32 byte. Ad ogni stadio diprefetching due coppie di buffer operano congiuntamente al Branch Target Buffer (BTB).

Page 35: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 35Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

In ogni istante solo un buffer richiede un prefetching.

Quando viene letta una istruzione che causa una diramazione del flusso del programma, il BTBeffettua 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 inconflitto con gli accessi ai dati. Il processore Pentium ha due buffer per la scrittura, uno per ognipipeline. 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 vengonogenerate dal processore.

Per il pipeline dei floating point (quantità in virgola mobile) ci sono tre fasi in più della pipe del-l’unità per il trattamento degli interi dovute alla necessità che le istruzioni siano convertite per poi avereuna 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 coman-di che incorporano molte piccole istruzioni per eseguire un’unica operazione).

Il RISC (reduced instruction set computing) utilizzano un set di istruzioni ridotto: questo modo diprocedere dalle microistruzioni è compattata in un’istruzione più completa. Questo processore può esserepiù veloce del CISC e ha un parallelismo a 64 bit maggiore, quindi, di quello del CISC per cui si dice cheil RISC è più scalare.

La prima tecnica di parallelismo è il pipeline (scalarità di tipo hardware). Il multipipeline è statofatto per processori sempre più potenti.

Il RISC utilizza anche la scalarità software ecco perché viene detto superscalare. La scalaritasoftware suddivide le istruzioni di 64 bit in istruzioni a 32, 16 e 8 bit da elaborare parallelamente e poiricongiungere.

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 eDMA.

Nel Polling il trasferimento dati è controllato dal microprocessore che ad intervalli di tempo stabili-ti dal programmatore, interroga tutte le periferiche del sistema per sapere se devono inviare dati o sesono 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

Page 36: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 36

di servizio). Questa tecnica viene usata quando il tempo di risposta delle periferiche è molto alto rispettoa quello di elaborazione dei dati. Comporta un hardware minimo e un appesantimento del software (ognivolta 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 me-diante un segnale di “interruzione” inviato nel control bus. Quando il microprocessore può accettare larichiesta, risponde con un segnale di accettazione (int acknowledge) sul control bus, che permette allaperiferica di collegarsi al data bus e iniziare lo scambio sotto la supervisione della routine di servizioeseguita dal microprocessore. L’interruzione del programma principale all’arrivo dell’interrupt vienecomunque fatta alla fine dell’esecuzione dell’istruzione in corso.

I microprocessori hanno al massimo due piedini di interrupt utilizzati da tutte le periferiche quindipossono 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 unaperiferica 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à degliinterrupt.

Il modulo PIC è il modulo che gestisce le priorità degli interrupt. Gli indirizzi delle varie periferi-che vengono inviati in un registro detto “Maschera delle priorità”. Il microprocessore stabilisce lepriorità a seconda delle quali la maschera delle priorità fa uscire fuori gli indirizzi (si crea una coda degliinterrupt).

Può succedere che arrivi il secondo interrupt prima che arrivi l’ack al primo: in situazioni di questotipo il secondo interrupt dovrebbe essere trascurato (controllo della qualità degli interrupt). Il circuitodi validazione degli interrupt consente o meno che un interrupt segua il suo corso e nel caso in cui ilprocessore non è pronto lo fa aspettare. Quella dell’interrupt è la tecnica più usata nel colloquio tramicroprocessore e periferiche.

Il DMA (direct memory access) viene usato quando ci sono grosse quantità di dati da trasferireverso le periferiche che rallenterebbero il microprocessore, occupato in continua lettura/scrittura sullamemoria. I dispositivi vengono messi in diretto contatto con la memoria, accedendo ai dati ed evitando dicoinvolgere 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 avvieneattraverso l’unità dei I/O e sotto il controllo diretto del microprocessore; nella tecnica di DMA si ha unaconnessione 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 datirealizzati 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)

Page 37: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 37Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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’indirizzamentodei moduli (periferiche). A12 viene usata per la selezione RAM-ROM. Le rimanenti linee vengonoutilizzate 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. Uscita3. Bidirezionale

]Il disaccoppiamento tra bus e modulo avviene attraverso una batteria di buffer three state. Questisono dispositivi che in base al valore della tensione di gate può avere impedenza nulla (se VG = 1) oinfinita (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 clockcomune. 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 eB3 e il verso di percorrenza sarà da dx a sn. Cambiando stato in C si attivano B1 e B4 e il verso è oppo-sto.

Page 38: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 38

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 inmodo 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 inferiorerispetto 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. Perovviare a questo problema, si usano schede di tipo Special X.

Per connessione remota vengono usati moduli di gestione esterna (Rete Telecom) collegati tramiteModem o attraverso moduli di rete locale. Il modem (modulator-demodulator) effettua la modulazionedel segnale da trasmettere attraverso la linea telefonica e la demodulazione dei segnali in arrivo. Ilmodem invia i dati ad alta frequenza a velocità da 28,8 Kbit/s fino a 56 Kbit/s (per la normale retetelefonica); per linea ISDN si viaggia a 128 Kbit/s ma vanno utilizzati modem specifici. Il dialogo vienegestito da protocolli di comunicazione che dovrebbero assicurare la correttezza di ogni dato e che essosia giunto a destinazione; un modem deve supportare il più ampio numero di protocolli possibile perassicurare la compatibilità. I dati vengono compressi affinché possano essere trasmessi più velocementeed in maggior numero (MNP5 e MNP10).

Inoltre un modem deve essere dotato di metodi di correzione di errore e di moduli di sicurezza.

Page 39: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 39Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

I moduli di connessione seriale sono di due tipi: UART e USB.

Il modulo UART (Universal-Asynchronic-Receiver-Transmitter) è schematizzato in figura. La presenza diregistri 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 sdoppiatie connessi in parallelo in modo che se è uno è occupato il dato viene dirottato all’altro. Avendo più registril’USB è più veloce della UART.

Lo SCSI è un protocollo di trasmissione tra macchina e periferiche che utilizza trasmissione ablocchi (molto veloce). Le varie evoluzioni sono SCSI I, SCSI II, Ultra SCSI, Ultra Wide SCSI (SCSIIII) ognuna delle quali ha un suo particolare tipo di connettore.

Page 40: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 40

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 chia-mate memorie di massa.

Le caratteristiche principali delle memorie sono: capacità di memorizzazione, numero massimo dibyte che possono essere immagazzinate nella memoria, tempo di accesso, tempo necessario per leggereuna informazione immagazzinata in qualunque parte della memoria, affidabilità. Le memorie si divido-no 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-Access-Memory).

Le memorie RAM sono poste su banchi appositi realizzati sulla scheda madre, organizzate inscheda a 168 pin o più. Ogni dato è accompagnato da un indirizzo: il parallelismo del dato è il numero dibit con il quale il dato viene codificato. La scheda madre indica tramite il numero di address bus il massi-mo numero di allocazioni di memoria disponibili.

Ogni nodo rappresenta una allocazione di memoria costituita daun numero di flip-flop pari al parallelismo del dato. L’indirizzamentoavviene 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 conuna certa capacità, per esempio 16 Mb) collegati ad un decoder. Il ruolo deldecoder è quello di assegnare un riconoscimento ai banchi e selezionare il bancodove si trova l’indirizzo richiesto. Se il numero di banchi è 4, il decoder avrà dueuscite.

Le uscite della memoria sono, come le porte di accesso ai bus, collegate adei buffer three state, mentre gli ingressi sono dotati di una batteria di latch (perpolarizzare 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.

Page 41: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 41Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

Nelle RAM dinamiche, che si usano oggi, il singolo bitdella locazione di memoria viene conservato in un condensa-tore (10-15 F) ad alto livello di integrazione, che sarà caricoper lo stato 1 o scarico per lo stato 0. Nel caso in cui ilcondensatore contenga lo stato 1 è necessario un circuito direfresh per rigenerarne la carica.

Il MOS M1 ha un pin che dà la tensione di attivazioneal gate qualora si voglia memorizzare un bit. Ormai tutte lememorie sono di tipo dinamico con frequenza di refresh paria 10 volte il clock della macchina.

Le memorie ROM sono di vari tipi. Quella in figura è una memoriaROM non programmabile. Quando esce dalla linea di produzione vieneprogrammata in modo definitivo: la programmazione avviene bruciando ilfusibile per implementare l’uno logico. Infatti se c’è il fusibile il livello ditensione va a 0 in M2 e quindi l’uscita è 0. La ROM non programmabileresta in uso solo nei custom.

La PROM (programmable-ROM) è una memoria programmabiledirettamente dall’operatore ma sempre in maniera definitiva.

Le ROM riprogrammabili vengono dette EPROM (erasable-programmable-ROM); le celle dimemoria sono costituite da MOS in cui è inserito il cosiddetto gatefluttuante: si tratta di una sacca di semiconduttore all’interno dellostrato di SiO2, in grado di polarizzarsi in maniera opposta rispettoal gate. Togliendo il gate, il semiconduttore affogato diventa ilnuovo gate.

Inizialmente si mette un gate fortemente negativo per farresistere la polarizzazione del gate affogato (12 V) per 10-20 anni(stato logico 1). Fino a qualche anno fa non si riusciva a scaricare ilgate affogato elettricamente e si operava mediante raggi UVA all’interno di camere speciali; proprio perquesto venivano protette da una placca in modo da evitare l’esposizione accidentale ai raggi UVA. Da 15anni si usano le memorie EAROM (electrically-alterable-ROM) nelle quali è possibile rimuovere lapolarizzazione 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 viruscon velocità di 160 giri/s

Sono memorie di tipo magnetico (i dati vengono conservati sotto forma di campo magneticopermanente): il disco, di materiale plastico, è ricoperto di una sostanza ferromagnetica che conserva ilcampo magnetico applicato; la cancellazione si opera applicando un campo magnetico più forte.

Page 42: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 42

Il principio fisico per la scrittura è la magnetizzazionerealizzata mediante una corrente (onda quadra) che magnetizza labobina avvolta attorno al magnete; la lettura avviene per induzio-ne magneto-elettrica: è il c.m. del disco che induce corrente nellabobina (legge di Faraday-Lenz-Newmann).

Nonostante le perdite, grazie a dispositivi elettronici conampi 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 cosiddettoatterramento del disco ovvero l’interposizione di impurità tra testina edisco; per la sua natura magnetica, la memoria potrebbe venire danneggiatadall’alta temperatura o da variazioni elettromagnetiche generate da campiesterni.

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 unaumento del numero di lettori e scrittori (avendo l’hard diskpiù di un disco) che, una volta, venivano disposti awinchester: 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 datointrinseco al disco che può essere ridotto fino a 10 microsecondi scegliendo un’opportuna architettura dicomunicazione.

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 lacapacità di memorizzazione che va da 10 a 30 Gb.

Page 43: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 43Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

MEMORIE DI MASSA A NASTRO MAGNETICO:

Nascono contemporaneamente ai computer (prima degli hard disk) allo scopo di renderetrasferibile 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 floppydisk).

Successivamente le aziende produttrici cominciarono a magnetizzare i nastri a diverse densità (da800 bit / inch fino agli attuali 12000 bit / inch) causando problemi di compatibilità potendo ogni tipoessere letto solo da uno specifico lettore.

I sistemi a nastro si chiamano streaming tape e leggono oggi nastri della dimensione di una casset-ta 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 dicopiare i file in modo seriale per trasferirli in un’altra macchina (non c’è colloquio con la cpu e non sipossono 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 dicontrollo; i problemi dei nastri magnetici sono gli stessi dei floppy disk (temperature, variazioni elettro-magnetiche, …).

Il tracciato record è un tracciato nel quale vengono stabiliti (dal programmatore) i codici di inter-pretazione dei dati usati nel nastro magnetico. Di solito vengono utilizzati i codici ASCII e EBCDICche 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 diottica. 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 primeapparecchiature furono progettate da un ingegnere italiano per scopi bellici.

Page 44: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 44

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 medicinaoppure notevole per fondere lamiere).

La frequenza del campo elettromagnetico regola il moto dei fotoni (in ogni driver CD-ROM c’è undispositivo 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 ildisco: 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 dimen-sioni 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 quellodello sfasamento (2):

1. viene inviato un debole raggio laser mentre il disco ruota: se colpisce un land non c’è rifles-sione, 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 riflesseda 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 terminaquando 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 esseredeformati 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 è ancorabassa. Tra i vantaggi rispetto alle memorie magnetiche ci sono capacità di memorizzazioni maggiori etempi di lettura rapidissimi.

Page 45: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 45Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

MEMORIE MAGNETO-OTTICHE:

Per ovviare all’iniziale impossibilità di riscrivere le memorie ottiche vennero brevettati sistemi ditipo magneto-ottici (lettura ottica e scrittura magnetica) che prevedevano l’utilizzo di sostanze dicroicheovvero sensibile a fenomeni ottici, magnetici ed elettrici (ogni asse spaziale è sensibile a un solo tipofenomeno). Le molecole di questa sostanza sono asintropicamente organizzate, ma la struttura diventaisotropa in presenza di un c.m. potendo così variare l’asse ottico implementando i valori logici di 0 e 1; ilproblema 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 siraffredda rapidamente per conservarne la struttura (il cui asse ottico, in base al suo orientamento, rappre-senta 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 diriscrittura delle memorie ottiche.

PERIFERICHE:

Sono componenti esterni alla mainboard connesse al processore tramite interfaccia I/O e si divido-no in periferiche d’ingresso (tastiera, scanner, penna ottica, mouse, tavola grafica, periferiche analogi-co-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 gestitoda 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 questopuò 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 sostanzeraggiungono, in seguito ad un aumento di energia (nel nostrocaso la causa è l’urto con il raggio elettronico), uno statoquantico superiore e nella successiva decaduta rilascianoenergia sotto forma essenzialmente di quanti luminosi. Ciò chesi ottiene è un puntino luminoso sullo schermo.

Il catodo fa partire un raggio (o più raggi per i monitor acolori) a velocità altissime: la d.d.p. anodo-catodo è di 6 KVper il b/n e fino a 50 KV per i colori. Per deviare il raggio inmodo che possa far apparire un puntino in qualsiasi punto dello schermo si utilizzano delle placchette

Page 46: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 46

(deflessione dovuta a campo elettrico) oppure si avvolge labase del tubo con una bobina (deflessione magnetica). Performare l’immagine si utilizza il metodo della trama: simanda una tensione alternata e l’informazione visiva sulmonitor si ottiene modulando in ampiezza il segnale ad altafrequenza che porta la traccia (segnale sul fondo) permarcare 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 monitornon interlacciati ovvero la traccia non è continua e si limita ad una singola riga per volta ottenendo unminor sfarfallio dell’immagine.

Le immagini si fanno scorrere a velocità opportuna che non sia troppo lenta ma che permettaall’occhio umano di poterla focalizzare (60 – 110 Hz). Un monitor che assicura un certo livello di risolu-zione a una determinata frequenza è migliore di uno che assicura la stessa risoluzione ad una frequenzainferiore. Fino ad ora abbiamo parlato di frequenza in senso teorico poiché la frequenza reale è stabilitadal controller della scheda grafica. Il controller deve adeguare la velocità di uscita dei dati del computer aquella di visualizzazione sullo schermo (è l’unico caso in cui la velocità di visualizzazione è maggiore diquella di uscita dei dati). La scheda grafica deve riuscire a inviare tutti i fotogrammi al monitor nel modopiù veloce possibile per non rallentare la prestazione complessiva; per far ciò utilizza un acceleratoregrafico 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 schedaad 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 parametrofondamentale (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 fluore-scente 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, oltread emettere onde luminose, emettono onde sullo spettro X e g dannose per chi sta vicino al monitor; lenorme che limitano queste radiazioni sono le MPR I e MPR II, e le valutazioni sono condotto dai labora-tori TCO. Per limitare questo fenomeno, maggiormente presente nei monitor a colori e dovuto ancheallo scattering, sono necessari schermi di piombo. Altri problemi sono legati ai danni che fenomeni otticicome 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 ilmonitor.

I monitor a stato solido utilizzano come pixel diodi LED che emettono un ampio spettro difrequenze 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

Page 47: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 47Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

determinata temperatura, in modo che variando la temperatura si può stabilire quali gas fare emettere. Imonitor a plasma hanno una buona visibilità anche ai limiti del cono visivo a differenza di quelli a statosolido. I monitor a matrice passiva sono quelli che hanno dietro ai pixel un gioco di filtri e specchi chearmonizzano 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 adaghi seriale, come per tutte le stampanti ad aghi, gli aghi agiscono su un nastro d’inchiostro cheviene 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) ognunadelle quali è dotata di 9-18-24 aghi. Il formato A4 ha 80 colonne, l’A3 ne ha183. Le stampanti ad aghi oggi sono utilizzate per stampa di massa su rullocontinuo e sono molto rumorose (per legge l’emissione sonora non deve supera-re 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 stampasi 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, con-servati 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 linguaggidiversi 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. Sonostampanti che riescono a stampare una linea per volta; oggi la velocità di stampa, che per le line printer simisura 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; inquest’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 a8 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

Page 48: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 48

ad aghi seriali. La stampa avviene mediante un gettod’inchiostro liquido attraverso degli ugelli collegati ad unserbatoio e posti sulla testina. La testina è costituita da unasostanza semiconduttrice in cui sono immerse altre sostan-ze: in questo modo alla testina è conferita una strutturaporosa sensibile al campo elettrico. Degli elettrodi impongouna d.d.p. ai lati della testina facendo sì che i pori della sostanza si dilatino per effetto termico e l’inchio-stro fuoriesce in maniera capillare. Le testine a colori sono costituite da gruppi di 6 ugelli che grazie acampi 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 uscireuna bolla di inchiostro che permette un miglior mescolamento dei colori (le Epson, grazie a molte centi-naia 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. Laconnessione oggi è anche tramite USB oltre che parallela.

Le stampanti laser hanno un meccanismo di funzionamento proprio (nella parte finale simile aquello di una fotocopiatrice). Un cilindro (Drum) vienecaricato positivamente durante l’inizializzazione sulla super-ficie 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 siinterpone 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 cheimprime per cottura il toner sul foglio.

Il tempo di preparazione è specificato nei datasheet ed è il tempo di carica del drum (circa 10sec).

La velocità di stampa è da 6 a 50 ppm. I vantaggi stanno nella migliore risoluzione per la scala digrigi, nell’elevata velocità e nella maggiore durata del toner rispetto alla cartuccia delle ink-jet; tra glisvantaggi abbiamo un peggioramento della risoluzione del colore visto che le polveri dei diversi colorivengono cotte anziché miscelate, inoltre il costo è sostenuto.

SCANNER:

E’ un dispositivo in grado di digitalizzare un’immagine, ovvero immagazzinarla in un file. Vennecreato per riconoscere caratteri alfanumerici ma fallì perché non comprendeva caratteri manoscritti. Ilriconoscimento del carattere era svolto da un modulo software detto OCR (optical characterrecognition). Oggi il compito dell’OCR è affidato ai Vision Systems (più costosi) di cui si parlerà inseguito.

La testina di lettura scorre sotto il vetro su cui è posto il foglio ed emette una luce polarizzata non

Page 49: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 49Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

coerente (led) che viene riflessa dal foglio e tradottada fotodiodi in corrente di intensità proporzionale alsegnale luminoso (scanner in bianco e nero). Nelloscanner a colori la luce inviata è policromatica e ifotodiodi, posti in batterie, hanno soglie di risposta afrequenze diverse ovvero si attiva in presenza dideterminati colori.

Il sensore è stato brevettato e viene venduto da un’unica casa; le differenze di prezzo sono dovutealla 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 inserisconopunti virtuali calcolati mediante algoritmi numerici ed in questo modo possiamo raggiungere risoluzionifino a 19200 dpi. Esiste anche una risoluzione hardware, peggiorativa, dovuta al passaggio attraverso lede 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 oA3. Per formati più grandi cambia il metodo di cattura delle immagini: l’immagine viene prelevata da tretelecamere poste sul foglio fino a coprirne l’intera larghezza. Le coordinate prelevate dalle telecamerecon i relativi dati vengono convertite (Vettorializzazione) in tabelle di vettori (matrici) che verrannoritradotte nell’immagine originale in fase di stampa. Il limite di questi scanner è la collimazione delleimmagini ottenute dalle diverse telecamere: piccolissimi spostamenti, sbalzi di temperatura o urti genera-no infatti sfasamenti e quindi errori di vettorializzazione. La risoluzione massima può arrivare a 8000dpi. Un’altra caratteristica di questi scanner è la rasterizzazione ovvero l’elenco delle caratteristicheprincipali del disegno (formato, zone con tracce evidenti, dati significativi) che serve per ottimizzare lavettorializzazione. I dati possono essere disposti in modo lineare oppure raggruppati secondo motivipredominanti 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 alcuneparti. 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 difunzionamento.

Il plotter piano è costituito da un piano atto a facilitare l’adesione del foglio, che può essere diformato A3 o A4. Sul piano c’è una struttura con 4-8 pennini che si può spostare lungo i due assi. Lavelocità del plotter si misura in centimetri al secondo e va da 5 a 40 (dipende dal peso del pennino e dallaqualità dell’inchiostro usato). La pressione dei pennini è una ulteriore specifica.

Il plotter a rullo si usa per fogli di dimensione A1 oA0; la larghezza del foglio è di 91 cm e la lunghezza è lamassima consentita dalla memoria disponibile. 5 aspetticaratterizzano il funzionamento del plotter:

1. Aspetto Meccanico: il rullo fa scorrere il foglio inavanti e indietro tramite una corona dentata mobile; dal punto di vista temporale il rullo è il punto deboleper 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

Page 50: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 50

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 memoriaraggiunge 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 risoluzio-ne va da 300x300 a 1200x1200 dpi.

VISION SYSTEMS:

Rappresentano l’evoluzione degli scanner ed hanno l’obiettivo del riconoscimento delle immaginifisse o in movimento.

Questi dispositivi sono a struttura logico-funzionale gerarchica organizzata in 5 livelli (o blocchifunzionali):

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 questafase 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 edettagli fatta reticolando l’immagine e prelevando da ogni “quadratino” un punto singolare, un colore, unangolo o un altro particolare e raggruppando questi dati per affinità: si ottengono così fasci di informa-zioni omogenee.

IV Livello (Description)Vengono associati dei valori ai segmenti precedentemente ottenuti e si opera la vettorializzazione (lecaratteristiche geometriche vengono implementate in matrici: una tabella conterrà tutti i valori relativi aduna particolare porzione di immagine).

V Livello (Recognition)Le matrici vengono mappate con modelli predefiniti (organizzati anch’essi in matrici) per percentuali diaffinità; è la “macchina intelligente” che opera il “riconoscimento” dopo aver confrontato con le tabellecontenute nel computer: una macchina intelligente è una macchina che contiene un certo numero di datibasilari 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 ditransputer (ciascuno dotato di sistema CUSTOM).

I sensori spazio-varianti e tempo-varianti, prodotti dalla FIAR, sono utilizzati nel riconoscimento diimmagini in movimento; hanno un’alta densità di pixel nella parte centrale e via via minore andandoverso la periferia: la zona ad alta densità serve a focalizzare l’oggetto mentre le parti a minor densità si

Page 51: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 51Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

occupano della scena.

Se l’oggetto si sposta i sensori lo seguono (spazio-varianti) in modo che la parte centrale possacontinuare a focalizzare l’oggetto mentre quella periferica osserva un’altra parte della scena; se l’oggettomuta 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 minoriperché 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:

Page 52: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 52

IV. RETI, PROGETTO DI UN SISTEMA DI ELABORAZIO-NE, 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”, mediantecollegamenti fisici o via radio.

Una macchina è gestita dal cosiddetto software di base o di sistema. Esso è costituito dal SistemaOperativo, dai Linguaggi di Programmazione, dal Software Grafico di Sistema e dal Software diRete.

Un sistema operativo moderno assorbe tutti gli altri aspetti del software di base. Un sistema opera-tivo è l’insieme di programmi che consentono la gestione di tutti i moduli interni del computer, delleperiferiche esterne e del rapporto uomo-macchina da parte del microprocessore.

Un sistema operativo è monoutente se a un solo utente è consentito di gestire il rapporto uomo-macchina; viceversa è multiutente se più utenti possono accedere al rapporto uomo-macchina.

Un sistema operativo è monoprogrammabile se consente la gestione di un solo processo o pro-gramma in contemporanea; viceversa è multiprogrammabile se permette la gestione di più processi allavolta.

Il primo livello del sistema operativo è composto dall’insieme dei programmi che stanno sullaROM in firmware (BIOS) che contengono le informazioni per l’avviamento della macchina e l’elencodelle risorse disponibili e utilizzabili dal microprocessore.

Il secondo livello è costituito dai software di gestione che vengono caricati dall’hard disk nellaRAM (File System).

La multiutenza può essere gestita in Time Sharing o mediante distribuzione delle risorseottimizzata. Il Time Sharing è una tecnica per la quale il sistema operativo distribuisce le risorse per uncerto Dt ad ogni utente; la distribuzione delle risorse ottimizzata avviene invece minimizzando iltempo impiegato per l’esecuzione dei programmi e massimizzando l’attività del microprocessore e dellerisorse utilizzate contemporaneamente.

Un sistema operativo gestisce il rapporto uomo-macchina in realtime (o interattività), quandoagisce 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. Unprocesso 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: ilpassaggio tra l’esecuzione di un processo e un altro è detta cambio di contesto. Quando il microproces-sore sospende un processo, salva nei registri tutte le informazioni utili affinché possa essere ripreso edinoltre i dati prodotti da esso fino al momento della sospensione. La tecnica che detta quale processomandare in esecuzione e quale mettere in attesa è detta sharing; viene applicata dal sistema operativo etiene in conto la priorità dei singoli processi e dei percorsi (path) da percorre in base alla dipendenza tra iprocessi in coda.

I sistemi operativi moderni contengono anche gli aspetti grafici di sistema ovvero l’interfacciagrafica ad icone. In precedenza gli input partivano da tastiera.

Page 53: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 53Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

I linguaggi di programmazione comprendono i traduttori e il linguaggio stesso ad alto livello erisiedono sull’hard disk.

I sistemi operativi gestiscono la memoria virtuale, estensione virtuale della RAM sull’hard diskche 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 funzioniben precise ed omogenee. Il modello OSI non specifica l’organizzazione interna o il funzionamento delmodello, ma solo il suo comportamento esterno.

I 7 livelli sono:

1. PHYSICAL2. DATA-LINK3. NETWORK4. TRANSPORT5. SESSION6. PRESENTATION7. 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 dimen-sione geografica di esse: le reti LAN (Local-Area-Network) sono contenute in spazi relativamente ridottied utilizzano hardware specifico; i cavi e le linee di connessione sono di lunghezza ridotta per evitaredispersioni. Le reti WAN (World-Area-Network) sono invece su scala mondiale; la connessione avvienetramite modem connessi alle linee telefoniche. E’ inoltre possibile creare LAN virtuali tra reti remotemediante 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 econnettori. 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 diprovenienza. Infine in questo livello si misura la velocità di trasmissione, ovvero il numero di bit alsecondo effettivamente trasmessi.

Al livello network vengono specificate le modalità di trasmissione dei pacchetti attraverso la rete eviene stabilito il percorso ottimizzato che dovranno seguire.

Il livello transport gestisce la connessione tra applicazioni remote, controlla la dimensione, lasequenza e il flusso dei dati; consente il recupero di eventuali errori introdotti dalla rete mantenendol’integrità sintattica del messaggio.

Il livello session gestisce il dialogo tra gli applicativi (tempo di trasmissione dei dati, ripristino diconnessioni interrotte, sicurezza e riservatezza dei dati, riconoscimento del mittente).

Nel livello presentation il dato viene adattato al formato richiesto dall’applicazione specifica che loriceve.

Page 54: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 54

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 softwaredi comunicazione indipendentemente dall’applicazione. Nelle LAN i protocolli di comunicazione sono ditipo Ethernet che garantiscono un elevato grado di sicurezza per i dati. La Novell aveva sviluppato unsoftware di comunicazione che poteva gestire una connessione tra soli due elaboratori. Oggi è statosostituito 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 sulmetodo classico del modulatore-demodulatore di tipo probabilistico (in questi casi vi è probabilità d’erro-re). 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 metododeterministico (possibilità d’errore nulla). Nelle reti ad anello con protocollo token ring, il diritto ditrasmissione viene passato da una apparecchiatura ad un’altra tramite un “gettone” (token). L’unità cheentra in possesso del gettone dispone di un tempo limitato per inviare il suo messaggio, scaduto il qualedeve 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 Rete2. Hub3. Router4. Switch5. Permutatori6. Cavi Coassiali7. UTP8. Plug9. Prese RJ4510. Modem

Le schede di rete permettono di svolgere funzioni di rete e hanno velocità da 10 a 300 Mbit/sec inbase ai cavi usati per la trasmissione (coassiali, fibre ottiche (100), UTP (300)). Sulle schede di rete nonc’è 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, produceschede 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 dicontrollo tipiche del livello data-link e qualche funzione di indirizzamento. Nel caso di rete client/serversono necessari due tipi di software: il Sistema Operativo del client e quello della rete. Il primo gestisce ilflusso di informazioni di ogni stazione verso la rete, elabora le informazioni provenienti dalla rete e allocale risorse di rete quando è necessario. Per far lavorare una stazione con client è necessario un modulosoftware, detto driver, che gestisce la scheda di rete all’interno della stazione. Il S.O. client comunica conla rete attraverso questa scheda e il driver agisce da traduttore fra i due. La scheda di rete è inseritaall’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 sulcavo. Ogni scheda di rete è dotata di un indirizzo che viene inviato sul cavo con l’invio di ogni messag-gio.

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

Page 55: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 55Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

sono bidirezionali e fungono anche da amplificatori di segnale in quanto si affievolisce a causa delladistanza. Il numero di linee in uscita può essere 8, 16 o 24; anche se è possibile arrivare a 48 linee inuscita, si preferisce usare più hub in cascata. Il cavo più usato è il cavo coassiale (RG58) con connettoreBNC, oppure la fibra ottica ed in tal caso la velocità è di 100 Mbit/sec. Le fibre ottiche trasmettonol’informazione mediante riflessione della luce lungo l’asse per effetto di specchietti che convogliano laluce lungo il cavo mantenendone integre le caratteristiche. La luce viene modulata per portare informa-zioni di tipo logico; avendo ampia banda di frequenze si usa una modulazione molto ampia per convo-gliare l’informazione su un unico canale. L’hub compie anche il monitoraggio della rete, che avvienetramite un software, installato sul server, che dà una visione geografica della rete e lo stato di tutti icomponenti. 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 manteni-mento degli indirizzi anche in presenza di una linea di comunicazione pubblica. Il router è il nodo dellaconnessione mediante il quale si può connettere due LAN remote in una unica LAN virtuale. Il routerinoltre 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à digestire più canali) a livello session. Ogni nodo della rete ha un indirizzo IP che va richiamato per attivarela 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 delserver: praticamente accende alcuni rami al fine di ottimizzare i flussi di dati verso la destinazione igno-rando i client posti nella parte disattivata.

I cavi UTP (dal nome della norma CEE che li ha standardizzati) sono costituiti da fili di rameintrecciati 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 chetrasmette i dati tra i piani; su ogni piano vi sono poi un hub per stanza che gestiscono tutti gli elaboratori

Page 56: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 56

del piano stesso. Un cavo dorsale collega i piani al server, posto a piano terra, prima del quale è posizio-nato 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 reteed un insieme (pitch panel) di prese di uscita e connettori; per i transceiver abbiamo sezione appositadell’armadio permutatore, in quanto essi sono delicati ed anche lo spostamento del cavo può crearedisfunzioni.

La velocità di una rete è di 10 Mbit/sec con cavi coassiali, di 100 Mbit/sec con fibre ottichestandard 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 cate-goria 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 unsistema 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 intabelle; deve individuare tutte le variabili; deve rappresentare tutte le esigenze dell’utente; deve tenerconto della descrizione del problema, delle esigenze logistiche: numero e posizione di risorse indispensa-bili o esplicitamente richieste dall’utente, vincoli spaziali, …

La strutturazione logica del problema consiste nella sua rappresentazione logica mediante l’uso diconnettivi logici e enunciati; vengono utilizzate le regole referenziali standard (reti di Petri, ..) e altre sonocreate.

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 realizza-zione dei software applicativi dopo avere scelto gli opportuni linguaggi.

Page 57: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 57Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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’alberodelle priorità: alla radice dell’albero c’è l’elenco delle risorse richieste dall’utente e dalle applicazioni (siahardware che software)

2. rappresentazione grafica: questa struttura viene rappresentata mediante grafi che indicano levarie connessioni.

Alberi e grafi danno una prima idea di come individuare i nodi elaborativi (stanno nelle zone doveci sono forti legami tra applicativi diversi).

Si passa poi alla fase hardware con la definizione dei nodi elaborativi: questi devono essere proget-tati 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 casosi ha un RAID), successivamente si definisce numero e il tipo dei processori a seconda che il nodo fungada server, PC, ….

Per stabilire il numero di processori si calcola il numero di microistruzioni relative ai programmieseguiti contemporaneamente e quindi il tempo di elaborazione: se il risultato è inaccettabile si aumenta ilnumero di processori.

La cache, di norma, è vincolata al tipo di processore scelto, ma può essere conveniente usare unacache grande se il volume dei dati è molto elevato e per questo motivo talvolta si sceglie di passare aduna 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; leperiferiche che scambiano grandi quantità di dati necessitano di USB o porte parallele, altrimenti si usanoporte 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 collega-mento esterno.

Page 58: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 58

STANDARDIZZAZIONE:

La standardizzazione è la disciplina che si occupa di regolare tutte le norme di tipo tecnico allequali tutti i prodotti devono sottostare e si divide in standard de jure (giudizio di esperti globali) estandard de facto (accordi tra le case produttrici).

La standardizzazione è suddivisa in 3 livelli gerarchici in ordine di estensione geografica:

- organismi internazionali (1)- organismi continentali (2)- organismi nazionali (3)

1. ISO (International Standard Organization) SCIA (comitato per l’automazione industriale) IEC (comitato internazionale elettrico) CCITT (poste e telecomunicazioni) IEEE (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 (Unione Nazionale Industriali) CEI (Comitato Elettrotecnico Italiano)

La standardizzazione si occupa dei prodotti (dalla struttura alle specifiche tecniche) e genera normein 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; adesempio:

ISO 9000 (garantisce la qualità aziendale dei prodotti)ISO 9001 (garantisce la qualità dei progetti, costruzione, manutenzione, vendita, dismissione)ISO 9002 (stessa finalità dell’ISO 9001, ma non si occupa dei progetti)ISO 9003 (si occupa dell’assistenza)ISO 9004 (si occupa dello sviluppo dei software)

Iso:L’ISO si suddivide in tre livelli gerarchici:

- Comitati Tecnici (TC) : coordinamento amministrativo - SottoComitati (SC) : coordinamento attività tecnico-scientifiche - Work Groups (WG): attività tecnico-scientifiche

Page 59: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 59Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

I principali comitati tecnici nel campo informatico sono il JTCI e TC-184 che si occupa delleapplicazioni informatiche all’industria e di cui esaminiamo la gerarchia:

1. TC-1842. 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 descrizio-ne:

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 diinterfaccia 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 sistemaall’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 è ilpiano base di una fabbrica ed esistono anche documenti di description come il FAM: modello generaledi una fabbrica; si sta lavorando anche sul CIM: Computer Integrated Manufactoring, che si dedicaall’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 altolivello)- WG4 : linguaggi di programmazione- WG5 : vocabulary

Parliamo ora più approfonditamente del SC5-WG1: il primo risultato già standardizzato comedescription (modello di descrizione), ma non come CD (risultato definitivo di un WG), è stato il FAM

Page 60: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 60

(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 based) 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’automazio-ne 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 ditutti 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 prestosaranno 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 ePLR. Negli ultimi anni, le rigide linee di produzione industriale sono state trasformate in sistemiautomatizzati più flessibili: questo tipo di produzione è assistito completamente dai computer dalla faseprogettuale alla spedizione finale del prodotto finito attraverso tutti gli stadi della produzione; questosistema si chiama CIM (Computer Integrated Manufactoring).

Parliamo ora dello STEP: si tratta di uno standard per la rappresentazione e lo scambio dei dati diun qualunque stadio del processo produttivo durante tutta la vita media del prodotto (gestisce dati atti-nenti alla descrizione e allo scambio informativo con applicazioni e programmi diversi senza l’interventoumano); 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 ammini-strativi, …). L’obiettivo è, quindi, un software unico e un database che rappresentino l’intera azienda e incui si inseriscano, in qualunque momento, tutti i programmi di tutte le fasi produttive: linguaggi come ilC consentono di dialogare con lo standard STEP.

Il linguaggio di programmazione usato nello standard STEP è l’express (di tipo dichiarativo) ed il

Page 61: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 61Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

lavoro viene effettuato in tre parti:

1. Definizione delle proprietà dei materiali2. Rappresentazione delle proprietà dei materiali3. Misure qualificanti del prodotto (si effettuano test)

Un giorno un dischetto accompagnerà ogni prodotto e ne fornirà informazioni in maniera estrema-mente 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 pro-gramma veniva eseguito.

Personal computer (stand alone, client):Numero di microprocessori: 1-2Tipo 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 DIMMInterfaccia 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 graficaISA (1)SCSI (1)

Hard disk: 10 – 40 Gb (EIDE), 9 – 18 – 32 Gb (SCSI), 5400, 7200,10000 rpm

Zip: 100 – 250 MbMemorie ottiche: CD-ROM, DVD, ...Audio: scheda audio a 64 – 128 bitAltoparlanti: 60 – 450 WattScheda video: 8 – 64 MbScheda di rete: Ethernet, Token Ring

Page 62: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

Appunti di Calcolatori Elettronici I - © A.Buscarino D. Lombardopag. 62

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-4Tipo di microprocessore: CISC (pentium, athlon, xeon) – RISC (aix, dec)Frequenza del microprocessore: 1 GHz – 1,5 GHzParallelismo del microprocessore: 64 bit per i RISC

32 bit per i CISCMemoria cache: 1 Mb – 8 Mb per i dati, 128 Kb – 512 Kb per le istruzioniMemoria RAM: 128 Mb – 2 GbInterfaccia di I/O: 2 porte seriali, 2 parallele, 2 USBHard disk: 2-4 unità da 40 GbScheda grafica: 32 – 64 MbMemorie ottiche: DVD con masterizzatoreStreaming 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 MbModem: interno o esterno, 56 K – 128 K (ISDN)

Mini-ComputerNumero di microprocessori: 2-16Tipo di microprocessore: RISCFrequenza del microprocessore: 1,8 GHzParallelismo del microprocessore: 64 bit per i RISCMemoria cache: 16 Mb per i dati, 128 Kb – 512 Kb per le istruzioniMemoria RAM: 256 Mb – 4 GbInterfaccia di I/O: 100 porte seriali, 4 parallele, USB non è ancora in usoHard disk: da 60 Gb a 160 TbScheda grafica: alto livelloMemorie ottiche: usate per editing (digitalizzazione di immagini video) ed

editoria.Streaming tape: DAT (16-32 Gb)Scheda di rete: Ethernet e Token Ring

Computer di Medie DimensioniSono 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 eHD con gli stessi permessi e priorità (quindi è una condivisione completa). Per rendere ciò possibile ci siserve di un sistema operativo complesso che è proprietario della casa e molto diverso da Windows oUnix.

Il sistema di memorie di massa è gestito in modo distribuito. Queste macchine sono usate da entiterritoriali di grandi dimensioni anche nazionali.

Page 63: Appunti di Calcolatori Elettronici I - © D. Lombardo - A ...filect.altervista.org/wp-content/uploads/2012/05/Calcolatori.pdf · Un codice è di Gray quando per qualsiasi configurazione,

pag. 63Appunti di Calcolatori Elettronici I - © D. Lombardo - A.Buscarino

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 acrearne 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.