LA STORIA DEL PERSONAL COMPUTER .................................................... 2
Alan Mathison Turing ............................................................................................... 12
Algoritmi e macchine di TURING .......................................................................... 12
L'Elaboratore di Von Neumann ............................................................................... 15
Limiti dell’architettura di Von Neumann ............................................................... 18
STRUTTURA DI UN COMPUTER .................................................................. 19
Il Processore ............................................................................................................... 20
Bus........................................................................................................................... 20
Decodifica ............................................................................................................... 24
Specifiche tecniche della CPU ................................................................................ 25
Clock cycle time e Clock rate .............................................................................. 26
CPU(execution)time e performance .................................................................... 26
MIPS ................................................................................................................... 27
MFLOPS ............................................................................................................. 27
Specifiche fisiche .................................................................................................... 27
Vcore e VI/O ....................................................................................................... 27
VRM .................................................................................................................... 28
Voltage ID ........................................................................................................... 30
Socket (zoccolo) .................................................................................................. 30
Il fattore di moltiplicazione ................................................................................. 36
Sistema di Input e Output – I/O ............................................................................... 38
I/O controller ........................................................................................................... 38
I/O - CMOS clock-calendar..................................................................................... 39
I/O - porte seriali ..................................................................................................... 39
I/O - porta parallela ................................................................................................. 42
I/O - porta mouse PS/2 ............................................................................................ 43
I/O - connettore tastiera ........................................................................................... 44
I/O - porta IR ........................................................................................................... 44
I/O – USB ................................................................................................................ 44
Memoria ..................................................................................................................... 48
Tipi di Memoria....................................................................................................... 48
Tipi di memoria su circuiti integrati ........................................................................ 49
Tipi di RAM ............................................................................................................ 51
Specifiche per i chip DRAM ................................................................................... 52
DIMM e SIMM ................................................................................................... 54
Shadow RAM ...................................................................................................... 56
La memoria CACHE ............................................................................................... 57
TAG..................................................................................................................... 58
WRITE BACK e WRITE THROUGH ............................................................... 58
Cache sincrona e asincrona ................................................................................. 58
COAST e CELP .................................................................................................. 59
La storia del Personal Computer
Storicamente Il primo computer, inteso come “calcolatore”, risale al 1946: si
chiamava Eniac1, creato da Mauchly ed Eckert, funzionava a valvole, ed era
basato su un’architettura ideata negli anni 40 da Neumann e Turing: l’input
veniva dato con delle schede perforate; le memorie di massa erano costituite
da nastri magnetici; e la RAM era basata su nuclei di ferrite. Da un progetto
dello scienziato di origine ungherese John von Neumann, entrano in funzione,
nel 1949 a Cambridge, in Inghilterra, l'EDSAC (Electronic Delay Storage
Automatic Calculator) e, nel 1950, presso l'Istituto di Studi Avanzati
Figura 1 - EDVAC
Figura 2 - UNIVAC
dell'Università di Princeton, negli Stati Uniti, l'EDVAC (Electronic Discrete
Variable
Automanic
Computer),
quello
che
è
stato
universalmente
riconosciuto come il vero prototipo dei moderni elaboratori elettronici. Le
nuove macchine, sono basate sul concetto di "programma memorizzato", cioè
vengono registrati al proprio interno, nella "Memoria", non solo i dati su cui
lavorare, ma anche le istruzioni per il suo funzionamento. In questo modo il
calcolatore, durante il corso di una elaborazione, sulla base dell’analisi dei
risultati intermedi, può saltare direttamente da una istruzione all'altra,
eseguendo di conseguenza operazioni diverse, potendo così, secondo le
Per rappresentare i numeri, sostituendole con tubi a vuoto che vengono attivati mediante
impulsi elettrici e che indicano le varie cifre mediante il proprio stato di acceso o spento. Poiché gli
impulsi elettronici si muovono migliaia di volte più velocemente di un dispositivo elettromeccanico,
l'ENIAC è in grado di effettuare oltre 300 moltiplicazioni in un secondo. Il primo calcolatore
elettronico della storia impiega 18.000 valvole, pesa 13 tonnellate ed occupa una superficie di 180
metri quadrati. Tutte le operazioni interne erano semplificate mediante impulsi elettronici generati
al ritmo di 100.000 al secondo. Con l'aumento della velocità di calcolo si fece sentire l'esigenza di
velocizzare il lavoro di programmazione. Prima di poter lavorare su un certo programma, l'ENIAC
doveva essere preparato da un squadra di tecnici che per diversi giorni lavorava a collegare
manualmente i circuiti elettrici necessari per quel programma. L'ENIAC restò in funzione fino al
1955 ed è attualmente esposto allo Smithsonian Institute di Washington.
1
varie necessità, risolvere problemi di tipo diverso. Il calcolatore diventa così
"elaboratore", capace cioè di eseguire non solo operazioni aritmetiche ad alta
velocità, ma di prendere decisioni logiche, previste da un programma creato
dall'uomo, elaborando quindi qualsiasi tipo di informazione. La combinazione
di queste due caratteristiche permette di alterare la normale sequenza delle
istruzioni in base all'esito di un confronto: permette cioè di trasferire, all'interno
della macchina, quelle funzioni di controllo che prima richiedevano un
Figura 3 - Tubo a vuoto o Valvola
intervento esterno, facendo compiere quel salto di diversi ordini di grandezza
alla "velocità di esecuzione" del calcolo ed alla sua "garanzia di correttezza",
che erano state auspicate da Leibniz e delineate da Babbage. Gli studi teorici
sugli elaboratori elettronici escono dai laboratori universitari inglesi e
americani dove hanno dato vita a tutta una serie di prototipi isolati identificati
dalle sigle
EDSAC (Electronic Delay Storage Automatic Calculator), MADM (Manchester
Automatic Digital MAchine), UNIVAC (UNIVersal Automativ Computer), SEAC
(Standard Estern Automatic Computer), ecc., e cominciando ad interessare
anche le industrie. Dalla fase puramente sperimentale si passa alla
produzione di queste macchine in più esemplari destinati alla vendita
commerciale, inizia così la loro diffusione. All'inizio degli anni '50 l'IBM diede
vita ad una serie di macchine come il sistema 701, nel 1952, il 650 nel 1953
ed il 704 nel 1954 che era in grado di registrare un milione di cifre binarie e di
eseguire in un secondo 42.000 addizioni. Qualcosa viene prodotto anche in
Figura 4 - Nuclei di ferrite
Germania, nel 1955 il 2002 della Siemens, e in Francia, il Gamma ET della
Bull dal 1956. Gli elaboratori della prima generazione si basano su tre funzioni
fondamentali che la macchina deve svolgere e che ancora oggi sono per
definizione la base di un processo di elaborazione di dati: l'immissione delle
informazioni,
la
loro
elaborazione,e
l'emissione
del
risultato
della
elaborazione.
I dati da utilizzare e le istruzioni necessarie ad eseguire automaticamente le
varie operazioni, espressi sotto forma di perforazioni su schede, vengono letti
dall'unità di immissione e trasferiti nella memoria interna. Da qui i dati passano
Figura 5 - Transistor
nell'ALU, unità aritmetico logica, dove vengono eseguite le elaborazioni e i
calcoli indicati dalle istruzioni impartite. I risultati vengono poi inviati all' unità di
emissione, che provvede a perforarli su scheda oppure a stamparli su un
foglio di carta. Mentre nelle macchine meccanografiche tutte le fasi si
svolgono separatamente, con continui interventi manuali e controlli intermedi,
nell'elaboratore tutte le operazioni e tutti i controlli sono effettuati
automaticamente, dall'immissione dei dati fino alla emissione dei risultati. Il
funzionamento dell'elaboratore è infatti guidato da un'apposita unità di
controllo che comprende il significato delle istruzioni impartite, presiede alla
loro esecuzione, ne controlla l'esattezza e regola il movimento dei dati
attraverso le varie parti della macchina. Nei primi elaboratori elettronici la
memoria era costituita da tubi a raggi catodici, oppure da tamburi magnetici
che ruotano ad alta velocità. Una serie di testine magnetiche "scrive" i dati
e le istruzioni sulla superficie cilindrica
del tamburo
in
forma
di punti
magnetizzati e li "legge" poi in pochi millesimi di secondi. Verso il 1955, negli
elaboratori più evoluti la memoria a tamburo viene sostituita da milioni di
nuclei di ferrite che consentono di registrare in poco spazio un numero molto
maggiore
di dati e di leggerli
mille volte più velocemente. I nuclei sono
microscopici anellini di materiale magnetico, del diametro di pochi decimi di
millimetro, attraversati da due fili elettrici fra loro perpendicolari: al passaggio
degli impulsi provenienti dall'unità di immissione dei dati, ogni nucleo si può
magnetizzare in due sensi opposti e può così registrare convenzionalmente l'1
o lo 0. Un terzo filo elettrico è in grado di prelevare l'informazione registrata
riconoscendo lo stato del nucleo e inviando un impulso corrispondente in
pochi millesimi di secondo. L'esecuzione delle operazioni aritmetiche e logiche
viene svolta all'interno dell'unità centrale mediante circuiti a tubi elettronici, il
cui impiego costituisce la caratteristica tecnologica che contraddistingue gli
elaboratori della "prima generazione". Il tubo a vuoto, noto poi anche come
"valvola", é nella forma più semplice un'ampolla di vetro in cui é stato praticato
il vuoto e che contiene i due capi di un circuito elettrico. A seconda della
tensione applicata, il tubo consente o meno il passaggio degli impulsi elettrici,
indicando così convenzionalmente i simboli 1 e 0. Questa funzione, analoga a
quella di un semaforo che regola il passaggio delle automobili secondo che
sia intervenuto o no un segnale di "via libera", era svolta nei calcolatori
elettromeccanici dai relè: il tempo di scambio di un tubo a vuoto é però
solamente di qualche milionesimo di secondo, contro i centesimi di secondo
richiesti dall'apertura o chiusura di un relè. La memoria che immagazzina al
suo interno i dati e le istruzioni, non è in grado di comprendere il significato
degli ordini che contiene. La loro interpretazione è affidata all'unità di controllo
che sonda il contenuto dei nuclei di ferrite e utilizza i vari stati "1" e "0" per
ricavarne opportuni impulsi di corrente, che a loro volta provocheranno a
velocità elettronica gli effetti voluti. Ogni istruzione introdotta nella memoria si
compone di due parti: la prima serie di impulsi indica qual è l'operazione da
compiere; la seconda parte indica invece la posizione della memoria in cui si
trova il dato che è necessario all'operazione, cioè il suo "indirizzo". I risultati
dell'elaborazione vengono materialmente forniti dall'elaboratore attraverso le
unità per l'emissione dei dati. Il più semplice di questi dispositivi è il
perforatore di schede, che provvede a convertire i risultati dalla forma binaria
in quella comprensibile all'uomo: una serie di punzoni mossi da opportuni
impulsi inviati dall'unità centrale di elaborazione, trasforma i risultati in
perforazioni su schede. Verso la metà degli anni 50 le possibilità applicative
degli elaboratori vengono notevolmente ampliate dall'impiego di memorie
ausiliarie esterne. Nastri, dischi e tamburi magnetici registrano grandi quantità
di informazioni da conservare permanentemente o da utilizzare rapidamente
durante le fasi di elaborazione. Mentre per leggere un'informazione registrata
su nastro è necessario svolgerlo dall'inizio fino al punto che interessa, i dischi
magnetici sono invece unità di memoria ad accesso diretto che consentono di
raggiungere istantaneamente qualsiasi dato registrato. Presentata per la
prima volta nel 1956
sul Sistema IBM 305 Ramac, RANDOM ACCESS
MEMORY ACCOUNTING COMPUTER, la memoria a dischi è simile al jukebox. Una pila di dischi metallici ruotanti immagazzina le informazioni sulle
proprie superfici lungo piste concentriche e in forma di punti magnetizzati. La
disponibilità dei dischi magnetici, capaci di individuare e aggiornare, in frazioni
di secondo, informazioni sparse tra la gran massa di dati archiviati, fornisce
grande impulso alle applicazioni degli elaboratori. Macchine più veloci, più
affidabili, di dimensioni ridotte e meno costose, grazie al circuito integrato, che
è frutto di un’avanzata sperimentazione nel campo dell'elettronica, della
chimica e della fisica, caratterizzano la terza generazione di calcolatori,
Figura 6 - Dischi magnetici
intorno alla metà degli anni '60. Le prime macchine ad essere prodotte sulla
base di questa tecnologia furono quelle della serie 360 della IBM, che riuscì
ad installarne oltre trentamila esemplari in tutto il mondo. La Honeywell
installò più di mille esemplari del G 115, e la Univac 2500 esemplari della
serie 9000. L'ordine di grandezza del tempo necessario alla esecuzione di una
operazione è il miliardesimo di secondo, una velocità circa mille volte
maggiore di quella consentita alle macchine della precedente generazione.
Per avere l'idea di questo straordinario incremento di velocità, basti pensare
che un miliardesimo di secondo sta ad un secondo come un secondo sta a 30
anni.
Questo passo in avanti impone degli accorgimenti per potere adattare a
questa velocità tutti i componenti del calcolatore. Tra la memoria a nuclei
magnetici, e l' unità centrale, che è circa mille volte più veloce, viene creata
una "memoria di transito" costituita da circuiti molto veloci per permettere il
passaggio dei dati. Il circuito integrato, con la miniaturizzazione dei circuiti
elettronici, ha permesso, di conseguenza, la diminuzione dei costi di
produzione. Una barretta di silicio viene tagliata in sezioni sottilissime, e su
ciascuna di queste, con metodi di fotolitografia vengono create delle piastre
della misura di pochi millimetri. Su ciascuna di queste piastrine trovano posto,
collegati tra di loro, migliaia di transistor e di altri componenti elettronici come
resistenze e diodi. L'alta densità dei componenti elettronici, su ciascuna
piastrina, consente di ottenere una elevata velocità di elaborazione, un
volume assai ridotto ed una minima dispersione di potenza. Un altro aspetto
notevole delle macchine di questa generazione riguarda lo sviluppo di
programmi compatibili tra le diverse famiglie di calcolatori. Gli elaboratori
vengono progettati per potere essere potenziati nel tempo,
aumentando la capacità della macchina grazie a dei moduli che permettono di
adeguare la macchina a qualsiasi tipo di applicazione ed a qualsiasi volume di
informazioni da elaborare. Con la 3ª generazione vengono superati alcuni
limiti legati alla generazione precedente, in cui gli elaboratori erano
generalmente costruiti "su misura", progettati con una specifica dimensione,
per potere essere impiegati ad uso esclusivo scientifico o commerciale. Al fine
di gestire il coordinamento delle varie componenti di un calcolatore, vengono
creati dei programmi che hanno lo scopo di aumentare l'efficienza della
macchina, senza
avere nessun compito specifico. Nasce il "sistema
operativo", che controlla il funzionamento della macchina senza l'intervento
dell'operatore eliminando di conseguenza i tempi di attesa. Oltre al sistema
operativo vengono creati nuovi linguaggi di programmazione come l'APL, (A
Programming Language), che viene impiegato per interrogare l'elaboratore, il
Figura 7 - Circuito integrato
Figura 8 - Transistor e valvola
PL/1, (Programmino Language 1), un linguaggio versatile che risolve problemi
sia scientifici che commerciali, ed il BASIC, (Beginners All-purpose Symbolic
Instruction Code), che facilita molto l'approccio alla
programmazione per utenti inesperti. Questi nuovi linguaggi vengono
sviluppati tenendo conto dei nuovi concetti di "multi programmazione" e di
"time-sharing", che consentono in pratica di elaborare più programmi
contemporaneamente, permettendo così l'uso simultaneo del calcolatore a più
utenti. Sotto il controllo del sistema operativo la macchina salta da un utente
ad un altro in modo così rapido, rispetto alla velocità dei terminali, che
nessuno si rende conto di utilizzare l'elaboratore assieme ad altri. E' anche
grazie al sistema operativo che, utilizzando al meglio il calcolatore, permette a
programmi
diversi,
introdotti
nella
memoria
centrale,
di
funzionare
contemporaneamente utilizzando ciascuno i tempi morti durante l'esecuzione
degli altri programmi. La nascita vera e propria dell'industria dei personal
computer risale al 1971 quando un'azienda giapponese produttrice di
calcolatori, la Busicom, commissionò alla Intel2 una serie di chip per un
calcolatore. Si trattava di produrre appositamente dodici processori con
caratteristiche particolari che tuttavia, il tecnico Ted Hoff si rifiutò di eseguire
ritenendoli poco pratici. Invece di tali chip speciali egli offrì un unico congegno,
valido per tutti gli usi, che ripescava le informazioni dalla memoria del
semiconduttore. Questo versatile chip, detto 4004, soddisfaceva pienamente
le necessità del calcolatore Busicom, ma Hoff intuì che esso potesse
benissimo adattarsi senza nessuna modifica anche ad una grande varietà di
apparecchiature, ma la cosa era complicata dal fatto che Busicom aveva
acquistato i diritti sul 4004. Hoff ed i suoi collaboratori dovettero quindi
sostenere una dura battaglia per convincere Intel a spendere 60 mila dollari
(allora come oggi un'enormità) per ricomprare i diritti di sfruttamento del
prodotto. Per quanto oggi possa sembrare incredibile, l'argomento vincente
consistette nel fatto che in questo modo Intel avrebbe venduto più memorie!!!
Benché più piccolo di un francobollo, il 4004 sprigionava la stessa potenza di
calcolo dell'ENIAC, era costituito da 2300 transistor e operava a 4 bit. La
strada era ormai tracciata ed era relativamente in discesa: nel 1972 seguì il
modello a otto bit denominato 8008, che elaborava le informazioni a velocità
doppia. Questi chip all'inizio venivano utilizzati dentro apparecchiature di
precisione,(calcolatrici), diagnostici ospedalieri, flipper e altro. Il primo
microcomputer digitale per uso personale fu il MITS 816, messo in vendita nel
1972. Il MITS 816 non possedeva né uno schermo né tantomeno la tastiera,
ma fu comunque acquistato dagli appassionati, in genere sempre recettivi alle
novità.
Il decollo dell’industria dei PC avviene nel 1974 proprio alla M.I.T.S.(Micro
Instrumentation and Telemetry System, società produttrice di calcolatrici
tascabili, spazzata poi via dal mercato dall’ingresso della Texas Instruments)
con la nascita del primo PC, battezzato poi Altair e lanciato nel gennaio del
1975 sulla rivista “Popular Electronics” che lo descriveva come "il primo kit per
minicomputer in grado di competere con i modelli commerciali". L'Altair era un
sistema basato sul microprocessore 8080 di Intel e dotato di appena 256 byte
di memoria, e un’architettura a bus espandibile. Venduto a circa 375 dollari , il
2
azienda costituita nel 1968 per produrre memorie per semiconduttori a prezzo accessibile, che
praticamente inventò i microprocessori quasi per caso
sistema Altair fu il primo personal computer a raggiungere il grande pubblico e
venne ordinato da centinaia di appassionati di elettronica. Le prime
applicazioni sviluppate sono, emblematicamente, il collegamento a una
minuscola telecamera digitale, un gioco, un programma che sfruttava le
interferenze generate dal computer per far produrre musica, e un apparecchio
radiofonico. Purtroppo non era ancora fornito di schermo e tastiera.
L'evento fu notato anche da un giovane programmatore, Paul Allen, che
insieme a un suo amico, Bill Gates(ancora studente ad Harvard), unirono le
loro forze per produrre velocemente una versione del linguaggio BASIC per il
sistema Altair grazie al quale realizzarono nel 1976 il primo wordprocessor
“Electric Pencil”(dopo poco tempo Allen e Gates fondarono quella compagnia
che poi si sarebbe chiamata MICROSOFT).
In quegli anni si svilupparono evidenti mescolanze tra la cultura degli hobbisti
del PC e la cultura alternativa: si pubblicarono il libro “Computer lib” di Ted
Nelson e il periodico “People’s Computer Company”; si diede vita a iniziative
pioneristiche per diffondere l’accesso ai computer e per l’uso dei computer
con i bambini. L'Altair fece prendere il volo all'industria del personal computer,
tanto che nel 1977,ci fu una vera e propria esplosione di interesse in questo
campo, scatenando la produzione semiartigianale di microcomputer basati
sull’8080 e sui chip Motorola 6800 e 6502.
Nel 1976 due giovani Steven Jobs e Stephen Wozniack, iniziarono a vendere
un computer a basso costo, progettato da quest’ultimo, e chiamato Apple;
poco tempo dopo si unisce a loro un ex dipendente dell’Intel, Mike Makkula,
per fondare la Apple Computer Company.
L'Apple II, presentato nella primavera del 1977, e venduto insieme con un
Basic divenne il più importante PC in distribuzione, e in questo fu
enormemente aiutato dal progetto di un lettore economico per floppy disk da 5
e ¼ , sviluppato da Wozniack nel 1978,e da Visicalc, il primo foglio elettronico
della storia, in grado di gestire 63 colonne per 254 righe occupando 21kb di
memoria. Visicalc in particolare forni quasi improvvisamente una valida
ragione per l'utilizzo commerciale dei personal computer che, da quel
momento in poi, smisero di essere il regno esclusivo degli hobbisti. Il resto del
decennio vide la nascita di dozzine di progetti differenti, con varie aziende che
provavano a mettere insieme combinazioni uniche di potenza di calcolo,
prezzo, prestazioni e funzionalità. Le macchine prodotte in questo periodo
spaziano dai sistemi per l'utenza hobbistica, domestica e ludica, ai sistemi
rivolti ad un'utenza commerciale. Per ciò che riguarda l’utenza domestica e
ludica, si fece strada nel 1982 il Commodore 64, che rappresentò uno dei
primi tentativi storici di creare un mercato per le famiglie: era dotato di
processore 6501, 64kb di RAM, audio e grafica a colori, il tutto a meno di 600
dollari. Il C64 ebbe un enorme successo tanto da risultare il modello di
computer più venduto di tutti i tempi(20 milioni di unità!).
Nel 1981 appare il primo PC portatile, creato da Adams Osborne, L’Osborne
1, con sistema operativo CP/M(Control Program for Microcomputers, creato
nel 1974 da Gary Kildall, fu il primo sistema operativo in grado di controllare
un’unità a disco), foglio elettronico e wordprocessor(il più avanzato disponibile
Wordstar, sviluppato nel 1979), pesava 11kg ed era venduto a 1800 dollari.
Poi nel 1982, giunse sul mercato il Portable HP75C di Hewlett-Packard,
mentre nel 1983 arrivò il Compaq Portable PC, al prezzo di tremila dollari,
offriva 128 kb di RAM, un video monocromatico da nove pollici, un processore
8088 da 4,77 MHz e un’unità opzionale per floppy disk da 5 e ¼ .
Questo periodo fu contrassegnato da un esplosione di creatività senza
precedenti, sia per la crescita veloce del mercato sia perché in quei giorni la
compatibilità con i sistemi precedenti non aveva ancora molta importanza. Era
nata finalmente l'era dei personal computer. IBM, che era sul mercato da
tempo, voleva anche lei la sua "fetta di torta", per cui William Lowe, direttore
dei laboratori IBM, reclutò 12 ingegneri per formare un gruppo di lavoro e
realizzare un primo prototipo. Nell'agosto del 1980 fu presentato il primo
prototipo che fu chiamato ACORN. Per questo prototipo fu scelto inizialmente
un processore a 16 bit l'8086 di intel, ma poi la scelta cadde sull' 8088(4.77
Mhz), una versione di quello stesso chip che però lavorava a 8 bit; per ciò che
riguarda il software, inizialmente si cercò di adottare il sistema operativo
CP/M, poi si cercò di ottenere dalla Microsoft il QDOS, poi perfezionato e
chiamato PC-DOS. Alla fine il 12 agosto 1981, a quasi un anno di distanza
dalla realizzazione del primo prototipo, IBM presentò il suo primo PC, dotato
di una CPU intel 8088, di 64 kbyte di ram e di un lettore floppy disk da 5 e ¼
a singola faccia e singola densità con una capacità di 160 kbyte, e con un
pacchetto di programmi tra cui il gioco Microsoft Adventure. Il sistema venne
messo in vendita nei negozi a un prezzo di listino di 2800 dollari.
Nel frattempo(1980) la Apple che avava mandato in produzione un terzo
modello(Apple III che costava tra 4500 e 8000 dollari, e utilizzava un
processore 6502 a 2MHz), assai meno fortunato, prepara l’introduzione nella
produzione di massa di una delle innovazioni fondamentali nella storia
dell’informatica: si tratta della applicazione al PC , di idee sviluppate in una
struttura di ricerca della XEROX PARC (Palo Alto Research Center) a partire
dai risultati del progetto “Augmentation”, guidato anni prima da Douglas
Eugelbart, cui la Xerox non riesce a dare ampia diffusione commerciale. I
ricercatori della Xerox avevano sviluppato una stazione di lavoro, collegata in
rete e dotata di interfaccia grafica a oggetti(GUI); per interfaccia si intende qui
il modo in cui un sistema si presenta all’utente e comunica con esso: un
dispositivo di interfaccia per l’utente può essere una serie di interruttori
affiancati da lucette, come nell’Altair. L’idea di un’interfaccia grafica si basava
sulla possibilità di collegare un monitor ad alta risoluzione al computer per
disegnarvi una rappresentazione metaforica, mediante un insieme di elementi
iconici, delle principali operazioni compiute dall’utente; uno strumento
puntatore(Mouse)avrebbe posto in grado di operare sugli oggetti grafici e di
selezionare comandi attivando menù a tendina. Nel 1982 la Apple introduce
LISA, il primo PC dotato di interfaccia grafica e mouse, venduto con sei
programmi integrati e intercambiabili, detti “Tools”; e poi il Macintosh nel 1984,
primo PC con processore a 32bit(Motorola 68000) e floppy da 3,5, con
notevoli capacità di riproduzione del suono, dotato della medesima interfaccia
grafica di LISA, ma a un costo inferiore.
User-frendly. Inizia “l’umanizzazione” del computer ed il concetto di userfrendly(sistema amichevole per l’utente): per avvicinare il computer all’utente
medio i dati e le operazioni vengono rappresentati in una forma iconica
intuitiva e gradevole per l’utente. Il concetto viene ripreso dalla Microsoft con
lo sviluppo di Windows, un sistema di interfaccia grafica per computers IBMPC e compatibili.
Backward Compatibility. Adesso la maggior parte dei computer del mondo
sono compatibili IBM-PC basati sui microprocessori della intel(serie 80x86 e
Pentium), o su vari microprocessori di altre società(AMD, IBM, Motorola) in
grado di eseguire le stesse istruzioni. La crescita dei microprocessori è stata
condotta
secondo
lo
standard
denominato
backward
compatibility
(letteralmente “compatibilità all’indietro”) che assicurava il funzionamento di un
programma, eseguito da un vecchio processore, su un processore ,della
stessa serie, ma di più recente realizzazione, e ovviamente non consentiva il
contrario. In altre parole un programma vecchio girerà generalmente anche su
un computer nuovo con lo stesso sistema operativo, ma non viceversa.
Presentato
sovente
come
uno
strumento
per
l’accesso
di
massa
all’informatica, o per l’automazione casalinga, il PC ha avuto fortuna grazie ai
fogli elettronici e programmi di video scrittura; come strumento per giochi e
per l’elaborazione grafica; come strumento di design e progettazione grafica,
architettonica, meccanica; come strumento a basso costo per l’automazione
delle funzioni editoriali. Con delle stazioni Commodore Amiga già all’inizio
degli anni 90 si sperimentano la post-produzione e l’editing in linea digitale del
video in trasmissioni televisive. Dall’1992 è disponibile il video digitale su PC
con
decompressione
mediante
software.
Oggi
vengono
integrati
correntemente con sintonizzatori e codec digitali-analogici per audio e video,
schede di decompressione MPEG, e diversi dispositivi di comunicazione.
Possiamo infine dare delle cifre per sottolineare uno degli aspetti più
sconcertanti dell’informatica che è la costante e rapida crescita della potenza
dei computers, misurata in capacità della RAM, velocità del processore, e
capienza del disco rigido:
-
RAM : dai 48k dell’Apple II ai 32 MB di un PC medio-alto odierno(un
incremento di più di 520 volte)
-
Processore : da 4 MHz a più di 350 MHz(un incremento di circa 75 volte).
Di pari passo è aumentata anche la complessità interna del processore,
espressa dal numero di transistors che contengono. Finora, si è
mantenuta valida la Legge di Moore, enunciata nel 1964, che afferma che
il numero di transistors nel processore raddoppia ogni 18 mesi.
-
Memorie di massa : dai 90k su floppydisk dell’Apple II ai 6GB di un PC
medo-alto attuale(un incremento di più di 30.000 volte)
Questo effetto, che non ha probabilmente uguali nella storia umana, ha tra le
sue conseguenze la rapida obsolescenza delle macchine, la diminuzione dei
prezzi dei computer a parità di prestazioni, l’aumento delle dimensioni del
software.
Alan Mathison Turing
Matematico, logico, informatico inglese. Studiò al King’s College di
Cambridge; dal 1936 al 1938 operò alla Princeton University con A. Church.
Turing è stato uno dei “padri” per le ricerche e le realizzazioni nel settore degli
elaboratori elettronici e più in generale dell’informatica e dell’intelligenza
artificiale. Nel 1937 pubblicò un lavoro divenuto celebre: On Computable
Numbers, with an Application to the Entsheidungs-problem, ristampato varie
volte in riviste e libri diversi, in cui compie una rigorosa critica della nozione di
“algoritmo” o “procedura effettiva”. In questa occasione definisce delle
macchine particolari, a memoria finita ma estendibile illimitatamente durante il
funzionamento, dette oggi Macchine di Turino, ed enuncia una tesi, divenuta
famosa, che suona così:”algoritmo è tutto e soltanto ciò che può essere
elaborato con una opportuna macchina di Turing”. Nel 1939 Turing ritornò al
King’s College; durante la seconda guerra mondiale prestò la sua opera nel
dipartimento di comunicazioni del ministero degli esteri britannico, nel ’45
passò al National Physical Laboratori, lavorando al progetto di un elaboratore
elettronico, nel 1948 divenne rettore all’università di Manchester, operando nel
settore dei calcolatori automatici digitali e dell’intelligenza artificiale. Morì per
avvelenamento secondo alcuni in modo accidentale, secondo altri per suicidio.
Algoritmi e macchine di TURING
La teoria della computabilità studia la
risolvibilità algoritmica di un
problema.
Un algoritmo è una procedura completamente definita, articolata in un
numero finito di passi, eseguibili meccanicamente in un tempo finito,
e
corrispondente a un'espressione scritta in un determinato linguaggio. I
problemi per la cui soluzione esiste un algoritmo definiscono la classe delle
funzioni computabili. Le funzioni computabili possono essere espresse per
mezzo di un tipo di definizione molto generale detta ricorsiva che sarà definita
più avanti. Il problema di definire in maniera rigorosa la classe delle funzioni
computabili porto nel 1930 il matematico Turing al progetto di una macchina
di calcolo ideale descritta in figura 2.1.
Gli elementi costituenti la macchina di Turing sono:
1. un unità esterna di memoria o nastro
2. una testina di lettura e scrittura
3. una unità di controllo A a stati finiti.
Per la macchina di Turing è definito un alfabeto esterno di simboli Xi, e un
alfabeto interno di simbolo Qi . Gli ingressi della macchina sono i simboli
dell'alfabeto esterno X, mentre l'uscita della macchina corrisponde ad
un'operazione di scrittura di un simbolo sull'unità esterna di memoria oppure
ad un movimento della testina sul nastro. Lo stato interno della macchina è
espresso mediante i simboli Qi dell'alfabeto interno della macchina. Il
funzionamento della macchina consiste nell'esecuzione di una serie di passi
elementari, in ciascuno dei quali la macchina assume una configurazione
totale determinata dallo stato in cui si trova la macchina, dalla cella in esame
dall'unità di controllo e dal contenuto di ogni cella della memoria esterna.
Si definisce computazione o calcolo di una macchina di Turing una sequenza
di configurazioni totali che terminano in uno stato di halt Q0. Lo stato di halt
non ammette una configurazione successiva. Il tipo d'algoritmo implementato
da una particolare macchina di Turing è definito dalla tavola funzionale della
macchina,
che
corrisponde
al programma dell'unità logica. Il concetto di
macchina di Turing può essere esteso definendo una macchina di Turing
universale in grado di eseguire gli algoritmi di una qualsiasi macchina di
Turing dotata di una qualunque tavola funzionale. La macchina universale
opererà a partire da una configurazione iniziale che prevede la registrazione
su nastro sia della matrice funzionale della macchina da imitare che della
configurazione iniziale di questa. La macchina di Turing universale equivale
concettualmente ad un computer Von Neumann general purpose.
La
caratteristica della macchina universale di avere tavole funzionali e simboli
dell'alfabeto esterno memorizzati insieme nella memoria esterna equivale, nel
caso di un elaboratore Von Neumann, ai programmi e ai dati contenuti
contemporaneamente in memoria.
L’universalità della macchina di Turino
viene evidenziata dalla tesi di Church, la quale restringe il concetto di
computabilità a una classe precisa ma molto generale di funzioni, le funzioni
parziali ricorsive.
Una funzione di n-argomenti f(x1 ,x2 ,...,xn ) è detta ricorsiva se è definibile
mediante le equazioni :
2.1
Nella 2.1 g e h sono funzioni note, S(x) è la funzione successore definita
come: S(x) = x + 1. La funzione ricorsiva f è detta parziale quando essa non
ha un valore definito per ogni n-upla di argomenti (x1 ,x2 ,...,xn ) ed è quindi
definita per un set limitato di argomenti. Un esempio di definizione ricorsiva di
funzione riguarda l'operazione di addizione, indicando f col simbolo + si ha:
2.2
Nella 2.2
+(x,S(y)) è definito in termini di +(x,y) e della funzione nota
successore (h = S).
Anche l'operazione di moltiplicazione può essere
definita in tal modo, indicando f col simbolo * si ha:
2.3
Nella 2.3
*(x,S(y)) è definito in termini di *(x,y) e della funzione nota
addizione (h = +). La tesi di Church afferma che qualunque algoritmo scritto
con qualsiasi formalismo può essere calcolato da una macchina di Turing. La
formulazione forte di questa tesi dice che qualsiasi sistema fisico reale può
essere simulato da una macchina di Turing, con
un
grado di
approssimazione arbitrariamente elevato, con l'ipotesi di poter ignorare i
limiti di lunghezza del nastro della macchina e il tempo disponibile per la
computazione.
Questa tesi evidentemente non può essere dimostrata,
esistono però significativi argomenti a suo sostegno. Innanzitutto metodi
alternativi elaborati per definire la computabilità hanno sempre portato a
classi di funzioni computabili coincidenti con le funzioni parziali ricorsive.
Per completare il discorso non si può trascurare l'esistenza di funzioni che
non sono parziali ricorsive, per la tesi di Church queste funzioni non sono
Turing-calcolabili, e quindi sono ignorate dalla macchina di Turing. Un altro
problema non risolvibile è quello noto come problema dell'arresto di una
macchina di Turing. Si consideri una macchina
di
Turing
A
con
configurazione totale iniziale data da una tavola funzionale T e da una parola
W contenuta nella memoria esterna, non esiste un'altra macchina di Turing
B che con l'input di T e W possa calcolare se la computazione di T si ferma o
cicla.
L'Elaboratore di Von Neumann
I moderni computer digitali sono quasi tutti basati su un'architettura
definita nel 1945
dal
matematico
John
Von
Neumann nel progetto
dell'elaboratore EDVAC L'elaboratore di Von Neumann è costituito da due
organi di base, il processore e la memoria centrale (vedi figura 2.2c). Le
operazioni di tutti i computer convenzionali possono essere modellate
nell’esecuzione del ciclo seguente:
1. preleva un istruzione dalla memoria
2. preleva i dati richiesti da tale istruzione dalla memoria
3. esegui l’istruzione
4. memorizza i risultati in memoria
5. vai al punto 1
FIGURA 2.2c - Semplice rappresentazione dell’architettura di Elaboratore
Von Neumann
L’elaboratore di Von Neumann è una macchina
di calcolo equivalente a
quella di Turing, ed è caratterizzata come segue :
 Linguaggi di programmazione. Tali linguaggi sono utilizzati
per
esprimere gli algoritmi e sono costituiti da statement che si ottengono
applicando un insieme finito di regole di composizione a un numero finito
di simboli base.
 Programmabilità. Si intende in tal modo la possibilità concreta di
comunicare all'elaboratore il programma scritto alla macchina. Dal punto
di vista dell'utente tale processo di comunicazione può essere mediato
da un compilatore.
 Universalità. Essendo equivalente a una macchina di Turing,
un
calcolatore Von Neumann può calcolare qualsiasi funzione computabile
e quindi, per la tesi di Church, simulare qualsiasi sistema fisico.
 Sequenzialità. Un computer di Von Neumann ha un architettura
sequenziale,
esegue
infatti una singola operazione elementare alla
volta.
 Inefficienza. I computer di Von Neumann utilizzano in
modo
non
ottimizzato le risorse di spazio, tempo ed energia. Il processore, a
causa della sequenzialità con cui esegue le istruzioni, è inattivo per la
maggior parte del tempo.
 Programmabilità strutturale. Per spiegare questa caratteristica ci si
deve riferire alla definizione di semiautoma vista in precedenza. Un
calcolatore di Von Neumann si dice strutturalmente
programmabile
perché si può dimostrare che sostanzialmente è un semiautoma, cioè
il calcolatore può essere rappresentato come un insieme
elementi capaci di eseguire
una
operazione
logica
di switch o
semplice. La
definizione di programmabilità strutturale è legata alla tesi forte di
Church, e stabilisce che una macchina strutturalmente programmabile è
capace di simulare qualsiasi sistema fisico a condizione che le risorse di
tempo e di spazio riservate alla computazione siano illimitate. Inoltre gli
algoritmi, espressi in un calcolatore digitale in
simboli primitivi di un
linguaggio di alto livello, possono essere espressi direttamente in
termini
alla
di
primitive computazionali
programmazione
di
una
di
rete
programmabilità strutturale sarà utile
per
switching, che corrispondono
di
neuroni
analizzare
formali.
i
La
limiti generali
dell'architettura di Von Neumann.
La formulazione forte della tesi di Church, valida anche per gli elaboratori
di Von Neumann, suggerisce
un
legame tra i modelli formali di
computazione e i processi dinamici simulabili su un calcolatore. Pensare a
un sistema fisico come realizzazione di una computazione significa :
1. identificare
gli
argomenti
o
input
della
funzione
computabile
considerata con i parametri di descrizione di un certo stato del sistema.
2. considerare i parametri di
descrizione
di
un
successivo
stato
del
sistema il risultato della computazione cioè l'output.
L'elaboratore di Von Neumann è una realizzazione fisica di un
sistema
formale che esegue semplici operazioni su stringhe di simboli. Si dice che un
computer simula un sistema fisico, mediante le primitive computazionali
sopra definite, se gli stati del computer possono essere associati agli stati
del sistema con un alto
grado di approssimazione, non è necessario
comunque che ogni stato della macchina corrisponda
a uno stato del
sistema. Si è visto che un sistema fisico è simulabile con l'elaboratore
Von Neumann, tuttavia molti fenomeni computazionali osservati in natura
fanno ritenere che è possibile definire delle macchine di calcolo che
incorporano il processo fisico stesso come primitiva computazionale. In
tal caso si perde sia il carattere discreto delle primitive computazionali, sia
la possibilità di comunicare queste ultime sotto forma di algoritmo alla
macchina.
Limiti dell’architettura di Von Neumann
L'architettura dell'elaboratore di Von Neumann
presenta
dei
limiti
di
applicabilità e di capacità di calcolo che non potranno essere superati dal
solo progresso tecnologico, ossia dal miglioramento delle prestazioni dei
processori e delle memorie. Tali limiti sono intrinseci al disegno stesso
dell'elaboratore di Von Neumann, e sono di seguito esaminati:
 Irreversibilità operativa. La modalità in cui un computer tradizionale
elabora l'informazione
è un processo irreversibile. La funzione logica
AND è un esempio di perdita
di informazione in un computer. La tabella
2.5 mostra che non è possibile, esaminando le uscite della tabella,
risalire agli ingressi che le hanno prodotte.
Tabella della verità della Funzione Logica AND.
INPUT
OUTPUT
0
0
0
0
1
0
1
0
0
1
1
1
 Alta dissipazione termica. In un computer digitale i segnali elettrici
originano dei cambiamenti di potenziale in diverse regioni spaziali del
sistema. Gli elettroni operano con un disturbo termico che in termini di
potenziale è circa kT/q Volt dove k è la costante di Boltzmann, T è
la temperatura Kelvin assoluta e q è la carica dell'elettrone, a temperatura
ambiente (290 K) kT/q = 0.025 Volt. Le operazioni
computer digitale
devono
avvenire
Volt. In definitiva si osserva
logiche
in
un
con potenziali maggiori di 0.025
che il valore alto di kT/q richiede un'alta
dissipazione di potenza che caratterizza come processi irreversibili le
operazioni logiche fondamentali di un
computer
digitale
di
Von
Neumann.
 Lentezza
operativa.
Un
risultato
del
modo
di
operare
seriale
dell'architettura di Von Neumann è il cosiddetto "collo di bottiglia di
Von Neumann". Esso è originato dalla lentezza con cui il processore
accede
alla
memoria. Il trasferimento
di
dati
e
istruzioni
dalla
memoria al processore, prima che quest'ultimo cominci il suo lavoro
computazionale, comporta un intervallo di tempo in cui il processore è
inattivo. Alla fine della computazione il trasferimento dei risultati alla
memoria origina un altro periodo di inattività del processore.
Alle inefficienze elencate si aggiunge un generale limite connesso alla
programmazione
strutturale,
infatti
una macchina di calcolo reale non
dispone di risorse di tempo e di spazio illimitate come richiesto dalla tesi
forte di Church per macchine strutturalmente programmabili. Costruire una
macchina strutturalmente
programmabile
significa
essenzialmente
convogliare lungo canali precisi il fenomeno utilizzato per ottenere la
realizzazione fisica della computazione. Controllare un fenomeno fisico
significa ridurre il numero di gradi di libertà, e quindi di interazioni, del
fenomeno stesso, riducendo in tal modo anche le risorse della computazione.
Struttura di un Computer
Concettualmente un computer è un sistema di trattamento delle informazioni,
costituito da un sistema d’input, che introduce i dati nella macchina, un
processore che li elabora servendosi di una memoria, e di un sistema d’output
che presenta all’utente i risultati dell’elaborazione.
Il Processore
Detto anche CPU(central processing unit, unità di processo centrale) è il
componente fondamentale di un personal computer, il "motore" che esegue
tutti i calcoli e permette alle varie parti del computer di funzionare insieme , ad
es. esegue le istruzioni dalla tastiera , elabora i dati , memorizza i risultati e li
invia alle periferiche. I processori sono progettati dalle grandi aziende di
semiconduttori ; a volte chi progetta il chip non ha la struttura per produrlo (la
cosiddetta foundry , la fonderia del silicio ) e ne commissiona la produzione ad
altre aziende che hanno questo genere di impianti. INTEL, CYRIX, IBM, AMD,
MOTOROLA, NEC, SGS-THOMSON (ST), TEXAS INSTRUMENTS sono
alcuni dei nomi che spiccano nel settore e molti altri progettano e/o producono
microprocessori, sia per computers che per altri settori industriali e civili.
La CPU è costituita da un sottile strato di cristallo di silicio ed ha un’area di
circa 1 cm2 su cui vengono impressi diodi, transistors e circuiti. Esegue le
istruzioni e i dati dei programmi presenti nella memoria RAM e nei registri
interni al processore. I registri sono delle memorie particolari e piu' veloci, in
termini di accesso, ad ogni altro tipo di memoria. Qualora il processore sia
contenuto in un solo chip e' piu' corretto parlare di microprocessore. Al suo
interno ci sono 4 componenti principali e talvolta solo le prime due vengono
definite con il termine processore:

Control - (la mente) dice cosa fare al datapath, alla memoria e ai
dispositivi I/O

Datapath - (il braccio) che esegue le operazioni aritmetiche con
l'ALU3.

Bus - l'interconnessione delle componenti della CPU.

Cache - memoria tampone.
Bus
Riferito al processore, la grandezza del bus è la quantità di dati che la CPU
riesce a ricevere nell’unità di tempo. Per es. i bus a 32bit sono 32 corsie incisi
sui circuiti stampati che trasmettono 32bit alla volta. Questo insieme di
collegamenti elettrici che hanno il compito di portare informazioni da e verso la
CPU si distingue in:

Data Bus per i nostri dati;

Address Bus per gli indirizzi di memoria trasmessi dalla CPU ai circuiti
esterni;
3
Arithmetic-Logic Unit, il contabile del computer, costituente una delle sezioni del datapath
nella CPU, che gestisce le operazioni aritmetiche quali l'addizione, la sottrazione, gli operatori
logici AND, OR.

Control Bus per la gestione delle memorie, delle periferiche e delle
operazioni da compiere.
in senso stretto il BUS non e un componente, ma è la modalità tramite la
quale vengono trasferiti i dati tra il processore e la memoria RAM o le unità
periferiche. Abbiamo diverse interfacce di BUS:
XT – E’ la parte a 8 bit del bus ISA , 20 linee di indirizzo . É il bus dei primi PC
. Molte schede attuali sono a 8 bit , ad es. le seriali e parallela addizionali ,
interfacce per scanner e simili . La frequenza originale era 4.77MHz.
ISA (industry standard architecture) - Nata con gli IBM - AT all'inizio degli
anni 80. O At bus , aggiunge una componente a 16 bit ad XT bus . É il bus
ancora presente su tutte le mainboard , per compatibilitá con schede di ogni
tipo , anche perché non esiste una reale necessitá , né tecnica né economica
per rifarle in uno standard differente . I connettori , di solito di colore nero , in
due pezzi consecutivi , hanno 8/16 linee dati e 24 di indirizzi ; la frequenza
dello standard é 8.3MHz , ma moltissimi prodotti possono lavorare a
frequenze molto superiori.
Micro Channel - Nata nel 1987, ha un bus da 32 bit, una frequenza di 10
MHz e prestazioni di 40 Mbyte al secondo. Non si è sviluppato molto come
standard perchè è rimasto ristretto agli IBM che ne detiene il monopolio.
MCA - sono slot simili a EISA , che possono portare 32 linee dati e indirizzi,
autoconfigurabili e dotati di possibilitá di bus master e burst sincrono .
EISA (extended ISA) - Ha un bus a 16 bit, 8 MHz con prestazioni massime di
33 Mbyte/sec. Mantiene la compatibilità con ISA. 32 linee dati e indirizzi ,
autoconfigurabile , con bus master e gestine condivisa degli IRQ e DMA . Gli
slot EISA , di solito di colore marrone , possono accettare schede ISA , che
penetrano parzialmente ; la scheda EISA , invece , ha un connettore piú
allungato , che permette il contatto con le connessioni a 32 bit . In questo
modo é possibile installare anche schede ISA negli stessi slot .
VESA (video electronics standards association) Local Bus - Nato nel
1983, costituito da un connettore ISA ed una estensione a 32 bit . Con la
possibilitá di arrivare fino a oltre 40MHz in modo asincrono , la possibilitá di
bus master e di coesitenza con altri bus sulla stessa scheda , ne hanno fatto
uno standard molto diffuso sulle mainboard 486 . Il processore può dialogare
direttamente con una, due o tre schede di espansione utilizzando una linea a
32 bit alla stressa frequenza della motherBoard, con prestazioni massime
teoriche di 132 Mbyte. Unisce a una discreta potenza un basso costo. Adesso
questo standard è scomparso e La sua scomparsa é dovuta ad alcuni fattori
determinanti :

la dipendenza troppo stretta con l' hardware , che portava spesso
ad una non perfetta compatibilitá delle schede inserite sul bus

la difficoltá di definire paramentri Plug & Play per questo sistema

La rapida introduzione del bus PCI , piú definito ed indipendente
dall'hardware e , quindi , piú stabile , ha dato il colpo definitivo al
VESA.
PCI (peripheral component interconnect) - Nato nel 1984. Crea un ponte
fra CPU e dispositivo I/O PCI
utilizzando una linea a 32 bit, evitando di gravare (al contrario del VESA) sulla
CPU stessa. Supporta l'uso di processori multipli. Le caratteristiche speciali
del bus locale PCI assicurano molti vantaggi agli utenti di computer:

Alte prestazioni per funzioni grafiche , video e sonore e per
periferiche che richiedono un particolare impegno da parte del
processore . Le prestazioni del bus locale PCI consentono di
eseguire queste applicazioni velocemente e senza problemi . Il
bus PCI é in grado di arrivare ad una velocitá di trasferimento d
dati di oltre 130MB/s , quindi in grado di far girare applicazioni
software sempre piú potenti.

Compatibilitá : a differenza di altri tipi di bus locale , le schede
aggiuntive , compatibili PCI , dovrebbero funzio nare in qual siasi
sistema che supporti l'architettura PCI , indipendentemente dal
tipo di processore. (é notizia recente la volontá di Apple di
adottare questo bus per i suoi computers).

Assieme a PCI é nato anche il concetto di Plug and Play , che , se
correttamente applicato e sviluppato , consentirá finalmente una
reale possibilitá di upgrades dell' hardware senza le difficoltá fino
ad ora esistite .
IDE (integratet drive eletronoics) - Proposta da Western Digital e Compaq
nel 1986. Le proposte per questo standard sono integrate nella specifica ATA
(AT attachement) che definisce un gruppo di registri e di comandi da utilizzare
per l'interfacciamento. Supporta fino a due dischi fissi di 528 Mbyte.
EIDE (enanced IDE) - Interfaccia proposta nel 1993 da Westen Digital.
Supporta fino a 4 dispositivi interni, compresi dischi fissi, CD-Rom e unità
nastro (si possono avere ad esempio 4 dischi fissi su un unico PC), e
permette l'utilizzo di unità disco fino ad un massimo di 8.4 GigaByte (grazie
alla modalità LBA) e trasferimento dati fino a 13.3 Mbyte/sec. I 4 dispositivi su
EIDE vengono gestiti da due canali ciascuno in grado di supportare due
dispositivi organizzati in configurazione master/slave. La porta principale ha
generalmente lo stesso indirizzo e IRQ dell'IDE standard; il sistema operativo
necessita di software supplementare per far fronte alle nuove richieste.
La capacità di supportare periferiche non a dischi è data dalla specifica ATAPI
(ATA Packet Interface), ampliamento di ATA che contiene comandi specifici
per i CD.
La velocità di trasferimento può essere fino a 11.1 Mbyte/sec utilizzando le
metodiche 3 PIO (Input/Output Programmati), un metodo per trasferire dati fra
disco e PC; la modalità 4 PIO, più recente, permette velocità superiori (16.6
Mbyte).
SCSI (small computer systems interface) - Interfaccia sviluppata nei primi
anni 80. Le periferiche SCSI vengono connesse a catena ad un adattatore
host SCSI che controlla il sistema; ogni dispositivo connesso deve avere un
numero identificativo univoco, non necessariamente sequenziale nella catena.
La tipica interfaccia SCSI consente di supportare fino a 8 dispositivi (Host
compreso) numerati da 0 a 7 (all'host per convenzione spetta il 7, al disco di
boot il numero 0).
La maggior parte degli adattatori host permette connessioni sia interne che
esterne.
Entrambi i capi della catena (interna ed esterna) devono essere terminati con
resistenze (tramite prese, ponticelli fisici, configurazioni software).
I dispositivi SCSI possono essere Dischi fissi, Cd-rom, scanner, registratori
CD, unità nastro, unità disco o cassetta rimovibili.

SCSI 1 Stabiliva un collegamento asincrono, in cui le varie unità non
conoscevano le velocità delle altre; la velocità di trasferimento era di 3
Mbyte/secondo.

SCSI 2 Stabilisce un collegamento sincrono, le unità valutano le loro
velocità; la velocità massima h di 5 Mbyte/secondo.

Fast SCSI 2 Ultimato nel 1994, raddoppia la velocità de SCSI 2 normale;
è la modalità ora più diffusa.

Wide SCSI Utilizza un bus a 16 bit (contro gli 8 dei precedenti), pertanto
raddoppia la velocità dello SCSI corrispondente non wide; inoltre supporta
fino a 16 dispositivi.

Ultra SCSI Raddoppia la velocità della SCSI non Ultra; per esempio una
Wide Ultra SCSI 2 giunge a 40 Mbyte/secondo. Da considerare la
compatibilità verso il basso: un dispositivo SCSI 1 si può connettere a un
host Wide Ultra SCSI 2.

SCAM (SCSI configured AutoMagically) consente ai dispositivi Plug and
Play di impostare automaticamente il numero di identificazione del
dispositivo.
Connettori - Tipicamente i connettori del bus PCI sono di colore bianco e
sono lunghi circa 8,5 cm e dotati di due file di piccoli contatti dorati . I
connettori ISA sono di dimensioni maggiori , circa 14 cm per il tipo a 16 bit ,
normalmente di colore nero , con due file di contatti dorati con una spaziatura
ben maggiore di quelli PCI . I connettori EISA sono simili agli ISA , tipicamente
di colore marrone e di altezza superiore agli altri . Il local bus VESA è
costituito da un connettore simile al PCI , tipicamente di colore marrone e
posto in linea con il connettore ISA di cui amplia le funzioni . Tutte le schede
ISA e EISA hanno i componenti principali montati sul lato destro della scheda
, mentre PCI ha il contrario . Normalmente una mainboard dispone di 3 o 4
slot ISA a 16 bit e 4 PCI . Spesso , a causa delle dimensioni meccaniche
imposte dallo standard PC , i connettori ISA e PCI centrali possono essere
usati solo alternativamente (in questo caso sono detti concorrenti , perché
sfuttano la stessa posizione dello slot di uscita del case).
Decodifica
Dal punto di vista della tecnologia di decodifica4 delle istruzioni, possiamo
distinguere due tipologie di processori:
1) CISC (Complex Instructions Set Computer)è un tipo di CPU in cui la fase
di decodifica di un'istruzione avviene in passi successivi. Uno svantaggio
di questa filosofia e' che la singola istruzione 5 può richiedere alcuni cicli di
clock per essere interpretata dal processore. Un vantaggio dei processori
di tipo CISC e' quello di utilizzare un numero minore di istruzioni e quindi
di occupare una quantita' minore di memoria. Esempi di CPU CISC sono
la famiglia Motorola 68000 installata sui modelli Macintosh precedenti
all'uscita del Power Mac, e la famiglia 80x86 della Intel.
2) RISC (Reduced Instructions Set Computer)è un tipo di CPU che permette
di eseguire delle operazioni piu' velocemente di un processore CISC
perchè si esegue almeno un'istruzione per ogni ciclo di clock.
Statisticamente il numero di istruzioni usate effettivamente da una CPU è
minore del numero di istruzioni definite nel set di una CPU CISC. Quindi è
4
Decodifica: una delle fasi nelle quali si articola un ciclo della CPU. Per ogni istruzione si hanno
diverse fasi come: prelievo (fetch), decodifica, esecuzione e memorizzazione. La decodifica e' la
fase nella quale la CPU analizza l'istruzione letta dalla memoria e ne interpreta il significato.
5
Istruzione: il comando singolo che la CPU sa eseguire e che viene raccolta dalla memoria
durante la fase di fetch.
stato ridotto il set di istruzioni prendendo solo quelle semplici, usatissime
nei programmi ed eliminando quelle piu' complesse e poco usate. Queste
ultime possono comunque essere ricreate combinando alcune operazioni
semplici. L'idea e' quella di fornire un processore con poche istruzioni e
pochi modi di indirizzamento, ma interamente implementato in hardware,
in contrapposizione con le CPU CISC, dotate di istruzioni piu' ad alto
livello ed implementa in micro-codice. Oggi, si considerano spesso RISC
anche processori con istruzioni derivate da vecchie implementazioni 6
CISC (tipo il 68040/060 con i 680x0 fino allo 030, od il Pentium con
gli80x86), poiche' si bada piu' all'implementazione completamante
hardware delle istruzioni che all'instruction set. Processori come il
PowerPC, infatti, hanno portato a questa evoluzione del termine
introducendo in un set di istruzioni tipico di altre CPU RISC - di nome e di
fatto, tipo il MIPS o l'Alpha - istruzioni piu' complesse ma ugualmente
implementate
in
hardware,
che
ne
incrementano
le
prestazioni
notevolmente rispetto ai concorrenti. Un'architettura RISC - nel senso
moderno - permette un'implementazione superpipeline 7e superscalare, in
quanto piu' complessa solo da un punto di vista tecnologico, ma piu' facile
da gestire. Da un punto di vista della sintassi assembler, si distingue una
CPU
di
filosofia
CISC
da
una
RISC
(indipendentemente
dall'implementazione) se sono presenti istruzioni che permettono molti
modi di indirizzamento in sorgente ed in destinazione. Il PowerPC, ad
esempio, si prensenta con istruzioni ad operandi fissi, ma gode di
numerose varianti della stessa istruzione per opearazioni piu' complesse.
Specifiche tecniche della CPU
Velocità - La velocità delle CPU si misura in frequenza di lavoro o di clock; a
parità di frequenza una CPU di generazione superiore e più veloce di una
inferiore (fra 486 e Pentium rapporto di 1:2). Il Clock è un segnale periodico,
ottenuto dalle vibrazioni di un cristallo di quarzo, che si può trovare
internamente o esternamente alla CPU, sottoposto al passaggio di una
6
Implementazione: realizzazione di un istruzione in assembly language o di una funzione o
procedura. Nei linguaggi di programmazione solitamente si intende la realizzazione di cio' che
viene offerto da un'interfaccia.
7
Pipelining: Coda di attesa delle istruzioni e/o dei dati fra le sottounita' della CPU. Se ogni
sottounità di elaborazione preleva i dati da una pipe sempre tenuta piena, andrà sempre al
massimo della velocità perchè' non dovrà mai fermarsi ad aspettare l'arrivo dei dati. Scaricando i
dati elaborati in un'altra coda, senza aspettare che l'unita' ricevente sia pronta si guadagna
tempo. Si parla allora di Pipeling fra sottounità di elaborazione. Si immagini una catena di
montaggio e un insieme di piccoli magazzini intermedi dove prelevo i pezzi da lavorare e scarico
quelli lavorati, senza dover aspettare che il collega della fase successiva sia pronto. Super
pipeline viene usato per definire una CPU con un pipeline con un numero di stadi maggiore o
uguale a 5.
corrente elettrica; questo segnale viene poi normalizzato e stabilizzato
elettronicamente da un chip avente quella specifica funzionalità. Nel nostro
caso sincronizza le operazioni da compiere, tramite impulsi alla CPU (o alla
scheda madre o ad altre periferiche). La frequenza di clock, che si misura in
MHz, non è l’unico e nemmeno il più importante fattore che determina la
velocità utile di un calcolatore; ad influire sulla velocità di un calcolatore sono:

Le interferenze di software(il tempo del sistema operativo per svolgere le
proprie mansioni)

Le interferenze di hardware(il tempo dalle diverse unità del calcolatore e
le periferiche per svolgere pure esse il loro lavoro)

Il tempo di accesso alla memoria centrale(RAM) e la quantità della stessa

Il livello di parallelismo(indirizzamento a16,32,64 bit)

CPI (cicli di clock per istruzione)

Instuction count(numero di istruzioni nel programma)
Clock cycle time e Clock rate
Il tempo impiegato per un ciclo di clock(Clock cycle time - ns) è inversamente
proporzionale alla frequenza di clock(Clock rate); quindi aumentando il clock
cycle time si rallenta il clock rate.
Es. 10ns = 10/1.000.000.000 = 1/100.000.000 = 100 milioni di cicli al secondo
= 100MHz
Il numero totale di cicli di clock per un programma(Cpu clock cycles) è uguale
a:
CPI x instruction count
o conoscendo i tipi differenti di istruzioni e le corrispondenti CPI, la formula è:
(CPI x C) dove C è il numero di istruzioni delle classi eseguite, mentre CPI è
la media del numero di cicli di clock per le classi di istruzioni.
CPU(execution)time e performance
la prestazione è inversamente proporzionale al tempo di esecuzione
(execution time).

Performance = 1/execution time;

Performance ratio = performance A/performance B; ossia il rapporto di
prestazione.
Es.: un programma viene svolto dalle macchine A eB rispettivamente in 5 e 10
sec.; il rapporto di prestazione è 2, quindi la macchina A è due volte più
veloce di B.
L’execution time è il tempo speso dal processore per l’esecuzione di un
programma, escludendo il tempo dell’I/O, e l’esecuzione di altri programmi. Si
divide in:
1- User cpu time tempo speso per il programma
2- System cpu time tempo speso dal sistema operativo per supportare il
programma
CPU time = cpu clock cycle x clock cycle time
MIPS
Million instruction per second(Milioni di istruzioni al secondo) è un unita di
misura che ci informa su quante operazioni una CPU riesce ad eseguire in un
secondo; questo è anche un indice di velocità.
MIPS = clock rate/(CPI x 1 milione) inversamente al
execution time = instuction count/MIPS x 1 milione.
È un unità di misura molto intuitiva che specifica la velocità di esecuzione di
istruzioni ma
non permette di dedurre proprietà generalizzate dei calcolatori perché:
non possiamo confrontare due calcolatori in MIPS con differenti instruction set
una macchina non ha una velocità MPS singola perchè varia dall’esecuzione
dei programmi
MIPS può variare inversamente alla perfomance
MFLOPS
Million floating-point per second(Milioni di operazioni in virgola mobile al
secondo) è un unità di misura per la CPU avente meno condizioni del MIPS
per il confronto dei calcolatori perché si basa sulle operazioni anziché sul
numero di istruzioni ma è utile solo con quei programmi che sfruttano
operazioni floating-point8(FP).
Specifiche fisiche
Vcore e VI/O
I termini Vcore (Core Voltage = tensione del "core" ) e Vi/o (I/O Voltage =
Tensione dell I/O) sono utilizzati quando si parla delle recenti CPU. "Core" non
8
Virgola mobile , notazione scientifica esponenziale che permette di scrivere in spazi ridotti
numeri reali molto lunghi, sia grandi che piccoli. Ciò permette di rappresentare più cifre decimali
escludendo gli zeri.
é il cuore in dialetto partenopeo , ma ha un significato similare ; é una parola
inglese che indica il centro di qualche cosa; riferito ad una CPU ne indica la
parte centrale , in sostanza il processore vero e proprio. In questo contesto
I/O si riferisce a quelle altre parti del chip che consentono al processore di
interfacciarsi con il resto del sistema. Le tensioni di alimentazione di queste
due parti non sono necessariamente uguali. La tensione tipica dei circuiti
logici che costituiscono la maggior parte della mainboard e delle schede é di
5V. Con questa tensione , possono essere realizzati componenti con un certo
rapporto tra velocitá e potenza dissipata . Con il progredire della tecnologia ,
si é avuta una riduzione degli spessori dei materiali che costituiscono il
semiconduttore per ottenere grandi velocitá con minima dissipazione di
potenza . Questo ha portato alla necessitá di ridurre contemporaneamente la
tensione di alimentazione a 3.3V . Gia' con le CPU 486 si era evidenziato
questo passaggio : le prime a 5V , le ultime a 3.3V , mantenuti poi nelle CPU
su Socket 7, in cui sia il processore vero e proprio sia la sua area di
interfaccia sono alla medesima tensione a 3.3 o 3.5V. Il processore lavora alla
stessa tensione dei circuiti esterni piú vicini , mentre altri circuiti , ad esempio
le SIMM , lavorano a 5V e sono dotati di circuiti adattatori appositi per
adeguare le due differenti tensioni. Un ulteriore riduzione negli spessori dei
semiconduttori ha portato ad una ulteriore discesa della tensione al di sotto
dei 3.3V. Al momento risulta improponibile l'adeguamento di tutte le parti
esterne alla CPU per una tensione cosi' bassa , per cui é necessario che all'
interno del chip si trovi un' area di interfaccia che adatti la bassissima tensione
del processore a quella un pó piú alta del resto della logica. Da qui la
necessitá di avere CPU alimentate a due tensioni diverse.
VRM
L'elettronica digitale standard ha come tensione di funzionamento 5 volt in
corrente continua. Questa é ottenuta attraverso un alimentatore che converte
la tensione alternata della rete ENEL nei valori richiesti dai vari chips. Ad
esempio le CPU 386 e le prime 486 erano circuiti a 5 volt. Lo sviluppo della
tecnologia ha portato ad una riduzione della tensione, che é diventata 3.3 volt;
questo permette di ottenere migliori prestazioni con consumi minori. Restano
in ogni modo parti del circuito che funzionano a cinque volt. Ad esempio le
CPU 486 delle ultime generazioni ed il Pentium Intel non MMX hanno questa
struttura. Poiché l’alimentatore AT standard non dispone della tensione di
3.3V questa deve essere ottenuta con un ulteriore circuito riduttore, posto
sulla mainboard (VRM, Voltage Regulator Module = Modulo di Regolazione
della Tensione). Un ulteriore passo nello sviluppo della tecnologia ha portato
alle CPU dell' ultima generazione in cui la parte centrale della CPU, detta core
, é alimentata con una tensione ancora piú bassa , ad es. a 2.9 volt , mentre
permane la necessitá della tensione 3.3 volt per l' interfaccia con gli altri chip
della mainboard (tensione di I/O o Vi/o). A questo gruppo appartengono i
Pentium Intel MMX, AMD K6 e Cyrix/IBM della serie /L. In questo caso la CPU
richiede non una, ma due tensioni ridotte non disponibili direttamente dall'
alimentatore e quindi sono necessari due VRM. Con l'affermarsi dello
standard ATX, la necessitá del doppio riduttore viene a cessare, perché il 3.3
volt é fornito direttamente dall'alimentatore ATX ed il VRM a bordo della
scheda serve ad alimentare il core della CPU. Solitamente la bassa tensione
delle CPU tipo Intel Pentium Pro richiede una corrente elevata; si è fissato
uno standard per un modulo VRM da inserire su un opportuno connettore.
Questo modulo, per avere un’elevata efficenza e quindi un basso
riscaldamento é di tipo switching. Ogni CPU dispone di un modulo VRM
proprio, che deve essere presente per il corretto funzionamento.
Nelle mainboard Pentium , data la minore richiesta di potenza, il VRM è
costituito da uno o piú regolatori di tensione lineari , normalmente dotati di
alette di raffreddamento in alluminio , soluzione piú semplice e conveniente ,
ma con una efficienza minore ed un maggiore riscaldamento nel caso di forti
assorbimenti di potenza. E’ quindi da tenere in considerazione che le CPU
686 Cyrix/IBM e AMD K6 hanno un consumo elevato e sviluppano un
notevole calore; ció può produrre un surriscaldamento del regolatore di
tensione, che, nonostante l’abbondante radiatore, può richiedere un’ulteriore
fonte di raffreddamento.
Per l’identificazione del doppio VRM si può procedere nel seguente modo:
1 - identificare sulla scheda il VRM, facilmente riconoscibile, essendo
costituito principalmente da un’aletta in alluminio anodizzato nero di grandi
dimensioni
2 - osservare questa aletta : se ha montati 2 regolatori a tre terminali , uno su
ogni lato del radiatore alettato , allora si tratta di un VRM doppio ed é adatto
per le CPU con Vcore ridotta ( tipicamente 2.9/2.8V ). Se é montato un solo
regolatore (singolo VRM ), la mainboard non é adatta a fornire la tensione
Vcore separata. In alcuni casi (es. SUPERMICRO P5xx o P6SNA) il modulo
VRM é integrato sul circuito stampato principale della mainboard. Negli altri
casi il modulo VRM consiste in un alimentatore switching , montato su un
circuito stampato che va inserito in un connettore specifico , di solito di colore
bianco , posto vicino alla CPU. Normalmente i moduli VRM sono usati per le
mainboard Pentium Pro , dove Vvrm = 3.3V (la sequenza degli switch in tal
caso é on on on on off ) , ma possono essere utilizzati in tutte quelle situazioni
dove la CPU richiede una tensione diversa da quelle fornite dall' alimentatore .
VRM, con il relativo connettore a 40 poli, sono uno standard adottato dai
maggiori Costruttori.
Voltage ID
Voltage ID é un segnale fornito ai pin d’input dei VRM intelligenti per
controllarne la tensione. I VRM per Pentium Pro possono avere 4 pin di
controllo, mentre quelli per Pentium II ne hanno 5. Questo rende automatico l'
adattamento tra la tensione ed il processore, evitando l' intervento manuale di
spostamento di jumper ed i possibili errori conseguenti. Le definizione dei
VRM ID sono uno standard industriale.
Socket (zoccolo)
Come per tutti i componenti elettronici , la possibilità di inserire il componente
stesso su uno zoccolo permette una facile sostituzione in caso di guasto.
Sono normalmente inseriti su zoccolo :
1. i componenti che devono poter essere sostituiti per aggiornamento
(ad esempio le PROM , EPROM o Flash)
2. i componenti che possono essere sostituiti per ragioni varie (ad
esempio gli oscillatori del clock)
3. i componenti più recenti , per i quali non esistono ancora dati
sufficienti a determinare il tasso di guasto e che il costruttore ritiene
opportuno , per precauzione , installare su zoccolo
4. i componenti ad alta integrazione , più sensibili ai problemi di
saldatura
Tra queste categorie si trovano anche i processori , che , normalmente , non
vengono saldati al circuito stampato principalmente perché il costruttore della
scheda madre , che di solito non é il costruttore del processore , tende a
progettare un prodotto che sia quanto più possibile universale , ovvero possa
supportare diversi modelli o tipi di CPU .
Se , nelle prime realizzazioni quasi tutti i componenti attivi erano zoccolati , a
causa del punto 3 di cui sopra , nelle versioni più recenti solo la CPU ed il
BIOS hanno questa opzione . Ovvio che esistono eccezioni , in quanto schede
a basso livello possono avere il chip del BIOS saldato , per motivi economici ,
o anche la CPU , del tipo a montaggio superficiale. In tal caso questi due
componenti non sono facilmente rimovibili e richiedono speciali attrezzature.
Sono altresì saldati , di solito , i processori dedicati ad usi speciali, come i
controllori dei dischi o i chipset delle schede addizionali.
Al di la di questi casi , comunque , la classica CPU del PC é sempre stata
installata su uno zoccolo. Inizialmente i processori delle prime generazioni
(8088/8086) erano in package del tipo DIL a 40 piedini , il che rendeva
sufficiente l'impiego di zoccoli standard DIL , molto diffusi ancora oggi.
Con l'aumentare delle prestazioni e delle funzioni si é reso necessario un
aumento considerevole dei pin , per cui il package DIL é stato sostituito da
altri modelli , inizialmente quadrati (PQFP) con i pin sui lati oppure il classico
PGA ceramico con i pin sul lato inferiore .
I PQFP , limitati ai 386/386SX e ad alcuni coprocessori matematici ,
dispongono di uno speciale zoccolo che richiede un opportuno attrezzo per l'
estrazione e l'inserzione , che risultano essere comunque operazioni piuttosto
critiche. Il PGA ceramico , invece , viene adottato per i processori dal 386 in
avanti e resta ancora adesso la sagoma tipica delle CPU di ultima
generazione , passando dai 486 agli attuali AMD K6 e Cyrix M2 . Con I
Pentium MMX delle ultime serie (ed attualmente con i Celeron 370 pin) il PGA
diventa PPGA , ma sostanzialmente resta immutato il sistema di connessione.
Se per i processori 386 con un numero di pin ridotto il classico zoccolo "con i
contatti a tulipano" la cui inserzione e disinserzione richiedono un certo sforzo
meccanico , con i 486 e poi i Pentium il numero di pin cresce notevolmente e
diventa sempre più arduo inserirli e disinserirli senza danneggiare i pin che
sono meccanicamente poco resistenti. In questo periodo vengono prodotti
anche attrezzi per aiutare l'operazione di disinserzione .
Pero , nel contempo , i modelli di CPU proliferano , inizialmente
differenziandosi per il clock , poi per altri fattori costruttivi , dipendenti anche
dal fatto che Intel comincia ad avere numerosi concorrenti che producono
CPU simili . I costruttori di schede madri si adeguano , dapprima rendendo
sostituibile il generatore del clock , poi realizzando sistemi con clock
programmabili e ponticellature per configurare le diverse famiglie di CPU .
L'Utente , ma soprattutto l'operatore del settore , comincia a desiderare un
sistema più pratico per installare la CPU .
Già da tempo alcuni produttori di attrezzature per test , come ad esempio
AMP e Textool , avevano sviluppato degli zoccoli per i sistemi di collaudo ,
dove era primario non perdere tempo nel sostituire i componenti sui banchi di
prova e , soprattutto , effettuare le operazioni relative senza danneggiarli .
Questi zoccoli , invece di avere un contatto fisso a molla avevano i contati
divisi in due parti di cui una fissa ed una mobile , azionata con una leva ; il
componente veniva posizionato sullo zoccolo aperto , poi le parti accostate
azionando la leva . Cosi era possibile inserire e disinserire il componente
senza alcuno sforzo e senza danneggiare i pin .
Detti ZIF (Zero Insertion Force = assenza sforzo di inserzione) , inizialmente
erano estremamente costosi ; vengono semplificati ed installati sulle schede
madri e l'immediata praticità del metodo ne avvia la diffusione generalizzata
ed ora non c'é scheda senza lo ZIF.
Ovviamente un prodotto si diffonde più facilmente se attorno ad esso
sussistono possibilità di espansione o modifica semplici ed economiche ; il PC
prevale proprio per essere un sistema aperto che permette di sostituire o
modificare la struttura con il cambio delle varie parti . Quindi , i produttori di
CPU devono attenersi ad un minimo standard che permetta l' intercambiabilità
delle parti ; dovendo produrre processori intercambiabili pur rispettando i
brevetti altrui , ci si trova in accordo almeno nella creazione di standard relativi
al bus ed alle interfacce fisiche con il resto del sistema , tra cui , ovviamente ,
il formato del package.
Se per i primi anni di vita del PC Intel é stata l'unico fornitore di CPU , l'
ingresso sul mercato di Cyrix e AMD (e la stessa Intel con gli Overdrive)
rendono disponibili ampie possibilità di aggiornamento dei sistemi , a patto
che le schede madri supportino i nuovi prodotti . La presenza degli standard di
fatto che si vengono via via a creare consente anche all' utente finale la
possibile sostituzione della CPU .
Gli standard elettrici e meccanici prendono il nome di Socket (zoccolo , in
inglese) . Quindi , il nome "Socket" con la S maiuscola applicato alle CPU ,
non indica solo la forma meccanica , ma, contemporaneamente , anche
l'interfaccia elettrica , la tensione di alimentazione , la disposizione dei segnali
, ecc. , ovvero l'intero set dei particolari che rendono una CPU adeguata ad
inserirsi su un certo zoccolo ; é importante comprendere questo in quanto la
forma fisica dello ZIF può essere comune a diversi standard , mentre non lo é
la compatibilità elettrica. In particolare un problema c'è sempre stato per
quanto riguarda le tensioni di alimentazione delle CPU che variano con il
modificarsi delle tecnologie costruttive . Va notata la soluzione degli OverDrive
, che , dove necessario , prevedono dei riduttori di tensione direttamente
installati nel package delle CPU per derivare le tensioni ridotte da quella
principale . Sono in commercio anche zoccoli dotati di questi riduttori per
inserire CPU a tensioni basse in Socket che non ne sono dotati.
Standard:

Socket 1 : originariamente é stato il nome del Socket dell' OverDrive Intel
della classe 486 . Si trova sulle schede madri 486 che prevedevano
l'aggiornamento con questo processore . La CPU é di forma quadrata ,
PGA ceramico , con una tensione di alimentazione di 5 volt e 169 pin .
Supporta CPU 486 e 486DX e l' OverDrive 486DX4 , ma non il Pentium
OverDrive che ha la stessa forma , ma un numero maggiore di pin .
Socket 1 non é la stessa cosa del primo zoccolo a 168 pin per il 486
originale ed impiegato in moltissime schede madri e che non é in grado di
accogliere l'OverDrive. Nelle prime serie i Socket per le CPU PGA
raramente erano del tipo ZIF . Nell'immagine uno zoccolo economico per
le CPU 80486 , privo del sistema ZIF . L'inserzione della CPU avveniva a
pressione e per la disinserzione era consigliato l'uso di un piccolo attrezzo
, simile ad un rastrello , impiegato per fare leva tra la CPU e lo zoccolo
senza danneggiare i delicati.

Socket 2 : é uno zoccolo 486 previsto per supportare i Pentium OverDrive
. é presente sulle schede madri 486 più recenti ed é simile al Socket 1 ,
da cui si differenzia per il numero maggiore di pin , disposti su una riga in
più.

Socket 3 : é il più recente zoccolo delle schede 486 , in genere del tipo
ZIF . Inizia con questo standard la disponibilità di una tensione inferiore a
5V , tipicamente 3.3V , selezionabili con ponticelli . la forma continua ad
essere simile , con un numero di pin praticamente uguale a Socket 2 . Da
notare , pero , che nel periodo dei 486 la situazione é parecchio confusa ,
questo dovuto alle differenze che si creano tra i vari costruttori che
combattono attorno ai vari brevetti . Vengono prodotte CPU con e senza
coprocessori , con PGA a 168 o169 pin , con sub assembly per il
coprocessore ed i vari OverDrive . La presenza di cosi tante variabili
rende le schede madri ricche di una selva di ponticelli e la corretta
configurazione della CPU diventa un'operazione di alta magia rituale , che
, nonostante gli adeguati scongiuri , non sempre ha successo . Lo
standard dello zoccolo non é ben chiaro e non tutti i prodotti sono
realmente compatibili elettricamente , anche se lo sono meccanicamente .
Le CPU 486 sono prodotte da numerose manifatture ed i problemi di
compatibilità sono evidenti .

Socket 4 : é lo zoccolo dei primi Pentium a 60 e 66 MHz , alimentati a 5
volt. Le CPU sono sempre del tipo PGA , con ben 273 pin .

Socket 5 : é lo standard per i processori Pentium della fascia da 75 a 133
MHz , non MMX .

Socket 6 : é l'ultimo zoccolo per i processori della classe 486 di Intel ,
simile a Socket 3 . Non risulta sia stato impiegato praticamente , in quanto
nello stesso periodo erano disponibili ampiamente i processori della
classe Pentium.
Più semplice diventa la situazione di compatibilità con i processori della
classe Pentium , anche se poi si sono formate differenziazioni tra i
package con l'introduzione delle CPU Intel su Slot 1 e Slot 2 .

Socket 7 : "Sua Eccellenza il Socket" , previsto per le CPU della classe
Pentium ; é ormai lo standard per i vari MMX , K6 , 6x86 . Socket 7 é uno
ZIF . Le schede madri dispongono alimentatori multipli in grado di
produrre le tensioni inferiori a 3.3V richieste dalle più recenti tecnologie
costruttive , anche se si é verificata una certa confusione per l'eccessivo
proliferare di tensioni intermedie . Da osservare che lo standard Intel delle
CPU MMX prevede solo una alimentazione a 2.8V . La compatibilità tra le
diverse CPU viene ottenuta attraverso il BIOS che , riconosciuto
correttamente il modello del chip , invia gli opportuni segnali di
inizializzazione del chipset . Spariscono le orde di ponticelli che avevano
reso grama la vita agli utenti delle ultime generazioni di schede 486 . La
gestione soft , assieme alla necessita di spazio per i dati della
configurazione del sistema e del Plug and Play , rende indispensabile il
BIOS facilmente aggiornabile , determina la fine delle EPROM e l' impiego
generalizzato delle Flash o EEPROM .

Socket 8 : é lo "zoccolone" per Pentium Pro , progettato per la forma
rettangolare di questa CPU , forma dovuta alla presenza del dual-cavity
che contiene la CPU vera e propria e la cache . Socket 8 supporta solo i
processori Pentium Pro Intel ed i loro OverDrive e non é stato utilizzato da
altri costruttori . Socket 8 é il primo zoccolo per i processori con bus P6 ,
che migreranno sullo Slot 1 , per ragioni sia tecnologiche che di costo .Lo
zoccolo ha una forma rettangolare per accogliere la CPU con il dual acvity
package (due vani interni per la CPU vera e propria e per la cache) .Si
nota in alto un minuscolo integrato a 8 piedini che é il sensore termico
usato per la misura della temperatura della CPU , oltre a molti piccoli
componenti passivi necessari al funzionamento della scheda . Quelli piú
grandi sono condensatori elettrolitici al tantalio .Inciso sulla plastica , in
basso a destra , il marchio del costruttore , la nota AMP , uno dei maggiori
a livello mondiale (particolare da Supermicro P6SBA) .

370 pin : la sorpresa di fine 1998 é la ricomparsa di un simil-Socket 7 per
le CPU della classe P6 . Il Celeron , per diventare sempre più un entry
level a basso prezzo , abbandona lo Slot 1 e ritorna alla "vecchia e cara "
forma PGA . 370 pin , pur essendo uno ZIF simile meccanicamente a
Socket 7 non é assolutamente compatibile con le CPU Socket 7 , in
quanto si tratta di una struttura con bus P6 e con chipset adeguati a
questa architettura .Notate che la scritta incisa nella plastica dello zoccolo
indica chiaramente che si tratta di uno zoccolo PGA 370 .Al centro si nota
il sensore termico usato per la misura della temperatura della CPU , oltre
ad un grande numero di piccoli componenti passivi necessari al
funzionamento della scheda (particolare da V370B di EPOX)

Slot 1 : Intel abbandona il PGA per le CPU ad alto livello e converte la
struttura in un circuito stampato pieno di componenti , chiuso in una
scatoletta
plastica
dotata
di
radiatore
,
detto
SEC
.
Il Socket non é più quadrato , ma diventa simile allo slot di una scheda
addizionale , dovendo ricevere il connettore del circuito stampato del SEC
.Il colore tipico é marrone , come gli slot del bus EISA o VLB ; le
dimensioni sono particolari e anche la posizione tale da non poter essere
confuso con uno slot per schede di espansione . Una tacca impedisce
l'inserzione errata della CPU .Anche il sistema di fissaggio é totalmente
modificato e richiede una incastellatura plastica e varie minuterie , dette
Retension Mechanism . Slot 1 é previsto per CPU della classe P6 , quindi
Pentium II , Celeron e successivi ; é anche possibile installare un Pentium
Pro con un opportuno adattatore , trattandosi comunque di una CPU P6 .

Slot 2 : Intel procede con gli "slot" , estendendo il numero 1 con numerosi
segnali e controlli che danno origine al più grande Slot 2 . Sempre
previsto per CPU della classe P6 , nasce esplicitamente con Xeon e
dovrebbe supportare i futuri processori della fascia più alta . Su Slot2 é
possibile installare anche Pentium II con l'opportuno adattatore ,
trattandosi comunque di una CPU P6 .Il colore tipico é nero ; le
dimensioni e la posizione ne rendono impossibile la confusione con altri
zoccoli . Una coppia di tacche impedisce l'inserzione errata della grossa
CPU .Slot 1 é previsto per CPU della classe Xeon , ma essendo questi
compatibili con il bus P6 é anche possibile installare un Pentium II con un
opportuno adattatore .

Slot A : Dulcis in fundo , ci mettiamo pure questo . Mentre Intel fa una
rimpatriata sul PGA con il Celeron 370 pin , AMD , dopo aver
strenuamente difeso il Socket 7 , passa ad un simil-Slot1 per le sue future
CPU K7 .
La tabella seguente raccoglie i dati principali delle specifiche relative ai
vari standard
Nome
Pin
Socket 1
169
Socket 2
238
Tensione
tipica
5
5
Classe
486
486
Processori supportati
80486DX, 80486SX, 80486DX2, 80486DX4
OverDrive
80486DX, 80486SX, 80486DX2, 80486DX4
OverDrive, Pentium OverDrive
80486DX, 80486SX, 80486DX2, 80486DX4,
Socket 3
237
5 / 3.3
486
Socket 4
273
5
Pentium
Pentium 60-66, Pentium OverDrive
Socket 5
320
3.3
Pentium
Pentium 75-133 MHz, Pentium OverDrive e
AMD 5x86, Cyrix 5x86, Pentium OverDrive
OverDrive MMX
Socket 6
Socket 7
235
321
3.3
2.8(2.2)/ 3.3
486
Pentium
MMX
non impiegato
Intel Pentium e MMX 75-233 MHz , Pentium
OverDrive , Cyrix 6x86 e 6x86MX , AMD K5
e K6
Socket 8
387
3.1 / 3.3
P6
Intel Pentium Pro
370 pin
370
3.3
P6
Celeron 370 pin
Slot 1
242
2.0 / 3.3
P6
1.8 / 3.3
P6
Slot 2
Slot A
AMD K7
Intel Pentium II, Pentium Pro con adattatore
, Celeron
Intel Xeon e successivi , Pentium II con
adattatore
AMD K7
Il fattore di moltiplicazione
Giá a partire dalle CPU 486 , é diventato comune avere per il processore un
clock piú elevato di quello generale del sistema , moltiplicandolo per un fattore
variabile da 1.5 in su all' interno della CPU stessa . Questo é possibile perché
la struttura interna del chip puó essere progettata senza difficoltá in modo tale
da poter operare con valori di clock molto piú elevati di quelli possibili al resto
del circuito . La cosa é ovviamente vantaggiosa , in quanto piú veloce é il
clock , piú breve é il tempo necessario per svolgere la serie di cicli che
compongono una istruzione del software o una attivitá interna del processore ;
piú clock , piú velocitá e quindi piú prestazione del sistema .É ovvio che
questo beneficio si estende solo all' interno della CPU , ovvero all'unitá logicoarimentica (ALU) , al coprocessore matematico (FPU) , ai registri interni ed
alla cache L1 e non interessa le altre parti del circuito del PC , se non
indirettamente , attraverso le linee di controllo e di scambio dati del
processore .Come nel caso del clock , le recenti famiglie di CPU sono state
progettate per disporre di piú valori possibili di moltiplicatore , onde permettere
uno sviluppo semplice tra un modello ed il successivo e la maggior
compatibilitá possibile tra i vari modelli , legata al tipo di socket usato (es.
Socket7, ecc.) . Praticamente , la CPU ha alcuni pins di programmazione che
determinano il valore del moltiplicatore ; questi pins vengono chiamati BF e
possono essere uno , due o tre , cioé BF0 , BF1 , BF2 . La funzione dei pins
BF é definita nel progetto della CPU e dipende quindi da come il chip é stato
realizzato ; alcune CPU dispongono di uno solo di questi pins , la maggior
parte di due e le piú recenti hanno tutti e tre ; inoltre , non in tutte le famiglie
tutti i pins sono attivi oppure sono collegati a moltiplicatori diversi.. I pins BF
hanno un pullup interno che li mantiene a livello alto (1) e sono portati a livello
basso (0) con jumpers . (Da osservare che la presenza di tre pins BF é , per
ora , limitata alle CPU AMD K6 ; solo le mainboards piú recenti , ad es.
Supermicro P5MMA98 e P5MMS98 , hanno jumpers per controllare tutte e tre
le linee , mentre la maggior parte delle schede madri dispone solo dei jumper
per BF0 e BF1. Il valore dei BF viene rilevato solamente durante la fase di
reset del processore ; questo per evitare qualunque problema durante il
funzionamento del sistema . In ogni caso , é buona regola non modificare
alcun jumper a sistema acceso. La tabella seguente riporta le configurazioni
tipiche dei pins BF per le CPU Intel Pentium.
BF1
BF0
Moltiplicatore
Bus/Core frequency
0
0
166/66 , 150/60
2,5 x
0
1
200/66 , 180/60
3x
1
0
133/66 , 120/60
2x
1
1
100/66 , 75/50 (233/66)
1,5 x (3,5x)
É da osservare che la funzione delle linee BF puó essere variata con una
diversa realizzazione del chip della CPU ; ad es. per Intel Pentium 233MMX la
posizione del moltiplicatore 1,5 x vale in realtà come 3,5 x , per poter arrivare
a 233MHz con clock di 66MHz .
Le CPU AMD K6 hanno 3 linee di controllo del moltiplicatore , di cui sono
attualmente sono utilizzate solo le prime due , come per Intel Pentium
233MMX .
BF2
BF1
BF0
AMD K6
1
0
0
2.5x
1
0
1
3x
1
1
0
2x
1
1
1
3.5x
0
0
0
4.5x
0
0
1
5x
0
1
0
4x
0
1
1
5.5x
Le CPU 6x86 hanno attiva solo la linea BF0 e la scelta é limitata , in pratica ,
al solo x2 . Le CPU 6x86MX hanno la stessa configurazione delle altre MMX .
Le CPU Pentium II hanno quattro linee di BF , con le seguenti configurazioni
possibili , di cui sono attualmente in uso le prime quattro :
Molt.
3
2
1
0
2.5x
1
0
0
0
3x
0
1
0
0
3.5x
1
1
0
0
4x
0
0
1
0
4.5x
1
0
1
0
5x
0
1
1
0
5.5x
1
1
1
0
6x
0
0
0
1
Non in tutte le CPU i pin BF hanno sono abilitati , dipendendo sia dal modello ,
sia dalla presenza del dispositivo anti-overclock , che limita il fattore di
moltiplicazione disabilitando uno dei pin BF .
Storia: Quando Intel rilasciò il Pentium, cessò di classificare i processori con delle cifre. Fino
ad allora le CPU erano identificate con dei numeri: 8086, 80286, 80386 e 80486. Dopo
quest’ultimo, quello che si sarebbe dovuto chiamare 586 venne chiamato Pentium. Il motivo fu
un’astuzia squisitamente commerciale per aggirare una normativa internazionale che vieta di
registrare il marchio di un prodotto con una sigla composta da numeri. Le società AMD e Cyrix,
concorrenti di Intel, avevano prodotto, fino a quel momento, propri processori chiamandoli 386
e 486 che non davano, comunque, le stesse prestazioni di Intel.
CPU
ANNO
Transistorb interni
8086/8088
1978
29.000
80286
1982
134.000
Intel 386 DX
1985
275.000
Intel 486 DX
1989
1.200.000
Pentium
1993
3.100.000
Pentium Pro
1995
5.500.000
Pentium II
1997
7.500.000
Sistema di Input e Output – I/O
Insieme di elementi che permettono di immettere(input) o emettere(output) i
dati nel computer. I primi sono rappresentati tipicamente da una tastiera e da
un mouse a cui si possono aggiungere un microfono, tavolette grafiche(che
consentono di disegnare facendo apparire il disegno sullo schermo), penne
ottiche e modem; l’output è costituito solitamente da uno schermo, da una
stampante, da altoparlanti e dal modem.
In senso più specifico l’I/O(acronimo di Input output), indica tutti quei circuiti e
dispositivi che consentono alla CPU di colloquiare con l’esterno, come
stampanti, video, tastiera, ecc.
I/O controller
Nella generazione attuale delle mainboards il controllo delle linee di I/O é
compito di uno specifico circuito integrato , detto I/O controller. Si tratta di
circuiti integrati con numerosi pin , del tipo a montaggio superficiale ( surface
mount ) , saldati direttamente sulla scheda ; questi chip gestiscono le due
seriali veloci tipo 16550 , la porta parallela programmabile SPP/ECP/EPP , la
porta IR , la porta mouse PS/2 , il controller del floppy disk. Le risorse di questi
speciali chip possono essere programmate nel Setup del BIOS con la finestra
PERIPHERALS . L' accesso alle periferiche avviene con connettori a spina
multipolari sulla mainboard , a cui si accoppiano connettori femmina fissati a
pressione ( crimpati ) su cavi piatti ( flat cables ) ; un indice , che puó essere
una o piú tacche o naselli o fori ciechi sul connettore e/o una barra colorata
sui cavi , segnalano che il connettore é polarizzato , ovvero ha un preciso
senso di inserzione che deve essere rispettato per ottenere la giusta
connessione .
I/O - CMOS clock-calendar
La configurazione del PC IBM XT non aveva alcun orologio , né ram CMOS ;
una eventuale aggiunta di orologio poteva essere fatta con una scheda
opportuna . Invece, i progettisti dello standard AT , nella versione originale ,
hanno utilizzato il chip Motorola MC146818 , contenente un orologiocalendario con clock a quarzo piú 50 bytes di ram , utilizzata per
immagazzinare i dati avviabili del setup . Questo integrato , in tecnologia
CMOS , é contraddistinto da un bassissimo consumo , dell'ordine dei
microampere e quindi adatto a funzionare a batteria nei momenti in cui l'
alimentazione principale del PC é interrotta , con una autonomia , a piena
carica ed a temperatura normale , di molti mesi . Con lo svilupparsi delle
tecnologie , altri costruttori hanno prodotto questo chip o simili , ad esempio
Dallas , con i modelli DS 1285 e 1287 , contenente al suo interno la batteria , il
quarzo e tutti i circuiti ausiliari necessari e con una autonomia dichiarata di
ben 10 anni ! Inoltre la maggior parte dei progettisti di chipset hanno integrato
queste funzioni in uno dei componenti del chipset stesso , rendendo superfluo
l'uso di un chip esterno . La precisone tipica di un orologio CMOS su PC é di
15 sec/mese, circa 6ppm , ma dipende dalla precisone del quarzo , ovvero
dalla temperatura ambiente e dalle tolleranze dei componenti . In sostanza ,
l'orologio del PC é piuttosto preciso , ma NON é uno standard di tempo e puó
essere afflitto da ampie tolleranze . Se il conteggio del tempo si arresta o
rallenta molto a PC spento , é indice sicuro della batteria quasi scarica ;
occorrerá cambiarla prima che la completa scarica cancelli anche il contenuto
della memoria CMOS del setup .
I/O - porte seriali
Le linee seriali costituiscono uno degli accessi primari al personal computer . I
dati scambiati con le periferichead esse collegate ( ad esempio mouse ,
stampante , modem , fax , altro computer ) viaggiano in modo seriale , un bit
dopo l'altro , su un numero limitato di conduttori , tipicamente tre : dati
trasmessi , dati riceviti , massa comune . I dati , di solito organizzati nel
computer a blocchi di 8 ( 8 bit = i Byte ) o piú , vengono serializzati e poi
ricostruiti da un circuito detto UART ( Universal Asynchronous Receiver
Transmitter = Ricetrasmettitore universale asincrono ) , il cui modello di
riferimento standard é il tipo 16550 , che consente elevate velocitá
comunicazione . Le modalitá hardware e logiche utilizzate per interfacciare l'
UART con l'esterno sono dette protocolli ; il piú diffuso sul PC é quello definito
dalle specifiche RS-232C . Il connettore tipico é il tipo D a vaschetta , a 9 e a
25 poli , maschio sul lato PC . L'illustrazione seguente riporta i connettori e i
collegamenti comuni .
La lunghezza massima di un cavo RS-232C é prevista in circa 15metri , ma è
possibile raggiungere distanze maggiori con cavi speciali o con buffers . Il
cavo seriale é , comunque , schermato , ovvero dotato di un rivestimento
metallico che lo isola dalle inteferenze eletriche dell' ambiente . Sulla linea
seriale possono essere collegati due soli dispositivi , ad esempio PC e modem
o PC e mouse ; quindi , per ogni periferica seriale , occorre disporre di una
corrispondente linea sul PC . Lo standard prevede una base di 4 linee seriali ,
di cui 2 fanno solitamente parte della dotazione della mainboard . Ogni linea
occupa un'area della mappa di memoria dell' I/O e un canale di interrupt . La
tabella seguente riporta il nome DOS delle porte , il loro indirizzo in
esadecimale , la linea di interrupt correntemente usata e l' assegnazione tipica
. Questi parametri possono essere controllati dalla finestra PERIPHERALS del
Setup iniziale del BIOS .
DOS
Indirizzo
Interrupt
Assegnazione
COM1:
03F8-03FFh
IRQ 4
Default
COM2:
02F8-02FFh
IRQ 3
Default
COM3:
03E8-03EFh
IRQ 4
Alternativo
COM4:
02E8-02EFh
IRQ 3
Alternativo
Utilizzando schede e software apposito é peró possibile superare questa
limitazione imposta dalla compatibilitá con il DOS e con l'hardware standard
ed ampliare il numero delle seriali installabili sul PC . Tipici collegamenti seriali
sono effettuati con le connessioni riportate nelle tabelle seguenti :
Tipo lap-link seriale
signal
DB9F
DB25F
RD
2
3
-
-
-
-
-
TD
3
2
-
-
-
-
DTR
4
20
-
-
-
GND
5
7
-
-
-
signa
DB25F
DB9F
-
2
3
TD
-
-
3
2
RD
-
-
-
6
6
DSR
-
-
-
7
5
GND
l
DSR
6
6
-
-
-
-
-
-
20
4
DTR
RTS
7
4
-
-
-
-
-
-
5
8
CTS
CTS
8
5
-
-
-
-
-
-
4
7
RTS
Peripheral (es. HP17255M)
5 fili handshake hardware
signal
DB9F
DB25F
DB25F
DB9F signal
GND
5
7
-
-
-
-
-
-
7
5
GND
TD
3
2
-
-
-
-
-
-
3
2
RD
RD
2
3
-
-
-
-
-
-
2
3
TD
DSR
6
6
-
-
CTS
8
5
-
-
-
-
-
-
20
4
DTR
DTR
4
20
-
-
-
-
-
-
6
6
DSR
-
-
5
5
CTS
Null modem / Peripheral
7 fili handshake hardware
signal
DB9F
DB25F
GND
5
7
-
-
-
-
-
-
DB25F DB9F
7
5
signal
GND
TD
3
2
-
-
-
-
-
-
3
2
RD
RD
2
3
-
-
-
-
-
-
2
3
TD
DSR
6
6
-
-
-
-
-
-
4
7
RTS
DTR
4
20
-
-
-
-
-
-
5
8
CTS
CTS
8
5
-
-
-
-
-
-
20
4
DTR
RTS
7
4
-
-
-
-
-
-
6
6
DSR
Null Modem / Peripheral minimo
3 fili handshake software
signal
DB9F
DB25F
DB25F DB9F
signal
GND
5
7
-
-
-
-
-
-
7
5
GND
TD
3
2
-
-
-
-
-
-
3
2
RD
RD
2
3
-
-
-
-
-
-
2
3
TD
DSR
6
6
-
|
|
-
6
6
DSR
DCD
1
8
-
|
|
-
8
1
DCD
DTR
4
20
-
|
|
-
20
4
DTR
CTS
8
5
-
5
8
RTS
7
4
-
|
-
RTS
|
-
4
7
CTS
I/O - porta parallela
I dati sulla porta parallela viaggiano a blocchi di 8 per volta , utilizzando un
cavo con numerosi conduttori , tra cui gli 8 dei dati e svariati altri di controllo .
L' interfaccia parallela é nata principalmente per collegare stampanti , anche
se é possibile sfruttarla per altre connessioni ; il cavo schermato che collega
PC e periferiche puó essere lungo pochi metri e distanze maggiori si possono
coprire solo con cavi speciali o buffers . Lo scambio di dati si svolge a velocitá
molto maggiori che sulle linee seriali , ma non é utilizzabile altro che con cavi
dotati di molti conduttori . Sul PC il connettore é ancora del tipo DB a 25 poli ,
femmina per evitare confusione con quello delle seriali . ATTENZIONE :
spesso le schede di interfaccia SCSI economiche utilizzano come connettore
esterno lo stesso tipo di quello della porta parallela ; é assolutamente da
evitare lo scambio dei cavi nei due connettori , pena danni irreparabili alle
periferiche o alle interfacce. Sulla linea parallela standard possono essere
collegati due soli dispositivi , ad esempio PC e stampante , anche se alcuni
dispositivi come i cavi adattatori parallela/SCSI o parallela/unitá di backup(
tipo ZIP) permettono la coesistenza ; in generale , per ogni stampante
parallela , occorre disporre di una corrispondente linea sul PC . Lo standard
prevede una base di 3 linee parallele , di cui 1 fa solitamente parte della
dotazione della mainboard. Ogni linea occupa un'area della mappa di
memoria dell' I/O e un canale di interrupt . La tabella seguente riporta il nome
DOS delle porte , il loro indirizzo in esadecimale , la linea di interrupt
correntemente usata e l' assegnazione tipica . Questi parametri possono
essere controllati dalla finestra PERIPHERALS del setup iniziale del BIOS:
DOS
Indirizzo
Interrupt
Assegnazione
LPT1:
0378-037Fh
IRQ 7
Default
LPT2:
0278-027Bh
IRQ 5
Alternativo
LPT3:
03BC-03BFh
IRQ 7
Alternativo
L' I/O Controller permette di prograrmmare la porta parallela come SPP
(Standard Parallel Port ) oppure nelle modalitá avanzate EPP (Enhanced
Paralle Port ) o ECP (Extended Capability Port ) . I dispositivi correnti sono
previsti per i modi SPP/bi-direzionale o EPP , mentre ECP richiede differenti
strutture ed impiega anche le risorse di un canale DMA .
La connessione tipica tra PC e stampante é effettuata con un cavo
DB25Femmina/lato PC e Centronics 36Maschio/lato stampante
DB25M
Centronics
Segnale
1
1
STB
2
2
Data 0
3
3
Data 1
4
4
Data 2
5
5
Data 3
6
6
Data 4
7
7
Data 5
8
8
Data 6
9
9
Data 7
10
10
Ack
11
11
Busy
12
12
PE
13
13
SLCT
14
14
Auto Feed
15
32
Error
16
31
Init
17
36
SLCTIN
18-25
33 19-28
GND
Per lo scambio dati tra computer puó essere utilizzata anche la porta parallela
; il vantaggio consiste nella possibilitá di trasferire dati in paralello a blocchi di
8 bit , quindi in modo molto piú veloce della porta seriale . Per conto lo
svantaggio é quello di non poter utilizzare cavi lunghi piú 1 o 2 metri , a causa
dei segnali di tipo logico a basso livello che subiscono una eccessiva
degradazione su cavi lunghi .
Cavo tipo Lap-link parallelo
DB25M pin
1
2
3
4
5
6
10
11
12
13
14
15
16
17
25
DB25M pin
1
15
13
12
10
11
5
6
4
3
14
2
16
17
25
I/O - porta mouse PS/2
Il mouse si collega comunemente ad una porta seriale , ma , nei casi in cui sia
necessario disporre di tutte le porte seriali del sistema , occorre installare il
mouse in un altro canale hardware . in passato la soluzione piú praticata era
quella del Bus-Mouse , ovvero una scheda daddizionale inserita sul bus a cui
andava collegato un mouse apposito . Attualmente questa funzione é
integrata nell' I/O Controller , utilizzando lo standard del mouse PS/2 . In
questo caso il puntatore é collegato ad un connettore miniDIN standard e le
risorse delle linee seriali restano libere per altri usi . Indicazioni sui connettori
per la porta mouse presenti sulle mainboard sono reperibili nei relativi manuali
.
I/O - connettore tastiera
La tastiera é collegata alla mainboard con un connettore tipo DIN audio a 5
poli per lo standard AT e con un connettore miniDIN a 6 poli per lo standard
PS/2 .
La comunicazione tra mainboard e tastiera é di tipo seriale a due fili (dati e
clock). Nella tastiera é contenuto un microprocessore , in genere della famiglia
8042 che gestisce i dati da e per il computer ; questo processore ha bisogno
di una alimentazione a 5V che gli giunge dalla mainboard attraverso il
connettore . Per evitare danni al sistema , la linedel +5V é protetta con un
microfusibile rapido (FS1 o F1) posto sul circuito stampato della mainboard :
in caso di guasto della tastiera o di cortocircuiti sul cavo , questo fusibile
brucia , impedendo danni maggiori ; purtroppo la sostituzione non é semplice
e richiede un intervento tecnico. I segnali ai due connettori sono gli stessi ed é
possibile adattare una tastiera PS/2 su un sistema AT e viceversa con le
opportune spine o cavetti di riduzione.
I/O - porta IR
La porta IR é prevista per collegare un dispositivo a raggi infrarossi per una
comunicazone seriale senza fili su brevi distanze . Inizialmente pensato come
mezzo di comunicazione tra stazioni fisse e notebook , per la sua natura puó
essere adattato anche ad altre periferiche nelle quali la mancanza del cavo di
connessione puó essere un vantaggio ( ad es. mouse o puntatori per
conferenze e presentazioni ) . Al momento i dispositivi IR non sono molti , né
molto diffusi e le potenzialitá dell' interfaccia sono ancora latenti . Sulle
mainboard l' I/O Controller provvede a gestire anche questa linea , che é
accessibile con un connettore a 5 pin , al quale andrá collegata l' interfaccia
con l' esterno , composta da un ricetrasmettitore di raggi infrarossi adatto alla
periferica da connettere e fornito dal costruttore della stessa . I manuali delle
mainboards forniscono ulteriori informazioni .
I/O – USB
Nella ricerca di nuove soluzioni tecnologiche che rendano piú efficienti e piú
semplici i contatti tra le varie periferiche del sistema si stanno studiando
diversi sistemi di interconnessione , tra i quali é diventato standard USB . USB
(Universal Serial Bus - Bus Seriale Universale) è stato studiato per collegare
con un solo cavo le principali periferiche di un PC , come ad esempio monitor
, tastiera , mouse , ecc. L’idea viene portata avanti da molti grandi costruttori
come Compaq , DEC , IBM , Intel , Microsoft , NEC , Norther Telecom . USB
puó collegare fino a 127 dispositivi periferici con la stessa inter faccia , che ,
ad
esempio
,
Intel
ha
integrato
nei
suoi
PCIset
430
(Triton)
.
L’interconnessione fisica é del tipo a stella , nella quale alcuni dispositivi (hub)
saranno dotati di prese per poter collegare in cascata altri componenti . La
velocitá di trasmissione dovrebbe arrivare almeno a 12MB/sec e quindi essere
adeguata anche a dispositivi complessi , anche asincroni , come sistemi video
e telefonici , joystick , stampanti , scanner e interfacce audio . Attualmente
USB è ancora allo stato potenziale e sono ben poche le periferiche disponibili
sul mercato , anche perché si presenta come un doppione delle risorse giá
esistenti .
Per ciò che interessa fisicamente l’utente da vicino, abbiamo:
Tastiera (input) - La tastiera standard è a 102 tasti; attualmente sono in
commercio anche tastiere win95 con 105 tasti: vi sono cioè tasti
supplementari in più per specifiche scorciatoie da tastiera in win95 (se si ha
una tastiera a 102 tasti non c'è bisogno di cambiarla; queste funzioni sono
abbastanza inutili). Attualmente sono in vendita anche la tastiere ergonomiche
che, abbandonata la classica forma rettangolare, permettono di tenere le mani
in posizione più naturale e di poggiare meglio i polsi. Le tastiere sono diverse
per disposizione dei tasti a seconda della nazione. Il diverso costo delle
tastiere (da 40.000 a 120.000 lire) dipende dalla meccanica interna della
tastiera e dal tipo di contatti; se non bisogna usare un PC come dattilografi
anche una tastiera media pur andare bene.
Mouse (input) - I mouse possono essere a 2 o 3 tasti; se si dispone di un
mouse a 2 non è necessario cambiarlo (sono pochissimi i programmi che
sfruttano il tasto centrale). I mouse si collegano alla porta seriale, o alla porta
PS2 (controllare che il PC disponga di tale porta). Se si utilizza Windows è
meglio avere un mouse di marca (Microsoft o Logitech per esempio) o
comunque che permetta una buona sensibilità. Vi possono essere diversi tipi
di mouse:

tradizionale: bisogna muovere il mouse su una superficie;

Track-ball: bisogna far girare una palla inserita in un supporto, talora
tutt'uno con la tastiera, talora in un accessorio a parte;

Pointing stick: in alcuni modelli il mouse h sostituito da una piccola levetta
inserita fra i tasti G ed H della tastiera;

TouchPad (tavoletta sensibile al tatto): toccando con il dito su una
tavoletta, si genera il movimento del cursore sullo schermo;

in alcuni ultimi modelli di portatili Hewlett-Packard il mouse è costituito da
una espansione laterale estraibile del PC, simile ad un mouse
tradizionale, ma attaccato saldamente ad esso:

Microsoft ha recentemente introdotto per i bimbi un mouse semplificato
(Easy Ball);

Sempre Microsoft ha introdotto IntelliMouse, un mouse a tre tasti + una
rotella supplementare che permette di meglio sfruttare le caratteristiche di
Office 97.
Stampante (output) - Le stampanti si dividono in tre categorie:

ad aghi (9 o 24 aghi): le più economiche, usano un nastro inchiostrato
come quello della macchina da scrivere, e compongono le lettere con la
percussione sul foglio dei vari aghi;

a getto di inchiostro ("ink jet"), stampano lanciando un sottilissimo
pennello di inchiostro; sono le uniche con cui si pur effettuare una stampa
a colori in modo discreto a prezzo contenuto;

laser, le più costose come prezzo, la stampa avviene in pratica come con
una moderna fotocopiatrice; la stampa a colori richiede l'acquisto di
stampanti ad alto prezzo.
La qualità di stampa si misura in DPI (dots per inch) ovvero il numero di punti
stampati per ogni pollice. Una stampante a getto discreta dovrebbe essere in
grado di lavorare a 600x300; per stampare testo basta la risoluzione 300x300,
per la grafica 600x300.
La velocità di stampa si misura in pagine per minuto (PPM): una getto
d'inchiostro lavora a 1-3 PPM, una laser a 4-8 PPM.
Le stampanti ad aghi, oltre al basso prezzo di acquisto e di manutenzione
hanno anche il vantaggio di stampare moduli multicopia e di poter utilizzare
moduli continui.
Attualmente le stampanti a getto non necessitano più di carta speciale per
stampare (a meno di non utilizzare risoluzioni elevate) e l'inchiostro si asciuga
(anche in caso di notevole copertura di inchiostro) in meno di un minuto; è
però da osservare che l'inchiostro se esposto direttamente al sole tende a
sbiadire in un paio di mesi. La stampa a colori pur essere effettuata sia tramite
il sistema CMY (Ciano Magenta Giallo), ma in tal modo il nero appare
marroncino, oppure tramite CMYK (CMY + nero) ma la stampante in questo
caso costa il doppio. Le stampanti a getto di inchiostro sono le stampanti che
hanno il costo per pagina più elevato.
Talune stampanti laser utilizzano uno standard detto POST SCRIPT per
migliorare la qualità; logicamente anche il prezzo è maggiore. Una stampante
laser necessita di RAM per poter funzionare (per stampare senza programmi
di compressione un foglio A4 a 300 dpi ne occorre 1 megaByte); del resto
qualche decina di Kbyte di memoria può accelerare la stampa anche negli altri
tipi di stampante.
In generale per le stampanti laser convenzionali devono creare ed
immagazzinare l'immagine della pagina, quindi hanno bisogno di un
processore e di RAM; in una stampante GDI (Graphical Device Interface) il
software del driver si serve del processore e della memoria del PC (unico
problema è che i drivers sono specifici per ogni sistema e pertanto una
stampante che funzioni con Win 3.1 non è detto che funzioni con Win 95.
Attualmente è stato introdotto il WPS (Windows Printing System), detto anche
SLEEK. Questo sistema supera i problemi del GDI pur utilizzando il
processore e la RAM del PC; manda alla stampante strisce orizzontali della
pagina in ordine sequenziale e perciò la pagina esce più rapidamente. Se la
stampante accetta la comunicazione bidirezionale è possibile che il PC riceva
informazioni in tempo reale sugli eventuali problemi della stampante.
Necessario in qualunque stampante è o il trattore per il modulo continuo o il
cassetto per l'alimentazione automatica dei fogli.
Monitor (output) - I video standard sono quelli di 14 pollici (misurati sulla
diagonale dello schermo); in realtà la porzione di schermo realmente utilizzata
è 12.5 pollici. Un monitor di 15 pollici è più confortevole, permette di lavorare
alla risoluzione di 800 x 600 senza problemi, ma costa 200.000 lire in più. Per
lavorare a 1024 x 768 h necessario un 17 pollici, decisamente ancora troppo
caro. Altre due caratteristiche di un monitor:

il "dot pitch" ovvero la distanza tra due pixel adiacenti; in un 15 pollici non
dovrebbe superare i 0.28 mm, valori più elevati possono generare
immagini sfuocate;

l'interlacciamento; in modalità non interlacciata l'intera schermata
visualizzata sul monitor viene rigenerata ad ogni passata del tubo
catodico, e la frequenza con cui questo avviene ogni secondo è detta
frequenza di scansione verticale; in modalità interlacciata l'immagine
video viene generata in due passate (prima le righe dispari, poi le pari),
talora generando un fastidioso fenomeno di sfarfallio.
Memoria
Quando si parla di memoria , in un computer , si fa riferimento ad un mezzo in
cui i dati possono essere immagazzinati . Si puó dividere , in generale , la
memoria in due tipologie principali :

Temporanea , o volatile . La memoria volatile perde i dati 9
immagazzinati quando viene interrotta la fonte di alimentazione . In
generale , la memoria volatile é costituita da circuiti integrati
particolari, tipo la RAM.

Non volatile che , al contrario , mantiene i dati anche in assenza di
alimentazione . In generale la memoria non volatile impiega sistemi
magnetici (hard disk , nastri e simili) od ottici (CDROM) o magnetoottici , chiamate memorie di massa , ma esistono anche memorie non
volatili realizzate con circuiti integrati (EPROM , FLASH , ecc.) .
Tipi di Memoria
Possiamo distinguere diversi tipi di memoria :

La memoria principale : si intende la RAM , ovvero un insieme
organizzato di chip in grado di essere scritti e letti a piacimento e che
mantengono i dati fino a che il computer é acceso ; il sistema
operativo ed i programmi applicativi utilizzeranno questa memoria per
le loro elaborazioni .

La memoria CMOS : costituita da un componente realizzato con
questa tecnologia , é una memoria statica (SRAM) che mantiene i dati
con una alimentazione a batteria

La memoria cache : solitamente si tratta di circuiti integrati di SRAM
ad alta velocitá

La memoria contenente il firmware , ovvero alcuni chip realizzati
con tecnologia non volatile (EPROM , Flash e simili) che contiene i
programmi BIOS (ad es. il BIOS della scheda madre , della scheda
video , la Prom di boot della scheda di rete , ecc) .

La memoria di massa , costituita in genere da hard disk , che
conserva i dati in modo non volatile come tracce magnetiche o il
CDROM , in cui i dati sono scritti e letti con sistemi basati sulla luce
laser . Molti confondono la memoria RAM con gli altri media di
immagazzinamento della memoria di massa . Questo avviene perché
9
I dati , in formato binario , sono immagazzinati nella RAM come livelli logici di tensione (1 o 0) ;
nei dischi come segnali magnetici , nei CDROM , come tacche chiare e scure di diversa
dimensione .
le funzioni sono similari ed anche l'unitá di misura della grandezza
dell'area di memoria (il byte) é la stessa .
Tipi di memoria su circuiti integrati
In generale la memoria realizzata con circuiti integrati si può suddividere in :
ROM (Read Only Memory -memoria a sola lettura) , non riscrivibile dal
sistema , che contiene il firmware o il BIOS . La memoria ROM e’
"mascherata" ovvero scritta dal produttore e non puó essere modificata
dall'utilizzatore . I livelli 1 e 0 che costituiscono i dati binari sono "incisi"
(mascherati) durante il processo di produzione del componente e non
possono essere cambiati . Il contenuto , quindi , non è volatile. La memoria
ROM conserva il suo contenuto indefinitamente , anche se manca
l’alimentazione del sistema . Normalmente sono utilizzate per contenere il
firmware , ovvero il software residente su schede , come BIOS delle
mainboard , controller SCSI ,VGA, ecc. Alla famiglia ROM appartengono
anche :
PROM (Programmable ROM) : é una ROM che puó essere programmata dall'
acquirente con una apparecchiatura speciale (programmatore) . I livelli 1 e 0
che costituiscono i dati binari sono scritti con la modifica di alcune parti del
chip (ad es. bruciatura di fusibili integrati) ed una volta scritti non sono piú
cancellabili . Prende anche il nome di OTP (One Time PROM)
EPROM (Erasable Programmable ROM) che può essere cancellata e riscritta
con opportuni apparecchi . La possibilitá di riscrivere il contenuto la rende
adatta alle applicazioni in cui sono richieste modifiche ai dati contenuti senza
sostituire il componente . La cancellazione delle EPROM avviene esponendo
il chip ad una luce ultravioletta di lunghezza d'onda opportuna che ,
ionizzando il materiale , riporta i livelli logici ad una situazione definita
(normalmente a livello 1) .Spesso i BIOS ed altri firmware sono in EPROM .
I principali vantaggi delle EPROM sono il basso costo ed il fatto che si tratta di
dispositivi in produzione da gran tempo e quindi facili da reperire. I lati negativi
sono l' impossibilita di cancellarle e riscriverle sul circuito in cui sono installate
, rendendo cosí problematico l'aggiornamento dei firmware che , con l'attuale
sviluppo tecnologico , é diventato un fatto comune .
Nella attuale situazione di rapido progresso (leggi : grandissima confusione) ,
si stanno sostituendo , quindi , le EPROM dei BIOS con altri dispositivi che
possano essere cancellati e riscritti dallo stesso sistema su cui sono installati
e consentano quindi un rapido upgrade del firmware da parte dell’utente ,
senza l’intervento di tecnici specializzati . Sono:
EEPROM (Elettrically Erasable Read Only Memory -memoria a sola lettura
programmabile e cancellabile elettricamente) é un dispositivo che puó essere
riscritto direttamente dal circuito su cui si trova . In genere le tensioni di lavoro
per le EEPROM sono 5 o 12 volt , a seconda del modello
FLASH : é simile alla EEPROM e puó essere scritta e modificata direttamente
dal circuito in cui é inserita
Nella stessa famiglia delle EEPROM sono compresi alcuni dispositivo speciali
, le EEPROM seriali , in cui l'accesso ai dati , invece di essere organizzato in
modo parallelo su un bus a 8 o 16 bit , avviene con un colloquio seriale , su
pochi conduttori (da 1 a 3). Le EEPROM seriali sono utilizzate per
immagazzinare dati che vengono richiesti saltuariamente , ad esempio solo
nella fase successiva al reset , in quanto il colloquio seriale é estremamente
piú lento di quello parallelo . Ad esempio , su molte schede audio é presente
un piccolo chip seriale in cui sono conservati i dati del setup della scheda
stessa
e
le
varie
impostazioni
predisposte
dall'Utente
durante
la
configurazione della scheda (emulazione Sound Blaster o Microsoft Sound ,
interrupt , DMA , qualitá del suono , ecc.) ; in questo caso il contenuto della
EEPROM seriale :

é letto durante la fase di inizializzazione della scheda successiva al
reset

utilizzato dai driver per trasmettere ai chip della scheda i giusti
parametri di configurazione

e poi non viene piú richiamato durante il funzionamento del sistema .
Essenziale vantaggio della EEPROM seriale é il costo estremamente basso
per un dispositivo programmabile non volatile e le dimensioni altrettanto
piccole .
Della stessa famiglia fanno parte gli :
SPD (Serial Presence Device- dispositivo di presenza seriale) di cui sono
dotate le DIMM di SDRAM . Questo chip contiene i dati di impiego della DIMM
e puó essere letto da un BIOS adeguato per una configurazione ottimale
automatica del sistema . In alcune previsioni , si prevede un futuro in cui tutti
gli add-on del PC saranno dotati di sistemi simili all' SPD per una
configurazione completamente automatizzata e priva delle difficoltá che
ancora oggi si presentano (nonostante il Plug and Pray e simili)
RAM (Random Access Memory - memoria ad accesso casuale) , leggibile e
scrivibile dal sistema , che costituisce la memoria principale in cui ‘girano’ le
applicazioni . I dati contenuti nella RAM vanno perduti al cessare della
alimentazione del sistema. Random non indica che l' accesso avviene a caso ,
ma che si puó accede ad un locazione e poi ad un'altra non contigua senza
alcuna regola precisa , a differenza dei media come il nastro in cui i dati sono
accessibili solo in sequenza .
Tipi di RAM
La RAM in generale si puó dividere in due grandi categorie:
SRAM (Static RAM= RAM statica) : non necessita di refresh , ha tempi di
accesso brevi e consumi bassissimi : per contro ha una struttura molto piú
complessa di DRAM e quindi un costo molto elevato e una minore possibilità
di integrazione , che ne limitano l’ uso alle strutture di cache (piccole di
dimensione , ma necessitanti alte velocitá) ed alle aree CMOS ( che
richiedono basso consumo per poter essere mantenute da una batteria
tampone ) . I dati contenuti nella RAM vanno perduti al cessare della
alimentazione del sistema .
DRAM (Dynamic RAM) : costituisce la maggior parte della RAM installata sui
sistemi , perché costruttivamente semplice ; risulta pertanto poco costosa ed è
possibile integrarne grandi quantità in piccoli spazi . Il difetto è costituito nella
necessità di una continua operazione di mantenimento dei dati scritti , detta
refresh , che altrimenti andrebbero persi , anche con la tensione di
alimentazione presente (si può paragonare la ram dinamica ad un secchio con
un piccolo buco : se non si rabboccasse ogni tanto il contenuto , dopo un
certo tempo il secchio sarebbe vuoto ) . Questo porta alla presenza di tempi
morti nelle operazioni di lettura e scrittura , con una riduzione delle prestazioni
. DRAM é realizzata con diverse tecnologie , tra cui FastPage , EDO , SDRAM
, ecc. La DRAM é sicuramente il tipo piú comune presente nei PC . La
struttura di una cella (bit) consiste in un circuito equivalente ad un
condensatore . Caricando elettricamente il condensatore , si accumula un bit ;
sfortunatamente il condensatore ha la tendenza a scaricarsi rapidamente e
quindi a perdere l' informazione immagazzinata . Occorre allora che un
circuito apposito , detto Refresh Controller , passi periodicamente a "
rinfrescare " il contenuto delle celle , mantenendo "piene "quelle che lo
richiedono . DRAM perde tutto il suo contenuto nel momento in cui cessa il
ciclo di refresh e/o manca la tensione di alimentazione . La DRAM é
organizzata in banchi a matrice (come le celle di una tabella di un foglio di
calcolo o le caselle della battaglia navale) , il cui accesso si effettua inviando
l'indirizzo della riga e della colonna relativo alla cella che si vuole raggiungere
; queste operazioni , che interessano linee di segnali specifiche ( CAS =
Column Address Select e RAS= Row Address Select ) , sono abbastanza
complesse , devono tenere conto del refresh di cui si é detto prima e
"consumano "un certo tempo per la loro esecuzione , cosicché l' acceso ad
una cella é asincrono rispetto al clock principale del processore. La DRAM
richiede un circuito speciale , il DRAM controller , attualmente integrato nel
chipset10 , che provvede a fornire ai chip le giuste temporizzazioni e,
soprattutto , i segnali di refresh. Un comitato che stabilisce gli standard per i
componenti elettronici , il JEDEC , ha fissato molte specifiche per i chip
DRAM.
Specifiche per i chip DRAM
FP (Fast Page) : fino a poco tempo fa la categoria piú usata . Il nome deriva
dalla maggior velocitá di accesso rispetto alle tecnologie precedenti e dalla
possibilitá di lavorare con dati organizzati a pagine. Una pagina é una sezione
della memoria disponibile con uno specifico indirizzo di riga . Assieme ad un
indirizzo di riga si troveranno numerose colonne di celle contenenti i dati : con
FP il sistema richiede solo lo specifico indirizzo di riga , una sola volta , per
poter accedere consecutivamente a tutti i dati della pagina . Successivi
accessi alla stessa pagina richiedono solo l'indirizzo di colonna per recuperare
i dati della cella , risparmiando un certo tempo. Le CPU attuali lavorano su
parole (word) di molti bytes : ad es. Pentium lavora con QWord (Quadruple
Word ) , ovvero blocchi da 64 bit , costituiti da 4 bytes . In sostanza , quindi ,
un accesso in memoria richiede il prelievo di almeno 4 bytes consecutivi . La
struttura FP privilegia l' accesso a blocchi consecutivi di celle , detto anche
burst mode ( modo a raffica) richiedendo 5 clock per l'accesso al primo byte e
solo 3 per i successivi nella stesa pagina . Questo ciclo si descrive con la sigla
5-3-3-3 ; in totale , quindi , la CPU usa 14 colpi di clock .
EDO (Extended Data Out RAM) : un miglioramento della DRAM , che riduce
ulteriormente i tempi di accesso. Il funzionamento é simile a quello della FP ,
ma , in piú é presente una serie di celle ausiliarie che immagazzinano
provvisoriamente i dati in transito (buffer) . La EDO conserva i dati validi
anche dopo il termine del segnale che indirizza la colonna ; questo consente
al processore di gestire meglio i tempi di accesso alla memoria : mentre la
EDO ricerca e conserva un dato , la CPU puó svolgere un' altra attivitá e
recuperare il dato piú avanti . Il ciclo in tal caso diventa 5-2-2-2 , con un
impegno totale di 11 clock . Un impiego massiccio di ram EDO si sta
diffondendo nelle schede video i cui processori , privi di cache , traggono
benefici notevoli dalla possibilità di accedere senza tempi morti alle
10
L'"intelligenza" di una scheda madre e' definita dai suoi circuiti logici, in altri termini dai
controller e dal chipset della scheda stessa. La parola stessa chipset significa un insieme di chip,
raccolti in un solo componente. Prima dell'arrivo dei chipset, la scheda madre presentava
molteplici controller chip, tutti separati l'uno dall'altro.
informazioni video , soprattutto nel caso di immagini in movimento. Per quanto
fino ad ora verificato con i test , l’ uso della ram di tipo EDO non porta che
benefici trascurabili se la mainboard dispone di cache . Di fatto , il sistema con
cache , sfrutterà meglio i meccanismi di questa , senza dare peso a quelli del
sistema EDO . In un PC dotato di cache L2 , la presenza della EDO
incrementa i risultati dei test , ma non è visibile ad occhio nudo . Altro discorso
è per i sistemi privi di cache , che , senza la EDO , sarebbero pesantemente
penalizzati . Attualmente , alcuni noti nomi offrono sistemi economici con EDO
, ma senza cache L2 (possibilmente da evitare l’acquisto!). In ogni caso , tra
un sistema senza cache e con EDO ed un sistema con cache e senza EDO ,
quest’ ultimo ha una prestazione di gran lunga migliore , mentre un sistema
con cache e EDO non si differenzia in modo significativo . Nell' attuale
momento del mercato , inoltre , i costi dei chip della cache pipeline sono scesi
sensibilmente , mentre la ram EDO (di buona qualità) ha ancora un costo che
non è compensato dalla trascurabile differenza di prestazione .
BEDO (Burst EDO) è un ulteriore miglioramento della struttura EDO , in cui il
ciclo e' ridotto a 5-1-1-1 , ovvero 8 clock totali . Attualmente BEDO é gestita
da pochi chipset e , comunque , é ancora un prodotto assai poco diffuso
MDRAM (Multibank DRAM) : un tipo di architettura che consente un
trasferimento dati molto elevato
SDRAM (Synchronous DRAM) : una nuova struttura per la RAM dinamica , la
cui gestione è svolta in modo differente dalle precedenti e le operazioni
diventano sincrone con il clock del processore , migliorando le prestazioni.
SDRAM lavora in modo molto differente da EDO ed FP : queste operano al
ritmo dei segnali RAS e CAS forniti dal DRAM controller , mentre SDRAM
opera in sincronismo con un clock fornito esternamente (ad es. quello della
CPU , anche se alcuni chipset consentono un funzionamento semi-sincrono ,
con un clock diverso) . L' impiego del clock consente accessi estremamente
rapidi per le operazioni di lettura e scrittura e , mentre le prestazioni di EDO e
FP erano relative ai tempi di accesso (in nano secondi) , le SDRAM sono
valutate a seconda dei mega Hertz di clock a cui possono lavorare . SDRAM
permette accessi burst , ma , in piú , i cicli burst posso essere ripetuti
consecutivamente
per
piú
QWord
;
questi
diventa
particolarmente
interessante negli scambi di dati fra RAM e cache , dove vengono spostati
blocchi consecutivi . Il ciclo é come quello della BEDO , ovvero 5-1-1-1 , ma
puó operare con clock molto piú elevati , anche 100MHz . É necessario che il
chipset abbia la possibilità di usare questo tipo di memoria : tutti i piú recenti
prodotti di Intel , VIA , SIS , ecc. sono in grado di farlo. Per lavorare ad alte
frequenze , i chip sono organizzati in due banchi , di cui uno é accessibile
mentre l' altro é giá impegnato in una operazione. Questo permette di
comprendere alcune definizioni che danno i costruttori : ad esempio 16 MB di
SDRAM possono essere descritti come 1 MB x 8 bit x 2 banchi , equivalenti a
16 MB FP o EDO , che invece é descrivibile come 2 MB x 8 bit.SDRAM é
strutturata , per il PC , in banchi da 64 bit , in DIMM a 168 pin ; pertanto basta
una sola DIMM per avere i 64 bit necessari alle CPU Pentium. Tipicamente
SDRAM ha una tensione di 3.3V (mentre FP e EDO vanno a 5V) ; questo puó
creare problemi nel caso in cui siano mescolate DIMM a 3.3 e SIMM a 5V ,
perché i segnali a 5V potrebbero danneggiare le linee delle DIMM a 3.3V . In
ogni caso , per ovviare a questo , molti costruttori hanno realizzato DIMM a
3.3V , ma con capacita di tollerare agli ingressi una tensione maggiore .
SDRAM II : il tempo standard di 10ns non é adatto al funzionamento con clock
da 100MHz in su . Sono in sviluppo altre tecnologie costruttive come ad es. la
DDRSDRAM (Double Data Rate SDRAM) e SLDRAM (Sync-Link DRAM) che
possono lavorare con clock da 200MHz e transfer rate da 400MB/s .
SGRAM (Synchronous Graphic RAM) , WRAM , VRAM : strutture per la RAM
impiegate da alcuni costruttori nei sistemi video . In generale si tratta di DRAM
dotate di buffer e/o sistemi per consentire accessi e trasferimenti multipli o
concomitanti in modo tale da migliorare le prestazioni dei sistemi grafici che
tipicamente richiedono la movimentazione rapida di grosse quantitá di dati
RAMBus o RDRAM : una struttura di DRAM ad alte prestazioni e che richiede
un minimo numero di connessioni , con una struttura a bus . É possibile anche
l'accesso a bus multipli , incrementando ulteriormente le prestazioni .
Attualmente é impiegata come memoria in sistemi video . Il transfer rate
raggiungibile é di 533MB/s con un clock di 267MHz .
DIMM e SIMM
SIMM : è acronimo di Single In-line Memory Module ( modulo di Memoria con
contatti in singola linea) . Nelle mainboard piú vecchie , la memoria era
costituita da banchi di chip tradizionali nel contenitore a 2 file di pin (DIL =
Dual In Line) . Con lo svilupparsi delle tecnologie si sono potute ridurre le
dimensioni dei chip , aumentando nel contempo l’integrazione , per seguire la
sempre crescente fame di memoria dei sistemi . Sono state quindi sviluppate
alternative al DIL per ottenere una densità ed una semplicità operativa
maggiori , sfociate nelle SIMM , che , in alcune versioni , sono diventate degli
standard .
Tipi:
SIMM a 30 pin : sono le SIMM dei computer della generazione 386/486 . Su
una SIMM a 30 pin sono stati integrati fino a 32MB di ram dinamica a 8 bit ,
con o senza paritá . Poiché i sistemi 486 utilizzano ram a 32 bit , occorrono 4
SIMM a 30 pin per completare un banco ; nel caso di processori Pentium , la
ram utilizzata è a 64 bit , per cui occorrerebbero 8 SIMM per ogni banco ,
cosa poco proponibile , per ragioni di spazio ed economicità . Sono state
quindi sviluppate
SIMM a 72 pin , che costituiscono la maggior parte della ram attualmente
installata . Sulle SIMM a 72 pin la memoria è organizzata per 32 bit ( o 36 se
con paritá) e quindi occorrono 2 SIMM per ogni banco . Le SIMM a 72 pin
possono inoltre contenere ram DRAM , Fast Page , EDO, BEDO , Flash ed
altre soluzioni tecnologiche .
DIMM : é acronimo di Dual In-line Memory Module ( modulo di memoria con
contatti su doppia linea ). Sono elementi di memoria simili alle SIMM , ma con
un numero di contatti maggiore , su tutte e due le facce del circuito stampato .
La maggior densità permette , ad esempio , di avere i 64 bit necessari ad un
banco per Pentium su un solo circuito ; inoltre è possibile aggiungere segnali
non previsti dallo standard SIMM , come ad esempio quelli per il sincronismo
della SDRAM . Bisogna tener presente che sul modulo DIMM possono
prendere posto diversi tipi di memoria e quindi parlare di DIMM NON é
lo stesso che parlare del tipo di memoria contenuto.
Ad esempio , i chipset Intel TX e VX possono gestire SDRAM , che é
disponibile in DIMM ; altri costruttori usano DIMM per ram di tipo FP o EDO ,
allo scopo di ridurre lo spazio occupato sulle schede . Da ricordare anche che
esistono DIMM di diverso formato , dalle piccole DIMM per i notebook alle
grandi DIMM per mainboard speciali . Alla voce DIMM fanno capo forme
meccaniche differenti , ad es. 168 o 192 contatti e tensioni di alimentazioni
diverse , ad es. 3.3V o 5V . In ogni caso , le DIMM tecnologicamente differenti
tra loro hanno una sagomatura (notch) che impedisce l’installazione su uno
zoccolo non adatto. Quindi DIMM non é univocamente indice di un
particolare prodotto , né come formato fisico né come tipo dei chip
contenuti , ma é solo una denominazione generica di un modo di
effettuare i contatti sul connettore tra il modulo e la mainboard .
Shadow RAM
Numerosi dispositivi installati nel PC dispongono di un proprio BIOS o
firmware , ad esempio i controller SCSI , le schede video , ecc. Questi
firmware hanno la funzione di fornire il supporto per il colloquio tra la periferica
ed il sistema . Normalmente sono caricati in EPROM o Flash ; questo ne
permette l' upgrade in caso di nuove versioni o per correggere bugs o adattare
la periferica a nuove necessitá del sistema. EPROM, ROM , Flash hanno , di
solito , tempi di accesso piú lenti della ram principale e , siccome sono
utilizzate ad ogni accesso ai dispositivi relativi , i tempi morti potrebbero
costituire una penalizzazione del sistema . Basti pensare ai due firmware
principali , ovvero il BIOS della mainboard e quello della scheda video , che
sono utilizzati intensivamente nel funzionamento ordinario del PC. Nel modo
Shadow (ombra) il contenuto delle memorie lente viene copiato , al boot ,
nella ram principale e tutti i successivi accessi sono effettuati da questa , con
un indubbio risparmio di tempo , anche perché , solitamente , i firmware sono
accessibili a 8 o 16bit , mentre la ram principale é a 32 bit. Per esempio ,
abilitando la shadow per l'area del BIOS video da C000H , al boot , una copia
di questa area sará portata in ram ; tutti i futuri accessi al BIOS della VGA non
avranno luogo sul bus verso la scheda , ma direttamente verso la ram in cui
esiste la copia. Nel caso di schede a 16 bit , una linea speciale del bus ISA a
16bit , denominata MEMCS16 , decodificato dalle linee di indirizzi LA17-LA23
, permette una suddivisione delle aree di shadow in blocchi da 128kB . Dopo
la fase iniziale in cui la scheda genera MEMCS16 in dipendenza dalle linee
LA13-LA23 , vengono impiegate le linee SA0-SA16 che permettono una
granularitá di un byte nella regione di 128k identificata . Questo meccanismo ,
l'unico implementato sui PC delle precedenti generazioni , avevano limiti
notevoli , sia bel la scarsa flessibilità , sia per la possibilitá di conflitti tra
shadow di firmware a 8 ed a 16 bit. Attualmente , utilizzando altre strutture di
controllo , si possono configurare blocchi da trattare in shadow di dimensioni
minori , ad es. 64kB , permettendo un controllo piú fine della situazione. Alcuni
BIOS , poi , permettono di attribuire la possibilitá di cache alle aree shadow ,
incrementando ulteriormente le prestazioni.
AVVERTENZA : non sempre é possibile attivare shadow e/o shadow/cache in
quanto si possono verificare incompatibilitá tra la gestione shadow ed i BIOS
oppure tra la presenza in shadow dei dei BIOS ed applicazioni software che
utilizzano quell' area . In questi casi i sintomi comuni sono il blocco del
sistema oppure problemi evidenti nella gestione delle periferiche per cui la
shadow é attivata.
La memoria CACHE
La cache è un blocco di memoria ad alta velocità e di dimensioni piuttosto
piccole , rispetto alla memoria primaria , situato tra questa e il
microprocessore . In genere si tratta di memoria di tipo statico , ovvero senza
la necessità di refresh , assai più costosa di quella dinamica , ma con tempi di
accesso molto ridotti , dell’ ordine dei nanosecondi. La cache contiene i dati
utilizzati con maggior frequenza dal microprocessore nelle operazioni correnti
contribuendo all'incremento delle prestazioni , poiché tali dati non devono
essere richiamati ogni volta dalla più lenta memoria RAM: in pratica funziona
come un buffer11 e contiene la copia delle istruzioni e dei dati che vengono
maggiormente utilizzati. Le cache possono contenere istruzioni (codici), dati o
entrambi i tipi di informazione. Ad esempio , se la CPU deve cercare un dato o
una istruzione , la ricerca per primo nella cache ; se non è presente , la
preleva dalla RAM o dalla ROM e ne fa anche una copia nella cache (se l’area
da cui è stato prelevato questo elemento è dichiarata ‘cacheable’ dal BIOS o
dal software del sistema ). Quanto più grande è la cache , tanto più grande è il
numero di informazioni che possono essere gestiti ( questa affermazione è
vera relativamente , in quanto ,aumentando la cache oltre certi limiti , il
rapporto prezzo/prestazioni diventa non conveniente ). Per aumentare
ulteriormente le prestazioni , la cache può essere incorporata nel
microprocessore. La cache su chip comunica più rapidamente con il
microprocessore essendo fisicamente più vicina ad esso. Sono definibili due
tipi di cache , dette L1 , interna al chip del processore , e L2 , esterna .Un
sistema senza cache ha prestazioni nettamente ridotte rispetto ad uno con
cache . Il processore cerca prima nella cache interna L1 e poi in quella
esterna L2 . Esistono anche chipset che permettono un sistema di cache
virtuale , che utilizza dei registri FIFO (First In First Out) o altri sistemi
semplificati per emulare le funzioni della cache , spesso piuttosto efficienti . La
cache virtuale gestita in questo modo non è da confondersi con la cache
fittizia (inesistente) di molti prodotti orientali . Poiché attualmente il costo della
cache si è grandemente ridotto , non ha più alcun senso il piccolissimo
risparmio dovuto alla cache cache virtuale , mentre , per contro , conta
alquanto la differenza di prestazione tra i due sistemi .
11
Area di memoria usata per conservare temporaneamente i dati da trasferire ad un dispositivo
oppure tra due dispositivi quali il computer e la stampante. Es. la stampa di un carattere è sempre
più lenta rispetto alla velocità d'invio del carattere dal computer alla stampante: il buffer della
stampante memorizza i caratteri inviati dal computer. Effettuato l'invio il computer non restera' in
attesa della fase stampa ma sara' libero di eseguire altri processi.
TAG
L’area TAG della cache mantiene una traccia degli indirizzi residenti e dello
stato dei dati nella cache . In genere si tratta di un chip separato , ma può
anche essere integrato o semiintegrato nel chipset .
WRITE BACK e WRITE THROUGH
Nell’architettura Write Back i dati nella memoria e nella cache non sono
correlati simultaneamente ; il controller della cache mantiene una traccia della
coerenza di questi dati . Questa struttura , abbastanza complessa , riduce il
traffico sul bus e le operazioni di scrittura della memoria , con sensibili
vantaggi di prestazione .Nel modo Write Thru , i dati scritti sono sempre
passati attraverso (through) la cache verso la memoria principale ed è
mantenuta una stretta coerenza tra queste . Questa struttura è più semplice
da implementare , ma aumenta il traffico sulla memoria e riduce le prestazioni
. Negli ultimi processori , in generale , la cache L1 è di tipo Write Back ; la
cache L2 dipende dal chipset della mainboard , ma tutti i chipset più recenti
hanno anche essi adottato questa modalità .
AVVERTENZA : alcuni costruttori orientali utilizzano la dizione Write Back per
indicare una cache fittizia , non esistente , visualizzata da BIOS "compiacenti"
nel prompt del boot .
Cache sincrona e asincrona
La cache asincrona è economica , ma meno performante della cache
sincrona. La non sincronicitá tra il processore e la risposta della ram portano
alla necessità di più cicli di clock per esaurire una richiesta di informazioni .
Tipicamente , per leggere il blocco di 4 bytes=64bit con cui lavorano le CPU
pentium , sono impegnati 9 cicli di clock e questo da origine alla indicazione 32-2-2. L'accesso alla cache é quindi piú veloce di quello alla RAM. La cache
sincrona richiede un numero minore di clock per esaurire una richiesta. Il tipo
piú performante , e piú costoso , é quella detta "flow-through " o SyncSRAM
(Synchronous Burst Static RAM ) che ha un ciclo di 2-1-1-1 . ( il ciclo ideale
della CPU sarebbe 1-1-1-1). Altro tipo di cache sincrona é quella detta
Pipelined Burst ed è attualmente la più diffusa . Con riferimento all’ esempio
precedente , il ciclo diventa 3-1-1-1 , ottimo risultato , anche perché , in ogni
caso , i chipset Triton non possono gestire tempi minori di questo .

Global Pipelined Burst : è una ottimizzazione fisica della cache
pipelined , con le stesse prestazioni .

New Pipelined Burst : il chipset che governa la cache , con
l’opportuna aggiunta di linee di controllo , ricava l’area cache dalla
memoria DRAM principale , riducendo il costo del sistema ,con
una perdita di prestazioni .
Si può distinguere la cache asincrona perché è costituita da più chip nel
comune package DIL (Dual In Line) , installati su zoccoli , mentre la cache
sincrona è realizzata con pochi chip a montaggio superficiale , senza zoccolo
oppure su modulo (ved. paragrafo successivo) . Attualmente il costo della
cache sincrona é tale da permetterne l' uso su tutte le mainboard .
COAST e CELP
COASt è l’acronimo di Cache On A Stick e indica lo standard del modulo
cache L2 , principalmente riferito alla Pipelined Burst Ram . CELP deriva da
Card Edge Low Profile ed è il connettore posto sulla mainboard per ricevere il
modulo . Differenti formati del profilo delle estremità del modulo dovrebbero
garantire la possibilità di inserire il modulo stesso solo nel corrispondente ed
adeguato zoccolo.
Le prime versioni di mainboard per Pentium adottavano la cache di tipo
asincrono , costituita da chip in contenitore DIL , montati su zoccolo , retaggio
delle strutture 486 . Quasi subito , peró , lo sviluppo tecnologico ha prodotto la
cache di tipo sincrono/pipeline burst , con elevati benefici , e i costruttori
hanno iniziato ad offrire la possibilitá di installare anche questo tipo di cache ,
ben piú costosa della asincrona . Guidata principalmente dal punto di vista
economico , si é stabilito lo standard COAST per la cache su modulo , in
modo da permettere una certa flessibilitá di configurazione . Attualmente
l'incremento della produzionea di cache sincrona ne ha ridotto grandemente il
costo , tanto da portarlo al livello della vecchia cache asincrona , che é sparita
dal mercato . Inoltre , la richiesta di prestazioni elevate porta alla necessitá di
una progettazione molto critica delle strutture hardware , ivi compreo il circuito
stampato ; sarebbe quindi impensabile rinunciare oggi al miglioramento delle
temporizzazioni che si ottiene fissando direttamente i chip di cache sul circuito
principale , senza i problemi di capacitá disperse , lunghezza di piste ,
problemi dei contatti del modulo COAST , del suo zoccolo , ecc. Pertanto ,
una mainboard di qualitá della generazione attuale é dotata di 512kB di cache
direttamente on board . Solo prodotti vecchi , decisamente da scartare ,
hanno ancora COAST o usano cache asincrona .
Differenza tra la cache saldata e quella su modulo - In linea di principio ,
nessuna differenza . La tendenza attuale per i prodotti di classe più elevata è
quella di mon tare direttamente la cache sulla mainboard , anche perché al
momento attuale , il costo dei chip della cache si è ridotto alquanto rispetto
allo scorso anno . Tuttavia molti costruttori installano il connettore per il
modulo COAST assieme ad un certo quantitativo di cache . Inoltre , i chip di
cache sincrona sono studiati per essere saldati e non zoccolati . Si possono
verificare allora le seguenti possibilità :
5.
- nessuna cache a bordo : in tal caso occorre verificare che
esista il connettore per il modulo COAST e che questo connettore
possa accettare moduli standard fino a 512kB pipeline burst . La
cache potrà allora essere aggiunta in un momento successivo
6.
- 256kB di cache asincrona a bordo : in questo caso può essere
difficile espandere la cache a 512kB , per la diffi coltà di reperimento
dei chip o per la mancanza di zoccoli di espansione . Attualmente la
cache asincrona non ha più molto senso ; si tratta di materiali , magari
di ottima qualità , ma datati o molto economici .
7.
- 256kB di cache sincrona (pipeline burst ) senza zoccolo COAST
: la cache non è espandibile , ma per gli impieghi più generali è più
che adeguata .
8.
- 256kB di cache sincrona (pipeline burst) con zoccolo COAST : è
la soluzione adottata dalla maggior parte dei produttori orientali ,
perché permette di mantenere basso il costo della mainboard e nel
contempo lascia aperta la possibilità di un upgrade . Va segnalato che
l’upgrade può essere fatto solo con appositi COAST senza chip di
TAG , in quanto detto chip è già posto sulla mainboard . Assicurarsi
della disponibilità del modulo addizionale da 256kB , onde evitare
brutte sorprese al momento dell’upgrade .
9.
- 512kB di cache sincrona (pipeline burst) installata : le
mainboard più recenti , sfruttando la riduzione dei costi delle ram
statiche , montano direttamente questa quantità ; il costo è
leggermente più elevato , ma le prestazioni sono le massime e non si
pone il problema della impossibilità di un futuro upgrade.
Indice Analitico
A
Algoritmo
Altair
APL
12; 13; 14
8; 9; 10
7
memoria
a nuclei magnetici
Moore
6
11
N
nuclei di ferrite
2
B
BASIC
P
7; 8
C
Commodore
9; 11
perforatore di schede
programma
memorizzato
3
2
I
IBM
3; 5; 10; 11
L
l'EDSAC
l'EDVAC
2
R
E
EDSAC
Eniac
5
2
2
RAM
2
T
tamburi
magnetici
tubi
a vuoto
elettronici
raggi catodici
4
5
5
4
U
M
M.I.T.S
MADM
UNIVAC
8
3
3