+ All Categories
Home > Documents > COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO...

COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO...

Date post: 21-Feb-2021
Category:
Upload: others
View: 4 times
Download: 2 times
Share this document with a friend
63
Roberto Visconti COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da: COMPENDIO DI INFORMATICA ediz. CALDERINI Bologna – 1988 anno di revisione 2013 06/18 1
Transcript
Page 1: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Roberto Visconti

COMPENDIODI

INFORMATICA

CAPITOLO 3

ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE

estratto da: COMPENDIO DI INFORMATICAediz. CALDERINI Bologna – 1988

anno di revisione 201306/18

1

Page 2: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3 - ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE

In questo capitolo vengono discusse le risorse pertinenti ad un sistema di elaborazione dati.

Con il termine risorsa si intende genericamente qualsiasi elemento o possibilità, disponibilecome mezzo o strumento in un sistema di elaborazione dati , utilizzato per l'esecuzione di unprocedimento.

Un esempio di risorse sono :

la memoria centrale ; i dati disponibili per risolvere un problema ; le periferiche di input/ output ; il linguaggio di programmazione ;

e così via dicendo.

L'analisi di una risorsa presenta due aspetti fondamentali:

-quello logico, in cui viene formulata una teoria ed un modello matematico, che definiscono lefunzioni della risorsa.Questa fase prescinde dalla realizzazione hardware, e produce come risultato finale i mezzi egli strumenti per la progettazione di determinate macchine, nonche' gli sviluppi per l'ideazioneteorica di altre.

-quello tecnologico, in cui la tecnologia, facendo uso dei risultati anche di altre discipline, tracui l' elettronica, produce dei dispositivi fisici, costituenti la parte hardware di un sistema, cherealizzano in tutto od in parte i dispositivi descritti teoricamente.

Un esperto di informatica deve conoscere sufficientemente tutti e due questi aspetti dellerisorse, per cui questo capitolo e' dedicato alla esposizione relativa.

3.1 ASPETTI LOGICI

3.1.1 DEFINIZIONE OPERATIVA DI RISORSA

In questa sezione viene descritto l'aspetto logico delle risorse, cioe' quella parte di lavoro piùpropriamente intellettuale, che viene svolto per lo studio delle procedure funzionali dellemacchine.Lo stato di avanzamento di una procedura e' condizionato dalla disponibilta' delle risorse, chesono in relazione con esso.

Mediante l'insieme delle risorse S:

S = { memoria centrale, dati, periferiche …}

si eseguono le azioni di un algoritmo, attuando la fase di trasformazione progressiva dei dati diingresso (input) verso la forma finale (output).

Il conseguimento di un obiettivo definito (OUTPUT O ) e' raggiunto mediante un insiemeordinato T, costituito da una serie di trasformazioni simboliche, applicato ai dati iniziali di unproblema (INPUT I ).

2

Page 3: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Si può sintetizzare questa procedura con una relazione del tipo:

O = T ( I )

dove T viene applicato sull' insieme I per ottenere l'uscita O.

Per azione si può intendere, per quanto detto in precedenza, una coppia costituita in questamaniera:

azione = { algoritmo , esecutore }

dove:

algoritmo e' un insieme di prescrizioni in forma ordinata, sequenziale ed univocamente interpretabile, gia' descritto precedentemente nel capitolo 2;

esecutore e' la rappresentazione formale dei mezzi e degli strumenti che possonoeseguire materialmente gli algoritmi, attuandone le prescrizioni.

L'esempio più semplice di esecutore di algoritmi e' naturalmente l'uomo, quando, ad esempio,risolve una equazione matematica. Per compiere questa funzione, egli fa' uso infatti diprescrizioni e metodi, propri delle regole della matematica.

Un altro esempio è costituito da un tecnico quando esegue un progetto per disegnare lacarrozzeria di una automobile, e via dicendo.

Questa fase e' prettamente operativa, al contrario della precedente, che e' essenzialmenteteorica.

Volendo rappresentare la situazione con uno schema a blocchi esemplificativo, potremmofornire la seguente rappresentazione simbolica:

fig.3.1.1

Non necessariamente un esecutore deve essere una persona umana: gli sforzi compiuti persviluppare l' automazione tendono per l'appunto a sostituire per quanto possibile l'uomo comeesecutore materiale mediante macchine che possano svolgere tale funzione.

Un altro esempio di esecutore è, infatti, la macchina M che chiamiamo AUTOMA.Per macchina M si intende un insieme di elementi, e di relazioni che pongono gli elementistessi in collegamento tra loro, sintetizzabile in modo seguente :

M = { elementi , relazioni tra gli elementi }

L'automa rientra nella categoria delle macchine astratte, che vengono introdotte per lo studiodegli algoritmi e della computabilità.

Si tratta di modelli matematici che vengono definiti per lo svolgimento di azioni più o menocomplesse, in modo da eseguire algoritmi.

3

Page 4: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

E' da notare che, in questa accezione del termine, gli automi non sono dispositivi (cioe'hardware), ma insiemi di enti matematici (in pratica, più attinenti al software).Rimane però il fatto che, spesso, si cerca di realizzare un complesso di risorse hardware esoftware tale da realizzare concretamente una macchina od un automa.

Esistono più tipi diversi di automi, che si differenziano a seconda di particolarità caratteristiche.

Il tipo di automa che ci interessa in questo ambito e' una macchina con caratteristiche adattead una implementazione informatica.

Le macchine più adatte sono ritenute, attualmente, quelle:

deterministiche, cioe' agenti secondo una relazione causa-effetto: la stessa causaproduce sempre lo stesso effetto, a parità di condizioni. Questo rende il comportamentodelle macchine deterministiche prevedibile, conoscendo i dati di partenza.

a stati finiti, per cui l'automa può assumere globalmente un numero finito di statipossibili nel corso della esecuzione dell' azione.

4

Page 5: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.1.2 MACCHINA DI CALCOLO COME AUTOMA A STATI FINITI

Una definizione completa di automa richiede una serie di specifiche logico- matematiche cheesulano da questa trattazione, ed alle quali si rimanda per eventuali approfondimenti.Di queste definizioni ci interessa, al momento attuale, estrarre le caratteristiche essenziali dellamacchina astratta automa finito, traendo le seguenti conclusioni dalla definizione di Rabin-Scott :

-un automa finito AF e' un ente individuato dalle seguenti caratteristiche:

1) può riconoscere un alfabeto A, definito come un insieme non vuoto di oggetti, chiamaticaratteri.

2) può assumere uno stato tra un insieme possibile di stati: gli stati possibili devono essere innumero finito.

3) è possibile definire uno stato iniziale So, in cui porre l'automa all'inizio dell' esecuzione di unalgoritmo.

4) una funzione δ (“delta”) che, ad ogni coppia <stato, carattere> associa uno stato e che,avendo dominio di definizione finito, può essere rappresentata da una matrice.

Si può sintetizzare questa definizione in una relazione del tipo:

AF = { A, S, So, δ }

dove:

S = { S0, S1 , S2 , .... Sn } : n = numero finito

La rappresentazione di automi finiti avviene solitamente non per via matematico-matriciale(che e' normalmente molto complessa e poco visualizzabile) ma attraverso diagrammisimbolici, denominati:

-diagramma di transizione degli stati, per rappresentare significativamente come gli stati finitiche può assumere l'automa evolvono l'uno nell'altro;

-diagramma di trasformazione delle uscite, in cui si visualizzano le evoluzioni delle uscite, infunzione dell' evolversi degli stati.

Queste tecniche sono normalmente trattate nello studio dei sistemi e delle automazionirelative.In questo testo, data la semplicita' delle apparecchiature trattate in questa fase, potremousare la rappresentazione logico-matematica, basata sulla teoria degli insiemi.

Prendiamo ora in esame un tipo particolare di macchina deterministica e discreta: quellacapace di eseguire un calcolo. Per tale esecuzione, è necessario disporre di un esecutore, chesia in grado di compiere determinate azioni.

Per fare comprendere le azioni eseguibili all'esecutore, è necessario stabilire un linguaggio, chepotremo derivare dall' alfabeto definito come caratteristica dell' automa.

Senza addentrarci sulle proprietà dei linguaggi derivati per lo studio degli automi, passiamo adesaminare un automa che, per via della semplicità delle azioni che viene chiamato a compiere,non necessita di approfondimenti in questo campo.

5

Page 6: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.1.3 MACCHINA DI TURING

La macchina di Turing e' un automa deterministico e discreto, che deve la sua concezione almatematico inglese Alan Turing, che la formulo' nel 1936.

La macchina di Turing e' associata ad un alfabeto A del tipo:

A = { A,B,C,...Z, caratteri speciali }

dove, tra i caratteri speciali troviamo i segni di interpunzione , i numeri ed un carattereparticolare, denominato Ъ (blank) che e' il carattere corrispondente alla BARRA SPAZIATRICEdi una macchina da scrivere, cioe' lo spazio bianco.

Lo scopo dell' alfabeto è quello di arrivare a costruire un sistema di comunicazione tale dapoter elaborare e memorizzare una o più informazioni.

Questa macchina e' pensata come un insieme delle seguenti parti, messe in relazione tra diloro:

1. Una unita' di controllo UC , che controlla per l'appunto il corretto svolgimento delleoperazioni in tutto il sistema: in questa unita' sono depositate le istruzioni con cui eseguirel'algoritmo.Eseguendo il paragone con l'esecutore umano, l'unita' di controllo UC sarebbe il "cervello".

2. Un nastro N , di lunghezza illimitata, suddiviso in celle singole, in ognuna delle quali e'possibile scrivere un carattere di un alfabeto A .Turing, nel suo lavoro originale, paragono' questo nastro al "blocco per appunti" di unesecutore umano.

3. Un dispositivo di lettura/scrittura DLS , mediante il quale e' possibile scriverematerialmente il carattere sul nastro.Questo dispositivo sarebbe l'analogo della "penna" dell' esecutore umano.

4. Un dispositivo di controllo del dispositivo di lettura/ scrittura CDLS che, sotto il controllo della UC , azioni il DLS in modo da consentirgli lo svolgimento di azioni.

Le azioni che deve svolgere il CDLS sono in numero finito, e precisamente:

1. Scrittura di una informazione (opportunamente codificata) in una singola cella delnastro;

2. Lettura di una informazione contenuta in una singola cella del nastro;

3. Movimento a destra od a sinistra del DLS, corrispondente ad una singola cella.

Il DLS può spostarsi con una sola azione o di una cella a sinistra o di una cella a destra.

6

Page 7: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Una rappresentazione grafica di una macchinadi Turing (che per semplicita' verra' indicatad'ora in avanti con il simbolo mdT ) e' visibilein fig. 3.1.3.1.

Questa macchina apparentemente e' in gradodi compiere solo operazioni molto elementari:in realta', se consideriamo come operazioneglobale un insieme ordinato di operazionielementari, possiamo concludere che la mdTpuò compiere operazioni anche moltocomplesse, se non vi sono vincoli di tempostabiliti.

Fig. 3.1.3.1

Come semplice esempio, consideriamo il seguente problema:

-Dati due numeri interi m ed n , determinare il valore della somma m + n

Sembrerebbe che la mdT non possa eseguire agevolmente questa operazione, che e'facilmente realizzabile con qualsiasi calcolatrice economica. Tuttavia eseguiamo le seguenticonsiderazioni:

-lo stato iniziale del nastro (nastro vuoto) e' tale da essere distinto da qualsiasi caratterescrivibile dal DLS:-l'unita' UC può, in seguito a procedure di lettura / scrittura tramite il CDLS, controllare sescrivere o no sulla cella del nastro in esame.

Stabiliamo una rappresentazione iniziale dei dati: essi saranno rappresentati da due serie disimboli X incisi sul nastro, lunghi rispettivamente m ed n , e separati dal simbolo '+'.Ad esempio, con m=4 ed n=2, avremmo la seguente disposizione su nastro:

Fig.3.1.3.2

Definiamo, in base all'obiettivo da raggiungere, il seguente algoritmo:

1. Leggi carattere nella cella in esame2. Se e' il carattere nullo, spostati a destra di una cella e prosegui con il punto 2dell'algoritmo;3. Se il carattere non e'il carattere nullo (cioe' e' X) allora:4. Spostati a sinistra di una cella;5. Marca questa cella con il carattere speciale &;6. Spostati a destra di una cella;7. Leggi carattere;8. Se il carattere e' la lettera 'X' prosegui dal punto 6;9. Se il carattere e' il simbolo '+' allora:10. Scrivi in questa posizione una lettera 'X'11. Prosegui con il punto 6;12. Se il carattere e' quello nullo (cioe' i simboli X sono terminati), allora:13. Spostati a sinistra di una posizione;14. Scrivi il carattere speciale & in questa posizione.

7

Page 8: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Questo testo di istruzioni viene conservato nella unita' di controllo UC, che provvede adeseguire l'algoritmo per passi sequenziali.Al termine dell'esecuzione di tutti questi passi, l'automa si trovera' nel seguente stato finale,che ci rappresenta la soluzione fornitaci dall' automa stesso:

Fig.3.1.3.3

Questo stato finale ci rappresenta chiaramente un insieme finito di simboli contigui, delimitatoda due caratteri speciali &. Il numero dei simboli contenuti in questo campo sono la soluzionedel problema.Il lettore attento noterà che il passo 13 ed il passo 14 sono necessari per eliminare la presenzadi un simbolo in più, data dal segno "+", dalla somma dei simboli rappresentati.

Come si e' visto, il problema fondamentale non e' quello di fare eseguire degli algoritmi ad unamacchina di questo tipo, quanto quello di stabilire una convenzione per la rappresentazione deidati e delle soluzioni.

Analogamente, potrebbe essere sviluppato un algoritmo che svolga il seguente problema:

-dati due numeri interi m ed n , con (m > n) , calcolare la differenza m – n .

L'algoritmo potrebbe essere basato sulla cancellatura di tanti simboli m per quanti sono isimboli n, sovrascrivendo il carattere Ъ (blank) sui simboli m in eccesso, e rappresentando lasoluzione con lo stato finale del nastro.

Dagli esempi fatti, si deduce la necessarieta' di memorizzare in qualche parte dell' unita' dicontrollo UC l'insieme di istruzioni, che costituiscono in pratica il programma in base al qualefunziona la mdT.

Il principio di funzionamento della mdT e' in linea di principio quello degli elaboratoriprogrammabili.

Ogni problema complesso e' scomposto in una somma di tanti problemi più piccoli, ognunodei quali risolvibile elementarmente.

I dati sono scritti su un supporto, che ne conserva memoria, e sul quale vengono memorizzatii risultati finali (nel nostro caso e' il nastro di lettura/ scrittura).I passi dell' algoritmo vengono memorizzati permanentemente (perlomeno fino al termine dell'elaborazione) in una parte apposita, alla quale può accedere una unita' di controllo, chegoverna tutte le risorse del sistema.L'unita' di controllo verifica che tutte le operazioni vengano eseguite nell' ordine prescrittodall'algoritmo.

Si può sintetizzare il sistema macchina di Turing mdT nel seguente insieme:

mdT = { Nastro, DLS, UC, CDLS }dove:

DLS = { Lettura, Scrittura, Spostamento sinistro, Spostamento destro)

8

Page 9: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

L'automa mdT e' formalizzabile da un punto di vista logico-matematico, in modo da poteressere analizzato con maggior rigore.Una definizione più operativa ( e rigorosa) di mdT e' la seguente:

-La mdT ,funzionalmente, e' una terna:

mdT = { A, S, Q }

dove:

A = alfabeto finito, compresi i caratteri speciali.

S = { S1, S2, S3... Sn } , insieme finito degli stati dell' unita' di controllo UC.

Q = { Q1, Q2, Q3, .... Qm } , insieme finito degli insiemi che descrivono il funzionamentoistantaneo della mdT, cioe' le trasformazioni simboliche che accadono nel programma.

Gli insiemi Q sono stati denominati in questo modo perche' sono costituiti da quintuple ( 5-ple), in quanto e' possibile fissare univocamente le trasformazioni se si e' in possesso di 5informazioni congiunte in una 5-pla :

-Stato attuale al tempo t S(t)

-Simbolo osservato A(t)

-Nuovo stato DELTA(S(t), A(t-1))

-Carattere in scrittura A(S(t), A(t))

-Direzione DLS DIR(S(t), A(t-1))

Le funzioni indicate simbolicamente con DELTA e DIR, applicate a S ed a A, forniscono lo statosuccessivo ed il nuovo movimento del DLS.

Con la scrittura A(t) si intende il carattere prelevato dall' alfabeto A al tempo t (per unaoperazione di lettura o scrittura).

Il carattere in scrittura sul nastro dipende dallo stato della mdT al tempo attuale e da A(t).

Gli studi compiuti sulla mdT non sono serviti a dare indicazioni tecnologiche, vista laelementarietà di tale macchina astratta, bensì hanno avuto la funzione di verificare quando unproblema e' computabile effettivamente.Difatti, su una tale macchina, con comportamento rigorosamente deterministico e semplificatoal minimo indispensabile, e' possibile, in modo relativamente facile, rispondere al quesito:

-Dato un algoritmo risolutivo di un problema, determinare se esso fornisce soluzioni in unnumero finito di passi.

Questo fatto determina la computabilita' effettiva di problemi. Difatti, se venissero sviluppati inun numero imprecisabile od infinito di passi, potrebbero non avere soluzioni .Queste osservazioni, formalizzate sotto forma matematica, fanno sorgere una definizionefondamentale in informatica teorica:

Una funzione si dice Turing - calcolabile se esiste una mdT che la calcola

Questo fatto stabilisce che se si riesce a determinare una mdT, per quanto dispendiosa, chepossa calcolare una funzione, allora la funzione ammette la ricerca di soluzioni con un numerofinito di passi.

9

Page 10: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

La risposta al quesito sulla computabilita' di una funzione e' formulata in quella che e'conosciuta come la Tesi di Church, secondo la quale:

Ogni funzione teoricamente calcolabile e' Turing-calcolabile

E' conseguente il fatto che una procedura e' effettivamente computabile quando può essereespressa in termini di 5-ple di una mdT.

Oltre alla macchina di Turing a stati finiti, esistono altre macchine diverse, come le macchine diTuring a due nastri oppure non deterministiche.Queste macchine svolgono procedure con caratteristiche diverse, ma anch'esse eseguibili.

Se la Tesi di Church e' vera, deve essere possibile esprimere, mediante un procedimento diriduzione, una di queste macchine in termini mdT a stati finiti.Effettivamente, questa riduzione e' stata fatta, e costituisce una prova valida della Tesi diChurch.

La classe di funzioni Turing-calcolabili costituisce in realta' un piccolo insieme, paragonato aquello delle funzioni che non lo sono. Sembra apparentemente il contrario, ma solo perche'l'abitudine ed i metodi matematici ci portano quotidianamente a contatto in pratica solo conproblemi computabili.

Sono pero' moltissimi gli esempi ed i paradossi che si possono trovare in matematica, checostituiscono (perlomeno fino ad oggi) prova di funzioni non Turing- calcolabili.Un esempio di questa classe di funzioni e' dato dall' ultimo teorema di Fermat, che può esserecosi' enunciato:

-non esistono tre numeri interi tali che:

An + Bn = Cn

per n>2.

Questa relazione e' valida per n=2, poiché 32 + 42 = 52 .

La dimostrazione di questo teorema in modo generale e formale non e' stata effettuata finoagli anni 1990, e molti hanno dubitato che lo stesso Fermat lo abbia realmente dimostrato,oltre ad enunciarlo. Tuttavia, anche i tentativi in senso opposto non avevano avuto esitoformalmente positivo, nel senso che non era stato possibile ideare procedure per negare concertezza la possibilità di tale evenienza.

Usando tecniche matematiche molto avanzate ed inesistenti all' epoca di Fermat, Wiles eTaylor ne fornirono una dimostrazione nel 1994.

10

Page 11: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.2 ASPETTI TECNOLOGICI

In questa parte verranno esaminate, prima da un punto di vista elementare per nonappesantire l'esposizione, quindi con opportuni approfondimenti, i principali aspetti tecnologiciriguardanti gli elaboratori elettronici ed i dispositivi ad essi collegati, con particolare riguardo aisistemi a microprocessore.

3.2.1 COME UN COMPUTER PRENDE LE DECISIONI

Il computer per elaborare un'informazione, non deve limitarsi a compiere dei calcoli, ma inbase alla decisione del progettista deve essere in grado di scegliere delle "strade" possibili nelcorso dell'elaborazione stessa.Facciamo un esempio: se chiediamo al computer di dividere un numero per 0 per errore, ilcomputer stesso deve prendere la decisione di non farlo!

Questo tipo di "decisioni" memorizzate nell'elaboratore deve essere stato fatto ovviamente inmodo binario, cioe' il progettista deve ideare un modo, in termini di segnali elettrici, perspiegare questo fatto al computer, usando delle codifiche particolari per identificare situazionivalide e situazioni non valide.

L'elaboratore attribuisce il significato di VALIDO/NON VALIDO sempre attribuendo con i suoicircuiti elettronici i valori 1 (acceso) e 0(spento).

Una convenzione (logica positiva) molto usata scientificamente fin dal 1800 stabilisce:

1 per la condizione VERA, valida

0 per la condizione FALSA, non valida

In questo modo, il calcolatore potra' riconoscere, nel momento di decisioni, quali condizionisono valide e quali no. La condizione di dividere un numero per zero sarà contrassegnata conuno 0, cioe' verra' riconosciuta per "falsa", NON VALIDA e quindi non eseguita.

Adottando questa condizione e' possibile rappresentare in logica binaria tutta una serie dicategorie formali. Tale argomento e' oltre lo scopo di queste note, e per la sua trattazionerimandiamo a testi specialistici sull'algebra di Boole (si rimanda alla bibliografia).Vogliamo qui far brevemente presente con alcuni esempi come la semplice logica binaria possadescrivere efficacemente una situazione.

Esempio a): Immaginiamo una classe di 8 studenti, e supponiamo di voler studiare lapresenza in classe ogni giorno, usando una tabella, che chiameremo "binaria", perche' in essauseremo solo due simboli, e cioe' "0" ed "1".Un certo giorno, vogliamo segnalare sulla tabella binaria presenti ed assenti. Sono assenti ilterzo, il quarto e l'ottavo studente.Memorizzeremo tale situazione nel modo seguente:

TABELLA S1 S2 S3 S4 S% S6 S7 S8

PRESENZE O O O O O O O O

Il valore indicato con il simbolo O e' falso perché gli studenti corrispondenti sono assenti.In forma binaria, potremo rappresentare il sistema di studenti in questo modo:

1 1 0 0 1 1 1 0

11

Page 12: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Esempio b): tiriamo una boccia verso 8 birilli. Ne cadono in terra i primi 3. Qual'e' ildiagramma binario dei birilli che sono in piedi?

BIRILLI S1 S2 S3 S4 S% S6 S7 S8

IN PIEDI ^ ^ ^ I I I I I

In forma binaria, potremo rappresentare il sistema di birilli in questo modo:

0 0 0 1 1 1 1 1

Lo studio delle condizioni logiche origina regole matematiche che costituiscono l' algebrabooleana.Ora che abbiamo un'idea di massima di come il calcolatore può comprendere una "situazione",eseguiremo un ulteriore passo qualitativo in più, descrivendo le principali funzioni DIDECISIONE che vengono utilizzate in tutti gli elaboratori elettronici.

Tali funzioni servono per accomunare più segnalazioni di condizioni vero/falso, formando da piùsegnali un solo risultato finale "sintetico", secondo quanto previsto dal progettista.

3.2.2 CIRCUITI LOGICI ELEMENTARI AND - OR – NOT

La comprensione di come un computer può prendere qualcosa di simile ad una decisione e'agevolata se si ricorre alla rappresentazione a blocchi, esaminata in precedenza.

Come prerequisito per la comprensione di cio' che ci apprestiamo a discutere, e' necessarioessere convinti che:

-una informazione all'interno di un computer viaggia sotto forma di segnale elettrico;

-il segnale corrispondente a questa informazione può avere solo due valori (ACCESO oSPENTO) che abbiamo sinteticamente indicato con i valori 1 e 0;

-ad ognuno di questi valori si può far corrispondere una situazione di VERO o FALSO, comeindicato nel paragrafo 3.2.1.

E' allora pensabile di :

-introdurre un certo numero di fili, ognuno col suo valore VERO o FALSO in un blocco cheeffettua una certa funzione di decisione logica, realizzato dal progettista del computer;

-far uscire un solo filo che contiene UN SOLO VALORE di vero o falso, che rappresenta la"decisione" che prende il computer, in conseguenza della realizzazione del blocco, decisa dalprogettista.

E' questo il funzionamento, per dare una idea concreta, dei moderni impianti di antifurto, in cuile informazioni provenienti da molte parti convergono in un circuito unico che, se i segnalicorrispondenti alle informazioni hanno un certo valore, emette un solo segnale di OUTPUT cheaziona, ad esempio, una sirena.

12

Page 13: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

In sintesi, in un circuito logico semplice :

ENTRANO più FILI OGNUNO COL SEGNALE VERO/FALSO

ESCE UN SOLO FILO CON UN SOLO SEGNALE VERO O FALSO

Il nostro blocco prende il nome di "circuitologico digitale".

Il termine "digitale" ha il significato di"indicazione logica", e designaelettronicamente un circuito che fornisceindicazioni con la sua uscita, che sono inrelazione con le indicazioni che sono fornitesugli ingressi del circuito stesso.

Il termine "digit" e' spesso usato nel senso di"indicazione binaria", cioe' relativa a due statifondamentali 0 ed 1.

Di questi circuiti ne esistono costruttivamentedi vari tipi, che realizzano funzioni diverse aseconda di cio' che serve al progettista.A seconda dei casi, assumono una simbologiagrafica diversa, come indicato in fig. 3.2.2.1.

Fig.3.2.2.1

Riportiamo di seguito le proprieta' logiche dei circuiti digitali più importanti:

FUNZIONE AND Il filo C e' in segnale di vero (=1) see solo se tutti i fili entranti sono veri.

FUNZIONE OR Il filo C e' in segnale di vero (=1) sealmeno un filo entrante e' vero (=1)

FUNZIONE NOT(o Negazione)

Il filo B assume sempre il valore oppostodel filo A

FUNZIONE NAND(Negazione di AND)

Il filo C assume il valore di falso solo setutti gli ingressi sono veri

FUNZIONE NOR(Negazione di OR)

Il filo C assume il valore di vero solo setutti gli ingressi sono falsi

La discussione sull'uso dei circuiti logico- digitali non viene conclusa in questa sede, maprosegue nelle parti seguenti (particolarmente nei paragrafi dedicati ai microprocessori), inquanto costituisce uno strumento per costruire nuove conoscenze.Lo sviluppo di circuiti logici esemplificativi per la realizzazione di unita' didattiche sperimentali,utilizzabili nell'ambito di questo corso, e' illustrato in un esperimento pratico alla fine delcapitolo.

13

Page 14: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.2.3 CIRCUITI LOGICI DI PARTICOLARE IMPORTANZA EDP

I principali componenti usati nei circuiti elettronici ed impiegati negli elaboratori sono itransistor, nella versione bipolare, MOS e CMOS.I transistor, come insieme, possono realizzare molteplici funzioni logiche, alcune delle qualisono descritte nel seguito.

Un insieme di transistor, raggruppati nello stesso contenitore, viene denominato circuitointegrato.Un circuito integrato tipicamente occupa uno spazio all'incirca di pochi centimetri quadrati.Normalmente, viene racchiuso in un contenitore, che solitamente e' ceramico e di colore nero,cui spesso si fa' riferimento con il nome di "chip".

I contatti elettrici vengono portati fuori dal contenitore mediante un insieme di fili metallici dialluminio, che fuoriescono (piedini o pin). Se i contatti sono disposti su due file parallele edopposte, ai lati del contenitore ceramico, si parla di circuiti integrati D.I.L. (Dual In Line :piedini in doppia fila).A seconda della densita' di impaccamento, i circuiti integrati vengono raggruppati in classi:

-S.S.I. (scarsa scala di integrazione), che comprende i dispositivi che contengono da alcuneunita' ad alcune decine di transistor integrati su unico supporto.-M.S.I. (media scala di integrazione), che comprende dispositivi realizzati con un numero ditransistor fino a circa alcune centinaia.-L.S.I. (larga scala di integrazione), per integrati contenenti un numero di transistor di alcunemigliaia.-V.L.S.I. ('very large' scala di integrazione), per dispositivi con fino a parecchie decine dimigliaia di transistor.-S.L.S.I. (super larga scala di integrazione), in cui i transistor possono arrivare anche ed oltreal milione per chip.

I principali circuiti che interessano il tecnico informatico sono i seguenti:

LATCH : dispositivo usato per la memorizzazione temporanea durante una elaborazione. Nellasua forma più semplice, il latch può essere pensato come un insieme di flip-flop elettronici ditipo SR, affiancati a memorizzare in modo permanente uno stato corrispondente ad un insiemedi impulsi.

BUFFER : memoria tampone in cui vengono scritti dati in forma binaria, solitamente dotata diamplificazione in corrente, con cui può alimentare in uscita dei dispositivi che normalmentenon potrebbero venire alimentati.Un buffer può essere costituito concettualmente come un flip-flop elettronico, cui sia collegatoin serie un dispositivo amplificatore non invertente oppure invertente (ad esempio una portalogica NOT).

CACHE : memoria dati di transito di tipo RAM di salvataggio temporaneo, cui si accedefrequentemente o si e' avuto accesso recente, di piccola dimensione (tipicamente 512 kb).La cache si trova tra la memoria centrale e il microprocessore. Nella cache viene mantenutauna copia delle informazioni più richieste della memoria centrale. Se il processore cerca undato, cerca innanzitutto nella cache di primo livello, poi in quelle di secondo e terzo livello (sedisponibili), solo a questo punto nella RAM di lavoro e infine nei dischi rigidi (tramite gliswapfile). Mediamente, l'operazione di lettura viene accelerata di molto.

14

Page 15: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.3 ARCHITETTURA DEI SISTEMI DI ELABORAZIONE DATI

Un sistema di elaborazione dati consiste in un insieme di parti collegate tra loro, costituite daiblocchi visibili in fig. 3.3.1.

Fig.3.3.1

In esso distinguiamo le seguenti parti funzionali principali:

-UNITA' DI CONTROLLO (U.C.) : si tratta di un insieme di circuiti aventi la funzione digovernare tutte le attivita' del sistema. Ad esempio, una delle sue funzioni e' quella di farsvolgere correttamente l'esecuzione di un programma, o controllare lo scambio di dati con unaperiferica esterna. In inglese è abbreviato con CU (Control Unit).-UNITA' LOGICO-ARITMETICA (U.L.A.) : e' un blocco di circuiti progettati per realizzareoperazioni di tipo aritmetico - numerico, come i normali calcoli scientifici, e logico-decisionali,come le operazioni previste durante lo svolgimento di un programma, su controllo della U.C. Ininglese è abbreviata con ALU (Arithmetic Logic Unit).-MEMORIA di lavoro e di massa : insieme di dispositivi atti a contenere in modopermanente informazioni rappresentate sotto forma di segnali elettrici. La scrittura e la letturadi queste informazioni avviene sotto il controllo della U.C.-UNITA' DI INGRESSO / USCITA (I/O) : insieme di interfacce e dispositivi che consentonodi far entrare od uscire dati nel sistema, tramite un insieme di fili o connessioni elettrichechiamate genericamente BUS.

Questa struttura di massima e' propria, nelle sue linee generali, sia a quella di un grandeelaboratore, come ad un micro- computer. Tuttavia, la realizzazione dei moderni dispositivi dicalcolo prevede l'impiego di unita' speciali, costruite con lo scopo di integrare in un unicocomponente due dei blocchi illustrati nello schema di fig. 3.3.1.

Nei primi anni 1970 fu progettato il MPU (Micro Processor Unit, unità a microprocessore),con l'obiettivo di riunire in un solo blocco due unita':-Unita' di controllo-Unita' logico-aritmetica

Si trattava di un nuovo tipo di componente, derivato dei circuiti integrati elettronici, che feceprevedere fin dal suo nascere un larghissimo impiego, grazie alla sua flessibilita'.Cercheremo di fornire per sommi capi le cause notevoli che generarono il microprocessore.Partiamo dal fatto che l'elettronica digitale e' impiegata per soddisfare più esigenze, che vannodal calcolo matematico ai controlli di processo industriale, al progetto assistito con il computer,e cosi' via.

Diverse sono le esigenze del tecnico che chiede al suo computer di effettuare tipi ben precisi dielaborazione scientifica da quelle del commercialista per cui ha più importanza la capacita' di

15

Page 16: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

gestire problemi contabili.Si può dedurre che, volendo soddisfare le richieste di ogni possibile utente di un prodotto, e'necessario produrre un apparecchio diverso per ogni classe di utente, e quando questo numerodiventa abbastanza alto, si pongono dei problemi non indifferenti alla produzione stessa.Ci si e' percio' orientati verso una struttura flessibile che, invece di essere fissa come uncircuito elettronico usuale, possa divenire programmabile dall'esterno in modo tale da poteressere utilizzabile, col solo cambio del programma, sia dal tecnico che dal ragioniere.

Il "microprocessore" e' in pratica la risposta a questi problemi, poiche' e' una specie di minicentrale di elaborazione che può essere programmata dall'esterno.Il microprocessore può quindi sostituire un certo insieme di circuiti elettronici tradizionali.Allo stato attuale delle cose, questa sostituzione e' conveniente se il numero dei circuitielettronici integrati da sostituire va da circa 15 a circa 70 ed oltre.

Una architettura di sistema come quella di fig. 3.1.1 è conosciuta nella letteratura tecnicacome architettura di Von Neumann, ed è propria, con le opportune differenze, anche disistemi non a microprocessore come UNIVAC, DIGITAL VAX11, ed assimilati.

16

Page 17: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.3.1 IL MICROPROCESSORE

Il microprocessore e' conosciuto nella letteratura tecnica anche con i nomi

M.P.U. (Micro Processor Unit)

C.P.U. (Central Processing Unit)

Esso e' contenuto in un blocchetto ceramico di pochi centimetri quadrati.A differenza dei circuiti integrati usuali, non può funzionare da solo, ma necessita per il suofunzionamento di altri circuiti elettronici, la cui scelta dipende molto dalle esigenze dell'utente.Il C.P.U. rappresenta praticamente la parte indispensabile senza la quale e' impossibile ilfunzionamento di sistemi di elaborazione dati, in quanto sovrintende a tutte le operazioni chevengono svolte in essi. In pratica, è l’unità centrale di elaborazione. Alloggiata sulmicroprocessore, dirige e controlla ogni attività del computer e coordina le attività di memoriae delle unità periferiche, oltre ad eseguire tutte le operazioni aritmetiche e logiche relative adesempio ad un programma che si sta eseguendo. Tutte le operazioni sono eseguite in bit (0 e1), che è l'unico segnale comprensibile da un sistema elettronico come un computer.Le parti base che compongono la CPU sono: la CU, la ALU e i registri.

Passiamo a descrivere in sintesi quali tipi di operazioni possono essere svolte dal M.P.U.:

1) - operazioni aritmetiche: somma, sottrazione, moltiplicazione, eccetera.2) - operazioni logiche: funzioni booleane AND, OR, NOT.3) - operazioni di ingresso/uscita dati: mediante impulsi elettrici fa' comparire sulle unita' diuscita, che potranno essere terminali video e stampanti, i risultati di calcoli o delle operazionivolute, oppure li trasferisce dall'unita' di ingresso (tastiera) all'interno del microelaboratore.

Il microprocessore assolve tutte queste funzioni grazie alla sua capacita' di essereprogrammabile.Programmare un microprocessore significa fornire un certo numero di istruzioni, che mettonola C.P.U. in grado di risolvere un determinato problema.

Un microprocessore dispone di un proprio set di istruzioni ( o insieme di istruzioni).A titolo esemplificativo ne riportiamo alcune tratte dal set di istruzioni del CPU Z-80 SGS-ATES:

Istruzione Codifica binaria

"arrestare il procedimento" 0 1 1 0 1 1 1 0

"eseguire l'addizione" 0 1 1 0 0 0 0 1

Ogni volta che e ' necessario eseguire qualcosa, sia essa operazione aritmetica, logica o dicontrollo, attraverso l'operazione di programmazione delle istruzioni da eseguire si danno aicomplessi circuiti interni del MPU opportune configurazioni, che realizzano l'operazionedesiderata : il tempo medio necessario per tale operazione e' dell'ordine dei microsecondi equesto tempo e' definito dal generatore di clock, che regola tutta la cadenza di operazioni cheavvengono nel microcomputer.

Per quanto visto finora, si può riassumere il procedimento di funzionamento operativo di unmicrocomputer in questo modo:- All'interno della ROM si trovano codificate un certo numero di istruzioni, identificate da 8 o dapiù bit.- L'operatore batte sulla tastiera, nella sequenza stabilita dal programmatore, le istruzionidesiderate.- A fine battuta, il M.P.U. rimane in attesa, utilizzando segnali opportuni dei dati in ingressoche deve elaborare.

17

Page 18: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

- I dati vengono scritti dall'operatore nella RAM mediante tastiera od altre tecniche diacquisizione dati cui sarà accennato in seguito.- Il C.P.U. fara' partire il calcolo mediante un segnale di RUN situato dopo l'ultimo dato diingresso: utilizzando gli indirizzi fornitigli dall'esterno, "legge" le istruzioni dalla ROM (nel sensoche assume sequenzialmente nel tempo delle configurazioni opportune e diverse tra loro)quindi "legge" dalla RAM i dati da elaborare ,manipolandoli ed eseguendo operazioni tra di loro.- Durante queste operazioni ci potranno essere dei risultati intermedi che dovranno essereriutilizzati in seguito: allora il C.P.U. li trascrive in locazioni libere della RAM, utilizzandola come"lavagna" durante il calcolo; tutte queste operazioni vengono sincronizzate dal generatore diclock per ottimizzare l'affidabilità di tutto il sistema.Arrivato al risultato finale il C.P.U. si pone automaticamente in condizione di poter gestire,mediante segnali elettrici sui BUS, opportune unita' di uscita come stampanti o altre,emettendo quindi i risultati stessi. Il pilotaggio di queste unita' non viene effettuatodirettamente, bensì si impiegano circuiti detti di "interfaccia". Analogamente, la stessa cosaavviene per le unita' di ingresso.

Ricapitolando, distinguiamo due diverse fasi di operatività di un microcomputer:

1) Procedimenti per porre l'elaboratore in stati appropriati all'uso che se ne vuol fare (fase diprogrammazione)2) Ingresso dei dati da elaborare, sotto forma di segnali elettrici, con uscita dei risultati sudispositivi opportuni (fase di elaborazione dati).

E' chiaro che per funzionare correttamente la M.P.U. deve possedere, all'interno del suosistema, un posto dove sono scritte le istruzioni ricevute dall'esterno, cioe' dall'operatore, eche costituiscono il programma.Queste sono immesse in codice elettrico: quando viene battuto un codice sulla tastiera, ad ognisequenza di simboli della tastiera deve corrispondere all'interno del sistema una serie di "1" edi "0" che costituiscono l'istruzione da eseguire.

In definitiva, possiamo indicare quali parti minime sono necessarie per configurare un sistemadi componenti elettronici come microcomputer ( o personal computer):

- Microprocessore: serve ad eseguire tutte le operazioni logico- aritmetiche viste inprecedenza, e come unita' di controllo del programma, nel senso che provvede alla giustaesecuzione di esso.

- Memoria elettronica, in cui siano contenute tutte le istruzioni in corrispondenza ad ognibattuta di tasti effettuata e nella quale la CPU va' a "leggere" quali istruzioni corrispondono adogni sequenza di battuta in ingresso.

- Memoria elettronica, in cui il microprocessore memorizza i risultati intermedi a mano amano che effettua i calcoli richiesti e dei quali ha bisogno per proseguire i calcoli stessi.Le memorie, data la loro grande diffusione tecnologica, saranno riprese e trattate piùdiffusamente nel seguito.

- Unita' di ingresso/uscita opportune: potranno essere nel primo caso lettori perforatori dischede o tastiere, nel secondo terminali video, stampanti di linea, displays o altro ancora.

Uno schema a blocchi orientativo di un sistema impiegante microprocessore (microcomputer)e' stato già visto in figura 3.3.1 .

Si nota che queste parti sono quattro: esse "comunicano" tra di loro mediante connessioni(elettriche) che trasferiscono segnali elettrici da un punto ad un altro del sistema stesso.Queste "connessioni" prendono il nome di BUS (CANALI con termine italiano) e rappresentanoi canali di comunicazione elettrici tra le varie parti del sistema stesso.

18

Page 19: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

La freccia a due punte sta' a significare che i segnali elettrici possono passare nei due sensipossibili tra le due parti interessate, mentre la freccia ad una punta indica che segnali elettricipossono passare solo nel senso indicato.

Il funzionamento del sistema si completa con il CLOCK , costituito da un generatore di impulsi,con frequenza orientativa di 3 Ghz ed oltre.Si pensi al clock come ad un segnale cadenzatore, che serve a sincronizzare fra di loro tutte leoperazioni che avvengono nel sistema.Dalla frequenza del clock dipende molto la velocita' con la quale vengono eseguite le istruzioni:in genere, per eseguirne una, occorreranno un certo numero di cicli di clock. Quanto piùgrande e' il periodo del clock, tanto più alto sarà il tempo richiesto per eseguire una istruzione.Poichè un programma non è altro che un insieme (molto grande) di istruzioni, tanto maggioreè il clock, tanto più brevi saranno i tempi di esecuzione dei programmi.

3.3.2 ARCHITETTURA INTERNA DI UN MICROPROCESSORE

Si vogliono qui dare dei ragguagli essenziali sulla struttura interna di un microprocessoreesemplificativo di uso generale.

L'obiettivo di queste note non e' quello di discutere dettagliatamente la struttura hardware diun microprocessore, per la quale si rimanda ai manuali dei produttori testi specializzati, maquello di fornire le informazioni essenziali per programmare questo componente in linguaggiomacchina. La programmazione in linguaggio macchina e' descritta sinteticamente nelsuccessivo capitolo 4.I concetti che sono alla base della programmazione di un microprocessore qualsiasicostituiscono uno strumento valido per la programmazione sia in linguaggio macchina che inlinguaggio ASSEMBLER di qualsiasi sistema informatico.

La comprensione della struttura di massima di un microprocessore può essere sintetizzata nellaconoscenza di due aspetti tecnici fondamentali:- le connessioni hardware con il mondo esterno, utili per la corretta comprensione delleistruzioni di I/O;- la struttura funzionale interna, in cui sono evidenziate a blocchi le funzioni dei principalidispositivi interni della unita' di controllo U.C. e dell' unita' logico-aritmetica U.L.A.

CONNESSIONI HARDWAREDa un punto di vista fisico, il dispositivo CPU si presenta come un blocchetto ceramico con unaserie di terminazioni chiamate pin mediante le quali si innesta in uno supporto (saldato sullascheda madre) chiamato SOCKET. Esistono vari tipi di socket.

Raccogliendo in modo omogeneo questi pin, otteniamo un primo schema di principio visibile infig. 3.3.2.1.a . In esso, notiamo:-una serie di pin riservati all' alimentazione di tipo single-ended (con tensioni elettrichetipicamente di +5 V) e massa elettrica (GND);

-una serie di pin con la funzione di DATA BUS, per la manipolazione di dati. Tanto più grandeè il data bus, tanto maggiore è la capacità del sistema di gestire dati complessi. In figura sonoesemplificati un MPU con parola DATI a 8 bit ed un altro con parola DATI a 16 bit, evoluzionedel precedente). I pin del DATA BUS sono elettricamente equivalenti l'uno all'altro, costituendoun unico insieme che trasporta un unico dato complessivamente.

-una serie di pin riservati all' ADDRESS BUS, per l'invio al resto del sistema degli indirizzi dimemoria generati dalla CPU. Determinano la capacità di massimo indirizzamento diretto del

19

Page 20: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

microprocessore: se sono in numero di n , allora la capacità di indirizzamento massimo delsistema C è data da:

C = 2 n

Ad esempio, se n = 32 , allora C = 4096 MB = 4 GB di memoria complessivi. Con'trucchi' di programmazione si riesce a superare talvolta questo limite, quando serve.I pin del ADDRESS BUS sono elettricamente equivalenti l'uno all'altro, costituendo un unicoinsieme che trasporta un unico indirizzo complessivamente.

-una serie di pin riservati al CONTROL BUS, che permettono il governo del sistema da partedella CPU ed il controllo della CPU da parte dell'utente.

-un pin riservato al segnale di clock, costituito da una forma d'onda quadra con duty- cyclespecificato dal costruttore. Tipicamente, la frequenza del clock e', con riferimento alle versioniINTEL i7 ed AMD Phenom, di circa 3 Ghz con possibilità però di doppio (dual core) o quadruploprocessore (quad core) sulla stessa scheda madre.

Il CONTROL BUS, a differenza degli altri due BUS, non e' un insieme omogeneo di segnali dicomunicazione, e può configurarsi in diversi modi a seconda delle necessità dellaprogrammazione. Il numero dei pin è variabile, ed in genere NON sono equivalenti l'unoall'altro, svolgendo funzioni anche molto diverse tra loro.

Fig. 3.3.2.1

STRUTTURA FUNZIONALE INTERNA

Nello schema di fig. 3.3.2.1 sono visibili i blocchi essenziali che compongono la strutturainterna di un microprocessore, quale potrebbe essere un processore. In esso notiamo:

-UNITA' DI CONTROLLO (CU), che regola, cadenzata dal segnale di clock, l'avvenire in correttasequenza di tutte le attivita' che si richiedono al sistema.-UNITA' LOGICO-ARITMETICA (ALU), in cui sono contenuti i circuiti che, configuratiopportunamente dalle istruzioni dei programmi, effettuano le operazioni aritmetiche e logiche,come visto in precedenza.-SCRATCH-PAD principale, in cui sono raggruppati registri di memoria RAM, di cui i principalisono denominati A (accumulatore), B (contatore), C, D: a seconda del microprocessore, ce nesono altri ancora.

Se operanti a 16 bit (2 Bytes) terminano per convenzione con la lettera X: AX, BX, CX, DX. Sevengono usati come registri a 8 bit si suddividono ognuno in due registri a 8 bit e prendonoconvenzionalmente i nomi: AH, AL, BH, BL, CH, CL, DH, DL.

Questi registri, costituiti da memoria R.A.M., sono usati dalla U.C. come "blocco per appunti" o,

20

Page 21: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

con termine inglese, scratch-pad, per scrivere e leggere informazioni di vario genere e natura.

Un registro assume particolare importanza: l'accumulatore A e' partner fisso di tutte leoperazioni che vengono svolte mediante l' U.L.A. (cioe', per fare una somma di due numeri,uno di essi deve essere scritto nell'accumulatore A).

Il registro FLAG, contenuto anch'esso nello scratch-pad, ha il compito di registrare, istante peristante, lo stato del microprocessore durante il corso dell'elaborazione. Per questo motivo, inalcuni processori e' chiamato anche PSW (program status word), o registro STATUS.Nello schema di fig. 3.3.2.2 b) è compreso nella EU, insieme alla CU ed alla ALU.Il registro FLAG, ad esempio, e' in grado di segnalare se l'ultima operazione ha dato comerisultato zero oppure no, se l'ultimo numero elaborato e' positivo o negativo, e cosi' via.Per far cio', il registro FLAG dispone di 8 o 16 bit (non tutti impiegati) che hanno il compito disegnalare, con il loro valore, lo stato del microprocessore.Descriviamo brevemente alcuni di questi bit del registro FLAG:

S = SEGNO : segnala se l'ultimo byte su cui e' stata effettuata una operazione e' positivo onegativo. Si pone a 1 per valori negativi, 0 per valori positivi. Il segno e' il bit più a sinistra(MSB) del byte. Z = ZERO : segnala se l'ultima operazione svolta ha dato come risultato 0(Z=1, inteso in senso logico "Zero verificato") oppure un qualsiasi valore diverso da 0 (Z=0,inteso in senso logico "Zero non verificato").

H = HALF-CARRY : riporto su nibble, indica se c'e' stato riporto dal nibble meno significativo alnibble più significativo. E' utile per scrivere programmi di codifica in codice BCD.

P/V= PARITA' / OVERFLOW : e' un flag a due significati, a seconda del tipo di istruzione che loha modificato. Se l'istruzione e' di trasferimento dati, funziona come controllo di parita'. Sel'istruzione e' aritmetico- logica, funziona come indicatore di overflow, cioe' di trabocco dal bitdi peso 6 al bit di peso 7 dell' ultimo byte elaborato. E' utile nelle operazioni con segno (il bit dipeso 7 in questo caso e' il segno).

N = SUBTRACT : indica se l'ultima operazione logico-aritmetica e' stata una sottrazione (N=1)oppure no (N=0).

C = CARRY : indica il riporto eventuale che può esserci oltre il bit di peso 7 dell' ultimo byteelaborato, ad esempio dell' accumulatore. Se C=1, vi e' stato riporto oltre il bit di peso 7,altrimenti (C=0) non vi e' stato riporto.

Non tutte le istruzioni modificano lo stato del FLAG, come ad esempio le istruzioni ditrasferimento dati. E' necessario consultare il manuale del costruttore per verificare che ilregistro FLAG sia modificato oppure no da una certa istruzione.

Il registro FLAG riveste una importanza notevole per il programmatore in linguaggio macchina,in quanto le condizioni per effettuare salti condizionati lungo l'arco del programma vengonoscelte proprio tramite lo stato del registro FLAG.

-SCRATCH-PAD alternativo, costituito in modo esattamente eguale a quello principale. Entra infunzione come riserva, quando deciso dal programmatore.-REGISTRI INDICE, denominati IX ed IY, ambedue a 16 bit, usati per indirizzare dati raccolti informa di lista.-STACK POINTER, denominato SP, a 16 bit, mediante il quale viene gestito l'indirizzamentodello stack, come visto nelle strutture dati per le pile (o stack).-PROGRAM COUNTER, denominato PC od anche IP (INSTRUCTION POINTER), nel quale vienescritto volta per volta l'indirizzo della prossima istruzione da eseguire durante il programma.-REFRESH REGISTER, denominato R, che gestisce la procedura di rinfresco delle memoriedinamiche, mediante l'emissione di indirizzi di locazioni di memoria, ed opportuni segnali.-INTERRUPT REGISTER, denominato I, che contiene la parte più significativa dell' indirizzo

21

Page 22: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

della subroutine di asservimento di un interrupt mascherabile, quando esso avviene nel modo2 previsto dal costruttore.

Il nome dei registri o la lunghezza in bit possono variare a seconda della MPU (in genere lalunghezza in bit aumenta con la potenza del MPU), ma le funzioni rimangono essenzialmente lestesse.In fig. 3.3.3.2 è visibile l'architettura di massima del processore Intel PENTIUM; che harappresentato una svolta per la diffusione dell' informatica a livello di personal computer.

Fig.3.3.3.2

Rispetto alle strutture precedenti, che sono comunque presenti nei blocchi costituenti ilPentium, notevoli miglioramenti furono rappresentati dalla FPU (Floating Point Unit pereseguire i calcoli in virgola mobile), doppia ALU, uso di memorie cache per accelerarel'eseczuione di codie (programma) e scambio dati attraverso i BUS di sistema (DATA,ADDRESS e CONTROL BUS), l'unità di previsione dei salti di istruzioni da effettuareeventualmente nel corso dell' elaborazione ed il prefetch, cioè la tentata previsione dellaprossima istruzione da eseguire sulla base di quello che è stato elaborato in precedenza.

La conoscenza dell' architettura interna del sistema e' necessaria anche al programmatore chenon progetta hardware, in quanto la scelta delle istruzioni più adatte nei linguaggi macchina e'fortemente legata ad una sufficiente conoscenza del funzionamento del dispositivo hardware.Maggiori dettagli, orientati verso la programmazione in linguaggio macchina ed in assembler,verranno date nel capitolo 4, nella sezione dedicata allo sviluppo del software orientato allamacchina.

22

Page 23: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.3.3 CARATTERISTICHE DI UN SISTEMA A MICROPROCESSORE

Le caratteristiche fondamentali di tutti i tipi di microprocessori sono tipicamente:

1) la velocità di esecuzione delle istruzioni2) la capacita' di elaborazione dati3) la gestione delle unita' ingresso/uscita

La velocità di esecuzione dipende dalla struttura fisica delle CPU e dal clock. Tanto più il clocke' elevato, tanto più (approssimativamente) e' veloce il funzionamento del microprocessore.Come ordini di grandezza, si va' da 32 a 64 milioni di operazioni al secondo.La capacita' di elaborare dati si identifica in pratica con il numero di bit coi quali si può formareun indirizzo od una informazione di memoria.

Fig. 3.3.2.3

La capacita' di avere molte istruzioni e' tanto più alta quanto più alto e' il numero di bit checompongono il BUS. I bit usati per fare parte di una informazione (dato) prendono il nome diPAROLA.A titolo informativo, il CPU Intel Pentium 4 lavora con parola ad 16 o 32 bit, il CPU Intel i7lavora con parola a 32 o 64 bit. Uno schema di principio di come sono stati configurati iprocessori Intel di classe Core-2 e Core-i per potenziarli è visibile in figura 3.2.3.3.FSB (Front Side BUS) è un nome alternativo per i bus dati ed indirizzi, e collega la CPU al restodell'hardware attraverso uno o più circuiti integrati montati sulla scheda madre (chipset) che,di solito, è diviso in due sezioni: northbridge e southbridge. A questo, poi, si collegano tuttigli altri bus della scheda madre, come il bus PCI e il bus AGP. Questi bus secondari, di solito,hanno una velocità che dipende dal FSB e non sono necessariamente sincroni ad esso.Il FSB è il bus delegato a trasportare i dati tra la CPU e il northbridge.La banda (o throughput teorico massimo) del FSB viene determinata moltiplicando i byte dellaparole del processore per la frequenza di clock (cicli al secondo) per il numero di data transferad ogni ciclo. Ad esempio, un sistema con processore a 32 bit (4 byte), FSB a 100 Mhz e 4trasferimenti a ciclo si ha una banda di 4 (byte) x 100 (FSB) x 4 (tc) = 1600 megabyte alsecondo (MB/s).Molti produttori al giorno d'oggi descrivono la velocità del FSB in megatransfer al secondo(MT/s) e non in megahertz, accorpando l'informazione di frequenza con quella di data transfera ciclo.

In conclusione, la lunghezza della parola da' ragguagli immediati sulla capacita' di avere molteo poche istruzioni e quindi di poter elaborare più velocemente i dati.

23

Page 24: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

A seconda della parola, i CPU si sogliono distinguere in:

1) CPU con parola più piccola: possiedono un numero di istruzioni relativamente limitato,bassa velocita' di esecuzione e gestione terminali poco sofisticata. Vengono impiegati instrumentazione digitale, nei controlli di pompe di benzina automatizzate, come verificatori dicarte di credito, parti di terminali complessi, e sistemi in genere in cui e' importante il bassocosto.

2) CPU con parola più grande: hanno numero di istruzioni, velocita' di esecuzione e gestionedei terminali notevolmente superiore. Sono caratterizzate da altissime velocita' difunzionamento, set di istruzioni molto esteso, capacita' di gestire grandi quantita' di memoria.

Abbiamo applicazioni:

- a carattere scientifico: sistemi con funzioni particolari per ricerca e sviluppo in laboratorio,che vanno a sostituirsi ai grossi elaboratori di alto costo usati tempo addietro; terminali"intelligenti", ossia in grado di "prendere" decisioni durante la fase di elaborazione, elaboratoriprogrammabili; workstation grafiche con capacita' di alta risoluzione grafica e colore;supermini- computer;

- a carattere tecnico: apparecchi per analisi cliniche in luogo fisso ed a distanza, , controllo diprocessi industriali e di macchine utensili, navigazione aerea automatica, strumentazionedigitale (compresi gli apparecchi data-logger), progettazione assistita con il computer;

- a carattere generale (general purpose): gestioni amministrative e contabili, regolazione deltraffico urbano (semafori automatizzati), grafica computerizzata per l'analisi di un territorio,attivita' didattiche come l'apprendimento guidato dal computer, eccetera;

Infine per quanto riguarda la gestione delle unita' di ingresso/uscita dei dati, diremo che unaCPU, per tramite di opportuni circuiti di interfaccia, può pilotare volta per volta più tipi diversidi unita': orientativamente si va' da minimi di una decina circa di unita' diverse a massimi dianche di centinaia di unità, con tecniche di rete locale.Questo significa che un microprocessore può scegliersi, per visualizzare i suoi risultati, unaqualsiasi tra molte unita' anche diverse (terminali video, stampanti, eccetera).La trasmissione dati può essere fatta anche a distanza, mediante dispositivi quali le reti remote(come Internet) via cavo telefonico o linea similare (linea dedicata).Per l'ingresso dei dati, sappiamo che la CPU lavora con livelli digitali, cioe' ai suoi ingressidevono comparire sequenze di "1" e di "0": tuttavia, questo non rappresenta una limitazione,poichè in commercio si trovano dei dispositivi che convertono una tensione qualsiasi in unaserie equivalente di bit(convertitori analogici-digitali).Collegando all'ingresso di questo dispositivo un trasduttore qualsiasi (tastiera, sensore,fotocellula, eccetera), potremo convertire una grandezza fisica in un certo numero di bit e fareacquisire questa misura direttamente al CPU.

Ciò sarà possibile in assenza di operatore umano, automatizzando in questo modo misure econtrolli in condizioni non indicate per l'uomo. I risultati possono essere usati sia come dato davisualizzare sia, utilizzando circuiti convertitori di tipo digitale/analogico, come segnali pilotaper apparecchiature a valle.In questo settore si vanno estendendo le ricerche sull'automazione, che hanno dato vita aigrandi temi informatici dei nostri tempi, e cioe':

ROBOTICA INTELLIGENZA ARTIFICIALE

che costituiscono la punta delle ricerche attuali, e per i quali rimandiamo il lettore a testi piùspecializzati.

24

Page 25: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.4 MEMORIE DEI SISTEMI DI ELABORAZIONE DATI

Da un punto di vista funzionale, le memorie sono dispositivi atti a contenere in modocontinuativo i dati necessari per una elaborazione.In questo paragrafo verranno esaminate le memorie usate direttamente dalla unita' centraledell'elaboratore (memoria centrale), riservandoci l'esame delle memorie ausiliarie di massanella parte relativa alla gestione delle unita' periferiche all'elaboratore.

Strutturalmente tutte le memorie hanno una organizzazione basata sulle seguentiosservazioni:

Ogni informazione elementare (bit) viene rappresentata mediante segnali elettrici; Raggruppando un insieme di bit si può rappresentare un byte; Raggruppando molti insiemi di byte si può rappresentare una informazione completa e

di grado sufficientemente complesso.

Il problema che sorge relativamente a questa organizzazione e' sostanzialmente quello discegliere supporti con il miglior rapporto prestazione/ prezzo, e quello di ideare un sistema peril reperimento della singola informazione in memoria ( indirizzamento della memoria).

Da un punto di vista logico, si può pensare di associare ad ogni insieme di bit raggruppati aformare una singola informazione (normalmente 8, 16, 32 o 64 bit) un numero, dettoindirizzo, che individua la singola informazione, localizzata in una posizione detta locazione dimemoria.Un esempio di organizzazione della memoria può essere vista in fig. 3.4.1, dove un insieme dicircuiti elettrici riuniti ad otto per volta (le otto caselle consecutive) mantiene memorizzato unbyte. E' indicato lo schema di principio per la memorizzazione di quattro byte.Il modo per indirizzare i dati e' costituito da altri dispositivi supplementari, che costituiscono gliindirizzi dei dati. Nel caso dell'esempio, un insieme di dispositivi genera (uno per volta) iquattro indirizzi:

00011010

necessari per distinguere le quattro informazioni ad 8 bit memorizzate.

Sono necessari due bit per formulare un indirizzo completo (in questo esempio).Ad ogni indirizzo, opportunamente decodificato con un apposito circuito, corrisponde una fila diotto caselle contigue.E' quindi possibile effettuare operazioni di lettura/ scrittura con una fila di caselle (locazione dimemoria) per volta.Le memorie impiegate negli elaboratori elettronici si possono suddividere in due tipifondamentali, da un punto di vista industriale:

MEMORIE MAGNETICHE, aventi ormai quasi esclusivamente importanza più storica chetecnica, in quanto sostituite in molte applicazioni da unita' di memoria di concezione piùmoderna e prestazioni nettamente superiori.

MEMORIE ELETTRONICHE, largamente diffuse in ambito industriale, e per questo motivodescritte più diffusamente in questo testo.Di altre memorie basate su principi diversi, non ancora diffuse a livello di fascia di utenzaindustriale, come memorie a laser, CD-ROM, videodischi, e simili, verrà dato un breve cennopiù avanti.

25

Page 26: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

MEMORIE MAGNETICHE Sono stati i primi dispositivi di memorizzazione impiegati consuccesso nei sistemi di elaborazione elettronica dei dati. Il loro principio di funzionamento sibasa sulle seguenti osservazioni:

-Se si magnetizza un elemento magnetico con la corrente elettrica corrispondente alla tensioneelettrica di un valore logico "1", si può ricordare permanentemente tale valore dallo stato dimagnetizzazione di un circuito elettromagnetico;-Un valore logico "0" ,a cui corrisponde sicuramente un valore diverso di corrente, non riesce amagnetizzare un circuito elettromagnetico in modo eguale, creando uno stato che può essere"ricordato" come zero in modo permanente.

Valendosi di queste proprieta' dei materiali ferromagnetici, si cotruiscono le cosiddettememorie a nuclei di ferrite, con una struttura di massima simile a quella visualizzata in fig.3.4.2.Ogni circuito elettromagnetico per la memorizzazione di un bit viene realizzato con un anello diferrite,di pochi millimetri di diametro. L'anello e' attraversato da tre fili: il filo orizzontale equello verticale, quando sono attraversati da corrente in senso opportuno, magnetizzanol'anello in senso orario (usato per memorizzare il valore "1") oppure in senso antiorario (usatoper memorizzare il valore "0").Un terzo filo (sense wire) viene usato per l'operazione di lettura. Appositi circuiti elettriciconvertono questi stati elettromagneticinegli opportuni valori di tensione elettrica utilizzabilidall'elaboratore.

MEMORIE ELETTRONICHESi tratta di dispositivi che contengono, codificate sotto forma di opportuni segnali elettrici,come visto nel capitolo 2, informazioni che possono provenire sia dall'esterno che dall'internodel sistema (risultati intermedi di alcune operazioni).Fisicamente, sono racchiuse in contenitori ceramici che hanno un numero di piedini metallicivariabile fino a centinaia, e contengono integrati nel loro interno complessi di transistors ediodi, che a loro volta contengono immagazzinati i segnali elettrici da memorizzare.

In termini di elettronica digitale, si precisa che questi insiemi sono costituiti in linea di principioda flip-flop digitali, solo che cambiano sia la capacita' di memorizzare dati, che diventa piùgrande, che il modo di memorizzare e leggere i dati che, per poter sfruttare appieno lapossibilita' di utilizzare molti bits con pochi piedini, si basa su procedure di selezionamento dimatrici invece che della semplice presentazione del bit da memorizzare su uno dei contattimetallici esterni (piedini).

Funzionalmente, le memorie elettroniche sono classificabili essenzialmente in due tipi.Discutiamo in breve la differenza operativa:

- La memoria elettronica di accumulo dei risultati intermedi (memoria di lavoro)deve servirea due usi: a scrivere detti risultati ed a leggerli quando e' necessario riutilizzarli. Questememorie prendono il nome di memorie a lettura-scrittura, o R.A.M (Random Access Memory =memoria ad accesso casuale), che indica che il M.P.U. può leggere o scrivere indifferentementequalsiasi dato,senza dover leggere o cancellare dati precedenti o seguenti ad esso.Costituzionalmente, sono realizzate con flip-flop a tecnologia TTL, cioe' a transistori bipolari, see' necessaria un'alta velocita' di esecuzione, oppure a tecnologia MOS o CMOS se ladissipazione in potenza diventa un fattore più importante della velocita'.Le RAM sono caratterizzate dal fatto che se viene a mancare per un motivo qualsiasi l'energiaelettrica, l'informazione in esse contenuta viene persa definitamente.

- La memoria elettronica contenente le istruzioni deve servire ad un solo uso, e cioe' a leggerele "traduzioni" da linguaggio esterno a bit elettrici, che vi vengono impresse all'inizio in modopermanente. Queste memorie prendono il nome di ROM (Read Only Memory = memorie di solalettura) ed hanno differente struttura dalle RAM: ne esistono di vari tipi che in linea di principio

26

Page 27: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

possono essere assimilate a transistor o a diodi connessi opportunamente.Il funzionamento di una ROM si basa sul fatto che presenta la stessa uscita ogni volta che iningresso compare la stessa configurazione disegnali elettrici. Le ROM sono caratterizzate dalfatto che conservano le informazioni in esse contenute se viene a mancare energia elettrica.

Una ROM, da un punto di vista di principio, può essere vista come un insieme di diodi luminosiLED ognuno dei quali può essere collegato all'alimentazione con un ponticello di filo elettrico,ed illuminarsi, segnalando così un valore “1”, oppure rimanere spento e segnalare uno “0”.Gli ingressi di una memoria ROM sono costituiti dalla posizione dei ponticelli di filo. A secondadella loro posizione, il diodo luminescente LED corrispondente sarà illuminato se il ponticellosimula un "1" o spento se il ponticello simula uno "0" .

Supponendo di voler memorizzare nella nostra ROM di prova il valore binario:

1 0 1 1

basterà collegare il primo,il terzo ed il quarto ponticello dall'alto, senza collegare il secondo.In questo modo, si e' programmata la ROM per far vedere ogni volta che viene attivatol'interruttore d'alimentazione una cosa di questo genere:

Fig. 3.4.1

che, con un po' di fantasia, potrebbe essere una lettera "i" minuscola con il puntino sopra.E' ovvio che aumentando la potenza dei mezzi a disposizione, il risultato finale sarebbeperfetto.E' altrettanto chiaro che i LED si illumineranno in modo diverso, dando luogo a figure diverse,per ogni configurazione diversa che possiamo far assumere allo stato dei ponticelli (cheportano corrente oppure no).In corrispondenza ad ognuna di esse, la ROM fa comparire ai suoi terminali una sequenza di bitche ci dicono quali LED saranno accesi e quali spenti. E' evidente che questa procedura puòessere usata in generale per creare dei codici che permettono di rappresentare sia lettere chenumeri in codice binario (codici alfanumerici), e quindi creare un linguaggio che permetta diprogrammare le ROM sia, più in generale, un calcolatore qualsiasi (ad esempio il codiceASCII).

Utilizzando 4 bit avremo 16 istruzioni possibili, che origineranno effetti quali:

1 0 1 1 "accendi la i minuscola"1 1 1 1 "accendi la i maiuscola"0 0 0 0 "spegni tutte le luci "

e cosi' via. Si noti che avremmo potuto avere un numero abbastanza alto di istruzioniutilizzando un numero opportuno di bit di ingresso (ponticelli).

Industrialmente, le memorie ROM E RAM possono avere varia realizzazione tecnologica:

R.O.M. (Read Only Memory): sono memorie di tipo elettronico, che permettono una solaoperazione di scrittura (definitiva) fatta una sola volta per sempre dal costruttore.

P.R.O.M. (Programmable Read Only Memory): l'utente può disegnare il contenuto dellaR.Om: su una opportuna maschera, e richiedere al costruttore di incidere questa maschera

27

Page 28: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

come contenuto della R.O.M., che diviene cosi' in pratica programmata dall' utente.

E.P.R.O.M. (Erasable P.R.O.M.): il circuito integrato che contiene la R.O.M. ha unafinestrella di pochi millimetri di dimensioni, mediante la quale il tecnico può accedere alcontenuto della memoria. Se il contenuto viene esposto per alcuni minuti ad una sorgente diraggi ultravioletti, la memoria viene cancellata integralmente.

E.A.R.O.M. (Electrically Alterable R.O.M.): la modifica dei dati può essere condotta persegnali elettrici, invece che con raggi ultravioletti. E' percio' possibile la cancellazione selettiva.In questo parte, verranno esaminate le tecniche per la codifica di informazioni in segnalielettrici, come un computer effettua i calcoli numerici in sistema binario (con la relativarappresentazione dei numeri in memoria), e le principali unita' con le quali e' possibile inserirele informazioni in un sistema di elaborazione dati.

FLASH RAM : è una tipologia di memoria a stato solido, di tipo non volatile, che per le sueprestazioni può essere usata anche come memoria a lettura-scrittura. Sono memorie che nonvariano il contenuto in caso di assenza di alimentazione, ma che consentono di essere scrittepiù volte successivamente tramite segnali elettrici.

DDR SDRAM : acronimo di Double Data Rate Synchronous Dynamic Random Access Memory(in italiano "memoria dinamica ad accesso casuale sincrona a doppia velocità"), è un tipo dimemoria RAM su circuiti integrati usati nei computer.La frequenza di funzionamento:-per le DDR2 è 533-667-800-1066 MHz, overclockabili generalmente a 1150 MHz (alcunememorie vengono vendute specificamente per questa frequenza).-per le DDR3 è 1333-1600-1800-2166 MHz, con alcune frequenza standard di overclock cheraggiungono i 2800 MHz (c'è però da aspettarsi instabilità di funzionamento).Le DDR5 sono ora disponibili solo per schede video: in quel settore sono particolari memorieDDR2-DDR3 con timing molto bassi e prestazioni effettive altissime. Inoltre le DDR2 possonofunzionare al massimo in modalità dual-channel, ovvero velocità raddoppiata per coppie dibanchi identici, mentre le DDR3, su scheda madre e CPU compatibile, possono lavorare in tri-channel, triplicando la velocità di base per triplette di moduli uguali. Vista la differenza difrequenza, i timing sono più bassi per DDR2.La dimensione dei banchi di DDR, DDR2 e DDR3 è la stessa ma NON sono intercambiabili, e leschede madri che supportano, ad esempio, sia DDR che DDR2, supportano solo un tipo allavolta, altrimenti rischiano di rovinarsi.La DDR5, essendo riservata per le sole schede video, è conosciuta tecnicamente con il nome diGDDR5 (graphic DDR5).

PendriveSi tratta di unità di memoria di massa portatili basate sulla tecnologia flash costituita da file dimemoria FLASH-RAM, e con interfacciamento a tecnologia USB autoalimentante tramitel'alimentatore del computer cui si connette. In gergo sono chiamate anche penne USB edhanno una dimensione di pochi centimetri, con una capacità di memoria da pochi GB fino a 32GB ed oltre. L'uso di pendrive su un computer può richiedere l'installazione di un driver,soprattutto se di grande capacità e con sistemi operativi non molto recenti.Le pendrive sono soggette, essendo RAM, all'infezione da virus informatici con alta probabilità,memorizzando speso anche programmi: in questo caso compare spesso nella cartellaprincipale il file autorun.inf (con attributo di invisibilità, quindi bisogna forzare il sistemaoperativo a mostrare i file nascosti e di sistema), che deve essere cancellato con tutti i file adesso collegato, oppure è necessario formattare la pendrive stessa, analogamente ai dischirigidi. Un esempio di pendrive sono visibili più avanti in fig. 3.5.5.4a.

Memory cardLa memory card (o scheda di memoria) è una memoria di massa, usata spesso come memoriadi massa di smartphone, macchina fotografiche digitali o videogiochi impegnativi. Esistono didiverso formato: quello più diffuso prende il nome di SD (Secure Digital) e tipicamente

28

Page 29: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

memorizza da 4 a 32 GB in un supporto di 24 x 12 mm. La memory card normalmenteammette l'operazione di formattazione, come i dischi rigidi.Anche le memory card, essendo RAM, sono soggette all' infezione da virus. Tuttavia,memorizzando normalmente dati e non programmi, l'infezione da virus è rara.

29

Page 30: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.5.1 CODIFICA DI INFORMAZIONI IN SEGNALI ELETTRICI.Il modo più semplice ed intuitivo di capire come una informazione possa essere trasmessamediante segnali elettrici e' quello di pensare a lampade spia di apparecchi elettrici ; lavisualizzazione (l'output) dell'informazione viene effettuata per esempio da semplici lampadinee non da terminali video, ma il concetto e' lo stesso.

Dal nostro punto di vista, possiamo pensare di risolvere il problema di trasmettere unainformazione mediante segnali elettrici facendo alimentare un dispositivo visibile (lampadina-spia) dal segnale elettrico stesso. Il problema di associare un' informazione al segnale elettricopuò essere risolto adottando una convenzione che sia di validita' per tutti gli interessati.

Consideriamo ad esempio due persone A e B che si trovano su due colline in vista ottica. Essidevono comunicarsi che uno dei due deve andare dall'altro e non possono farlo per voce. Cosafanno?

1) Stabiliscono di adottare un segnale luminoso, tramite una lampada rossa;2) Convengono che:- se la lampada e' spenta, la persona B si reca da A;- se la lampada e' accesa, la persona A si reca da B.

In questo modo le due persone si scambiano un'informazione tramite un segnale elettrico.Per la sua natura, e cioè per il fatto che tale informazione permette la considerazione di duealternative possibili, tali informazioni si chiamano BINARIE ed il segnale che permettel'informazione prende il nome di BIT.

Tecnicamente, la parola BIT prende la sua forma dall'acronimo di BInary digiT , cheletteralmente significa "indicazione di tipo binario".Etimologicamente, la parola BIT in inglese significa "briciolo, pezzettino", per cui per noi avra'il significato di unita' elementare di informazione.Vogliamo ora illustrare un semplice dispositivo che possa memorizzareun bit, analogamente a come fanno circuiti più complessi, usati neglielaboratori elettronici.

Il circuito più elementare e' costituito da:

- un generatore di tensione Vcc (pila 4,5 V);- un interruttore T ;- un resistore R di opportuno valore;- una lampada spia L ;- fili elettrici di collegamento.

come nell' esempio di fig.3.5.1.1. Tale circuito elettrico non differiscein nulla da un comune circuito per illuminazione: l'unica differenza e'che implicitamente si associa un preciso significato all'accensione edallo spegnimento della lampada. Fig. 3.5.1.1

Non sempre le informazioni sono cosi' semplici come quella dell'esempio di fig. 3.5.1.1. In altricasi e' necessario prendere in esame più di 2 alternative. In questo caso e' necessarioaumentare il numero di bit a disposizione per rendere più efficace e dettagliata l'informazione.

Esaminate ora il caso in cui la persona A deve comunicare a 2 persone B,C perlomeno quattroinformazioni:

1. La persona A deve venire da me2. La persona B deve venire da me3. Io verro' da tutti e due4. Nessuno si deve muovere

30

Page 31: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Egli risolve il suo problema adottando 2 bit e dando unsignificato a tutte le configurazioni possibili di bit, chesono 4. Per far ciò, farà uso di due lampade, ad ognunadelle quali assocerà un BIT di informazione.

Per ogni configurazione ACCESO/SPENTO potrà quindiassociare un significato convenzionale, avendo le quattropossibilità:

1. Lampada L1 spenta - Lampada L2 accesa2. Lampada L1 accesa - Lampada L2 spenta3. Lampada L1 accesa - Lampada L2 accesa4. Lampada L1 spenta - Lampada L2 spenta

Fig. 3.5.1.2

Usando 3 bit si possono indicare 8 combinazioni; con 4, 16 e cosi' via.In generale, la matematica ci fornisce una regola semplice per calcolare il numero di messaggiche possiamo codificare, avendo a disposizione 2 stati possibili (acceso-spento) ed un certonumero n di bit a disposizione, a cui associare le unita' di informazione (in pratica il numerodelle lampadine che ci servono per comunicare il messaggio).

-Se 2 sono gli stati possibili- e vi sono n lampadine a disposizione-allora il numero di messaggi M che si possono trasmettere e' dato da:

M = 2n

Allo scopo di concretare con un esempio quanto detto,costruiremo a titolo esemplificativo unsistema a 2 bit ed inventeremo un codice associato alle varie combinazioni acceso/spento.Il numero di messaggi che possiamo codificare sarà calcolato con la relazione:

M = 2n = 22 = 4

perché nel nostro caso (della figura 3.5.1.2) n vale il numero delle lampadine, che sonoappunto due.

Stabiliamo ora un codice di trasmissione possibile, diverso da quello dell'esempio precedente:

Problema da risolvere: stabilire a distanza come sarà organizzato il pranzo, supponendo chenel frattempo la persona B se ne sia andata via:

spenta - spenta → oggi non pranziamo insieme spenta - accesa → verro' a pranzare a casa tua accesa - spenta → verrai a pranzare a casa mia accesa - accesa → andremo tutti e due in ristorante

Il lettore si deve convincere che l'esistenza del messaggio non e' data dalla esistenza delsegnale, ma alla esistenza di una CONVENZIONE che associa ad un segnale un messaggio.Infatti, lo stesso segnale può essere usato in contesti diversi, e dare luogo a messaggi(informazioni) diverse, cosi' come in questo esempio la combinazione di lampade "spenta -spenta" può significare:

-nell'ambito della prima convenzione "Nessuno si deve muovere"-nell'ambito della seconda convenzione "Verrai a pranzare a casa mia"

31

Page 32: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Lasciamo al lettore l'esercizio di definire un altro codice di 4 significati associati allecombinazioni.

E' possibile ovviamente aumentare il numero dei bit che compongono una "parola" del nostrovocabolario di "significati" fino a disporre di un dizionario completo. Il limite pratico che sisceglie per definire una "parola" e' solitamente 8 bit, che prende il nome di BYTE:

1 Byte = 8 bit

Ogni volta che impostiamo una sequenza di acceso/spento diciamo che abbiamo memorizzatoun byte.Notare che spesso un byte viene chiamato anche un CARATTERE, nel senso che un carattere diuna macchina da scrivere come la lettera S, il numero 9 od il segno *, viene codificatodall'elaboratore in genere come una sequenza di 8 bit.

Per misurare la quantità di informazioni codificabili in byte, si usano i seguenti multipli:

Unità di misura: Equivalente a: Abbreviazione(sistema SI)

bit / 1 b

Byte 8 bit 1 B

KiloByte 1024 Byte 1 kB

MegaByte 1024 kiloByte = 1.048.576 B 1 MB

GigaByte 1024 MegaByte = 1.048.576 KB 1 GB

TeraByte 1024 GigaByte = 1.048.576 MB 1 TB

PetaByte 1024 TeraByte = 1.048.576 GB 1 PB

ExaByte 1024 PetaByte = 1.048.576 TB 1 EB

ZettaByte 1024 ExaByte = 1.048.576 PB 1 ZB

YottaByte 1024 ZettaByte = 1.048.576 EB 1 YB

32

Page 33: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.5.2 COME IL COMPUTER EFFETTUA I CALCOLI: IL SISTEMA BINARIO

Siamo in grado di comprendere come il computer possa rappresentare dei dati nel suo interno:il prossimo passo sarà quello di capire come fa ad eseguire le operazioni matematicheprincipali.Innanzitutto, teniamo presente che quando effettuiamo una operazione aritmetica, ad esempiouna somma, noi usiamo il sistema DECIMALE impegnando i simboli :

0 1 2 3 4 5 6 7 8 9

(10 simboli). Questo deriva dal fatto che l'uomo ha dieci dita distinte, con cui ha iniziato a farei calcoli. Il computer non ha dita: ha invece al suo posto dei segnali elettrici. Ora, mentrel'uomo può contare singolarmente fino a 10, il calcolatore con un solo segnale può contaresolo due numeri. Infatti, immaginando che le "dita" del computer siano una lampadina, tramiteil concetto di segnale ed informazione potremo associare ad una lampadina non più di duestati:

0 SPENTO1 ACCESO

Come fare per rappresentare numeri più grandi di 1 ?Ragioniamo col nostro modo decimale: finché ci bastano i simboli noi contiamo con 1 sola cifra,e, e cioè da 0 a 9:

0 1 2 3 4 5 6 7 8 9

Dovendo proseguire, ricominciamo a riscrivere i numeri precedenti, facendoli precedere da un"1" :

10 11 12 13 14 15 16 17 18 19

Nel sistema che può distinguere solo 2 stati (detto 'sistema binario') useremo gli stessiconcetti. Una volta finiti i simboli ricominciamo da capo ponendo un "1" davanti a tutte le cifreche riscriviamo. Esempio:

0 1

1011

In questo modo abbiamo identificato quattro sequenze, che potremo usare per distinguere 4numeri, e cioè i numeri da 0 a 3. Proseguendo otterremo la tabella seguente:

33

Page 34: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

DECIMALE BINARIO NOTE

0 0

1 1 sono finiti i simboli

2 10

3 11 sono finiti i simboli

4 100

5 101

6 110

7 111 sono finiti i simboli

8 1000

9 1001

10 1010

11 1011

12 1100

13 1101

14 1110

15 1111 sono finiti i simboli

16 10000

Una visualizzazione grafica in termine di“lampadine” accese e spente può essere vistain figura 3.5.2.1.

Eseguiamo ora una piccola verifica parziale:

ricordando che 1 byte=8 bit, accendendo tuttele "lampadine", cioe' ponendo tutti i bit a 1,che numero rappresentiamo ?

Contando con molta pazienza, il lettore sirenderà conto che il numero rappresentato salerapidamente a parecchie centinaia, fino afermarsi a 255.

Fig. 3.5.2.1

34

Page 35: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

SISTEMI DI NUMERAZIONE POSIZIONALICosi' come e' stato definito il sistema binario, e' possibile definire altri sistemi con base dinumerazione qualsiasi.Tecnicamente, hanno importanza in informatica i due sistemi di numerazione:

OTTALE con simboli ( 0 1 2 3 4 5 6 7 )

ESADECIMALE con simboli (0 1 2 3 4 5 6 7 8 9 A B C D E F )

Tutti i sistemi esposti (decimale incluso) hanno la proprieta' comune di rientrare nella classedei sistemi di numerazione posizionali, in cui la posizione di una cifra di un numero determina ilsuo contributo al valore rappresentato dal numero stesso.Confrontando gli esempi esposti ed il numero di cifre a disposizione, si ha la affermazione divalore generale:

in un sistema di numerazione con base B, le cifre a disposizione sono comprese tra 0 e B-1

Ad esempio, nel sistema decimale le cifre vanno da 0 a 9; nel sistema ottale in cui la base e' 8vanno da 0 a 7; nel sistema binario in cui la base e' 2 vanno da 0 a 1; nel sistema esadecimalein cui la base e' 16, vanno da 0 a F, che rappresenta il quindicesimo simbolo delle cifredisponibili.

Per il sistema esadecimale vale la quantizzazione:

Cifra 0 1 2 3 4 5 6 7 8 9 A B C D E FValore 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

E' importante capire che A,B,C,D,E,F non sono lettere, ma cifre del sistema decimale: la cifraA vale 10, la cifra B vale 11, e così via.

Se un numero reale N appartiene ad un sistema di numerazione in base B, ed e' rappresentatodalla successione di (2*m+1) cifre:

Mm Mm-1 Mm-2 .... M2 M1 M0 , M-1 M-2 ..... M-m+1 M-m

(dove , rappresenta l'identificatore “virgola decimale”)

allora il valore N di questo numero e' dato da :

N =Mm · Bm + Mm-1 · Bm-1 + ... M1 · B1 + M0 · B0 + M-1 · B-1 + ... M-m+1 · B-m+1 + M-m · B-m

Per il sistema decimale,ad esempio, abbiamo l'espansione in serie di potenze di 10 :

879,2510 = 8 · 102 + 7 · 101 + 9 · 100 + 2 · 10-1 + 5 · 10-2 = 879,2510

Per il sistema binario, abbiamo l'espansione in serie di potenze di 2 :

101,102 = 1 · 22 + 0 · 21 + 1 · 20 + 1 · 2-1 + 0 · 2-2 = 5,510

Per il sistema ottale consideriamo l'esempio:

321,78 = 3 · 82 + 2 · 81 + 1 · 80 + 7 · 8-1 = 209,87510

35

Page 36: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Per il sistema esadecimale, consideriamo l'esempio:

3A0,216 = 3 · 162 + 10 · 161 + 0 · 160 + 2 ·16-1 = 928,12510

La regola di espansione per potenze della base vale ovviamente anche per il sistema decimale,per la quale forniamo un altro esempio:

928,12510 = 9 · 102 + 2 · 101 + 8 · 100 + 1 · 10-1 + 2 · 10-2 + 5 · 10-3 = 928,12510

Un numero rappresentato in decimale si indica a volte facendolo seguire da una lettera D, adesempio: 928,125D.

Per evitare confusioni di rappresentazione di un numero, si usa scrivere le cifre indicando labase in basso a destra. Ad esempio, per rappresentare il numero 321,7 a base 8 si scriverà:

321.78

CONVERSIONIPer conversione di un numero si intende il saper esprimere un valore, ottenuto in una certabase, in un' altro valore, con base diversa e mantenendone inalterato il VALORE.Esaminiamo ora le principali tecniche di conversione, necessarie in questo testo:

a) da binario a decimaleSaper convertire un numero dal binario al decimale, che e' più comprensibile per l'uomo, e'molto importante. Supponendo che il lettore conosca l'elevamento a potenza, si può seguire laregola di sviluppo per potenze di 2 illustrata in tabella:

Numero binario Valore corrispondente nel sistema decimale

101 1 · 22 + 0 · 21 + 1 · 20 = 510

11 1 · 21 + 1 · 20 = 310

10 1 · 21 + 0 · 20 = 210

011 0 · 22 + 1 · 21 + 1 · 20 = 310

1010 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 1010

In genere, dato il numero binario ABCD (dove le lettere valgono 1 oppure 0) si ottiene il valoredecimale N corrispondente impiegando la formula:

N = A · 23 + B · 22 + C · 21 + D · 20

che può essere generalizzata, espandendola per analogia, ad un qualsiasi numero di bit.

b) da decimale a binarioPer convertire un numero decimale, ad esempio 29, in numero binario si segue la regola delledivisioni progressive per 2, compilando la seguente tabella:

NUMERO 29 : 2 = 14 : 2 = 7 : 2 = 3 : 2 = 1

RESTO / 1 0 1 1 < senso di lettura del risultato (rovescio) <

Il procedimento si arresta quando si arriva ad ottenere 1 oppure 0. L'ultimo valore (quelloindicato in rosso) è il bit più significativo. Il senso di lettura del risultato è quello indicato infigura (rovescio) per cui si può scrivere:

2910 = 111012

36

Page 37: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Per convertire le frazioni, e' sufficiente ricordare che, essendo le potenze rappresentative difrazioni negative, esse rappresentano l'inverso della procedura riguardante i numeri interi. Laloro proprieta' strutturale si deve mantenere anche per le conversioni, per cui verrannocalcolate con il metodo delle moltiplicazioni successive.

La conversione di frazioni può essere fatta compilando la tabella seguente per moltiplicazionisuccessive: l'esempio è svolto per il numero decimale 0.625 :

NUMERO 0,625 · 2 1,25 · 2 0,25 · 2 = 0,50 · 2 = 1Risultato(da sottrarre al numero)

/ 1 0 1

< senso di lettura del risultato (rovescio) <

Il NUMERO da moltiplicare si ottiene dal numero precedente nella colonna ·2, considerandonela sola parte frazionaria. Ad esempio, se si ottiene 1,25, si scrive 1 nella riga inferiore e sisottrae questo numero al risultato precedente, per cui 1,25 – 1 = 0,25.Questo risultato si scrive nella riga superiore, e si prosegue procedendo con le moltiplicazioniper 2. Nel caso di questo esempio:

0,62510 = 0,1012

Il procedimento si arresta quando nella riga del NUMERO si ottiene un numero senza partefrazionaria, oppure quando la parte frazionaria e' molto piccola, da poter essere trascurata invia di approssimazione (ad esempio 1,0001).

c) da binario ad ottaleSi segue la regola del raggruppamento a 3, proseguendo dalle unita' verso destra per la parteintera e dal punto decimale verso sinistra per la parte frazionaria.Ad esempio, il numero 1101101.0101 si convertirebbe con la spaziatura a blocchi di 3 bit:

1 - 101 - 101 . 010 - 1

che viene integrata con 0 non significativi per completezza:

001 - 101 - 101 . 010 - 100

e viene quindi convertita in codice ottale con i simboli:

1 5 5 . 2 4

per cui 1101101.01012 = 155,2410

d) da ottale a binarioSi sostituisce ogni cifra ottale con i tre bit equivalenti della sua rappresentazione in binario,eliminando in seguito eventuali bit non significativi. Ad esempio, il numero:

306.377viene convertito in questo modo:

3 0 6 . 3 7 7

011 000 110 . 011 111 111

eliminando il primo 0 non significativo si ottiene come risultato:

11000110.011111111

37

Page 38: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

e) da binario ad esadecimaleLa procedura e' identica al caso c), con la differenza che il codice esadecimale richiede unraggruppamento a quattro bit per volta (in gergo tecnico 4 bit prendono il nome di nibble),sostituendo poi ogni raggruppamento a 4 bit con la sua rappresentazione esadecimale (unnumero tra 0 e 9 per i numeri inferiori a 10, una 'lettera' da A a F ,che in realtà è una cifra, peri numeri da 10 a 15).

Esempio: convertire il numero binario seguente in esadecimale:

1101111001.110101

Il raggruppamento a 4 bit fornisce:

11- 0111- 1001.1101- 01

che, completato con zeri non significativi fornisce:

0011 – 0111 - 1001.1101 - 0100

Convertendo i simboli binari nei corrispondenti esadecimali, si ottiene:

3 7 9 . D 4

per cui possiamo dire che il numero esadecimale 379.D4 corrisponde al valore binarioassegnato.Un numero esadecimale viene indicato spesso con le abbreviazioni HEX od H, come indicato:

379.D4HEX379.D4H

f) da esadecimale a binarioSi sostituisce ogni cifra esadecimale con i corrispondenti nibble del codice binario. Si procedequindi all'eliminazione di eventuali zeri non significativi.

Esempio: effettuare la conversione in binario del numero esadecimale

39C5.ASviluppando, otteniamo:

0011 1001 1100 0101.1010

Eliminando gli zeri non significativi, otteniamo come risultato:

11100111000101.101

g) da ottale a decimaleLa conversione da ottale a decimale segue la regola dell'espansione per potenze di 8. Adesempio, la conversione del numero ottale 357.2 fornirebbe:

3·82 + 5·81 + 7·80 + 2·8-1 = 192 + 40 + 7 + 0.25 = 239.25

h) da decimale ad ottaleLa tecnica suggerita consiste nel convertire un numero decimale in binario, quindi raggrupparloa gruppi di tre bit ed ottenere la rappresentazione ottale.

38

Page 39: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Ad esempio, la conversione del numero 29 da decimale ad ottale fornirebbe:

2910 = 111012 = 011 1012 = 3 5 8

i) da esadecimale a decimaleLa conversione di un numero da esadecimale a decimale segue la regola di espansione perpotenze di 16.La conversione del numero 5F2.A verrebbe eseguita secondo la regola:

5F2.A16 = 5 · 162 + 15 · 161 + 2 · 160 + 10 · 16-1 = 1522.62510

h) da decimale ad esadecimalePer effettuare tale conversione, conviene sviluppare il numero decimale in binario, quindiraggruppare le cifre a gruppi di nibble (insiemi di 4 bit), ed effettuare la conversione.

Ad esempio, per convertire il numero 29 da decimale in esadecimale, si svilupperebbe:

2916 = 111012 = 0001 11012 = 1 D 16

Generalmente, l'elaboratore elettronico tratta quantità numeriche. I numeri vengonorappresentati sotto forma di sequenze finite di bit.Un numero intero o reale viene rappresentato in memoria con una sequenza (o stringa) di bit,pari alla parola dati del sistema impiegato.La parola dati può variare normalmente dagli 8 bit dei sistemi microcomputer fino ai 64 bit edoltre dei grandi sistemi.La rappresentazione dei numeri in memoria e' attuabile secondo più tecniche, che vengonodescritte nel seguito.

39

Page 40: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

-RAPPRESENTAZIONE SEGNO- GRANDEZZACon questo tipo di rappresentazione, un numero viene rappresentato secondo il formatoseguente:

Campo numerico possibile (parola)

BIT DI SEGNO NUMERO

Rappresentazione

Il primo bit della rappresentazione contiene il segno algebrico ( + oppure - ) del numero inesame.La convenzione digitale normalmente impiegata utilizza i codici:

0 per rappresentare il segno positivo + ;

1 per rappresentare il segno negativo - ;

Con questa convenzione, la parola a 16 bit seguente:

0111 1111 1111 1111

rappresenta il valore decimale +32767.

La parola a 16 bit seguente:

1000 0000 0001 0100rappresenta il numero -20.

In questa rappresentazione, può esistere una rappresentazione doppia per lo zero, chepotrebbe essere rappresentato:

+0 0000 0000 0000 0000

-0 1000 0000 0000 0000

La costruzione di dispositivi che lavorano in aritmetica segno-grandezza implica l'esistenza diprocedure diverse per l'effettuarsi delle operazioni, con la consequenza di richiedere diverseazioni da parte dei circuiti elettronici corrispondenti.In questa rappresentazione, se n indica la lunghezza della parola dati dell'elaboratore, inumeri positivi NP sono, per via dell'impiego di 1 bit come bit di segno, in numero di:

NP = (n-1)2

I numeri negativi NN sono in eguale numero.

40

Page 41: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

-RAPPRESENTAZIONE IN COMPLEMENTO A 1In questo tipo di rappresentazione, i numeri vengono rappresentati:

-utilizzando la rappresentazione segno-grandezza, per i numeri positivi.-complementando i singoli bit che rappresentano il numero stesso, quando il numero e'negativo.

Esempio: operando con microcomputer con parola dati ad 8 bit:

+96 viene rappresentato da: 0110 0000

-96 viene rappresentato da: 1001 1111

che si ottiene da 110 0000 complementando ogni bit col suo opposto, fornendo 001 1111 . Inneretto si è evidenziato il bit di segno (+ o - ).Il bit più a sinistra prende infatti la funzione di "bit di segno", mentre i restanti bit costituisconoil valore numerico vero e proprio.

-RAPPRESENTAZIONE IN COMPLEMENTO A DUELa rappresentazione di un numero col metodo del complemento a due viene effettuata:

-per i numeri positivi: adottando la rappresentazione segno-grandezza;-per i numeri negativi: si effettua il complemento ad 1 del numero in esame, quindi si somma+1 al risultato ottenuto.

Esempio: il numero 31 si rappresenta 0001 1111

Il numero - 31 richiede le seguenti 2 operazioni:

1) complemento ad 1 del numero 31 : 0001 1111 1110 0000

2) addizione +1 al risultato : 1110 0000 + 1 = 1110 0001

In questo sistema di numerazione, lo zero viene rappresentato con un solo simbolo, che vale :

0000 0000

Eseguendo il complemento a due di zero si ottiene:

0000 0000 1111 1111

1111 1111 + 1 = 1 0000 0000

L'ultimo bit di riporto esce dalla parola di rappresentazione del computer, che abbiamo detto diessere a 8 bit, lasciando una rappresentazione eguale allo zero originale.Per un elaboratore con parola a 'n' bit, si ha un numero di numeri positivi massimo NP pari a:

NPn = 2 – 1

mentre il numero massimo NN dei numeri negativi vale:

NNn = 2

41

Page 42: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

In un sistema con parola a 8 bit, si avrebbe come estremi di rappresentazione:

NP = + 128 -1 = + 127NN = - 128

In un sistema con parola a 16 bit, si avrebbe come estremi di rappresentazione:

NP = + 256 -1 = + 255NN = - 256

La rappresentazione in complemento a due permette l'esecuzione di sottrazioni con regolepraticamente simili a quelle dell' addizione, per cui viene in pratica usata nei computer al postodella rappresentazione segno-grandezza, potendo usare gli stessi circuiti sommatori ( full-addered half-adder) sia per le addizioni che per le sottrazioni.

-RAPPRESENTAZIONE FLOATING POINT (VIRGOLA MOBILE)Mediante la rappresentazione in virgola mobile vengono rappresentati tutti i numeri il cuivalore eccede il campo dei numeri interi rappresentabili con la parola dati del computer.In questa notazione, un numero nel sistema binario e' rappresentato da due parti, dettemantissa ed esponente, in modo che:

numero = mantissa · 2esponente

Il formato di rappresentazione usato in memoria e' il seguente:

Campo numerico possibile (parola)

BIT DI SEGNOMANTISSA

MANTISSA BIT DI SEGNOESPONENTE

ESPONENTE

Rappresentazione

In un elaboratore con parola dati a 16 bit, potremmo avere la rappresentazione possibile:

numero di bit: 16 , identificati posizionalmente dai numeri 0 e 15 :

sm se

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Bit con peso 15: bit di segno mantissa (sm) Bit da 14 a 7 : bit valore numerico della mantissa Bit con peso 6 : bit di segno esponente (se) Bit da 5 a 0 : bit valore numerico dell'esponente

42

Page 43: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

In questo modo risultano rappresentabili i numeri dell' ordine di grandezza di:

28 = 255 come mantissa; 26 = 64 come esponente

per cui sarà possibile rappresentare, ad esempio, il valore +30 elevato alla 10 potenza nelmodo seguente:

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

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Si tiene a precisare che quanto visto ha solo valore esemplificativo, e non si riferisce ad alcunarappresentazione reale, che varia quantitivamente da macchina a macchina.

La lunghezza dell'esponente determina il range dei numeri rappresentabili

La lunghezza della mantissa determina la precisione della rappresentazione invirgola mobile.

Per aumentare la precisione di rappresentazione, in molti elaboratori vi e' la possibilita' diricorrere alla doppia precisione, in cui un numero e' rappresentato non da una sola parola, madue, in cui la seconda ha la funzione di espandere i bit dedicati alla mantissa.

OPERAZIONI IN SISTEMA BINARIO

In questo paragrafo esamineremo le operazioni fondamentali che possono essere fatte per inumeri binari, e cioe'

somma sottrazione moltiplicazione divisione

SOMMA BINARIA

Si seguono le stesse regole dei numeri decimali, con la differenza:

- che abbiamo solo 2 simboli: 0 ed 1- che quando dobbiamo eseguire dei riporti, si riporta 1, eseguendo le operazioni con le regolesolite del sistema decimale, ma tenendo presente che in realta' si riporta non 10 unita', mabensi' 2 !

Da questi abbiamo le regole base:

0+0 = 0 1+0 = 1 0+1 = 1 1+1 = 0 col riporto di 1

43

Page 44: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Esempio: eseguire la somma: 100 + 010

100 + 4 + 010 = 2 = ──── ─── 110 6

- eseguire la somma 101 + 001 (in rosso è indicato il riporto dalla operazione precedente)

1

101 + 5 + 001 = 1 = ──── ─── 110 6

Seguono altri esempi:

1 1 1 1

0101 + 111 + 110 + 100 + 010 +1001 = 111 = 001 = 011 = 110 =──── ──── ──── ──── ────1110 1110 111 111 1000

SOTTRAZIONE BINARIA

La sottrazione binaria segue, in analogia alle regole della somma binaria, le regole principali:

0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 con prestito di 1 da sinistra.

Sono esempi di sottrazione binaria i seguenti:

0 2 0 2 0 1 1 2

1011 - 0101 - 1011 - 1000 -0011 = 0011 = 0100 = 0101 =──── ──── ──── ────1000 0010 0111 0011

E' bene ricordare, quando un prestito si propaga verso destra, al posto del 10 del prestito nelsistema DECIMALE nel nostro caso va' preso come prestito 2, essendo nel sistema BINARIO.Nell' ultimo caso, la cifra più significativa è l'unica che può prestare, essendo tutte le altre 0:presta 1 e riporta 2 alla cifra successiva, che presta 1 e riporta 2 alla cifra successiva, chemantiene il 2 prestato per fare la prima operazione. Infatti (2-1) = 1 è il risultato della colonnaall'estrema destra.

In realtà, la sottrazione viene eseguita facendo ricorso alle tecniche di complementazione, inquanto in questo modo e' possibile ricorrere ad una somma.Definiamo le modalità di effettuazione della sottrazione in complemento a due medianteuna procedura algoritmica:

44

Page 45: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

ALGORITMO: sottrazione in complemento 2

Dati un minuendo ed un sottraendo:

1.controllare che abbiano un eguale numero di bit;2.se non l'hanno, aggiustare le cifre con zeri non significativi;3.complementare a due il sottraendo;4.sommare i due numeri minuendo e complemento a due del sottraendo;5.troncare il bit più a sinistra del risultato;6.i bit rimanenti costituiscono il risultato della sottrazione.

Esempio: sottrarre i due numeri binari seguenti (1011 - 11) nell' ordine indicato.

1. I due numeri hanno lunghezza diversa:2. pertanto il sottraendo diventa: 00113. il complemento a due del sottraendo vale: 11014. la somma minuendo + sottraendo fornisce: 1011 + 1101 = 11000(tenere presente che 1+1= 0 con riporto di 1, più eventuale riporto di 1 fornisce 1 con riportodi 1).5. Il risultato si ottiene troncando il bit più significativo ed ottenendo: 1000

La prova si ottiene convertendo i numeri in decimale ed ottenendo:

13D - 3D = 8D

MOLTIPLICAZIONE BINARIA

Gli assiomi che regolano la moltiplicazione binaria sono i seguenti:

0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1

Si possono seguire le usuali regole della moltiplicazione binaria, per somme di prodottisuccessivi. Per esempio:

10 x 2 x 11 x 3 x 01 = 1 = 10 = 2 =──── ──── 10 ; 00 00- 11-──── ──── ──── ────010 2 110 6

45

Page 46: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

DIVISIONE BINARIALa divisione binaria avviene col metodo delle sottrazioni ripetute, similmente a come vieneeffettuata nel sistema decimale usuale.

Dal dividendo si sottrae ripetutamente il divisore a scalare (cioè cominciando dalla posizionepiù significativa): ogni volta che si può fare la sottrazione, si attribuisce un valore 1 .

Quando si ottiene come risultato 0 (risultato esatto) oppure 1 (risultato con resto di 1) ilprocedimento termina.

Ad esempio, ipotizzando di voler effettuare la divisione 11100 : 1001, eseguiremol'operazione:

11100 : 1001

11100 -1001 1 cifra più significativa──────01010 - 1001 1 cifra meno significativa────── 001

per cui 11100 : 1001 = 11 con il resto di 1 (cioe' 28 : 9 = 3 con resto di 1).

46

Page 47: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

3.5.5 LE PERIFERICHE DI UN SISTEMA E.D.P.

Un sistema di elaborazione dati e' studiato in modo da:

acquisire i dati, rappresentati in forma elettrica sotto forma di bit, dall' esterno delsistema verso la memoria;

trasferire i dati, presenti in memoria sotto forma di segnali elettrici, sempre comecome insiemi di bit.

Per realizzare queste funzioni, viene messo a disposizione un insieme di risorse hardware,che costituisce l'insieme delle unita' periferiche, o semplicemente periferiche.Come si intuisce dal nome stesso, questo insieme di unita' e' collocato fisicamente all'esternodella parte del sistema che sovrintende all'elaborazione. Il nome "periferica" derivaetimologicamente proprio dal fatto che il dispositivo e' localizzato alla "periferia" del sistema, enon costituisce parte centrale di esso.Tuttavia, l'insieme delle periferiche e' necessario, in quanto senza di esse non e' possibilerealizzare praticamente le funzioni di:

ingresso dati nel sistema uscita dati dal sistema

E' allora necessario introdurre una prima conoscenza di queste risorse del sistema, perconoscere cosa si può e deve pretendere ragionevolmente da un sistema di input/ output di unsistema E.D.P. da un punto di vista generale.Sarà quindi possibile, usando letture più specifiche e consultando i data sheet cheaccompagnano le macchine, specializzare il discorso verso l' assemblaggio di un sistemacompleto.

PERIFERICHE DI INGRESSO / USCITA ( I/O)Rientrano in questo insieme tutte le periferiche che funzionalmente immettono, sotto controllodi un operatore, dati nel sistema.Nel seguito e' indicato un elenco significativo di periferiche di input:

-tastiere-mouse-tavolette grafiche-touch pad-webcam-interruttori / commutatori-lettori / perforatori di schede-lettori / perforatori di nastro-tastierini esadecimali-sistemi di acquisizione dati (data logger)-convertitori analogico/digitale-sensori e trasduttori vari (termici, magnetici, idraulici, ecc..)

Le principali unita' di output possono essere considerate le seguenti:

-terminali video-stampanti-diodi LED luminescenti e display a LED ( 7 segmenti ed altri tipi)-convertitori digitale/analogico-attuatori-proiettori televisivi

47

Page 48: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Esistono vari dispositivi, che devono gestire sia l'input che l'output. Tra questi dispositiviricordiamo:- le memorie di massa, generalmente a disco (hard disk o DVD), per la registrazione e lasuccessiva lettura dei dati;- i terminali telescriventi di tipo TTY, che in pratica sono la somma di risorse di una tastieradedicata specificatamente al TTY, e di una stampante dedicata anch'essa solo al TTY.

Verranno ora date informazioni sintetiche sulla struttura delle principali, rimandando allaletteratura specializzata per gli eventuali approfondimenti.

CIRCUITI DI INTERFACCIALa connessione tra un dispositivo periferico ed una unita' centrale non può, in genere, esserediretta.Il tipo e la forma dei segnali sono quasi sempre diversi nei due sistemi da connettere, per cuie' necessario manipolare i segnali stessi, prima di mettere in comunicazione la parti tra di loro.I dispositivi che effettuano l'adattamento tra i segnali di unita' centrale e periferica prendono ilnome di circuiti di interfaccia, o semplicemente interfaccia.I dispositivi che devono essere conosciuti dal tecnico informatico sono classificabiliprincipalmente in tre classi fondamentali:

A) Interfaccia parallelaB) Interfaccia serialeC) Interfaccia IEEE 488

Qualsiasi dispositivo di interfaccia viene caratterizzato da due distinti insiemi di dati:

SEGNALI INTERFACCIA = { DATI, HANDSHAKE }

fig.3.5.5.1

La disposizione fisica di un interfaccia avviene tra dispositivo periferico ed unita' centrale, comeindicato schematicamente in fig. 3.5.5.1.Un aspetto fisico che può avere un interfaccia e' mostrato in fig. 3.5.5.2, dove l' interfacciavero e proprio ha due cavi a due estremita' opposte: all'altro estremo di ogni cavo vannocollegati il dispositivo da interfacciare (usando un cavo) e la periferica da collegare (usandol'altro cavo).I segnali DATI sono costituiti dalle informazioni vere e proprie, che devono essere trasmesseda un punto ad un altro di un sistema E.D.P. (ad esempio, da unita' centrale a stampante);I segnali HANDSHAKE (manipolazione) costituiscono un insieme di procedure inerenti loscambio dei segnali di controllo (Control Bus) tra due punti di un sistema, mediante i qualiviene effettuato il collegamento per lo scambio dei dati.L' insieme complessivo dei segnali che regolano la trasmissione delle informazioni vienechiamato protocollo.All' interno di ogni tipo di interfacciamento esistono vari protocolli, che vengono selezionati daltecnico hardware in base alle esigenze specifiche del sistema da installare.Ad esempio, all' interno delle trasmissioni seriali troviamo diffusi svariati protocolli di

48

Page 49: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

trasmissione, tra cui citiamo il protocollo RS232, il protocollo RS232C, il protocollo RS422C, edaltri ancora.Discutiamo ora brevemente le caratteristiche essenziali che deve avere un interfaccia,rimandando alla letteratura specializzata per un approfondimento più completo.

A) INTERFACCIA PARALLELAE' conosciuta anche con il nome tecnico di interfaccia CENTRONICS, dal nome della casacostruttrice americana che lo ha diffuso in tutto il mondo, tramite le sue stampanti parallele.

fig.3.5.5.3

L'interfaccia parallela e' costituita da:

-Trasmissione parallela dei dati: i dati vengono emessi a gruppi di bit (solitamente 8) dall'unita' centrale, ed accettati a gruppi di bit dal dispositivo ricevente.Questo richiede almeno 8 fili dedicati esclusivamente alle informazioni, più una terra disegnalazione distinta dalla massa elettrica (come visibile schematicamente in fig. 3.5.5.3).

-Segnali di handshake del tipo BUSY-ACKNOWLODGEMENT (occupato-libero) per lamanipolazione della comunicazione.

-Alta velocità di comunicazione, data dal trattamento simultaneo di 8 bit.

-Possibilità di dissincronizzazione dei dati, con conseguenti possibili errori di ricezione, dovutaalla manipolazione simultanea di 8 bit per volta.

B) INTERFACCIA SERIALELe interfacce seriali sono costituite da:-Trasmissione di un singolo dato uno dopo l'altro, in sequenza ordinata. Questo consente larealizzazione del BUS DATI con un solo filo dal trasmettitore al ricevitore (vedi schema diprincipio in fig. 3.5.5.4).

Nel caso più semplice di installazione locale tra periferica ed unita' centrale, come e' ilcollegamento di un terminale video seriale ad una unita' centrale, e' sufficiente collegare ipiedini del connettore di interfaccia TX (trasmissione dati, normalmente il n.2) ed RX (ricezionedati, normalmente n.3) in modo omologo tra di loro, nel senso che TX emette dati ed RX liriceve.

49

Page 50: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

fig. 3.5.5.4

In figura non è indicato il filo che porta l'alimentazione (+Vcc) per cui i fili effettivi in unconnettore seriale sono effettivamente 4 e non 3, oltre alla terra di protezione.Se i dispositivi lo consentono (ad esempio, due modem seriali connessi tra loro inconfigurazione back-to-back), è ovviamente possibile scambiare le funzioni di trasmettitore -ricevitore a seconda delle necessità. Questo è possibile agendo sui segnali di handshake.Nel caso di collegamento con stampanti seriali, e' necessario collegare anche i terminalicorrispondenti ai segnali di handshake e non è possibile in questo caso inviare dati dallastampante al computer (questo non vale per i segnali di handshake, che sono ovviamentebidirezionali).-Segnali di handshake di tipo CONTROLLO TERMINALE, organizzati secondo il protocollo scelto.Uno dei protocolli usati e' RS-232C, conosciuto anche come Raccomandazione V.24/ V.28.Si rimanda ai testi specializzati ed ai manuali d'uso dei costruttori per il dettaglio dei variprotocolli.-Velocita' di comunicazione relativamente bassa, dovuta alla trasmissione di una singolainformazione per volta. Si può andare normalmente da 300 baud a 19200 baud (1 baud = 1bit/secondo normalmente).-Affidabilita' di trasmissione alta, dovuta alla trasmissione sequenziale dei bit, con unaconseguente immunita' agli errori di trasmissione relativamente alta.

La tecnologia al momento più avanzata nel settore seriale è attualmente USB (Universal SerialBus). La struttura di una porta di interfaccia USB è essenzialmente come in fig. 3.5.5.4 (a 4fili) con la convenzione seguente:

Piedino Segnale

1 + Vcc

2 Dati -

3 Dati +

4 Massa

I bit vengono trasmessi attraverso un canale di collegamento “veloce” (il bus) che, a secondadella versione di USB, può raggiungere le seguenti velocità teoriche massime (notevolmentesuperiori ad RS232C):

USB 1.0 : 1.5 Mb/s (0,1875 MB/s)USB 1.1 : 12 Mb/s (1,5 MB/s)USB 2.0 : 480 Mb/s (60 MB/s) [in pratica fino a 280 Mb/s]USB 3.0 : 4,8 Gb/s (600 MB/s) [in pratica fino a 3,2 Gb/s]

50

Page 51: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Il collegamento USB è asimmetrico: ad unasingola presa USB si può collegare una spinaUSB (ad esempio una stampante) oppure moltespine valendosi di un hub (concentratore) checonsente di collegare molte periferiche conuna struttura ad albero, fino ad un massimo di127 periferiche per gestore (nel calcolo vannoinclusi anche gli hub e la presa principale, percui il totale dei dispositivi collegabili è moltoinferiore). La lunghezza massima che puòavere un cavo USB senza che il segnale diventitroppo debole è pari teoricamente a 5 m; oltrequesto limite, è necessario ricorrere adamplificatori di segnale (hub attivi). Lespecifiche prevedono il collegamento almassimo di 5 hub. Fig. 3.5.5.4a Diversi tipi di porta USB a confronto

In fig. 3.5.5.4a sono visibili alcuni tipi di pendrive USB: i primi due tipi sono di capacitàrispettivamente di 1 GB e 2 GB, mentre il terzo tipo, da 4 GB, è montato su un supporto “cartadi credito” che monta il supporto USB solo per la parte sporgente con i contatti metallici,mentre per il resto è una normale card per uso commerciale.

Lo standard prevede che il connettore porti anche un cavo (+Vcc) attraverso cui alimentare leperiferiche a basso consumo. La corrente erogabile massima è generalmente di 500 mA, valoreche è però bene non avvicinare per evitare problemi di funzionamento.

51

Page 52: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

C) INTERFACCIA IEEE- 488Questa interfaccia e' stata conosciuta anche come HP-IB, acronimo di Hewlett-PackardInterface Bus. E' stata proposta dalla casa costruttrice Hewlett-Packard per la gestionecomputerizzata di complessi di strumenti, ed è caratterizzata da:-collegamento di un unico interfaccia a più dispositivi da interfacciare, tramite una scansionesequenziale nel tempo di una porta parallela unica (fig.3.5.5.5).-velocita' di trasmissione superiore a quella ottenibile con il semplice collegamento parallelo oseriale (tipicamente 1-4 Megabaud, dove 1 baud vale al minimo 1 b/s od anche più, conspeciali tecniche di modulazione di ampiezza, frequenza o fase ).

Questo tipo di interfaccia ha applicazioni essenzialmente industriali, essendo stato messo apunto per il pilotaggio simultaneo di periferiche sia standard, come stampanti veloci, chespecializzate, come convertitori A/D (analogico/digitali) o D/A (digitali/analogici) per impiego inproduzioni industriali.

fig. 3.5.5.5D) INTERFACCIA PARALLELA IDE/ATA - PATAATA (detto anche IDE, EIDE, ATAPI, UDMA) rappresenta il sistema di trasferimento dati inmodo parallelo usato tra scheda madre e periferiche veloci, come dischi rigidi e DVD.La sigla IDE/ATA sta' per Integrate Device Electronics/AT Attachment. Dal 2004 è statasostituita dalla denominazione PATA (Parallel ATA) per evidenziarlo dalla nuova tecnologiaseriale (SATA).L'interfaccia ATA originaria usa un cavo a 40 connettori (16 per i dati, 8 fili di terra e il restoper indirizzi e segnali di controllo): con la piattina a 40 fili la velocità di trasmissione arriva ai33,33 MBps dell'ATA-4. fino ai 133 Mbps (Ultra-ATA).I cavi ATA sono lunghi da 25 a 45 cm per garantire una trasmissione corretta dei dati esolitamente presentano tre connettori, uno dal lato della scheda madre e due per i drive (harddisk e CD/DVD). I drive possono essere configurati come master (primo o unico drive), slave(secondo drive installato) o cable select (autoconfigurazione di master e slave), più comodo,ma da settare tramite jumper sul selettore del disco rigido.Un semplice codice a colori per identificare i connettori può essere questo:

BLU (alla scheda madre) GRIGIO (slave) NERO (master)

E) INTERFACCIA SERIALE SATAE' un sistema seriale di trasferimento dati tra mother board e memorie di massa perifericheveloci come hard disk e DVD. Non richiedendo gestioni di sincronizzazione tra bit, come la

52

Page 53: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

trasmissione parallela, è diventato molto più veloce e sicuro di quello tradizionale PATA.La connessione SATA utilizza sette fili: due coppie di conduttori, una per trasmettere e una perricevere, e tre fili di terra. I dati sono trasmessi con un clock che, nella versione SATA attuale,di 1,5 Ghz. La velocità di trasmissione tipicamente può valere 150 MB/s per canale.Esistono attualmente due versione di SATA :- SATA 1.0: si basa sull'ATA parallelo ed stato definito in modo da essere compatibile a livellosoftware con i driver ATA. I primi hard disk SATA non erano dotati di interfaccia seriale nativa,ma includevano un bridge tra ATA parallelo e seriale; ora gli hard disk supportano il SATA inmodo nativo.- SATA 2.0: include un superset della 1.0 in modo da gestire configurazioni con server estorage di rete e per workstation ad alte prestazioni. (assemblaggi RAID e simili)

F) INTERFACCIA SCSISCSI (Small Computer System Interface) è un'interfaccia standard per il trasferimento di datia bus in modalità parallela per favorire l'intercambiabiltà e la compatibilità dei dispositivi.Per collegare un computer ad un host, il bus di collegamento ha bisogno di un host adapterSCSI che gestisce il trasferimento dei dati sul bus stesso.La periferica deve disporre di un apposito controller SCSI. L' interfaccia SCSI viene per lo piùusata per la comunicazione con unità hard disk e unità di memorizzazione di massa a nastro,ma anche per connettere una vasta gamma di dispositivi, come scanner di alta qualità, lettori escrittori di CD e DVD, ed altri.

Dei primi semplici criteri di interfacciamento possono essere i seguenti:

-si usa l'interfacciamento parallelo per collegare unita' che montano l'interfaccia paralleloCentronics (come vecchie stampanti di linea), e che non richiedano lunghi collegamenti, perattraversare i quali potrebbero essere soggetti ad interferenze o disturbi.

-si usa l'interfacciamento seriale quando ci sono percorsi con lunghezza medio-alta daattraversare (come regola pratica oltre qualche metro di distanza).E' indispensabile per lunghe distanze, in quanto viene semplificata la eliminazione dei disturbidal fatto che si deve operare in pratica su un unico filo dati.

-si preferisce l'interfacciamento HP-IB IEEE 488 quando si deve collegare localmente uncomputer ad una serie di strumenti per realizzare un complesso di acquisizione e misura didati, od un controllo monitorizato di un sistema composto da molte parti.In questi casi, ricorrere ,ad esempio, all' interfacciamento parallelo richiederebbe un numero diinterfaccia almeno pari al numero dei dispositivi da interfacciare, con un notevole incrementodi difficoltà di gestione ed aumento dei costi.

-si usa il PATA essenzialmente per operazioni di backup su hard disk e complessi che montanol'interfaccia IDE / PATA e che non conviene sostituire con gli equivalenti dispositivi SATA.

-Il SATA, veloce, affidabile ed economico, si presta bene per il collegamento di PC e server difascia medio-bassa, lasciando allo SCSI la fascia delle applicazioni ad alte prestazioni e costodecisamente più alto.

-L'interfaccia SCSI, sensibilmente immune ai disturbi ma anche più costoso dei precedenti tipi,viene dedicato ad interfacciamenti particolari in ambiente di lavoro pesante, quali server direte ed impianti industriali a servizio continuativo.

53

Page 54: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

-PERIFERICHE DI INPUTIn questa parte tratteremo le principali unita' di ingresso, usate nei centri E.D.P. e nell'industria.

TASTIERA - Si tratta di dispositivi elettronico-meccanici, che convertono la pressione di untasto in impulso elettrico ad 8 bit (1 byte). Per questo motivo 1 byte prende spesso il nome dicarattere.Le tastiere sono composte in genere da 102 o 105 tasti (alfanumerici + controlli + tastifunzione + tasti sistema). In passato ne sono esistite anche a 64 tasti (alfanumerici +controlli) e 83 tasti (alfanumerici + controlli + tasti funzione).In pratica, il numero dei caratteri rappresentato può facilmente essere maggiore del numero ditasti, in quanto molti caratteri entrano in funzione grazie alla pressione combinata di più tasti(tasti di SHIFT e di CONTROL).Le tastiere più diffuse in Italia sono di due tipi, classificate in base alle prime 6 lettererappresentate in alto a destra sulla tastiera stessa:QWERTY - di tipo standard, con la rappresentazione dei caratteri adottata internazionalmentein base al codice americano;QZERTY - di tipo italiano, con la disposizione dei caratteri eguale a quella delle macchine dascrivere italiane e con le lettere accentate disponibili sulla tastiera.Le tastiere con le lettere accentate sono quelle che richiedevano, sui sistemi MS-DOS, l'uso delprogramma driver di tastiera KEYB IT.

TERMINALE VIDEO - Si tratta di unita' composte normalmente da una tastiera (che puòtrovarsi anche separata) e da un video televisivo.Delle caratteristiche funzionali della tastiera si e' accennato.Il video televisivo viene pilotato da una opportuna interfaccia interna (generatore di caratteri).Su di esso e' possibile lavorare nei seguenti modi fondamentali:-pagina testo, normalmente costituita da 24 righe x 40 colonne oppure da 24 righe x 80colonne. Ad ogni incrocio di riga e colonna e' possibile visualizzare un carattere, per cui inpagina testo l'unita' di misura e' il carattere, e si possono visualizzare al massimorispettivamente 960 oppure 1920 caratteri.-media risoluzione, che visualizza immaginiaccostando punti luminosi uno accanto all' altro. Il minimo punto luminoso che può essereacceso e che sia distinguibile all' occhio prende il nome di pixel.La media risoluzione può valere tipicamente 200 x 320 pixel.-alta risoluzione, basata sullo stesso principio della media risoluzione, e dotata tipicamente dai200 x 640 pixel in su'.I monitor si distinguono in base al colore (normalmente RGB) ed alla risoluzione, cherappresenta il numero massimo di punti che possono essere “accesi” sul video stesso. Il“punto” che può essere acceso sul video prende il nome di pixel. La risuluzione tipica di unvideo colore VGA può essere attualmente di 1280 x 1024 pixel. Questo vuol dire che indirezione orizzontale possono essere “accesi” un numero massimo di 1280 “punti”, mentre inverticale sono accendibili massimo 1024 punti. In totale si hanno 1280 x 1024 = 1.310.720pixel.MOUSE: è un sistema in grado di inviare un segnale di ingresso ad una interfaccia dedicata di un computer(keyboard interface) in modo che ad un suo movimento ne corrisponda uno analogo di un indicatore sulloschermo detto puntatore (normalmente a forma di freccia). È inoltre dotato di uno o più tasti ai quali possonoessere assegnate varie funzioni. Strutturalmente, i mouse più diffusi possono essere:-ottici : tramite una finestrella posteriore viene inviato un raggio luminoso sulla superficied'appoggio. Dal raggio riflesso viene calcolata la posizione ed inviata al computer. La finestrelladeve essere sufficientemente pulita in modo da risultare trasparente (la pulizia è facilissima);-meccanici : tramite la rotazione di una pallina rigida vengono spostati due assi verticali internial mouse, uno orizzontale e l'altro verticale. Dall' incrocio dei segnali risultanti viene calcolatala posizione ed inviata al computer. Questo tipo di mouse deve essere sempre pulito dallapolvere che può entrare nell' alloggiamento della pallina scorrevole, ed è di pulizia più difficiledi quello ottico.

54

Page 55: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

TOUCHPAD: (o tappetino tattile) è un dispositivo presente nella maggior parte dei computer portatili Vieneutilizzato per spostare il cursore rilevando il movimento di un dito sulla sua superficie comportandosipraticamente come un mouse.Grazie a dei trasduttori di movimento, percepisce lo spostamento del dito utilizzando la misura della capacitàelettrica della carne. I trasduttori sono posizionati lungo l'asse orizzontale e verticale del touchpad e vengonoutilizzati per rilevare l'esatta ubicazione del dito sulla sua superficie tramite una rilevazione a griglie.Il touchpadnon percepisce la presenza ad esempio di una matita perché essa non altera la capacità elettrica.Se si ha un dito umido e/o sudato, i sensori potrebbero non riconoscere correttamente il suo movimento poiché èdifficile rilevare la capacità elettrica in queste condizioni.

LETTORI/ PERFORATORI DI SCHEDE: sono unita' che hanno ormai per lo più solo interessestorico.Sono basati sulla perforazione meccanica di schede di cartoncino rigido. In queste schede, aduna serie di buchi corrisponde un carattere alfanumerico, espresso in codice appropriato.Solitamente si usa il codice Hollerith, cui si e' accennato nella parte del capitolo 1 dedicata allastoria dell' informatica.Quando le schede perforate vengono fatte passare attraverso il dispositivo di lettura,attraverso i buchi passa un segnale luminoso che attiva dei dispositivi fotosensibili (fotodiodi ofototransistor), che sono in grado di convertire questo segnale in corrente elettrica (valorelogico 1). In assenza di questo segnale, i circuiti logici si pongono nello stato logico 0.L'incolonnamento dei dati deve rispettare determinate regole, cui e' accennato nella parterelativa al linguaggio COBOL, che tradizionalmente prevedeva fino a qualche tempo fa' ungrande uso di lettori/perforatori di schede.La velocita' di perforazione può raggiuingere le 400 schede/minuto, quella di lettura anche le1000 schede/ minuto.

LETTORI/ PERFORATORI DI NASTRO: hanno anch'essi valore più che altro storico e sonobasati su principi analoghi ai lettori/ perforatori di schede, con la differenza che viene perforatoun nastrino di cartone flessibile, di spessore di cm. 2.54 e lunghezza dipendente dallalunghezza del programma o dei dati da registrare.La velocita' tipica di trasferimento può essere di circa 100-1000 caratteri al secondo.

CONVERTITORI ANALOGICO-DIGITALI: sono costituiti da un insieme di blocchi, cheprevede come primo stadio un dispositivo trasduttore. Il trasduttore converte una grandezzafisica di un tipo in grandezza elettrica corrispondente, che viene successivamente convertitadalla forma analogica in cui si trova (vedi capitolo 1) in forma digitale adatta da esserememorizzata dal computer, con l'aiuto anche di dispositivi di tipo buffer e latch.I convertitori sono basati su più metodi di conversione. Da un punto di vista ideale,quantizzano una forma d'onda analogica, riscostruendola in modo approssimato, ma consufficiente precisione, con sequenze di segnali digitali.Tali dispositivi sono usati in modo particolare per realizzare controlli di processo industriale.

55

Page 56: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

-PERIFERICHE DI OUTPUTAccenneremo in breve alla struttura funzionale dei principali dispositivi di uscita dati.Dei terminali video si e' detto nella parte precedente, essendo composti da una unita' di input(tastiera) ed una di output ( video).

STAMPANTI : si tratta dei più diffusi ed importanti dispositivi di memorizzazione permanente(hard copy) della memoria della C.P.U.Una stampante e' caratterizzata da:

-spostamento verticale della carta;-spostamento orizzontale della testina di stampa;-impressione del carattere su carta, per mezzo della testina di stampa.

Le varie tecniche realizzative del meccanismo di stampa hanno originato varie classi distampante, di cui riportiamo le principali, in base alla diffusione sul mercato:

CLASSE TECNOLOGIA DI STAMPA

laser scansione immagine con raggio laser

ink-jet getto di inchiostro diretto elettrostaticamente

ad aghi impatto su carta tramite nastro inchiostrato

a margherita impatto su carta tramite nastro inchiostrato

termiche annerimento carta tramite riscaldamento

La velocita' cui possono arrivare tali dispositivi indicativamente può essere:-dalle 30 alle 50 ppm (pagine per minuto) per le stampanti laser (tipi HP, Xerox, Brother edaltre ancora);-dalle 20 alle 40 ppm per le ink-jet (tipi HP, Epson, Ocè Graphics ed altre ancora);-da 80-180 caratteri/secondo per le stampanti a carattere, per arrivare a 2000 linee/minutonelle stampanti veloci a stampa di linea per quelle ad impatto.I dispositivi di interfacciamento possono essere USB, paralleli e seriali. I dispositivi coninterfaccia USB sono quelli attualmente più veloci.La qualità della stampa è di classe tipografica in quelle laser ed ink-jet, che forniscono unaqualita' di stampa eccellente, paragonabile a quella della stampa tipografica ed usate perquesto come desktop-publishing (editoria da scrivania).Per quelle ad impatto, la qualita' di stampa e' migliore nelle stampanti a margherita, chestampano con modalita' analoghe a quelle di una macchina per scrivere elettrica (movimentorotazionale di una margherita di ferro, che porta impressi sugli steli i vari caratteri, comandatadal computer tramite l'interfaccia), ma sono le più lente.Maggiori dettagli possono essere sempre trovati sui manuali forniti dai produttori dellestampanti.

UNITA' DI MEMORIA DI MASSAVogliamo qui dare un cenno a parte alle memorie di massa, che sono costituite essenzialmenteda dischi magnetici e cassette magnetiche, e sono ovviamente dispositivi sia di ingresso che diuscita dati.

DISK DRIVE: sono le unita' elettronico-meccaniche che ospitano i dischi magnetici,permettendone il funzionamento. In pratica, sono costituite da un gruppo elettromeccanico chemantiene in rotazione uno o più dischi a velocita' costante (regolata elettronicamente), conuna testina magnetica di lettura/ scrittura, che accede al disco secondo i comandi dell'interfaccia.

56

Page 57: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

FLOPPY-DISK: sono costituiti da fogli di mylar sintetico, su cui viene depositato un sottilestrato di ossido metallico magnetico. Il tutto viene racchiuso in un contenitore plastico rigido,su cui è presente una finestrella scorrevole per la lettura/scrittura del disco stesso.Lo strato viene attivato o disattivato dalla testina di lettura del drive, che si muove su di essoper tracce (in senso circolare) e per settori (in senso radiale), incidendo o leggendo i dati.Le dimensioni dei floppy-disk sono espresse in pollici ( “ = 2,54 cm) e sono tre :

3"1/2 (usati nei personal computer prima dell'avvento delle pendrive USB) 5"1/4 (personal computer obsoleti, come APPLE II e simili) 8" (antichi sistemi gestionali IBM 34/36/38 - DIGITAL PDP11 - CROMEMCO, ecc..)

Fig. 3.5.5.6 Struttura ed aspetto esteriore di floppy disk

I floppy disk sono contraddistinti dalla densita' di magnetizzazione e dal numero di facce(massimo tutte e due) incidibili.A seconda di queste caratteristiche, il disco possiede una diversa capacita' di memorizzazioneche va' dai 140 KB dei vecchi dischi a 8” fino a 1,44 MB dei più moderni floppy disk da 3”5.

Il record, o registrazione, e' costituito dal numero di byte incidibili in una traccia compresa inun settore. La formula di calcolo da impiegare per calcolare la capacità e':

Capacità = Facce x Tracce x Settori x Record [byte]

In alto a destra tutti i floppy disk possiedono una finestrella di lettura/scrittura con una piccolaslitta spostabile in sù o giù: spostandola la slitta verso l'alto (finestrella aperta) il floppy èprotetto da scrittura quindi solo leggibile, spostandola in basso (finestrella chiusa) il floppy èscrivibile e leggibile.

57

Page 58: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

HARD-DISK: Si tratta di bande magnetiche sigillate in contenitori ermetici, che svolgono lafunzioni di più floppy disk simultaneamente. Gli hard-disk sono detti anche HDU (Hard DiskUnit), HD (Hard Disk), dischi fissi, dischi rigidi o piatti rigidi, in quanto non sono rimovibili dallaloro custodia.

Fig. 3.5.5.7 Struttura interna (di massima) di un hard disk

Le caratteristiche principali di un hard disk sono: capacità tempo di accesso la velocità di trasferimento

La capacita' di memoria attualmente va' tipicamente da tagli minimi di alcuni GB fino ad 1 TBed oltre.Il tempo di accesso è il tempo medio necessario perché un dato posto in un punto dell'harddisk possa essere reperito. Il tempo impiegato dipende dal fatto che la testina deve spostarsi,e contemporaneamente il disco deve girare finché il dato non si trova sotto la testina peressere letto (latenza rotazionale). Per un hard disk di buone prestazioni (15.000 giri) è di 3 o 4millisecondi.La velocità di trasferimento è la quantità di dati che l'hard disk è teoricamente in grado dileggere o scrivere sul disco in un determinato tempo (in genere si prende 1 secondo comeriferimento).Gli HD attualmente più diffusi sono quelli con interfaccia SATA .

58

Page 59: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

MEMORIE OTTICHE: La fine degli anni '80 ha portato alla ribalta un nuovo tipo di dispositivi dimemoria, basati su applicazioni ottiche, dalle seguenti caratteristiche:-altissima capacita' diimmagazzinamento dati (anche di parecchie decine di Gbyte: 1 Gbyte = 1000 Mbyte);-alto rapporto velocita' di lettura/ quantita' di dati;-possibilita' di scrittura per una sola volta sullo stesso supporto ( a meno di procedurecomplicate e costose).Normalmente, l'utente imposta la maschera dei dati, e la invia al produttore di questememorie, che provvede ad inciderle una volta per tutte.I dispositivi più usati in questa tecnologia sono:-DVD (Digital Video Disc): sono dischi a lettura ottica mediante raggio laser, con dimensioniindicative 4.75" (circa 12 cm.) e capacità di 4,7 GB.-CD-ROM (Compact Disk ROM): sono dischi a lettura ottica mediante raggio laser, condimensioni indicative 4.75" (circa 12 cm.) e capacità di 700 MB.

Fig. 3.5.5.8Aspetto frontale posteriore di CD e DVD.Se frontalmente i dispositivi si somigliano abbastanza, vistidi retro i DVD appaiono più scuri per via del maggioraddensamento delle piste.

La base meccanica di questi dischi e' una resina (policarbonato) che viene ricoperta con unostrato di materiale riflettente (alluminio). Le informazioni da registrare vengono impresse sullasuperficie riflettente come "microbuche" mediante un raggio laser finemente focalizzato su undisco base (disco MASTER), utilizzato successivamente per la produzione di migliaia di copie.Le informazioni vengono lette da un raggio laser a bassa potenza, che colpisce la superficie deldisco in rotazione: l'intensita' della luce laser riflessa varia nel caso lo stesso colpisca una"microbuca", e questa variazione viene rilevata da un fotosensore, e convertita in segnaledigitale.Una areola di riferimento, al centro del disco rotante, si muove rispetto ad un punto fisso, piùlentamente rispetto ad una areola eguale, presente sulla circonferenza esterna del discostesso.Questo compensa la variazione di velocita' tra interno e periferia del disco, e consente alraggio laser di leggere tutte le areole alla stessa velocita'.E' anche necessario (come sui normali dischi magnetici) aumentare la spaziatura tra le areoleall' aumentare del raggio del disco stesso. In questo modo, le informazioni incise possonoessere scandagliate alla stessa velocita' di rotazione, detta C.A.V. (Costant angular velocity).

I dispositivi CD/DVD se sono contrassegnati dalla lettera R (che sta' per Read) sono scrivibiliuna sola volta e leggibili molte. Se sono contrassegnati da R/W (che sta' per Read/Write) sonoriscrivibile e leggibili molte volte.

Tra le applicazioni pratiche, citiamo:-scrittura di enciclopedie su unico supporto;-raccolta di sentenze, leggi, decreti e normative fiscali su unico supporto;e cosi' via.

59

Page 60: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

Le periferiche descritte nel seguito hanno ormai solo importanza storica:

CARTRIDGE: sono costituite da cartucce di supporto magnetico sigillato, che sono rimovibili dalsupporto hardware su cui alloggiano, a differenza dei dischi rigidi.Hanno capacita' orientative di 10 Mbyte circa, con circa 40 cm. di diametro.Per queste loro caratteristiche sono adatti a contenere l'archivio storico dei dati, cheperiodicamente devono essere cancellati dai dischi rigidi, che col tempo si riempono.

STREAMER: si tratta di dispositivi analoghi ai registratori a cassetta, montati sui sistemi a discorigido, per farne la copia di back-up in sostituzione dei cartridge. Il loro dispositivo di memoriaconsiste in cassette magnetiche ad alta densita'.

CASSETTE MAGNETICHE: sono pilotate dallo streamer, ed hanno come caratteristiche di esseredel tipo ad alta densita' magnetica, low noise. L'aspetto esteriore e' quello usuale dellecompact - cassette, tipo C-60. Possono mantenere facilmente 10 - 20 Mbyte di dati, con costinotevolmente più bassi dei cartridge.

60

Page 61: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

ESERCIZI DI VERIFICA

E 3.1 - Costruire un algoritmo per la macchina di Turing che risolva il seguente problema:

-Dati due numeri interi M,N con M>N, determinare la differenza dei due numeri.

E3.2 - Usando un codice a 4 bit, ognuno dei quali può assumere i valori 0 ed 1, quali sono lecombinazioni totali ottenibili, diverse tra loro ?

(a) 2 (b) 16 (c) 4

E3.3 - Dire quante informazioni vengono trasmesse con un codice a 5 bit e quante lampadinesono necessarie per costruire il dispositivo elettrico corrispondente.

E3.4 - Convertire i numeri decimali indicati in numeri BINARI corrispondenti:

3

8

16

18

19

20

E3.5 - Convertire i numeri BINARI elencati nei numeri decimali corrispondenti:

1101

1010

101

1000

0101

0111

1111

E3.7- Il microprocessore e' :

a) Il componente in cui e' concentrata la facolta' di elaborare del sistema di cui fa' parte;b) Una periferica di I/Oc) Un circuito per eseguire le sole operazioni aritmetiche e logiche

E3.8- Un sistema a microprocessore e' costituito da:

a) CPU + Memoriab) CPU + I/O + Stampantec) CPU + Memoria programma + Memoria dati + Clock + Periferiche di I/O

E3.9- Le memorie di tipo R.O.M. (Read Only Memory):a) Perdono il contenuto se viene a mancare l'alimentazione elettrica;b) Conservano il contenuto in qualsiasi condizione elettrica;c) Sono facilmente cancellabili e riscrivibili.

61

Page 62: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

E3.10- Le C.P.U. con parola ad 32 bit sono in genere impiegate:

a) Nei giocattoli di basso prezzo (inferiore alle 10 mila lire);b) In molti personal computer di media levatura;c) Nei grossi sistemi di elaborazione dati.

E3.11- Il BUS di un microprocessore:

a) E' costituito da una serie di comandi e di istruzioni di programma;b) Controlla le sole operazioni di I/O del microprocessore;c) E' l'insieme delle connessioni che trasferiscono segnali e informazioni lungo tutto l'arco delsistema.

E3.12- Programmare una M.P.U. significa:

(a) Far entrare i dati da elaborare;(b) Porre il microprocessore nello stato più adatto per elaborare il programma;(c) Far uscire i dati su una stampante.

E3.13- Quale tipo di memoria può essere cancellata e riscritta più volte?(a) R.A.M.(b) R.O.M.(c) CD R

E3.14 - Eseguire lo schema a blocchi di massima di un sistema a microprocessore per laregolazione della velocità di un trapano comprendente:

1) Unita' centrale a C.P.U. - 2) Memoria ROM - 3) Tastiera - 4)Trapano -5) Circuiti diasservimento del trapano - 6) Clock

Indicare con le frecce la direzione dei dati.

E3.15- Per ogni risorsa indicata, specificare se è di tipo Hardware o Software.

(a) ROM

(b) Programma calcolo stipendi

(c) CPU

(d) Floppy-disk

(e) DEBUG

(f) BASIC

(g) Contenitore metallico

(h) Listato di un programma

62

Page 63: COMPENDIO DI INFORMATICAviscontir.altervista.org/cmpd/cmpd_capit3.pdf · 2013. 6. 18. · COMPENDIO DI INFORMATICA CAPITOLO 3 ASPETTI LOGICI E TECNOLOGICI DELLE RISORSE estratto da:

PROVE PRATICHE

PROVA P3.1 : COSTRUZIONE DI UN CIRCUITO PER LA TRASMISSIONE DI 1 BIT

OBIETTIVO : Sviluppare abilita' manuale nel realizzare un semplice circuito elettrico comequello visibile infig. 3.5.1.1 per la concretizzazione dei concetti esposti.PREREQUISITI:Essere in grado di interpretare semplici schemi elettrici

MATERIALI : n. 1 pila elettrica da 4.5 V (utile anche in seguito)n.1 interruttore per correnti fino ad 1 A per bassa tensionen.1 resistore per limitazione corrente da 15 Ohm, 1/2 Wn.1 lampadina (con portalampada) da 3 V - 100 mA circa.Filo elettrico per collegamenti circa cm. 20Saldatore per collegamenti oppure connettori del tipo "mammut" a vite, od equivalenti.

PROVA P3.2: COSTRUZIONE DI UN CIRCUITO PER LA TRASMISSIONE DI 2 BIT

OBIETTIVO:realizzare la disposizione di fig.3.5.1.2, per verificare la trasmissione "Invito apranzo" svolta nel testo.

MATERIALI :gli stessi precedenti, con in più:-un altro resistore da 15 Ohm 1/2 W-un altro interruttore eguale al precedente-un'altra lampadina eguale alla precedente-un supportodicartone o plastica sucui montareledue lampadineaffiancate.

SPERIMENTIAMO: seguendo il circuito visibile in fig.3.5.1.2, ampliare le capacita' del sistemaprecedente.Effettuare un collegamento a distanza con una persona in vista ottica, segnando su un foglio leproprie informazioni trasmesse e verificando alla fine se sono state bene interpretate dall'altrapersona.

63


Recommended