L’asincronismo della CEP

Uno degli aspetti più interessanti dell'architettura della CEP era rappresentato dal suo modo di operare senza un unico ciclo di clock che, portò a definire sommariamente la CEP una calcolatrice asincrona. Un articolo di G.B. Gerace del 1963 chiarisce definitivamente il modo di operare della CEP rispetto alla temporizzazione delle operazioni. Di seguito una sintesi di quel lavoro.

Nella letteratura scientifica tradizionale si possono distinguere due tipologie di elaboratori elettronici, che si differenziano per le modalità con cui si susseguono, nel tempo, le operazioni logiche o aritmetiche determinate dal programma: le macchine sincrone e quelle asincrone.

Questa classificazione risulta molto generica, se si considera che è possibile definire caratteristiche sincrone ed asincrone per ogni sottosistema che compone il sistema elaboratore. Si possono infatti distinguere almeno tre livelli di progettazione. Il più basso corrispondente ai circuiti logici combinatori, che sono quelli che, nelle reti logiche, combinano le funzioni and, or, not, per realizzare funzioni booleane più complesse. Il secondo livello riguarda i circuiti sequenziali, che coincidono con le reti affette da richiusure, tra cui sono inclusi i registri o, più in generale, gli elementi di memoria. Infine il livello più alto è quello dell'intero sistema. Tra i due casi estremi, in cui il modo di operare è contemporaneamente sincrono o asincrono a tutti e tre i livelli sopra descritti, esistono una larga varietà di casi intermedi. Tra questi casi può essere annoverato quello della CEP.

Nella CEP l'elaborazione e la trasmissione delle informazioni avveniva nelle reti logiche per mezzo di segnali a livello. Le stesse reti logiche erano poste tra registri e registri e erano comandate dal controllo mediante, ancora, segnali a livello. Ciò implicava che i registri, collegati alle uscite delle reti logiche, potevano utilizzare le informazioni provenienti dalle reti soltanto nel momento in cui, le reti stesse, raggiungevano lo stato di equilibrio interno, ovvero quando alla loro uscita venivano stabilizzate le informazioni significative che esse dovevano trasmettere. Questo funzionamento, tipicamente asincrono, faceva si che il tempo di elaborazione all'interno delle reti aveva una durata pari al tempo strettamente necessario ad eseguire l'operazione logica desiderata.

Per quanto riguardava i registri della CEP, il loro modo di operare era, a differenza delle reti, sincrono. Infatti essi presentavano staticamente in uscita, sempre attraverso segnali a livello, l'informazione precedentemente immagazzinata e la sostituivano con quella staticamente presente al loro ingresso dietro comando impulsivo. Questo tipo di organizzazione permise di creare un ciclo dedicato per ogni microistruzione, minimizzando di conseguenza il loro tempo di esecuzione.

Le oltre 200 microistruzioni-CEP avrebbero però portato un grosso appesantimento nella progettazione del temporizzatore che determinava i cicli temporali. Per questo motivo furono definiti tre tipi diversi di cicli, che riguardavano rispettivamente le microistruzioni che impegnavano la memoria, quelle che impegnavano soltanto i registri dell'unità aritmetica e quelle microistruzioni che erano soggette a ripetizioni. Rispetto a questa classificazione le microistruzioni furno suddivise in nove sottoclassi temporali, scalate tra 2,5 e 10 µs. Quindi ogni microistruzione aveva un tempo fisso assegnato dalla classe a cui apparteneva; facevano eccezione a questa regola le microistruzioni che interessavano gli organi ausiliari o di ingresso-uscita della CEP, il cui tempo di esecuzione dipendeva dallo stato di occupazione della periferica.

Ricapitolando si può affermare che la CEP era una macchina asincrona a livello combinatorio, sincrona a livello sequenziale e sincrona e asincrona a livello superiore a seconda che si trattava dei collegamenti tra organi del nucleo centrale o tra il nucleo centrale e gli organi esterni.