Introduzione all'hardware dello Spectrum

                                              di Stefano Guida

Anche se  di ridotte dimensioni lo  Spectrum contiene un sacco
di   circuiti,  che  tradotti  in  transistor  basterebbero  a
saturare la stanza in cui vi trovate.
L'ingombro  ridotto e' il frutto della tecnologia a LSI (Large
Scale Integration) e con meno di 25 integrati lo ZX funziona a
meraviglia.
Ogni integrato ha una funzione ben precisa e specializzata: il
'cervello' che coordina tutte leoperazioni e' lo Z80 (CPU); il
braccio  e' la ULA  della Ferranti; l'artista  che provvede ai
colori e' il  codificatore  PAL  ed  infine  l'archivio  delle
informazioni sono la ROM e le RAM." 
Anche se ogni  integrato  sa  bene  cosa  fare  e'  necessario
coordinare tutte  le operazioni: per questo  esiste la ROM che
contiene il Sistema Operativo e il Basic. 
Quando accendete il computer la CPU incomincia a leggere nella
ROM cosa  deve fare e tutti i  circuiti eseguono quello che la
CPU ordina. Anche se ai  vostri  occhi  il  computer  non  sta
facendo  nulla, sta eseguendo parecchie  decine di migliaia di
operazioni al secondo.
Nel   frattempo  anche  il  Ferranti   lavora  come  un  matto
provvedendo  alla  visualizzazione   dei   dati   in   memoria
corrispondenti al video. 
Dal punto di vista tecnico il vostro ZX e' stato progettato in
modo  poco usuale: molte delle  funzioni solitamente svolte da
normali integrati TTL del tipo 74LS sono risolte dal Custom di
produzione  Ferranti  e  addirittura  tutta  la  procedura  di
visualizzazione su TV e' espletata da questo 'superintegrato'.
Oltre che  per motivi di  costi di produzione,  la Sinclair ha
utilizzato  questa soluzione per complicare al massimo la vita
a tutti i 'copioni'. 
Per usare unsolo  circuitone  'fac  totum'  sono  pero'  stati
necessari compromessi sulla velocita' del computer.
Tanto  per darvi un'idea di cio' che accade, vi diciamo che il
perfido  Ferranti sospende il segnale di clock alla CPU quando
non vuole  essere disturbato durante  la visualizzazione della
pagina video,  e questo capita  abbastanza frequentemente, con
una riduzione del 20% della velocita' di esecuzione.
Un altro  impiccio all'esecuzione 'speedy'  dei programmi sono
gli Interrupts, ovvero dei salti forzati ad un breve programma
in l/m  ogni tot millisecondi. Allo  ZX gli Interrupts servono
per controllare la pressione di un tasto e per alterare alcune
variabili del sistema;  ovviamente  non  si  tratta  di  tempo
sprecato,    ma   utilizzando   delle   soluzioni   circuitali
tradizionali questo non sarebbe stato necessario.
A  parte il Custom, tutto il resto e' regolare, molto piu' che
nello ZX81  per cui era necessario  molto lavoro per collegare
l'interfaccia piu' semplicee banale.