posta - Amiga Magazine Online
posta - Amiga Magazine Online
posta - Amiga Magazine Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Sono però inefficienti in un computer multitask. Infatti, il<br />
nrocessore non può svolgere alcun altro compito, e quindi<br />
non può nemmeno eseguire programmi (che appaiono<br />
estremamente rallentati) durante i trasferimenti di dati.<br />
Ancor peggio, spesso non può ricevere in tempo i dati che<br />
un modem ad alta velocità gli invia tramite la porta seriale,<br />
generando così "inspiegabili" errori di trasmissione. Il feno-<br />
meno è leggermente più grave su quegli <strong>Amiga</strong> dotati di<br />
68010, perché questo processore ha come unica operazio-<br />
ne più lenta del normale 68000, proprio quella che viene<br />
eseguita ad ogni interrupt (tecnicamente parlando, ha uno<br />
stack frame diverso a causa della presenza del registro<br />
aggiuntivo VBR).<br />
Per alleviare il problema si può ricorrere al trasferimento di<br />
un certo numero di byte per volta, invece che solo di uno<br />
o di tutti, e alcuni costruttori lo fanno.<br />
I1 metodo di trasferimento dei dati tra controller e memoria<br />
RAM più adatto all'architettura dei computer <strong>Amiga</strong> è il<br />
DMA (Direct Memory Access). I controller che lo usano<br />
sono più difficili da costruire, e perciò solo poche marche<br />
propongono controller DMA, e tra esse c'è la Commodore<br />
che lo ha sempre usato su tutti i suoi modelli. Va notato che<br />
la possibilità di usare il metodo DMA dipende dalla realiz-<br />
zazione hardware del controller, e un controller che usa il<br />
DMA potrebbe sempre, con apposito software, essere fatto<br />
funzionare in interrupt, ma un controiler in interrupt non<br />
potrà mai funzionare in DMA. Ma che cosa significa in<br />
pratica questa sigla? E' presto detto: il controller è dotato di<br />
una piccola memoria in cui accumula un certo numero di<br />
byte ricevuti dall'hard disk. Quando questa è piena, esso<br />
"chiede il permesso" al processore di scrivere lui stesso quei<br />
byte nella RAM.<br />
Questa operazione awiene in un tempo brevissimo, per-<br />
ché il controller è progettato ap<strong>posta</strong> per eseguire al meglio<br />
solo questa operazione e il processore può dedicare il<br />
tempo risparmiato ad eseguire le sue elaborazioni senza<br />
quasi essere rallentato. L'operazione di scrittura awiene in<br />
modo assai simile. L'unico problema che sorge sugli <strong>Amiga</strong><br />
è che il DMA funziona solo se la RAM è di tipo autoconfigu-<br />
rante. Se non lo è, ed è il caso tipico di alcune schede<br />
acceleratrici per A2000 e A500 che consentono di montare<br />
più di 8 Mb di RAM oppure sono mal progettate, il DMA non<br />
può avvenire e il processore deve effettuare continue<br />
operazioni di copia di byte. Anzi, un bug presente in alcune<br />
versioni del FastFileSystem e dell'OldFileSystem provoca<br />
un enorme rallentamento delle operazioni di lettura e<br />
scrittura, che diventano appena più veloci di quelle su<br />
floppy disk.<br />
Esistono dei rimedi a questo fatto, ma purtroppo il proble-<br />
ma è a livello hardware: le schede di memoria non autocon-<br />
figuranti, infatti, violano le regole stabilite dalla Commodo-<br />
re per l'espansione del sistema. Una soluzione è per esem-<br />
pio quella seguita dalla GVP e altri: il controller è diretta-<br />
mente integrato sulla scheda acceleratrice, e pertanto è<br />
libero di svincolarsi da questo limite del bus di <strong>Amiga</strong> 2000<br />
e 500. La velocità di trasferimento dei dati col metodo DMA<br />
è alta ma in genere non così alta come col metodo in<br />
interrupt, e decisamente più bassa del metodo in polling.<br />
Poiché il processore non è quasi per nulla rallentato, non<br />
potranno mai sorgere problemi con modem o dispositivi<br />
seriali ad alta velocità o peggio ancora dei problemi di<br />
compatibilità. Mentre i primi controller che facevano uso<br />
del DMA avevano la fama di dare molti problemi, quelli<br />
attuali sono realmente privi di "effetti collaterali".<br />
I tipi di hard disk<br />
Un'ulteriore distinzione fra i controller va fatta in base al<br />
tipo di hard disk supportati. Oggi sono disponibili hard disk<br />
in standard SCSI, ST-506, XT-BUS, AT-BUS, ESDI. Lo stan-<br />
dard ST-506 (talvolta è detto anche ST-412) ha alcune<br />
varianti, perciò in genere si preferisce denominare nel<br />
complesso questa famiglia di hard disk con i nomi "MFM"<br />
o "RLL" che indicano il particolare tipo di modulazione<br />
usato. Analogamente, XT-BUS e AT-BUS sono generica-<br />
mente detti IDE (Integrated Device Electronics). In ogni<br />
controller viene sempre specificato quali hard disk si pos-<br />
sono collegare; in qualche caso è possibile collegarne più<br />
di un tipo, come, per esempio, nel Commodore A590 (m-<br />
BUS e SCSI) o A2090 e A2090a (ST-506 e SCSI).<br />
Lo standard ST-506 è il più vecchio, oggi in disuso, e si<br />
chiama così perché questo era il nome del modello di hard<br />
disk (di marca Seagate) montato nel 1982 sul PC IBM e che<br />
tutti hanno copiato. Un hard disk di questo tipo si riconosce<br />
subito perché è collegato al suo controller con due piattine<br />
invece che con una, come awiene in tutti gli altri. Un<br />
controller ST-506 può gestire al massimo due hard disk.<br />
L'hard disk è molto semplice, completamente privo di<br />
intelligenza, e viene pilotato dal controller in modo del<br />
tutto analogo ad un floppy disk. Esistono due tipi di<br />
controller ST-506: quelli per hard disk MFM e quelli per<br />
hard disk RLL.<br />
Gli hard disk RLL usano un ossido magnetico e un circuito<br />
elettronico migliore, che consentono di avere circa 27<br />
settori per traccia invece dei circa 17 degli hard disk MFM.<br />
Un hard disk FUL si può in genere usare anche con un<br />
controller MFM, perdendo un terzo della sua capacità. A<br />
volte è persino possibile tentare di usare un hard disk MFM,<br />
particolarmente ben costruito, su un controller RLL, ma non<br />
sempre si ottiene un risultato accettabile.<br />
Supportano lo standard ST-506 MFM i vecchi controller<br />
Commodore A2090 e A2090a e molti dei vecchi controller<br />
di altri produttori. Nella quasi totalità dei casi erano, infatti,<br />
semplicemente un controller per IBM o compatibili legger-<br />
mente adattato. Meglio evitare di comperare un simile<br />
sistema: sia perché il massimo di hard disk pilotabili è due,<br />
sia perché si tratta sempre di vecchi modelli, lenti e poco<br />
capienti.