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.