I microcalcolatori

Dai calcolatori ai microcalcolatori

1.1 Dai calcolatori ai microcalcolatori


Come è noto, il calcolatore è costituito da elementi a base di componenti elettronici. Dal 1950, in cui si fabbricavano calcolatori a tubi elettronici il cui elemento principale era l'Unità Centrale (aritmetica e logica) che richiedeva potenti sistemi di condizionamento e locali appositamente attrezzati fino ai nostri giorni, in cui l'unità di elaborazione è trascurabile in volume e in prezzo rispetto agli altri elementi del sistema, questi componenti hanno subito una progressiva miniaturizzazione, pensate al futuro con la nano-tecnologia cosa riusciremo ad ottenere. Ora un breve elenco dei successi ottenuti che hanno portato alla realizzazione dei moderni personal computer PC. -1944. Aiken ad Harvard completa il "MARK 1"; combinando tubi e relais effettua un'operazione di somma in 0,25 secondi e una moltiplicazione in 4 secondi. -1946. Eckert e Mauchly all'Università di Pennsylvania mettono a punto il primo calcolatore completamente elettronico: l' "ENIAC" (Electronic Numeric Integrator and Automatic Calculator). Pesa diverse decine di tonnellate, consuma l'energia elettrica di un treno e richiede un grosso impianto di condizionamento. Duecento persone debbono sorvegliare il suo funzionamento...un guasto ogni dieci minuti...però esegue 5 mila somme al secondo. -1948. Dopo lo studio teorico d'importanza capitale compiuto da Von Neuman, esce l' "EDVAC" (Electronic Discrete Variable Automatic Calculator). La codifica binaria dell'informazione diventa preponderante. -1952. Descrizione dell'effetto di campo da parte di Shockley -1956 -- 1968. Sostituzione dei tubi catodici con transistor. Introduzione di grosse memorie a ferrite. Linguaggi di programmazione. Da qui maggiore affidabilità, velocità, flessibilità d'uso. Dischi magnetici, grosse stampanti. -1965 --1970. Circuiti integrati, console di visualizzazione. Reti, elaborazione a distanza. Le prestazioni sono moltiplicate per 100, i prezzi divisi per 10. -1970 --1980. Progresso considerevole nella miniaturizzazione dei componenti e dei circuiti: il calcolatore in una "scatola". Le prestazioni sono ancora moltiplicate per 100 e i prezzi divisi per 10.

1.2 Struttura di un microcalcolatore


Come tutti i calcolatori anche i microcalcolatori devono svolgere tre funzioni principali: - commutazione (o elaborazione) => CPU - memorizzazione => R.O.M. & R.A.M. - scambio dati => I/O Queste tre funzioni sono eseguite da tre tipi di elementi che sono alla base della struttura del calcolatore: - l'unità centrale (CPU, Central Processor Unit): ha la funzione di eseguire le elaborazioni indicate dalle istruzioni che essa ha trovato nella sua memoria (registri). - La memoria centrale: serve a memorizzare i programmi (insieme di istruzioni) e i dati. - Periferiche di ingresso / uscita (I/O, Input/Output): permettono la comunicazione con il mondo esterno. Ad esempio, una tastiera consente di inserire i dati, una stampante di far uscire i risultati su materiale cartaceo. Riassumiamo queste definizioni fondamentali schematizzando i quattro elementi funzionali di ogni calcolatore:
fig.1

Fisicamente un microcalcolatore è costituito da due o tre schede logiche e da un'alimentazione per la CPU (la memoria è compresa in questa). I terminali d'ingresso / uscita più diffusi sono costituiti da una tastiera e un video. La tastiera (keyboard) permette di immettere dei caratteri alfanumerici e grafici (un carattere per tasto) codificati in binario; sul video saranno visualizzati i caratteri generati in uscita dal microcalcolatore. I terminali previsti dai costruttori potranno essere collegati al microcalcolatore grazie ai canali (BUS). Questi sono le vie di comunicazione tra l'unità centrale e i differenti organi ad essa collegati. Un canale è un insieme di linee raggruppate per funzione. Si trova generalmente un canale: - dati - indirizzi - controllo

1.3 Principio di funzionamento


1.3.1 Rappresentazione delle informazioni


I dati che il microcalcolatore che andrà a manipolare saranno di natura diverse, ma riassumibili in queste categorie: dei dati o elementi che definiscono il problema da risolvere. I gruppi di dati della stessa natura costituiscono gli archivi. delle istruzioni o indicazioni sule elaborazioni da effettuare. La sequenza di istruzioni che conduce a una certa elaborazione costituisce un programma. In tutti i casi queste informazioni saranno ricondotte a una rappresentazione binaria all'interno della macchina. Questa limitazione è legata alla natura fisica dei supporti utilizzati. Al momento della progettazione il costruttore compie una scelta che definisce la struttura dell'informazione e che corrisponde ai circuiti cablati e / o microprogrammi previsti. E' così che egli definirà l'insieme delle operazioni elementari possibili e il volume globale disponibile. L'unità elementare d'informazione è il bit (contrazione di Binary Digit), ma ciascuna macchina sarà caratterizzata dalla più piccola quantità d'informazione accessbile direttamente (indirizzabile), ossia un insieme di bit definito parola. La maggior parte dei microcalcolatori sono di 32 bit, ma esistevano anche quelli da 8 e 16 bit, ormai ci stiamo avvicinando al 64 bit. Per semplificare la spiegazione baserò i miei esempi su una architettura a 8 bit. Avendo definito il bit come se fosse una parola, con parole di 8 bit si disporrà di un "vocabolario" potenziale di 28 = 256 parole differenti. Si comprende quindi la necessità continua di avere macchine con sempre maggiori bit. Quindi per calcolare quante operazioni, ovvero quante parole conosce il nostro processore bisogna elevare 2 al numero di bit della nostra architettura, es:
fig.2

L'insieme dei codici di operazione costituisce il vocabolario della macchina, ad esempio: 00010100 significherà sommare Il costruttore definisce la capacità di memorizzazione della sua macchina prevedendo i supporti fisici corrispondenti. In generale, la memoria del calcolatore potrà contenere molte decine di migliaia di parole. Per questo che motivo si è definita la macrounità di capacità che corrisponde a 1024 parole e memoria di 32 kb parole (condizione normale).

1.3.2 Organizzazione della memoria


Se si schematizza la memoria con un rettangolo che contiene delle caselle numerate, si segneranno tante caselle quante sono le parole previste in quella memoria. Ad esempio 32768 per una memoria di 32 k parole. Una parte di questa memoria conterrà dei programmi preregistrati dal costruttore, in particolare il programma capace d'interpretare le istruzioni dell'utilizzatore (programma di gestione). Un'altra parte conterrà il programma dell'utilizzatore. Infine essa permette di memorizzare tutti i dati necessari. A ogni parola è associato un indirizzo, nel caso di 8 bit, la prima casella della memoria sarà 0 e l'ultima 255, il numero delle caselle è 256. Questi indirizzi scritti in binario sono 00000000 e 11111111 si possono scrivere anche 0x8 e 1x8 (numero massimo esprimibile con 8 bit) Abbiamo due tipi di memoria: - R.O.M. (Read Only Memory) o memorie a sola lettura destinate alla memorizzazione dei programmi che non saranno modificati. E' il caso, ad esempio, del programma di controllo. - R.A.M. (Random Access Memory) o memorie di accesso casuale. Possono essere scritte e lette, ma presentano l'inconveniente d'essere volatili, cioè il loro contenuto si perde quando l'alimentazione elettrica alla macchina viene interrotta.

1.3.3 Esempio di funzionamento


Per comprendere il principio di funzionamento di un calcolatore descriveremo una configurazione semplificata. Essa è riassunta in questa figura:
fig.3

l'orologio (clock) è un contatore elettronico che invia impulsi regolarmente spaziati permettendo così di sincronizzare le azioni della CPU. La memoria è un insieme di 256 parole di 12 bit; a ciascuna parola è assegnato un indirizzo da 0 a 255. Il registro R è un gruppo di elementi elettronici che possono prendere due stati, definiti 0 e 1. Vi sono in totale 12 bistabili in questo registro. Cioè esso permetterà di ricopiare integralmente una parola dalla memoria. Il registro contatore è un gruppo di 8 bit, Esso permette di rappresentare numeri binari che vanno fino a 11111111, cioè 255, esso conterrà l'indirizzo della parola da prendere in memoria. I terminali 1 e 2 sono ad esempio una tastiera che consente di immettere i dati e una stampante che consente di vedere i risultati. L'unità di calcolo (CPU), sotto l'azione dell'orologio e seguendo un programma d'azione preregistrato o cablato, può accedere: - allo stato d'una parola di memoria - allo stato di R - allo stato del Registro Contatore - a tutte le informazioni provenienti dai terminali d'ingresso. Essa può anche modificare il contenuto di R e del contatore, oltre che comandare la stampa di caratteri sul terminale d'uscita. Appunti scritti consultando Chip, una vecchia rivista informatica.