Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
HOME Green Linux ReLivix Techne Mix Particelle Glossario Link Download Files Tips
Men�
Introduzione
Sistemi di numerazione
Elementi Bistabili
Multipli e Sottomultipli
Codici a 4 bit
Conversioni HEX-BIN-DEC
Codice ASCII a 8 bit
Pixel e Colori
Modello di Von Neumann
Strutture di Controllo
John von Neumann (1903-1957) è stato l'inventore dell'EDVAC (Electronic Discrete Variables
Automatic Computer), la prima macchina digitale programmabile tramite un software.
Il modello logico, utilizzato ancora oggi, porta il suo nome.
Bus di sistema, è una unità di comunicazione tra i vari moduli suddivisa, per maggiore comodità, in tre
bus distinti: Bus Dati, Bus Indirizzi, Bus Controlli. Qui le informazioni fluiscono sotto forma di segnali
elettrici. Ognuno dei tre bus porta informazioni appartenenti a categorie diverse.
I/O, detta anche unità di Input/Output, svolge il doppio ruolo complementare di unità di ingresso
(acquisizione dei dati e dei programmi per il loro successivo trasferimento in memoria) e di unità di uscita
(trasferimento all'esterno dei risultati presenti in memoria).
Memoria è l'unità che consente la scrittura, la lettura e la modifica sia dei dati sia delle istruzioni del
programma.
CPU è l'Unità Centrale di Processo, presiede a tutte le operazioni, e infatti interpreta le istruzioni prelevate
dalla memoria, ne guida l'secuzione inviando appositi segnali alle altre unità. Al suo interno apposite
sottounità si occupano di compiti specifici; tra queste la ALU (Unità Aritmetico Logica) è dedicata alla
esecuzione delle operazioni aritmetiche e logiche.
Tramite questo modello è possibile schematizzare le diverse operazioni che vengono svolte durante un ciclo di
calcolo o di elaborazione:
operazioni di ingresso dati ossia assegnazioni di valori alle variabili del programma, queste avvengono fra
l'unità di ingresso e la memoria;
operazioni di uscita ossia l'elaboratore restituisce all'esterno i risultati della elaborazione, queste avvengono
fra la memoria e l'unità di uscita.
2. L'esecuzione del programma (run time), ossia il programma viene eseguito per opera della CPU che
interpreta in sequenza le istruzioni ed attiva opportunamente le altre unità.
Clock: l'orologio interno che scandisce tutte le operazioni che vengono effettuate dalla CPU. I tempi di
lavoro vengono scanditi in piccolissime unità ottenute dividendo il secondo in milioni o miliardi di parti.
Questo significa che nei circuiti che regolano il clock transitano milioni o miliardi di impulsi elettrici. In un
certo senso è come se la CPU avesse una una sorta di cuore elettrico che pulsa, anzichè una volta al
secondo (come nel caso umano), milioni o miliardi di volte al secondo. Questo concetto si esprime dicendo
che la frequenza del clock è pari a n MHz oppure a n GHz. Si ricorda che 1 Hz (Hertz) rappresenta un
impulso al secondo.
Nei microprocessori attuali la frequenza tipica si aggira attorno a 3 o 4 GHz, il che significa che in 1 sec ci
sono da 3 a 4 miliardi di impulsi e che ciascun impulso ha una durata (chiamata periodo) da 0,33 a 0,25
nsec. Il passaggio da frequenza a periodo si effettua eseguendo l'inverso della frequenza. Nel caso dei 4
GHz si ottiene: 1/4=0,25 nsec. Nell'eseguire l'operazione si tenga presente che il prefisso G (giga) vale
109, e quindi il suo inverso sarà n (nano) che vale 10-9.
Parallelismo: rappresenta il numero n di bit che vengono trattati in un unico atto elementare di calcolo,
tipicamente della durata di un ciclo di clock. Il primo processore aveva un data bus di soli 4 bit, oggi sono
comuni le cpu a 32 bit e 64 bit, ma ne esistono anche con un numero maggiore.
E' chiaro che a pari velocità di clock risulta più efficiente l'uso di un bus di maggiore capacità. Le
prestazioni di una cpu sono, quindi, fortemente influenzate dalla frequenza di clock e dalle dimensioni del
suo bas dati.
Set di istruzioni: è l'insieme delle operazioni elementari che una cpu è in grado di svolgere. Oggi
prevalgono due scuole di pensiero CISC e RISC.
Capacità di indirizzamento: rappresenta il massimo numero di byte che la cpu è in grado di utilizzare
tramite il bus indirizzi, il quale non è detto che abbia lo stesso numero di fili del data bus.
Produtt. Nome Anno Dati ALU Indirizzi Clock N. Trans. Gate MIPS
Intel 4004 1971 4 bit 12 bit 0,74 MHz 2.300 10 µm 0,07
Intel 8008 1972 8 bit 14 bit 0,80 MHz 3.500 10 µm 0,05
Intel,Amd 8080 1974 8 bit 16 bit 2 MHz 4.500 6 µm 0,33
Zilog Z80 1976 8 bit 16 bit 3 MHz 6.000 6µm
Intel,Amd 8086 1978 16 bit 20 bit 8 MHz 29.500 3 µm 0,66
Motorola 68000 1980 16 bit 8 MHz 40.000 1,0
Intel,Amd 80286 1982 16 bit 24 bit 12,5 MHz 134.000 1,5 µm 2,66
Intel,Amd 80386 1985 32 bit 32 bit 33 MHz 275.000 1 µm 9,9
Intel,Amd 80486 1989 32 bit 32 bit 66 MHz 1,2 Milioni 0,8 µm 54
Intel Pentium 1993 32 bit 32 bit 90 MHz 3,2 Milioni 0,6 µm 150
Amd K5 1996 32 bit 32 bit 100 MHz 350 nm
Intel Pentium II 1997 32 bit 32 bit 266 MHz 7,5 Milioni 350 nm 350
Amd K6 1997 32 bit 32 bit 300 MHz 250 nm
Intel Pentium III 1999 32 bit 36 bit 600 MHz 9,6 Milioni 180 nm 2.054
Intel Pentium IV 2000 32 bit 1,3 GHz 42 Milioni 180 nm 3.800
Amd K7-Sempron 2004 2,3 GHz 180 nm
Intel Core 2 E6300 2006 64 bit 2,4 GHz 65 nm
Intel Core 2 E7200 2007 64 bit 3,3 GHz 45 nm
Intel Core i5 2009 64 bit 3,4 GHz 22 nm
Nella colonna gate viene indicata la dimensione media del gate di ogni singolo transistor, in pratica la larghezza
dei conduttori che collegano l'un l'altro i componenti della cpu. Per avere un'idea delle dimensioni specificate
basti considerare che un capello è quasi 80 µm, lo spessore del foglio di alluminio da cucina (domopack) è circa
12 µm, un globulo rosso umano è circa 7 µm, il virus dell'HIV è grande circa 120 nm.
La prova di una vocazione è l'amore per il duro lavoro che essa comporta.
Logan Pearsall Smith