5. |
I, G |
Deposito programma.
I registri deposito dati, tutti o in parte secondo necessità, possono essere raddoppiati
(splittati), riducendone la capacità del singolo registro a 12 Crt .
L’effetto si ottiene accompagnando il tasto indirizzo con il tasto split (/).
La seconda parte del registro, definita splittata, è indirizzata con lettera minuscola, b, c,
d, e, f.
La lunghezza di un dato, introdotto da tastiera o risultante dal calcolo, non può superare i
23 Crt nel registro intero o 11 Crt nel registro splittato.
I registri sono specializzati per:
- Tipo di informazione. Dati o programma.
- Tipo di utilizzo. Calcolo e/o deposito oppure solo deposito.
- Dimensione. Intero (24 Crt) o Splittato (12 Crt).
Se l’istruzione non contiene l’indirizzo del registro, bit TA – TC = 0, viene selezionato
implicitamente il registro M.
Il registro A per la sua funzione in calcolo viene anche detto “accumulatore”.
I registri M, A e R sono richiamati e modificati durante il calcolo in modo implicito.
I registri deposito dati B, C, D, E, F, sono sempre caricati da istruzioni di trasferimento
che hanno come indirizzo implicito M o A.
Le istruzioni eseguono il trasferimento, dopo l’allineamento di M ed A, sul 1° Crt se
registro intero o sul 13° Crt se splittato.
I dati nei registri deposito saranno sempre allineati.
I registri F, E, D, splittati possono contenere promiscuamente dati e programma.
I registri G e I non sono selezionabili da programma, essi sono anche indicati come
registro programma 1 e 2 e possono contenere solo istruzioni.
Il programma ha disponibili massimo 5 * 24 = 120 istruzioni.
16In introduzione programma, da cartolina o tastiera, i registri di programma sono ad
accesso sequenziale e in sequenza fissa a partire da G (1), I (2), F, E , D e sempre a
partire dal 1° Crt.
Se il programma è avviato mediante tasto di salto, la prima istruzione eseguita è quella
seguente il riferimento corrispondente.
Se il programma viene avviato per la prima volta con il tasto S, la prima istruzione
eseguita è quella contenuta nella posizione del primo carattere del registro G.
Il registro contenente l’istruzione in esecuzione, cambia a fine esecuzione dell’istruzione
nel suo 24° Crt o in seguito dell’esecuzione di una istruzione di salto con riferimento
posto in altro registro.
Carattere del registro
I registri A, M, R , B, C possono contenere solo dati.
|
I registri D, E, F possono contenere sia dati che istruzioni. è la logica del programma a definire il tipo di informazione nel registro.
|
I registri G (Programma 1), I (Programma 2) possono contenere solo istruzioni.
Il numero indirizzabile di registri dati oggetto di istruzioni, può variare da :
{\
|
Minimo |
5 |
Registri M, A, R, C ,D |
Interi.
|
Massimo |
13 |
Registri M, A, R |
Interi.
|
|
Registri B, C, D, E, F, b, c, d, e, f |
Splittati.
|
Dato
Il Crt è diviso logicamente in due parti :
TA – TD
TE – TH
Bit di servizio:
TA
Bit riservato per funzioni sia di sistema che calcolo numerico.
TB
Cifra valida.
TC
Dato negativo.
TD
Cifra accompagnata da virgola.
Bit specificanti la cifra . Peso del bit TE 2 0 , TF 2 1 , TG 2 2 , TH 2 3 .
I bit TA e TD o sono assenti o compaiono nel registro su un solo Crt.
Il bit TB compare su tutte le cifre decimali o intere valide.
Il bit TC compare su tutte le cifre se il numero è negativo.
Il bit TD è inserito nella cifra delle unità (10 0 ).
17Al reset, i registri M, A e R sono inizializzati con i bit di servizio TA – TD, del 24° Crt = 1.
Si ha il duplice effetto di inizializzare i registri con:
• Digit –0.
• TA, bit che individua il punto di inserimento dei dati da tastiera o cartolina.
Il trasferimento di un registro deposito in A comporta la scrittura di -0 sul 24° Crt.
I dati in B, C, D, E, F , b, c, d, e, f, registri deposito sono sempre allineati, cifra meno
significativa nella 1 a posizione dopo il gap. Se registro splittato cifra meno significativa
nella 13 a posizione dopo il gap.
Tutte le altre cifre seguono senza intervalli.
Essendo i primi 4 bit del Crt di servizio, un Crt contiene una cifra (digit) .
Il dato significativo può avere un numero di cifre variabile, sia totale che decimali.
Il limite massimo è di 23 Crt se registro intero, 11 Crt se registro splittato.
Il numero di cifre decimali può alla fine del calcolo essere massimo di 22.
Esempio
9,1234567890123456789012 totale 23 cifre.
Il risultato formattato nel registro A, avrà sempre un numero di cifre decimali pari a
quanto impostato sulla rotella decimali. Massimo 15.
I dati nei registri, M A o R , in conseguenza delle istruzioni di calcolo scorrono nei registri
e alla fine non sono più allineate ai riferimenti iniziali.
La posizione finale dipende dall’istruzione e dal valore dei dati.
La natura sequenziale dell’algoritmo di calcolo e del flusso dei dati non richiede di
conoscere il peso della cifra. Si deve controllare solo la sua posizione relativa rispetto la
virgola.
L’informazione di dato valido, necessaria per iniziare e finire il calcolo, è data da flip flop
mantenuti set dalla presenza di bit TB e reset dalla sua assenza.
Si ottiene un effetto “integratore”, forma d’onda a 1 con TB=1, a partire dalla cifra meno
significativa, a 0 con TB=0 nel Crt che segue la cifra più significativa.
I flip flop che implementano la funzione dato valido sono tre:
PM
PA
TP
Registro M.
Registro A.
Registro dati selezionato dal codice istruzione.
Istruzione
Le istruzioni, tranne quelle di salto e relativi riferimenti, rispettano tutte lo stesso tipo di
codifica.
I primi quattro bit TA – TD, codificano la selezione del registro.
Essendo esclusi dalla selezione i registri I e G dedicati a solo programma, i restanti 8
registri sono selezionati tramite i primi 3 bit TA – TC.
Il quarto bit TD se posto a 1, indica la condizione di split, registro diviso in due.
Nel foglio di programmazione la lettera specificante il registro, indica se:
• Maiuscola
Registro intero o 1 a parte di registro splittato.
• Minuscola
2 a parte di registro splittato.
Tabella codifica indirizzi di selezione registro. Bit TA – TD.
Registro
TA TB TC TD
0
1
0
1
0
1
0
1
0 0
0
1
1
0
0
1
1
0 0
0
0
0
1
1
1
1
0 0
0
0
0
0
0
0
0
1
c HEX
0
1
2
3
4
5
6
7
8
9 0 0 0 1
R
d
A
b
f
e A
B
C
D
E
F 0
1
0
1
0
1 1
1
0
0
1
1 0
0
1
1
1
1 1
1
1
1
1
1
M
C
R
D
A
B
F
E
/
I secondi quattro bit TE – TF, codificano la selezione della istruzione.
Il codice A esadecimale non è utilizzato.
Tabella codifica istruzioni. Bit TE – TH.
19Istruzione Tasto
Start
Registro in A
M in registro
Scambio Registro con A
Somma
Sottrazione
Moltiplica
Divisione
Stampa S
↓
↑
↕
+
-
Azzera Registro
Codice Libero
Radice Quadrata
Salto V
Salto W
Salto Y
Salto Z
TE TF TG TH
0
1
0
1
0
1
0
1
0 0
0
1
1
0
0
1
1
0 0
0
0
0
1
1
1
1
0 0
0
0
0
0
0
0
0
1
0
1
2
3
4
5
6
7
8
9 0 0 0 1
NU
√
V
W
Y
Z A
B
C
D
E
F 0
1
0
1
0
1 1
1
0
0
1
1 0
0
1
1
1
1 1
1
1
1
1
1
x
◊
Salto
Le istruzioni di salto utilizzano bit riservati nelle altre istruzioni alla selezione del registro :
1. TA e TB
2. TC
3. TD
Estendono i codici riservati ai salti.
Distingue tra salto(0) e riferimento (1).
Distingue tra salto incondizionato (0) o condizionato (1).
I codici operativi delle istruzioni di salto sono 4, ad essi sono riservati i codici CX, DX, EX
ed FX a cui si fanno corrispondere i tasti V, W, Y e Z.
Il decodificatore in hardware dei salti è ZM.
La condizione da verificare nel salto condizionato, è data dal dato del registro A, esso
deve essere positivo, precisamente >0, perché il salto venga eseguito.
I codici di salto utili diventano 16, dato che ogni codice operativo, utilizza i bit TA e TB del
Crt, per distinguerne 4 diversi.
Riassumendo si hanno 16 salti incondizionati, 16 condizionati e 16 riferimenti.
Cartolina
La cartolina è il supporto magnetico utilizzato per memorizzare permanentemente i
programmi della P101.
La cartolina ha una capacità massima di 5 registri (G, I, F, E, D), 120 Crt di coppie
indirizzo – istruzione.
La lettura della cartolina richiede:
• Macchina in stato SA.
• Introduzione di cartolina nel meccanismo di trascinamento.
La scrittura della cartolina richiede:
• Macchina in stato SA.
• Abbassamento del pulsante bistabile AP.
• Introduzione di cartolina nel meccanismo di trascinamento.
L’abbassamento di AP ed AZ, determina la registrazione / lettura di una cartolina corta, 2
registri (E, D), 48 istruzioni.
La presenza della cartolina sotto la testina è segnalata da un μswitch (AO).
Il flip flop SO che memorizza lo stato di AO, indica il periodo utile di registrazione/lettura
del supporto.
Il flip flop NM, mantiene la sua funzione di pulizia dei registri, la stessa utilizzata per
introduzione dati da tastiera, prima di essere settato dal primo ciclo di trasferimento Crt.
NM riposiziona il TA di R in TR, cancellando quello precedente. In caso di lettura cartolina,
NM tramite XY, blocca la richiusura sulla LDR dei registri G, I, F, E, D azzerandoli.
Formato carattere cartolina
Diagramma Formato Crt cartolina.
La cartolina è un supporto di memoria il cui contenuto, fino a 120 Crt, è gestito come
stringa di bit unica e continua senza interruzione, sia a livello Crt che registro.
Sorgente o destinazione dei dati, nel nostro caso è la LDR, essa ha un tempo di accesso
di 2,1 mSec. Pertanto o si provvede con un registro di supporto o si dedica una parte del
supporto stesso allo scopo di fornire il tempo di accesso mancante.
In stampa la stessa esigenza è risolta dal settore privo di denti della ruota fonica, che
rendendo disponibile un tempo superiore al tempo di accesso della LDR (2,1 mSec.),
garantisce l’ accesso al Crt in LDR in tempo utile.
Per analogia in cartolina, onde ridurre l’hardware, il problema è risolto con l’inserimento
di 4 bit supplementari nel Crt.
Ogni Crt di cartolina è quindi composto da 12 bit, 8 informazione e 4 di servizio.
21In totale su ogni pista della cartolina vengono registrati 960 + 480 = 1440 bit.
Sistema di registrazione con ritorno a zero (RZ)
I dati su cartolina vengono registrati utilizzando il sistema di ritorno a zero RZ, esso
prevede che ogni periodo di bit abbia almeno una commutazione dovuta al clock.
In registrazione (AP On), il periodo di bit è definito tramite l’oscillatore OR . In ogni
periodo di bit si ha la commutazione iniziale di clock, seguita dalla eventuale
commutazione a metà periodo in caso di informazione di bit = 1.
In lettura, la prima commutazione magnetica, rilevata dalla testina, viene considerata
come clock del 1° bit di informazione. Il clock fa partire il monostabile OS, che ha una
durata pari a 2/3 del periodo di bit.
Le commutazioni magnetiche con OS attivo sono considerate come bit 1.
Le commutazioni magnetiche durante OS passivo sono considerate come clock e come tali
fanno ripartire OS.
Bit di parità
Diagramma Bit di parità.
L’inserimento dei 4 bit di servizio viene utilizzato per provvedere un bit controllo di parità
a livello Crt.
L’informazione da registrare è data da NL, la cui forma d’onda alla fine del Crt (HN), in
caso di numero di bit = 1 pari è reset. Se NL è e set, bit dispari, esso viene resettato
durante il primo bit di servizio che assume la funzione di bit di controllo della parità.
In lettura, viene controllato che il Crt di 12 bit il numero di bit = 1 sia pari, in caso
contrario si attiva la condizione di errore (ER) .
Info su processi fondamentali
L’hardware della Programma 101 non essendo strutturato, rende complicata la lettura dei
fogli logici anche per chi desidera una conoscenza non approfondita del suo
funzionamento.
Quanto segue vuole fornire alcune informazioni su “processi base”, utili anche per
facilitare un successivo approfondimento dei dettagli.
Introduzione dati
I dati sono di due tipi: numerici ed istruzioni di programma.
Essi possono essere introdotti per mezzo di tastiera e cartolina magnetica. La cartolina
tipicamente è utilizzata introdurre il programma.
Dato numerico
Il dato numerico, tipicamente introdotto da tastiera, viene inserito sempre implicitamente
nel registro M.
Esso viene battuto in modo naturale, a partire dalla cifra più significativa.
Nel caso di numero senza decimali, la virgola è comunque sempre sulla cifra delle unità.
Prima che venga battuta, la virgola accompagna sempre l’ultima cifra introdotta, la sua
introduzione ha l’effetto di bloccarne la posizione. L’eventuale cifra seguente costituirà il
valore dei decimi di unità.
Il riferimento,TA in R, indica il carattere precedente quello in cui è scritta la cifra attuale,
le cifre eventuali precedenti sono spostate in blocco di un carattere per farle posto.
Il segno meno può essere introdotto in qualsiasi momento, a partire da prima battuta,
sino a quella che precede il tasto istruzione che chiude la fase dell’introduzione.
A fine introduzione, il dato in M rispetto il riferimento TA in R presenta sul carattere
seguente la cifra ultima battuta, la meno significativa, dopo le cifre interposte chiude le
cifre quella più significativa. Fisicamente il dato può presentarsi a cavallo del gap,
possibile nel caso che il riferimento sia stato spostato dopo l’inizializzazione.
Il dato è sempre visto nella sua interezza, l’informazione di inizio e fine è data da un flip
flop che memorizza la persistenza del bit dato valido (TB) nel registro.
Programma
La fase di introduzione del programma, sia da tastiera che da cartolina, parte sempre dal
1° carattere, del registro che memorizza la 1 a istruzione. Il registro sarà G se programma
utilizzante 5 registri, E se programma parziale 2 registri.
Le istruzioni successive sono inserite nel registro a seguire a partire dal 2° carattere. I
registri seguenti sono interessati a seguito della scrittura nel 24° carattere di quello
attuale. La sequenza G, I, F, E, D è bloccata.
Allineamento registri deposito dati
I registri deposito dati sono B, C, D, E, F se interi, b, c, d, e, f se splittati.
Le istruzioni operano sui registri dati, splittati o interi, senza differenza.
I registri A ed M sono i soli che possono fare scorrere l’informazione in ciclo nei loro 24
caratteri. Lo scorrimento di un carattere è ottenuto , introducendo nel ciclo di richiusura
del registro sulla linea di ritardo, il registro K.
L’allineamento del registro A o M, avviene tra il riferimento di inizio registro ed a seconda
dell’istruzione in alternativa con cifra più significativa o virgola o cifra meno significativa,.
Le istruzioni che scrivono dati nei registri deposito sono solo quelle di trasferimento dal
registro M o di scambio con A. Esse fanno precedere la scrittura del dato da una fase di
allineamento, che pone la cifra meno significativa nel 1° carattere del registro, se intero,
nel 13° carattere se splittato.
Tutte le altre istruzioni che indirizzano un registro deposito, possono leggerlo lasciandolo
invariato o cancellarlo.
Calcolo
I registri interessati dalle istruzioni di calcolo sono A, M, R.
Il registro A contiene tipicamente, all’inizio dell’istruzione il 1° operando ed alla sua fine il
risultato.
Le istruzioni con 2 operandi trasferiscono il registro indicato dall’istruzione in M, 2°
operando, prima di eseguire il processo dell’informazione.
In caso di radice quadrata, il registro indicato dall’istruzione viene prima trasferito in A
poi elaborato.
Tutte
•
•
•
•
•
le istruzioni di calcolo seguono un processo di cinque fasi in sequenza:
Collocamento dei dati di inizio calcolo nei registri.
Allineamento relativo dei registri.
Scrittura riferimento numero cifre decimali.
Ciclo di calcolo.
Formattazione risultato.
L’hardware è in grado di eseguire in un ciclo una somma o sottrazione, tra il dato in A e
quello in M. Se l’istruzione richiede cicli multipli come in moltiplicazione, divisione e radice
quadrata, conta in R il numero di cicli che costituisce per queste istruzioni il risultato.
L’hardware decide in base all’istruzione e al segno degli operandi, l’esecuzione di un ciclo
di somma o sottrazione.
Stampa
La stampante viene utilizzata per:
• Stampa dato e istruzione introdotte da tastiera.
• Istruzioni di stampa.
• Stampa programma.
• Interlinea.
Le diverse stampe e l’interlinea eseguono tutte lo stesso ciclo che comprende:
• Attivazione elettromagnete moto del carrello porta martello.
• Attesa della chiusura micro carrello in moto.
• Attesa da 4 a 28 giri del tamburo – Funzione del dato da stampare.
• Disattivazione elettromagnete moto del carrello porta martello.
• Attesa della apertura micro carrello in moto – Carrello fermo.
La differenza è data dalla eventuale battuta del martello per la stampa di simboli.
La sincronizzazione tra tamburo porta simboli e rotella dentata, ad esempio, il 2° dente si
presenta in coincidenza, ogni giro di tamburo, del primo simbolo. Al 16° dente
corrisponderà il 16 simbolo, ultimo stampabile prima del gap.
Il gap, la cui durata essendo superiore al tempo di accesso alla linea di ritardo, permette
la lettura del codice, istruzione, indirizzo o cifra stampato il giro seguente.
Il codice viene caricato nel sommatore complementato, ad esempio, se si deve stampare
il 1° simbolo il codice sarà 0000 (0 Hex), che complementato diventa 1111 (F Hex). Il 1°
dente incrementa il sommatore a 0000 (0 Hex), causando il riporto sul 4° bit o riporto di
24cifra. Ne segue che per stampare il 6° simbolo, codice 0101 ( 5 Hex), con complemento
1010 (A Hex) avrò un riporto sul 4° bit dopo 6 denti.
Onde assorbire le tolleranze introdotte dalla circuiteria di rilevamento del riporto, si
sincronizza il comando all’elettromagnete di battuta martello attivandola con la fine del
dente che genera il riporto e disattiva con la fine del dente seguente.
Processo dell’informazione - Stati logici
P101- Fogli logici. Foglio 2.
L’elaborazione dell’informazione nell’esecuzione dell’istruzione, è suddivisa in fasi
funzionali denominate stati.
Gli stati sono 15, il nome varia da SA a SS, essi sono tra loro esclusivi e implementati
con flip flop.
La sequenza dei nomi non è sempre indicativa della sequenza di esecuzione.
Sequenza e numero degli stati dipende dalla istruzione e dal modo, manuale o
programma. La durata dello stato, misurata in numero di cicli di LDR, è variabile.
Pure variabile è il punto del ciclo in cui avviene la transizione tra stato e stato,
tipicamente il gap della linea di ritardo o inizio dell’informazione valida nel registro.
Lo stato di posizionamento all’accensione o reset da tastiera è SE.
Con il reset si inizializzano, temporizzazione (scrittura dei bit di servizio base) e registri
M, A ed R con uno zero negativo, dopo tre cicli di linea di ritardo si ha il cambio stato da
SE a SA.
Lo stato SA è segnalato dall’accensione della luce verde fissa, in questo stato il sistema è
in attesa dell’intervento dell’operatore, sia per calcolo manuale, introduzione cartolina,
avvio o prosecuzione del programma.
La fase di attesa intervento dell’operatore termina con la battuta di un tasto istruzione
che resetta SA. Lo stato seguente dipende dal codice della istruzione
Al termine di un calcolo manuale o di esecuzione di un programma, senza errore, si
ritorna sempre allo stato SA con lampada verde accesa fissa.
In caso di errore, si interrompe la sequenza standard degli stati e si forza il ritorno in SA
con lampada rossa accesa fissa.
La fase di lettura o scrittura della cartolina avviene interamente in SA.
Gli stati in genere, sono eseguiti una sola volta per istruzione, tranne le istruzioni di
moltiplicazione, divisione e radice quadrata che richiedono l’esecuzione multipla del ciclo
di stati SF, SG, SH e SK.
Elenco Stati e loro funzione
Trascurando utilizzi non generalizzabili si elencano in ordine alfabetico gli stati e la
funzione che li caratterizza.
SA - Attesa intervento operatore.
Lo stato è raggiunto automaticamente al termine di :
• Fase di inizializzazione (SE).
• Istruzione manuale.
• Esecuzione di un programma.
• Stampa programma.
Lo stato di SA in presenza di lampadino Rosso On, segnala un errore accaduto durante
l’esecuzione dell’ultima istruzione.
L’errore interrompe la sequenza delle istruzioni e pone la macchina in SA.
La condizione di errore è riposta dall’operatore tramite:
• Battuta di un tasto.
• Introduzione cartolina.
• Reset generale.
Le operazioni sulla cartolina avvengono tutte all’interno dello stato SA. Esse sono
caratterizzate dall’impostazione dei pulsanti di modo, AP e AZ, oltre che da SO che
segnala presenza di cartolina sotto testina magnetica.
L’ uscita da SA avviene a seguito della battuta di un tasto istruzione , le istruzioni di salto
e tasto Start avviano il programma.
SB - Preparatorio all’esecuzione dell’istruzione
SB ha una durata tipica di 2 cicli di LDR. NH = 0 indica 1°giro, NH = 1 2° giro.
In SB, in presenza di una istruzione di salto condizionato, si verifica la condizione, A > 0,
prima di passare a SP per l’estrazione dell’istruzione seguente.
Il passaggio ad SP avviene comunque se in presenza di salto o riferimento.
Se l’istruzione è di calcolo, tranne radice, avviene il trasferimento del registro indicato
nell’istruzione in M , tramite SB * ZA * LX * ZK \ * VX \ .
Se radice, il registro con il radicando viene trasferito in A tramite WK * LX, M viene
inizializzato con 1 tramite SB * ZK * NH * TR * (TB+TD+TE).
Il diagramma mostra la preparazione nei registri A ed M in caso di radice con registro
splittato d.
In A viene trasferito, a partire dal 13° Crt, il numero 1234,7 contenuto in d.
Il trasferimento avviene nel 1° giro di LDR.
In M, cancellato nel 1° giro, nel 2° durante TR viene scritto 1.
Diagramma Stato SB. Radice preparazione registri.
27Per le altre istruzioni e un dettaglio maggiore la descrizione è inserita nelle pagine loro
dedicate.
SC,SD - Allineamento registri M ed A
SC e SD servono allineare il contenuto di M e A, rispetto il 1° o 13° Crt di LDR.
La cifra da allineare dipende sia dalla istruzione che registro.
Il numero di cicli è variabile, esso incide notevolmente sulla durata dell’esecuzione
dell’istruzione, può essere ridotto alternando selezione di registri interi con splittati, in
quanto il riferimento per l’allineamento TM, si sposta alternativamente a inizio o metà
registro.
L’allineamento avviene per mezzo di uno spostamento relativo del contenuto di un
registro rispetto gli altri 9 registri. Lo spostamento si ottiene con l’inserimento di un
registro (K) di 1 Crt prima della scrittura in LDR.
Si ha quindi il ritardo di 1 Crt per ogni giro di LDR con K connesso.
Quindi il registro M in SC o A in SD, rallenta e scorre all’indietro, avvicinandosi al punto di
traguardo (TM) a partire dalla cifra più significativa. Ultima cifra del numero nel registro
ad uscire da LDR.
Quando la cifra passa oltre il 24° Crt. si trova riscritta sul Crt seguente dell’anello che è il
1° Crt.
Il passaggio della cifra più significativa traverso il gap è segnalato dal set di NF, tramite il
gate NA*RK*XO.
Il giro seguente le cifre più significative nel registro precederanno quelle meno
significative nella lettura della LDR.
Il meccanismo hardware utilizza il flip flop di temporizzazione TM, che in caso di
operazioni su registro intero, corrisponde al 24° Crt, se splittato al 12°.
Il Crt su cui si decide l’allineamento è dato dal momento del suo ingresso nel registro K,
quindi 1 Crt prima della effettiva scrittura in LDR. A scrittura completata, l’esito è che il
dato si trova allineato sul Crt. successivo (1° o 13° Cr).
A seconda dell’istruzione, l’allineamento di M e A avviene su :
1. Cifra più significativa. Divisione, radice quadra e se A moltiplica.
2. Virgola. Somma algebrica ( + e -) , radice quadra, e se M per moltiplica.
3. Cifra meno significativa. Caso di default, per le altre istruzioni.
28In caso di istruzioni di calcolo, in caso di una sola cifra per la parte intera, l’allineamento
su cifra più significativa coincide con quello sulla virgola.
I due stati SC e SD, sono simili, svolgono le stesse operazioni con oggetto il dato in M e
A. Il periodo di osservazione dell’informazione è dato da PO, che definisce il tempo nel
quale si leggono cifre valide.
PO in stati diversi da SC e SD è l’or di PM e PA, in SC, PO coincide con PM (M) essendo
bloccato PA e in SD con PA (A) essendo bloccato PM.
Il flip flop ND, abilita lo scorrimento del registro attraverso K, esso è settato dal 2° fronte
di PO onde evitare lo spezzamento in due tronconi del numero.
Il flip flop NG, in caso di sovrapposizione iniziale di PO a TM, attende che il registro scorra
sino ad evitare detta sovrapposizione, quindi abilita con XO il traguardo delle condizioni di
allineamento.
Eventuali resti da operazioni precedenti di bit di servizio (TA, TB, TC) “orfani” nel registro,
sono cancellati sino alla lettura del 1° bit di cifra o virgola.
Allo scopo ogni TD in TM si mette in moto il duo NA – NB :
• NA
• NB
Il flip
•
•
•
Pone fine con UI1 (NA*XO*RK) che setta NF, al blocco dei bit di servizio
“orfani”.
Attua con XH1 (NB*CA*NH\) il blocco della scrittura sul Crt seguente dei
bit di servizio.
flop NH viene settato dai segnali di raggiunto allineamento, i quali sono dati da:
Gate 02 A 13
Condizione di cifra più significativa.
Gate 02 A 9 Condizione di virgola.
Gate 02 M 1
Condizione di fine numero.
Lo scorrere in sequenza dell’informazione dei registri nella LDR, fa si che l’accadimento
della prima condizione, se abilitato dalla istruzione, impedisce le altre.
Lo stesso vale per la seconda condizione nei confronti della terza.
NH stesso con il giungere del 1° fronte di PO genera YD da cui MS e quindi il cambio
stato.
SE - Funzione multiple
SE ha una durata tipica di 2 cicli di LDR. Lo stato di NH = 0 indica 1°giro, NH = 1 2° giro.
In inizializzazione,1° stato eseguito, SE dura 3 cicli di LDR.
Le sue funzioni principali sono:
Al Power On, scrive i bit di servizio in B e C che delimitano i confini di LDR e split. Inoltre
pone un -0, sul 24° Crt dei registri M, A ed R.
Se istruzione di calcolo, scrive in A il TA che precede la virgola del numero di Crt
impostati nella rotella decimali.
Se istruzione di trasferimento lo attua nel suo 2° ciclo.
Per le altre istruzioni ed un dettaglio maggiore la descrizione è inserita nelle pagine ad
esse dedicate.
SF,SG,SH,SK,SL - Esecuzione istruzioni di calcolo
Tutti gli stati del gruppo durano 1 ciclo di LDR.
Lo stato SL, ultimo del gruppo viene eseguito una sola volta e conclude il calcolo.
SF, SG, SH, SK compongono un ciclo e sono eseguiti in sequenza.
In somma e sottrazione il ciclo viene eseguito una sola volta.
Nelle altre istruzioni il numero di cicli dipende dal numero di cifre e dal loro valore.
In moltiplica l’uscita dal ciclo con il passaggio a SL avviene dopo SK, in divisione e radice
dopo SF.
In radice il numero di cicli è raddoppiato.
La funzione tipica degli stati nel ciclo di calcolo è:
SF
SG
SH
SK
Verifica se M > A.
Somma 1 al contenuto di R.
Esegue la somma algebrica tra M e A.
Corregge il risultato della somma algebrica.
Ogni istruzione di calcolo termina con lo stato SL che ha la funzione di formattarne il
risultato.
SM,SN,SS - Riservati alla stampa
La sequenza degli stati di stampa è fissa a SM, segue sempre SN quindi SS. La sequenza
è innescata da :
• SA
Tutte le istruzioni tranne che di stampa.
• SE
Istruzioni di stampa.
• SP
Stampa programma (AZ).
Funzione dei singoli stati:
• SM
Stampa simbolo istruzione, registro e spazio distanziatore.
• SN
Stampa dato numerico.
• SS
Attesa del carrello di stampa a riposo.
Con stampa di 30 Crt/Sec. La stampa di un simbolo necessita di 33,33 mSec.
Il carrello di stampa è messo e tenuto in movimento da CD, or di SM e SN.
La durata di SM è quasi costante, essendo la variabilità, dovuta al sincronismo tra
posizione istantanea del tamburo e comando stampa. Costante è il tempo di 100 mSec. di
stampa dei simboli indirizzo, istruzione e spazio.
SN ha durata proporzionale al numero di cifre da stampare a cui vanno aggiunti virgola e
segno.
SS ha una durata funzione del tempo di ritorno a casa del carrello di stampa indicato dal
μswitch AW.
Nel caso di stampa forzata del risultato del calcolo di moltiplicazione, divisione e radice, a
seguito della forzatura del codice di stampa A (84H), la sequenza segue la modalità
standard.
Unica eccezione, esecuzione da programma dell’istruzione Azzera Registro (*), lo stato
SS, segue SE mediante YX ( SE * ZL * HE * HP ). In questo caso l’istruzione non
comporta movimento del carrello.
SP - Fetch istruzione di programma
SP ha la funzione di estrarre il codice dell’istruzione da eseguire caricandola nel registro H
.
Lo stato SP è raggiunto nei casi di :
• Fine esecuzione istruzione data da YT, se HP = 1 esecuzione programma.
• SB Salto o riferimento di salto.
• SE Istruzione S di start programma.
• SD Stampa programma.
SP ha una durata di 2 - 6 cicli di LDR. Il numero di cicli massimo si ha con il riferimento di
salto posizionato nel 5° registro.
Se l’istruzione estratta è S (0) si ha il reset di HP, stop all’esecuzione del programma ed il
rientro in SA
SO - Cartolina nel trascinatore
SO deriva dalla “squadratura” del segnale da Switch AO attivato dal passaggio sotto la
testina magnetica della cartolina.
Dispositivi di interfaccia utente fisici
Tasto accensione
31Il tasto è posto, fronte macchina, in basso a destra.
Foto. Tasto Accensione
Alla sua impostazione si applica la tensione alternata all’alimentatore.
L’alimentatore fornisce le tensioni continue che garantiscono il corretto funzionamento sia
dei circuiti in cassettiera che quelli delle attuazioni comandi verso la meccanica.
Lo stato di inizializzazione macchina minimo è garantito da un flip flop (SR).
Nella fase di stabilizzazione delle tensioni continue, SR sbilanciato da una rete RC, si setta
e agendo sui flip flop base, blocca possibili azioni casuali.
L’azionamento del tasto di reset pone SR = 0.
Tasto Reset
Il tasto, incorporato nelle tastiera è il primo in alto a sinistra.
Foto. Tasto reset.
Il tasto di Reset genera 2 cicli di tastiera:
• 1° Aziona il μSwitch AG
• 2° Aziona 2 μSwitch AT e AK
Reset generale.
Avvio temporizzazione + strobe Crt.
Sul tasto di reset non agisce il blocco meccanico della tastiera.
L’azionamento del Reset, provoca la inizializzazione della P101 mediante la scrittura nel
registro B e C dei bit di servizio (TA) che gestiscono la temporizzazione base.
Nei registri M, A, R è posta la cifra -0 sul 24° Crt.
I registri deposito e programma, hanno tutti i bit a zero, tranne quelli utili alla
temporizzazione.
Tastiera
La tastiera costituisce il dispositivo primario di introduzione dati nella P101.
Foto. Tastiera.
32La tastiera dispone di 37 tasti.
Reset generale (1).
Dato numerico (12). Cifre, virgola e meno.
Clear (1).
Indirizzi di registro (7). A, R, B, C, D, E, F .
Registro splittato (1).
Istruzioni (10).
Start (1).
Salti programma (4).
Tutti i tasti attivano 1 ciclo meccanico, il Reset 2.
Il ciclo meccanico originato dalla pressione sul tasto agisce su 12 μswitch :
• AG
Reset generale.
• AT
Individua 2° ciclo di reset.
• AK
Strobe Crt pronto.
• AA – AD
Codice dato numerico / Indirizzo / Istruzione.
• AE
Indirizzo.
• AF
Indirizzo / Istruzione.
• AM
Segno meno in dato numerico.
• AN
Azzera dato. Se premuto prima di tasto Istruzione.
• AV
Virgola.
I μswitch AE, AF, AK, AN, AT forniscono in uscita segnali diritto e negato.
La virgola e il segno meno non attivano il μswitch di strobe Crt valido AK.
Il ciclo meccanico dopo aver commutato i μswitch li lascia impostati sino al ciclo seguente
ad eccezione del μswitch di strobe AK che ritorna a riposo.
AN Clear ha l’effetto di azzerare M , predisponendolo a un nuovo dato.
Foto μSwitch Tastiera e Trascinamento cartolina.
La cifra introdotta mediante un tasto numerico viene inserita nel Crt della LDR
corrispondente al TA di R, le cifre precedenti, se presenti vengono ritardate di un Crt.
I tasti virgola e meno, non essendo accompagnati da uno strobe di Crt, non originano un
ciclo di inserimento Crt in LDR.
L’informazione dei due tasti è posta in bit dei Crt introdotti precedentemente, TC per
segno meno e TD per la virgola.
In caso di battuta di segno meno, sono posti a 1 i TC di tutte le cifre valide.
Il dato è introdotto a partire dalle cifre più significative, il bit TD specificante la posizione
della virgola rimane sul Crt, individuato dal TA in B, sino alla battuta del tasto virgola.
La battuta della virgola, fissando la posizione della cifra di peso 10 0 (unità), fissa il TD alla
cifra che l’ ha preceduta.
La battuta di altri tasti cifra, procura lo spostamento di tutta l’informazione introdotta
prima , bit TD di virgola compreso.
Durante il tempo in cui la macchina non è in attesa di dati la tastiera è bloccata tramite
elettromagnete.
In caso di più tasti contemporanei la tastiera si blocca meccanicamente.
La tastiera permette la battuta in successione di due tasti senza l’intervento del blocco
meccanico.
A fianco dei pulsanti di modo è posto il tasto di sblocco meccanico tastiera.
34In Appendice A. Codici da tastiera si trova il dettaglio dei codici attribuiti ai tasti.
Lampadini
Il sistema, mediante lampadini, comunica all’operatore lo stato di:
•
•
•
Attesa introduzioni dai o programma. Luce verde fissa.
Programma in esecuzione.
Luce verde intermittente.
Condizione di errore.
Luce rossa fissa.
Pulsanti introduzione - stampa programma
I pulsanti “bistabili” di modo introduzione o stampa programma sono 2:
•
•
Registra Programma
Determina la scrittura delle istruzioni nei registri
.
programma. Input tastiera o cartolina.
Stampa programma
Seguito da istruzione S o salto, comanda la stampa
del programma nei registri.
Foto. Pulsanti di modo.
Le istruzioni possono essere introdotte sia da tastiera che da cartolina.
La lettura o scrittura delle istruzioni in LDR è sequenziale e fissa.
Inizia dal registro G seguono I, F, E , D fino a un massimo di 120 istruzioni.
La lettura della cartolina avviene con macchina in attesa, luce verde fissa, tastiera
sbloccata ed introduzione della cartolina.
Programma corto
L’impostazione di entrambi i pulsanti restringe a E, D i registri
coinvolti nelle operazioni di lettura e scrittura.
Le istruzioni sono massimo 48.
Gli altri registri restano immutati.
La battuta del tasto della prima istruzione o il passaggio della cartolina provocano la
cancellazione dei registri di programma.
Sblocco Tastiera, sblocca la stessa tastiera nel caso di blocco meccanico per battuta
contemporanea di più tasti.
Stampante
La stampa avviene con movimento del carrello da destra a sinistra.
Il ciclo di stampa registro comporta automaticamente una interlinea, ne segue che ogni
riga di stampa contiene un solo dato. Il fine ciclo prevede il ritorno alla posizione di
partenza del carrello.
È disponibile l’istruzione di interlinea singola, non quella di tabulazione carrello.
Foto. Gruppo stampa.
Il gruppo di stampa è formato da :
# Tamburo cilindrico portante in rilievo i caratteri in rotazione continua. I caratteri corrispondono ai simboli delle istruzioni, indirizzi, cifre numeriche, virgola e segno meno. Il numero di colonne sul tamburo è 28, la 1 a riservata all’istruzione, la 2 a all’indirizzo, le altre alle cifre, segno meno e virgola. La 3 a colonna non è comunque mai utilizzata, producendo la separazione tra istruzione-indirizzo e dato numerico.
Il numero di cifre massimo stampabili, sottratti segno e virgola è 23. Il numero di righe di simboli sul tamburo è 24. Le prime 16 righe di simboli sono utilizzate. Le 8 restanti righe di simboli hanno lo scopo di equilibrare il tamburo in rotazione.
# Rotella dentata, in rotazione solidale con il tamburo. La variazione di flusso magnetico, data dal passaggio del dente in
corrispondenza di una bobina origina un segnale il cui passo angolare è uguale a quello dei simboli sul tamburo.
La rotella fornisce quindi l’informazione che sincronizza posizione del martelletto e simboli sul tamburo. Il numero di denti della rotella è 17.
I denti non sono distribuiti sull’intera circonferenza della rotella, ma ne lasciano un settore libero. Il tempo di rotazione corrispondente al settore senza denti, fornisce il tempo che permette l’accesso alla LDR per il prelievo
del Crt. da stampare.
# Carrello porta martello di battuta, comandato da elettromagnete, dotato di moto continuo rettilineo parallelo all’asse maggiore del tamburo porta
caratteri. Il carrello avanza di un passo Crt ad ogni giro del tamburo.
# Martelletto di stampa di un simbolo a battuta, solidale al carrello, anche esso
comandato da elettromagnete. Onde recuperare i ritardi circuitali variabili tra il momento di rilevamento del dente e il set del flip flop che abilita la battuta, si è inserito un flip flop di servizio onde assicurare sincronismo e tempo costante di battuta.
Appendice C. Tabella di corrispondenza tra simboli e denti.
Rotella decimali
Il calcolo avviene con virgola naturale.
Il numero di decimali con cui viene normalizzato il risultato delle istruzioni aritmetiche e la stampa da programma, è quello impostato tramite una rotella impostata manualmente. La scelta possibile è 0 – 15 cifre decimali.
In introduzione manuale , il dato viene stampato con il numero di cifre decimali introdotto
dall’operatore.
Foto. Rotella decimali.
Cartolina
La cartolina è il supporto per il trasporto dei programmi della P101.
L’operatore posizionando il pulsante Stampa Programma, sceglie tra 2 formati di
cartolina:
• Intero
120 Crt
5 Registri G(1), I(2), F, E, D.
• Ridotto
48 Crt 2 Registri E,D.
Il programmatore oltre le istruzioni. ha la possibilità di inserire nei registri di programma
dei numeri.
Le tecniche utilizzate sono descritte in P101 Manuale di programmazione P101.
L’esecuzione di un programma può prevedere l’inserimento di più cartoline in tempi
diversi.
Foto . Inserimento Cartolina.
Ogni pista ha la capacità massima di 5 registri programma, 24 X 5= 120 Crt.
La testina di lettura – scrittura della cartolina non coincidente con l’asse del supporto,
permette mediante semplice capovolgimento della cartolina, il riutilizzo dello stesso
supporto per altre 120 istruzioni.
La faccia del supporto non ricoperto da ossido magnetico è divisa orizzontalmente in due
parti uguali, con scritte speculari fornenti lo spazio a un breve memo relativo ai due
programmi registrati.
Struttura fisica dell’unità di calcolo
Cassettiera
La struttura della cassettiera è di lamiera aperta sul lato posteriore per permettere
l’inserimento delle piastre.
Sul lato posteriore è, fissato con viti il circuito stampato del back panel.
Foto. Cassettiera.
Per ottenere una riduzione in altezza, le piastra pari sono inserite capovolte in modo che
le colonne dei micromoduli della piastra pari scorrono tra le colonne delle piastre dispari.
La cassettiera accoglie 9 piastre, la prima piastra NR. 1 è quella in basso, l’ultima la nona,
in alto, è una piastra ridotta per poter essere affiancata dalla linea di ritardo (LDR).
La piastra 9° ridotta, metà colonne ed un numero ridotto di righe, permette alla
carrozzeria di essere più bassa in coda e quindi appaia più corta.
L’inserimento delle piastre è facilitato da guide laterali.
Il raffreddamento delle piastre in cassettiera è data da una ventola azionata mediante
cinghia dal motore unico di macchina.
Back panel
Foto Intercablaggi P101.
Il circuito stampato monta 34 connettori a 28 contatti, disposti su 9 righe e 4 colonne. La
9 a riga, in figura monta solo 2 connettori.
Alla base del back panel, in orizzontale sono saldati i pin di connessione “maschi” di 4
connettori a 12 vie per i segnali ai circuiti attuatori di stampante, tastiera, cartolina.
Appendice B. Connettori Pacco Elettronica – Attuazioni.
Memoria – Linea di ritardo
Foto. Linea di ritardo.
Il tipo di memoria usato è una linea di ritardo realizzata utilizzando le proprietà
magnetostrittive di un filo d’acciaio armonico.
41L’informazione è contenuta nella successione delle torsioni inflitte al filo dal circuito di
scrittura nella linea di ritardo (LDR). In caso di bit posto a 1 (ON). la forma d’onda di
scrittura ha una commutazione a metà del periodo di bit.
Il mezzo è quindi ad accesso strettamente sequenziale con un tempo di latenza
proporzionale alla lunghezza del filo d’acciaio. Grado di parallelismo 1 bit.
Data una frequenza di scrittura di 1 MBit / Sec , una capacità totale è di 1920 Bit e un
gap per incorporare le tolleranze nel sistema elettro meccanico, si ha un tempo di riciclo o
latenza di 2,1 mSec .
La linea di ritardo con un piastrino con il circuito di amplificazione di lettura, per
protezione è inscatolata in una struttura di lamiera.
Una cornice di metallo fornisce la struttura per il montaggio affiancato della LDR e di una
semipiastra da inserire nella 9° posizione della cassettiera.
Il circuito è suddiviso in tre blocchi funzionali: l’amplificatore del segnale generato dal
trasduttore elettromagnetico, uno squadratore ed un generatore di impulso di durata di
0.5 μSec.
Descrizione LDR a cura di Alessandro Graciotti
Schema a blocchi amplificatore Linea di ritardo.
L’amplificazione del segnale di ingresso è effettuata da un amplificatore differenziale a
due stadi NPN-PNP (T6 – T9) seguito da un circuito di uscita NPN single-ended (T1). Il
trasduttore è collegato all’ingresso non invertente dell’amplificatore; il segnale di uscita è
retrocesso sull’ingresso invertente, interamente per la componente continua, attenuato di
circa 400 volte per la componente alternata. Il guadagno open-loop calcolato
dell’amplificatore è di circa 500; per effetto della contro reazione il guadagno effettivo in
ac risulta quindi essere di circa 220 (confermato dalle misure).
Il ritorno del filtraggio del feed-back (C4 e C5) è collegato con il ritorno del trasduttore ad
una tensione costante di circa +9V ricavata con lo zener Z2 (1N756) in serie ad un diodo,
in questo modo un eventuale rumore presente sull’alimentazione non verrà amplificato
42essendo presentato in modo comune sui due ingressi. La tensione di uscita a riposo si
stabilizza, per effetto della contro reazione totale in dc , allo stesso livello dell’ingresso.
Il segnale amplificato pilota un classico trigger di schmitt (T4 T5) la cui soglia è
posizionata a circa 7V cioè due volt al di sotto della tensione di uscita a riposo
dell’amplificatore; l’isteresi è di circa 1V. La tensione al trasduttore necessaria a eccitare il
trigger di schmitt risulta quindi essere di circa -8mV. L’uscita dello squadratore è un
segnale positivo di circa 5V la cui durata dipende dalla forma del segnale di ingresso.
Il segnale squadrato pilota un oscillatore monostabile di 500nS costituito da T2 e T3.
L’uscita dell’ univibratore è di circa 12V senza carico.
Piastra
Foto. Piastra.
La piastra è supporto di circuito stampato a uno strato su 2 facce.
Le tracce sulle 2 facce sono connesse tramite fori metallizzati.
I componenti, micromoduli, sono montati solo sulla faccia superiore.
La piastra permette di montare i micromoduli disposti su 12 colonne.
Il numero di micromoduli per colonna non è fisso, in quanto gli stessi hanno dimensioni
diverse, 2 / 4 righe.
La sbrogliatura dei circuiti stampati è stata fatta manualmente.
Le piste sono state tracciate mediante incollamento manuale di nastrini.
La posizione di montaggio dei micromoduli sulla piastra è data da una lettera identificante
la colonna (A – Q ) e da un numero ( 1- 32) per la riga.
La posizione riportata sui fogli logici, nella documentazione, è quella della 1° riga
occupata dal micromodulo, indipendentemente dal verso, diritto o capovolto, del suo
inserimento nel circuito stampato.
Ad esempio la scritta 04C21, indica piastra 4,colonna C riga 21.
43La connessione tra piastre tramite back panel è permessa da 4 tenoni, disposti sul lato
maggiore in basso del circuito stampato, ognuno di essi riporta 28 madonnine dorate.
Il totale dei punti di connessione è 28*4= 112.
|
I piedini 1 e 2 del 1° connettore sono sempre connessi a massa
|
I piedini 3 e 4 del 1° connettore sono sempre connessi a +20 Volt.
|
Le operazione di manutenzione dispongono di un tenone, posto sul lato maggiore, in alto
a sinistra, con 8 madonnine dorate.
Con vista piastra lato componenti, la numerazione di colonne, tenoni e delle madonnine
parte sempre da destra
L’inserimento capovolto delle piastre pari comporta anche quello dei segnali sul circuito
stampato del back panel.
Occore panel |
quindi distinguere , per le piastre pari tra documentazione di piastra e back
|
Nota.
In Olivetti, il primo tentativo di sbrogliatura di circuito stampato complesso è stato fatto a
Pregnana Milanese dall’ing Lerda.
La piastra utilizzata era la piastra della temporizzazione della Programma 101.
Micromodulo
Foto. Micromodulo.
Il micromodulo è “l’invenzione” che ha anticipato i circuiti integrati i cui primi prototipi
sono stati presentati alla stessa mostra, BEMA di NEW YORK, a cui era la P101 in prima
mondiale la P101.
Esso permette un montaggio, su linea separata dei componenti discreti, transistor, diodi,
condensatori e resistenze su un piccolo circuito stampato portante inciso il codice
micromodulo
Il circuito stampato del micromodulo dipende dal circuito realizzato e riporta una sigla
identificativa dello stesso.
Esso ha sempre 2 colonne, il numero di righe 2 / 4, dipende dal circuito.
I componenti discreti sono montati in verticale, lasciando un reoforo libero da inserire
sulla piastra madre.
I micromoduli di 2 righe montano tipicamente resistenze usate come zavorre, riduttrici di
tensione dei segnali e quindi dei disturbi indotti.
Quelli di 4 righe sono tipicamente circuiti NOR, 4 / 5 Ingressi.
Il transistor tipico utilizzato è il 2N708 o equivalente 1W8723. Il diodo è l’ OA95.
Raccolta Circuiti Elettrici.doc
Parte 2 – Struttura Hardware
Temporizzazione dettaglio
Lo schema dei circuiti è in P101- Fogli logici. Foglio 1.
L’hardware della temporizzazione è composto da:
Oscillatore OT. |
Frequenza base 1 MHz.
|
Registro shift ML – MP. |
Assegna l’informazione da LDR a banchi di 5 registri.
|
Flip flop MT. |
Aggiunge un 2° banco di registri.
|
Flip flop MK. |
Individua il periodo di lettura da LDR del bit nei 10 registri. Frequenza base/10.
|
Registro shift TA – TH. |
Periodo di Crt. Richiuso ad anello TH su TA. Frequenza base/10/8= 12,5 KHz.
|
Flip flop TK. |
Periodo del Crt . Set in TA – TD.
|
Flip flop TT. |
Abilita oscillatore OT. Settato dalla lettura 1° TA di B. Resettato dalla scrittura dell’ultimo bit del 24° Crt di M in LDR.
|
Flip flop TR. |
Settato dal 2° TA di B. Inizio del 24° Crt. Reset in TT \.
|
Flip flop TS. |
Set da fine TH del 24° Crt. Reset con scrittura 1° TA in B. Copre la temporizzazione priva di TA – TH.
|
Diagramma Ciclo di temporizzazione .Stato SE.
La temporizzazione è generata da un hardware progettato per essere realizzato con un
numero minimo di componenti.
I confini della memoria sono stabiliti mediante bit di servizio TA scritti in B, l’accesso è
sequenziale, pertanto non è necessario disporre di un contatore hardware specifico dei 24
Crt.
La scansione del tempo è data dall’oscillatore OT (1 MHz).
OT pilota uno registro shift di 5 Bit (ML – MP) connesso ad anello per tutto il tempo di
attività della temporizzazione.
Ad ogni set di ML si ha una commutazione del flip flop MK, il quale con la frequenza 1\10
di quella di bit, indica il tempo di bit per i 10 registri interlacciati.
MK , ad ogni suo fronte di salita, determina lo scorrimento del registro ad anello TA – TH
(8 Bit). Il periodo del registro determina quello di Crt, essendo i registri interlacciati
racchiude 80 Bit.
Il flip flop TK, set con TA, indica bit di servizio o di selezione del registro (TA – TD). Reset
con TE, indica il codice della cifra numerica o dell’istruzione (TE – TH).
I flip flop che memorizzano i bit di registro sono divisi in 2 banchi.
1° Banco registri |
B, C, D, E, F
|
2° Banco registri |
A, I, R, G, M
|
Il flip flop MT set attribuisce i bit nel registro serie in uscita della LDR al 1° banco di flip
flop. Con MT reset, i bit nel registro serie saranno attribuiti al 2° banco.
I flip flop serie in uscita alla LDR sono 4 (ME , MF, MG, MH ), avendo ogni banco 5
registri, l’informazione relativa al 5° registro del banco è caricata “al volo”
rispettivamente in F e M.
Il momento di informazione nel registro pronta è definito dal flip flop MP.
MP con MT set (MR), attribuisce l’informazione del registro serie al 1° banco.
|
MP con MT reset (MX), attribuisce l’informazione del registro serie al 2° banco.
|
MR precede MX di 5 μSec, avendo entrambi un periodo di 10 μSec.
Ne segue che l’informazione valida appartenente allo stesso bit, permane nei 2 banchi
contemporaneamente per soli 5 μSec.
Diagramma Temporizzazione - 1° Ciclo di Linea di ritardo. Vedere al 300-500%.
Gap della Linea di Ritardo
Essendo la memoria fatta di filo d’acciaio, è necessario che una parte di filo sia aggiunta
per assorbire le tolleranze di sistema. Si genera quindi un tempo (Gap) tra la scrittura
dell’8° Bit del 24° Crt in M e la rilettura del 1° Bit del 1° Crt di B.
Durante il periodo di gap l’oscillatore OT è bloccato.
Il flip flop TT definisce il periodo di attività dell’oscillatore base OT.
Durante TT si sovrappongono 3 tipi di attività necessarie per la lettura e scrittura
dell’informazione nella LDR.
- Trasformazione da serie a parallela di 1 Bit per banco dell’informazione.
- Elaborazione dell’informazione dei registri.
- Trasformazione da parallela a serie di 1 Bit per banco dell’informazione.
L’ attività 1, precede del tempo di lettura dei bit del 1° banco di registri (5 μSec), il
possibile utilizzo del banco di registri interessato.
L’attività 2, dispone di 10 μSec per l’elaborazione dell’informazione.
L’attività 3, segue la 2 e si conclude 5 μSec dopo l’attività 2 con la scrittura del 2° banco
di registri.
La fase 2 è pertanto preceduta, inizialmente, da un periodo di tempo di lettura del 1°
banco e seguita alla fine, da un periodo di scrittura del 2° banco di registri in LDR.
In questi 2 periodi, iniziale e finale, l’informazione non è valida, pertanto la
temporizzazione di Crt fornita dal registro TA – TH è bloccata.
Il flip flop TS copre i momenti, iniziale e finale, di non validità dei dati nei registri.
Il flip flop TR, essendo settato dal TA in B posto sul 24° Crt, indica inizio della fase di fine
temporizzazione. Ultimo ciclo TA – TH.
Diagramma Fine Ciclo Linea di ritardo.
Ciclo di rinfresco dell’informazione in LDR
Si è in un ciclo di rinfresco dell’informazione dopo che la macchina ha eseguito un ciclo di
reset ed è in attesa che l’operatore dia il via a qualche operazione.
Questa è la condizione al termine dell’esecuzione sia di comandi manuali che di
programmi.
In questo caso, ogni 2,1 mSec circa, l’informazione nella LDR compie un ciclo in cui viene
ogni volta rinnovata.
La sequenza degli eventi è:
- 1° Bit da LDR dopo il gap setta TT .
- TT sblocca l’oscillatore OT .
- OT avvia il registro di temporizzazione di bit ML – MP.
- ML comanda la commutazione di MK. MK segnala che il bit in B, C, D, E, F, A, I, R, G e M è pronto.
- MK comanda lo shift del registro TA – TH. Il registro TA – TH provvede la temporizzazione di Crt.
La temporizzazione sincronizza l’informazione da linea di ritardo con i flip flop di registro
facente parte di (3) in Figura 1.
La logica combinatoria (4), con la macchina in attesa di azione dell’operatore, copia
l’informazione di bit in (3), nel registro di uscita verso LDR (5) .
Diagramma Ciclo Linea di ritardo
La temporizzazione avviata dal 1° bit letto da LDR , che per settaggio hardware è attribuito al registro B, prosegue in modo ciclico, per il tempo corrispondente a 23 caratteri. Nello slot di tempo corrispondente al bit TA del 24° Crt di B, viene letto il bit che con il set del flip flop TR segnala l’ultimo Crt del ciclo.
- Il 2° bit in TA di B setta TR . Ultimo Crt del ciclo.
- TR abilita al termine di TH il set di TS . Fine del 24° Crt .
- TS scritti gli ultimi bit nel serializzatore in LDR resetta TT .
- TT resettato, blocca OT e quindi tutta la temporizzazione da lui derivante.
- Il blocco della temporizzazione provoca un periodo di attesa (Gap), pari al tempo necessario al 1° bit di B di giungere alla fine del filo di acciaio e di riavviare la temporizzazione per un nuovo ciclo.
La durata della temporizzazione dipende da posizione e presenza del 2° bit in B.
Una sua anticipazione determina una numero di Crt minore di 24.
Con la sua scomparsa la temporizzazione non si arresta determinando la mancanza di gap
ed una perdita di sincronismo con i dati in LDR.
Registro K
Lo schema del circuito è in P101- Fogli logici . Foglio 3.
Il registro K, composto da 8 bit ( KA – KH ) ha la funzione di :
- Contatore di Crt in inizializzazione della temporizzazione e numero decimali.
- Contatore dei denti della ruota fonica in stampa.
- Interfaccia di dati numerici ed istruzioni con:
- Tastiera.
- Stampante.
- Cartolina.
- Allinea il registro selezionato ritardandolo di un Crt per ogni giro di LDR.
- In calcolo contenendo il Crt utilizzato precedentemente nel sommatore, in caso di riporto permette l’inserimento di un TA che segnalerà il Crt durante il ciclo seguente per la correzione della cifra.
Nelle funzioni di conta o di calcolo, con il registro K connesso al sommatore,
l’informazione utile è quella di digit ed è nei 4 bit KE – KH.
Il clock del registro K viene generato da:
- MX tranne che durante la lettura o scrittura cartolina.
- OS , clock di bit cartolina per i soli 8 bit di codice istruzione.
Il clock è continuo tranne che nei 2 casi seguenti :
a) In stampa sulla seconda colonna dell’indirizzo, TK blocca i primi 4 bit, per caricare in
KE – KH il codice dei primi 4 bit del Crt contenente l’indirizzo.
b) Durante la fase di scambio Crt con la cartolina, nel periodo di lettura o scrittura dei 4
bit di servizio aggiuntivi, si inserisce MX per 8 bit abilitati da NB, per scambiare il Crt con
la LDR.
Il dettaglio dell’utilizzo del registro K è inserito nel contesto di descrizione relativo alla
specifica funzione.
Registro H
Lo schema del circuito è in P101- Fogli logici . Foglio 3.
I bit del registro H sono 8 ( HA – HH ).
In esecuzione istruzione contiene il codice dell’istruzione. Tipicamente i bit del registro
indicano:
HA – HC |
Registro.
|
HD |
Split.
|
HE – HH |
Istruzione.
In lettura / scrittura programma o cartolina, seleziona il registro di programma
contenente le istruzioni.
Multiplexer registri
51I circuiti multiplexer sono utilizzati per convogliare su un segnale unico il contenuto di
più registri. L’informazione del segnale sarà quella del registro selezionato dalla
istruzione in esecuzione.
La figura mostra l’utilizzo dei registri dati B, C, D, E, F e dei registri programma G, I ed
eventualmente F, E, D.
La tecnica è resa possibile in quanto le istruzioni prevedono la possibilità di selezionare un
solo registro per istruzione, oltre se utile, un secondo selezionato in modo implicito e
comunque predeterminato in funzione dell’istruzione.
LN, RN, LT - Multiplexer registri dati e programma
image
Il flip flop LN , set con MM*MK e reset con MX, ha la funzione di ritardare il contenuto dei
registri del 1° banco, B, C, D, E, F, riallineandolo al contenuto dei registri del 2° banco, M
ed A e rende possibili le istruzioni di calcolo, trasferimento. Lo stesso rifasamento viene utilizzato per la stampa dei simboli istruzione ed indirizzo o input output verso cartolina, senza dover badare al banco di appartenenza del registro
interessato.
LT – LX viene utilizzata per la stampa del dato numerico.
Nelle istruzioni di calcolo, durante lo stato SB, LT – LX serve per trasferire il registro
selezionato nell’operando implicito M.
RN nelle istruzioni di trasferimento trasporta il segnale del registro selezionato tra i
registri B, C, D, E, F sostituendolo alla richiusura del dato precedente.
LP - Multiplexer registri programma
I registri programma D, E, F, appartengono al 1° banco, mentre G ed I al 2°. Il flip flop LP provvede al riallineamento dell’informazione contenuta nel registro selezionato del 1° banco alla temporizzazione dei registri del 2° banco.
Il flip flop LP viene utilizzato per la lettura dell’istruzione (fetch), durante SP.
image
Reti logiche
CX – OR di stati
image: P101- Fogli logici. Foglio 2
OR logici di stati sono utili per utilizzare le parti hardware utilizzate in fasi diverse della
stessa istruzione o in istruzioni diverse.
Si fornisce l’elenco e gli stati che li originano . Onde semplificare l’hardware, un OR di
stati logici può avere come suo ingresso un altro OR di stati logici.
CA |
SC, SD, SE.
|
CB |
SE, SG, SH, SM, SN.
|
CC |
CH, SE, SM, SN.
|
CD |
SM, SN.
|
CE |
SF, SH .
|
CG |
SA, SB, SC .
|
CH |
SF, SG, SH, SK .
|
CK |
SM, SN, SP, VX .
|
CM |
SB, SE .
|
VX |
Originato da SB * ZH * HD * DA, indica stato SB in esecuzione istruzione di costante da programma.
|
MS – Cambio stato
document: P101- Fogli logici. Foglio 2.
MS fornisce il segnale che temporizza il passaggio di stato.
MS pilota tutti i reset dello stato attuale tranne SS, attuato da SS * TT \ * VP \ .
Lo stato di destinazione dipende sia dallo stato di provenienza, esso può essere senza alternative come da SH a SK, o dipendere da condizioni anche multiple, vedi SE che può essere seguito da SA, SF, SM, SP, SS.
VA
La rete logica VA viene utilizzata per scrivere il segno meno nei registri A e R nella
formalizzazione risultato, stato SL.
• Nelle istruzioni di moltiplicazione, divisione e radice, ZC * LR * TK \ trasferisce R in
A, bit TE – TH del risultato.
• Tramite SE * ZG * NH (rete RA), forza WK che abilita XC, contenuto di A durante
l’istruzione di scambio registro. ( WK * HF * LA * WA \ ) .
• Se il decodificato di M è attivo, ZG * DM * VA * NK \ ,introduce in SE A in M.
Ricordando che nelle operazioni di calcolo i flip flop :
NK
Set ha il significato di A negativo.
NL
Set ha il significato di segno in A ed M discorde.
Il segno del risultato viene introdotto in VA da:
ZC * NL * TC
Moltiplicazione, divisione con segno discorde.
ZB * NK * NM \ * TC
Somma algebrica A negativo e A > M.
ZB * NK \ * NM * TC
Somma algebrica A positivo e A < M .
La richiusura sui registri A ed R tramite VA è fatta da:
SL * PA * VA * NC
Registro A.
SL * PA * VA * ZF \ * ZK \
Registro R.
XX
XX è usato per commutare NL, flip flop fornente in cartolina, la forma d’onda da registrare
o il bit letto.
In registrazione cartolina:
OR * HN * KA * NB \
.
Commuta NL se bit (KA) = 1.
OR * HN \ * NK * NL \
.
Scrive il bit di parità.
In lettura cartolina OS * LS * AP \ memorizza i bit letti.
In radice quadrata abilita il 2° ciclo degli stati SF, SG, SH, SK.
WR (ZK * SK * NM \) commuta NL ogni SK se NM negato.
Sommatore
document: P101- Fogli logici. Foglio 5.
Con sommatore si intende un complesso circuitale utilizzato per operazioni di conta,
somma algebrica o confronto.
Il sommatore è composto da:
• Sommatore binario parallelismo 1 bit.
• NL - Rete logica di segno discorde in A e M. Segno discorde NL = 1.
• NK - Segno registro A, accumulatore. Segno meno NK = 1.
• VB - Rete logica di decisione somma algebrica. Ciclo di somma VB = 1.
• XM – Rete logica combinatoria. Bit 1 di somma, confronto o conta.
• XS - Rete logica combinatoria. Bit 2 di somma o confronto.
• ND - Riporto di bit e digit.
• NE – Riporto bit o digit precedente e\o incremento contatore.
• NM – Risultato confronto A > M.
• VS – Formattazione output sommatore.
A completamento è incluso il registro di uso multiplo(KA–KH), utilizzato dal sommatore
per:
• Far scorrere il registro di un Crt rispetto gli altri.
• Inserire a posteriore un bit di servizio, per la eventuale correzione.
• Conta posizioni Crt in LDR .
I dati oggetto di calcolo sono posti in M e A, registri interi.
Il risultato del calcolo, a fine calcolo, si trova formattato in A, stato SL.
Il registro R è utilizzato, durante il calcolo, come registro di servizio.
A fine calcolo contiene dati utili, il cui significato diverso, dipende dall’istruzione.
Le funzioni che utilizzano il sommatore sono:
55•
•
•
•
Scrittura dei bit di controllo temporizzazione della LDR.
Impostazione della numero di cifre decimali da rotella.
Esecuzione delle istruzioni di calcolo.
Conta denti ruota in stampa.
Le operazioni elementari sono:
• Conteggio Crt.
• Confronto registri.
• Somma di bit.
• Somma di digit decimali.
PA, PM, TP e TM
PA, PM e TP, delimitano la parte di registro contenente dati validi. Il criterio di scelta è
presenza di bit TB = 1 contigui.
Questa funzione risolve il problema di registri che durante l’elaborazione possono far
scorrere, shiftare, la loro posizione in linea di ritardo.
PA, PM sono correlati al registro A e M.
TP svolge la stessa funzione logica per il registro selezionato tra quelli in LT (A, M, R, B,
C, D, E, F) .
PA e PM in or originano PO, segnale che spesso determina il cambio stato.
Con i registri deposito splittati che possono contenere due dati numerici, la scelta del dato
indicato dall’istruzione è fatta tramite il flip flop TM.
Il set di TM dipende dal bi HD dell’istruzione:
• HD = 0
Set tramite TA in B sul 24° Crt.
• HD = 1
Set tramite TA in C sul 12° Crt.
TM permane per 1 solo Crt, il suo reset avviene il TA seguente
L a caduta di TM setta TP all’inizio del registro, 1° o 13° Crt.
TP, è set per la parte di registro individuata da HD e con Crt contigui aventi TB=1.
HP
Il flip flop HP indica che è in esecuzione un programma.
Esso è settato da XI (CS * LR * TA * SA \ * NH \ ), segnale che inizia la fase di fetch da
registro programma dell’istruzione da eseguire.
Il reset di HP avviene con l’estrazione, da registro di programma, dell’istruzione S
Istruzione che a seconda della logica del programma, pone lo stesso in attesa
dell’intervento dell’operatore o ne segnala la fine.
===Decodifica codice istruzione===.
P101- Fogli logici. Foglio 3.
Il registro H contiene il codice dell’istruzione in esecuzione, specificamente in:
HA – HC
Codice del registro.
HD
Registro intero (0), splittato (1).
HE – HH
Codice operativo.
Dai codici derivano specifici decodificati hardware di indirizzo e codice operativo.
Decodifica codice indirizzo registro - DX
P101- Fogli logici. Foglio 3.
I decodificati di registro sono 8, la lettera dopo la D è quella del registro.
In ordine binario:
Decodificato
DM
DC
DR
DD
DA
DB
DF
DE
Hex
0
1
2
3
4
5
6
7
HA
0
1
0
1
0
1
0
1
HB
0
0
1
1
0
0
1
1
HC
0
0
0
0
1
1
1
1
Per i soli registri deposito B, C, D, E, F , ponendo il bit HD = 1, si seleziona il registro
indicato in HA – HC, di soli 12 Crt con inizio dal 13° Crt.
I registri aventi HD = 1 sono detti splittati e nei fogli di programmazione sono indicati con
lettere minuscole.
I registri solo programma G ed I, essendo acceduti in sequenza non necessitano di
specifico indirizzo. Dovendo comunque essere distinti per essere utilizzati, si usano i
decodificati DM e DA, rispettivamente per G ed I.
La condivisione dei due decodificati è resa possibile dalle funzioni, tra loro esclusive, che
utilizzano i due tipi di registri.
Da tastiera HD è posto a 1
istruzione.
dal tasto Split (\), inserito tra il tasto indirizzo e quello
Decodifica codice operativo - ZX
P101- Fogli logici. Foglio 3.
I decodificati delle istruzioni sono utilizzati per identificare sia un solo codice operativo
che un insieme di codici operativi.
Un solo codice operativo può attivare più decodificati.
Ad esempio la radice quadrata , codice operativo B Hex, attiva i decodificati:
ZA
ZC
ZK
Calcolo
Moltiplicazione, Divisione, Radice quadrata.
Radice quadrata.
In ordine binario:
Decodificato
ZN
ZG
ZH
ZB
ZE
ZF
ZL
ZK
ZM
Istruzione
S
↓, ↕
↑
+, -
X
<>, *
√
V, W,X,Y
Hex
0
1, 3
2
4, 5
6
7
8, 9
B
C- F
HE
0
X
0
X
0
1
X
1
X
HF
0
0
1
0
1
1
0
1
X
HG
0
0
0
1
1
1
0
0
1
HH
0
0
0
0
0
0
1
1
1
Il codice operativo A Hex non è utilizzato.
ZA si attiva per tutti i codici operativi di calcolo più VX, costante da programma.
ZC si attiva per moltiplicazione, divisione , radice quadrata.
ZO viene attivato per i codici di trasferimento registri, stampa, e ZA * SB * NH \ .
Schema a blocchi
image
Parte 3. Hardware comune
Lettura o scrittura in Linea di Ritardo
L’operazione di lettura o scrittura in LDR, in caso di interazione con tastiera, cartolina e
stampa, utilizza una struttura hardware unica indipendentemente dal contenuto
semantico del dato scambiato (Esempio numero o istruzione).
I segnali di
• AK
• WX
• HN
• VZ
richiesta sono:
Crt da tastiera.
Crt da stampare.
Crt in input o output verso cartolina.
Avvio stampa per risultato calcolo manuale X : e radice.
La struttura si compone di:
• WZ
Or delle richieste.
• PS
Flip flop si sincronizzazione con temporizzazione di Crt.
• NG
Flip flop di abilitazione richiesta.
• NA – NB Coppia di Flip flop di attuazione della richiesta.
Il flip flop PS, sincronizza l’insieme delle richieste asincrone di scambio Crt, rispetto la
temporizzazione di sistema, usando il 1° fronte di TD per il set e di TH per il reset.
Il flip flop NA:
Set con XE:
• TA in R
Tastiera e Cartolina.
• TA in A
Stampa.
Blocca la scrittura del TA in R o A se occorre spostarlo sul Crt seguente.
Abilita la scrittura del Crt nel registro K.
Il reset di NA avviene il TA seguente e con esso si ha il set di NB .
Il flip flop NB:
Scrive il TA in R o A, se occorre sul carattere seguente.
Setta NG impedendo che il ciclo seguente si abbia un nuovo ciclo NA – NB .
Un nuovo ciclo si riavrà solo a seguito di un nuova richiesta di scambio Crt con LDR con
NG reset.
Il diagramma mostra il caso di stampa della cifra 6 in M.
Diagramma Ciclo NA - NB
Il TA di A è sul 1° Crt, esso genera XE che setta NA.
NA blocca la riscrittura del TA in RA.
60La cifra 6 in LM, complementato 9, viene caricata in K per il conteggio successivo coi
denti della ruota fonica.
Il reset di NA setta il flip flop NB .
Il flip flop NB:
Abilita la scrittura del TA in RA ritardato di 1 Crt.
Setta il flip flop NG che bloccando XE impedisce cicli supplementari di NA – NB .
Introduzione dati
La via primaria di introduzione dati è la tastiera.
L’introduzione di dati è permessa solo in SA, stato in cui la tastiera è sbloccata.
Da tastiera si introducono sia i dati per l’utilizzo della P101 come esecutore di singole
istruzioni, che i codici delle istruzioni di un programma da eseguirsi successivamente.
La distinzione tra le diverse modalità è descritta a pagina 36 di questo documento
(Pulsanti Introduzione e Stampa Programma).
Se i dati numerici, sono seguiti da istruzioni di salto o start, si avvia il programma
precedentemente inserito.
Se l’istruzione introdotta è diversa da salto o start, si ha l’esecuzione immediata
dell’istruzione con :
• Stampa dati e istruzione.
• Esecuzione immediata della istruzione.
• Ritorno in SA in attesa nuovo intervento operatore.
Anche con programma introdotto da cartolina, il suo avvio avviene da tastiera con
l’inserimento del codice dell’istruzione tra S, V, W, Y, Z.
I cicli meccanici di tastiera, attivano con i μSwitch di codice, il μSwitch AK avente funzione
di strobe.
Fanno eccezione il 1° ciclo di reset ed i tasti virgola e segno meno che non attivano AK.
I micro AE ed AF codificano con:
• 00 Dato numerico.
• 11 Indirizzo di registro.
• 01 Codice di istruzione.
I micro AA – AD, rappresentano il codice di dato numerico, indirizzo o istruzione. In ogni
caso detto codice viene memorizzato nel registro K (KA – KD).
In Appendice A. Codici da tastiera, si trova il dettaglio dei codici attribuiti ai tasti.
La sequenza degli eventi di gestione è la stessa per ogni tipo di tasto, con:
AK
Strobe del codice.
PS
Strobe sincronizzato alla temporizzazione di Crt.
NG
Assicura 1 solo codice a battuta tasto.
NA
Attivo sul Crt del TA in R.
NB
Attivo sul Crt seguente il TA in R.
Dato numerico
I dati numerici, contraddistinti da AE e AF entrambi a 0, sono memorizzati nel registro
M.
La cifra (digit) è inserita nel Crt seguente quello corrispondente al TA di R.
L’inserimento della 1° cifra numerica con WE ( SA * PS * NM \ * AF \ * CT \), azzera di M
cancellando il numero precedente.
La posizione del puntatore TA in R è indeterminata. Il TA in R, è utilizzato pure come
puntatore dell’istruzione da eseguire, quindi la sua posizione dipende dalla logica di un
eventuale programma.
Durante la fase di introduzione del dato il TA in R, rimane fisso, i Crt inseriti
precedentemente lasciano il posto al nuovo essendo ritardati in blocco da un giro con K
inserito, XD ( CG * LM * ND * WM \ * YD \). Ciò è necessario se si è interrotta
l’esecuzione del programma per introdurre un dato e riavviare il programma dal punto di
interruzione.
La battuta dei tasti segno meno (AM), virgola (AV), clear (AN), viene memorizzata
rispettivamente in NE, NF, NC.
A seguito del tasto di segno meno (AM), SA * NE * PM * TC * CT \, inserisce il bit TC, su
tutti i Crt di M con PM attivo.
Il tasto di segno meno esegue la sua funzione anche se è battuto prima del tasto
istruzione .
Il codice è completato da XG (SA * NB * UH4 * AF \ * CT \), che inserisce tramite UH4
(WM + TB), i bit di servizio TB e TD sull’ultima cifra introdotta.
La virgola rappresentata dal bit TD in WM ( SA * TD * NF \), è bloccata se NF = 1.
WM stesso blocca il TD in XD (CG * LM * ND * WM \ * YD \), via di richiusura tramite K di
M.
Si ottiene che la virgola (TD), accompagna sempre l’ultima cifra battuta sino alla battuta
del tasto di virgola, che attivando NF ne fissa la posizione sulla cifra delle unità.
Si nota che in ogni caso, un numero senza decimali la cifra delle unità ha il TD =1.
Il diagramma presenta l’introduzione di 234,56 e↑, l’operatore dopo aver introdotto 234 erra
battendo il meno (AM), corregge con Clear (AN), termina introducendo correttamente 234,56 e↑.
Diagramma Introduzione dato con tasto Clear.
Il diagramma mostra l’inserzione dell’ultima cifra decimale 6, nel Crt individuato da NB
con il shift relativo delle cifre 234,5 , introdotte precedentemente.
Diagramma Inserzione cifra.
62Il tasto Clear (AN) setta NC e il gate VW (SA * AN * AP \), resetta NE ed NM.
VH (SA * AK * NM \), tasto con NM reset, resetta NF.
Un successivo tasto numerico o istruzione, attivando XW resetta NC.
Diagramma Tasto Clear.
Indirizzo
Un tasto indirizzo attiva entrambi AE ed AF.
La sequenza di eventi di gestione del tasto è uguale a quella dei tasti numerici con la
differenza che AF = 1, indirizzo o istruzione, blocca la scrittura del codice in M.
In alternativa AE abilita XK (SA * AE * NB * TK ), di conseguenza WV, che scrivono il
codice in K col 1° fronte, nei successivi 4 bit in TK, il codice è trasferito in HE – HH.
Si ricorda che in caso di indirizzo M si può omettere la battuta del tasto.
Diagramma Tasto Indirizzo.
La battuta del tasto split, appartenente alla famiglia degli indirizzi ne ripete gli eventi, in
più con (SA * AE * AD * HE * CT \) si ha la richiusura dei 4 bit più significativi di H (HE –
HH), che si sovrappongono al codice del tasto (8).
Oltre alla richiusura il vecchio contenuto (7) viene spostato pure in HA – HD, il risultato
finale sarà F7. Il 7 sarà espulso da H dal codice istruzione.
Diagramma Tasto Split Indirizzo.
Istruzione
Vale quanto detto per l’indirizzo, con XW (SA * AE \ * NB * TK \ * SO \) al posto di XK.
XW scrive il codice istruzione in K col 1° fronte, nei successivi 4 bit in TK /, il codice è
trasferito in HE – HH. L’indirizzo è trasferito in HA – HD.
Risultato finale mostrato nell’esempio è 2F (↑e).
Diagramma Tasto Istruzione.
Esecuzione istruzione singola da tastiera
Nello stato SA, tastiera sbloccata, WL (SA * TA * NM \ * SO \) in TA abilita UC4 la sino
alla battuta del 1° tasto che setta NM. UC4 clock di H lo azzera.
Ogni
•
•
•
•
•
•
battuta di tasto è seguita dalla sequenza:
AK
Strobe da.
AA – AF
Codice da μSwitch tastiera. Appendice A. Codici da tastiera .
PS
Strobe sincrono con temporizzazione Crt.
NG
Settato sul fronte di discesa di PS, Abilita gestione Crt.
NA
Set da TA il R (SA * NG * LR * TA * LR) per un Crt.
NB
Set alla caduta di NA, attivo per il Crt seguente NA.
NA – NB sono utili per l’inserimento in M, del codice numerico nel Crt seguente quello
individuato dal TA in R.
Per i tasti indirizzo o istruzione si utilizza lo stesso dispositivo hardware.
Il tasto indirizzo attiva XK (SA * NB * AE * TK).
XK in NB abilita 4 clock in TK, che caricano l’indirizzo contenuto in K in HE – HH.
La battuta del tasto \ registro splittato, emette un codice indirizzo che attivando XK ne
ripete il ciclo. Il gate SA * AD * AE * HE * CT \ in RH permette la sovrapposizione del bit
TD del tasto \, ai bit introdotti in H dal tasto precedente.
Risultato finale, in HE – HG si ha il codice del registro e in HH il bit di split.
64Il tasto istruzione attiva XW (SA * NB * AE \ * TK \ * SO \) , il quale in NB abilita 4 clock
TE – TH, che caricano l’istruzione contenuta in K in HE – HH , l’indirizzo precedentemente
caricato si sposta nei bit adiacenti HA - HD.
NB a seguito della battuta di un tasto indirizzo o istruzione genera WV (XK + XW).
WV con WV * AF * AE \ , setta NH.
NH con CG * NH * TT \ * SC \, genera YA, quindi MS che chiude SA e blocca la tastiera.
I 4 diagrammi mostrano in sequenza:
• Insieme della battuta dei tasti E, \, √. Radice quadrata di e (Split).
• Tasto E.
• Tasto \.
• Tasto √.
Diagramma Sequenza tasti Indirizzo, Split e Istruzione.
Diagramma Tasto Indirizzo.
Diagramma Tasto Indirizzo splittato.
Diagramma Tasto Istruzione.
Stampa
La stampa viene eseguita dalla sequenza di 3 stati SM, SN ed SS.
L’or di stati SM + SN origina CD che pilota il movimento del carrello.
Il carrello in moto aziona il μSwitch AW il quale è tarato per muoversi durante la parte di
rotella priva di denti.
Il segnale denti di rotella fonica OK, condizionato da AW genera WX, data la
sincronizzazione con AW, il 1° fronte di WX sarà dovuto al 1° dente.
WX, periodo di 33,33 mSec, è posto in ingresso al circuito integratore WZ,
Essendo il numero di denti 17, con una circonferenza che ne permette 24, il tempo in cui
WZ è set sarà:
33,33/24*17 = 23,6 mSec.
Il tempo WZ reset sarà 33,33 – 23, 6 = 9,72 mSec.
• SM
• SN
• SS
Attende l’avvio del carrello AW.
Stampa i simboli istruzione ed indirizzo se diverso da M.
La terza colonna è sempre uno spazio separatore.
Stampa il contenuto del registro selezionato.
Con pulsante Registra Programma attivo, dura un solo giro e non stampa.
Attende che il carrello ritorni a casa.
La caduta di AW segnala la fermata del carrello ed abilita la fine di SS.
Appendice C. Tabella corrispondenza Simboli e Ruota fonica.
La battuta del martello avviene a seguito di una conta dei denti, che termina con un
riporto (>15) che attivo il Crt seguente in TA setta NE.
La condizione di fine conta, in attesa di battuta viene memorizzata in NK.
L’ asincronismo tra rotazione del tamburo e temporizzazione, non esclude la coincidenza
di Gap e riporto che ritarderebbe la battuta.
Onde garantire uniformità di battuta, si introduce un flip flop NC, di sincronismo, azionato
direttamente dal fronte del dente.
Diagramma Stampa di codice 3.
67Considerato che il codice del simbolo da stampare è caricato nel contatore nella forma
complemento a 15 (Inversione binaria):
• Caso codice 3 (0011).
Viene caricato 12 (1100). Il riporto si ha dopo 4 conte e la battuta in
corrispondenza del 5° dente.
• Caso codice 0 (0000).
Viene caricato 15 (1111).
Il riporto si ha dopo 1 conta e la battuta in corrispondenza del 2° dente.
• Caso codice 15 (1111), corrispondente all’istruzione di salto Z.
Viene caricato 0 (0000).
Il riporto si ha dopo 16 conte e la battuta in corrispondenza del 17° dente.
Parte 4 - Istruzioni
Le istruzioni possono essere eseguite in modo manuale, isolatamente, oppure inserite in
un programma precedentemente caricato da tastiera o cartolina.
Durante l’esecuzione delle istruzioni la macchina si pone in uno stato diverso da SA
pertanto la tastiera è bloccata.
Le istruzioni eseguite in manuale, hanno un svolgimento simile a quello atteso da una
comune calcolatrice.
L’istruzione è inserita in SA da tastiera. Tranne che per le istruzioni di stampa, gli stati
esecutivi sono preceduti dagli stati SM, SN, SS, di stampa dell’istruzione e del dato
eventualmente introdotto.
In caso di moltiplicazione, divisione e radice, all’esecuzione dell’istruzione segue la
stampa automatica del risultato.
A fine esecuzione la macchina ritorna in SA ed attende l’intervento dell’operatore.
In esecuzione programma l’istruzione è letta in SP, da un registro programma in cui è
stata inserita precedentemente da tastiera o cartolina, gli stati esecutivi seguono
immediatamente SP.
Le stampe dei registri devono essere comandate da istruzioni specifiche.
A fine esecuzione la macchina ritorna in SP ed estrae l’istruzione seguente.
Trasferimento
Le istruzioni di trasferimento che interessano i registri , sono tre, come da tabella:
Codice Decodificato Descrizione
X↑ X2 ZH Trasferisce M nel registro X
X↓ X1 ZG Trasferisce il registro X in A
X↨ X3 ZG Scambia A con il registro X
La X in tabella indica il registro, intero o splittato, coinvolto nel trasferimento.
Se X non è indicato nell’istruzione, il registro interessato è M.
Gli stati esecutivi delle istruzioni di trasferimento sono:
SB, SC, SD, SE con ritorno in SA se manuale e SP se programma.
Lo stato SB, non ha funzione attiva nelle istruzioni di trasferimento.
Il trasferimento viene attuato in SE, dopo che il contenuto dei registri A e M è stato
allineato in SC o SD, con la cifra meno significativa sul 1° o 13° Crt.
Trasferimento da M
Il gate ( ZH * SE * LM * NH * TA \), nel multiplexer RN, attua il trasferimento di M nei
registri deposito nel 2° ciclo di SE con NH set.
A \↑ e A ↑ sono riservati alla istruzione Costante di programma.
↑ e R↑ non sono utilizzati.
Il diagramma mostra il trasferimento di 3,14 da M in B.
Diagramma. Trasferimento da M.
Nel 2° ciclo di SE, si ha l’attivazione di RN → RB e la scrittura in LDR.
Il ciclo seguente il 3,14 è letto in LB.
La cancellazione del vecchio contenuto del registro si ottiene automaticamente in quanto
la selezione diretta del registro seleziona RN escludendone la richiusura.
Trasferimento in A
L’istruzione X↓, trasferisce il contenuto del registro X nel registro A.
Il trasferimento avviene nel 2° ciclo di SE, NH set.
Il gate ( SE * ZG * NH ) blocca la richiusura di LA su RA, ed origina il segnale WK.
70Con riferimento ai dati da scrivere in A, WK come in X↨, scambio di X con A, abilita il
multiplexer di registri LX in RA.
LX è un multiplexer di registri, oltre M, A, R abilita LN, a sua volta multiplexer dei registri
deposito.
LX contiene l’informazione del registro il cui indirizzo appare nel codice dell’istruzione.
Il diagramma, mostra il trasferimento di M (3,14) in A.
Diagramma. Trasferimento X↓ .Stato SE .
Scambio con A
L’istruzione X↨, scambia il contenuto del registro X con quello di A.
Lo scambio avviene nel 2° ciclo di SE con NH set.
Il gate ( SE * ZG * NH ) blocca la richiusura di LA su RA ed origina il segnale WK.
Con riferimento ai dati da scrivere in A, WK come in X↓, trasferimento in A abilita il
multiplexer di registri LX in RA.
LX abilita LN, a sua volta multiplexer dei registri deposito che contiene l’informazione del
registro il cui indirizzo appare nel codice dell’istruzione.
Con riferimento ai dati da scrivere nel registro deposito, i dati di RN scritti nel registro
selezionato tramite RN, sono forniti da XC ( WK * HF * LA * WA \), con HF che discrimina
tra l’istruzione di Scambio HF = 1 e Trasferimento in A HF = 0.
Nella memorizzazione in LN, tramite MX, si ha l’allineamento dell’informazione dei registri
del 1° banco a quelli del 2° banco.
Il diagramma riporta lo scambio di; B (3,14) con A (6,28). L’allineamento tra registri del
1° banco 1 (B) con quelli del 2° banco (A) tramite il mastro MX che setta LN è reso
evidente ingrandendo il diagramma al 500%.
Diagramma. Scambio X↨ . Stato SE.
Trasferimento di parte decimale
L’istruzione /↨, trasferisce la parte decimale del contenuto di A in M. A resta invariato.
La sequenza di stati esecutivi è quella comune alle istruzioni di trasferimento. Stato di
fetch istruzione, SA o SP, seguito da SB, SC, SD e SE.
L’istruzione /↨ origina DH, il quale forza il decodificato DA, selezione di A, oltre alla
normale selezione di M.
In SE, WK derivato da SE * ZG * NH, abilita UB4 , ZG * DM * VA * NKN, a scrivere il
contenuto della parte decimale di A in M. VA deriva da XC, e quindi contiene A.
Ricordando che l’istruzione di trasferimento ha allineato A sulla cifra meno significativa,
sarà questa la prima ad essere letta in SE.
NK che reset abilita UB4, scrittura di A in M, è resettato in SD da XO, e viene settato da
WB, WK * DM * HD * TD * LA, virgola in A.
Pertanto alla fine del trasferimento in M saranno trasferite tutte le cifre meno significative
e i bit di servizio TD compreso delle unità.
Se in A è contenuto un intero, in M viene trasferito uno 0 con segno.
Il contenuto di A è preservato mediante la forzatura di DA, che bloccato M da DH, abilita
A in LX che in WK riscrive A su se stesso. Si impedisce la scrittura di M in A.
Diagramma Stato SE.
Aritmetiche
Le istruzioni aritmetiche sono eseguite nella sequenza di stati :
SB, SC, SD, SE, SF, SG, SH, SK, SL.
Di cui :
• SB, SC, SD, SE
• SF, SG, SH, SK, SL
Stati preparatori .
Stati esecutivi e di uso esclusivo delle aritmetiche.
In somma, sottrazione, moltiplica e divisione :
• Il 1° termine è specificato nella parte indirizzo del codice, bit TA-TC.
• Il 2° termine dell’operazione è sempre implicito ed è il registro A.
In radice, il termine unico indicato dalla parte indirizzo del codice istruzione, viene
trasferito in A.
Se non si specifica alcun registro, bit TA – TC a 0, di default, come 1° termine viene
selezionato il registro M.
Il registro A, ha la funzione di accumulatore, registro che memorizza il risultato delle
somme binarie prodotte dai cicli elementari SF – SK.
Il registro R, svolge la funzione di registro di appoggio durante il calcolo.
La complessità della radice quadrata richiede un raddoppio del ciclo SF – SK.
In SK avviene lo scambio tra A ed M, alla fine del doppio ciclo l’informazione logica in A
ed M è ripristinata.
Stati preparatori aritmetiche
Stato SB
Lo stato SB è di 2 cicli di LDR . La distinzione tra i due cicli è data da NH settato da TT al
termine del 1° ciclo.
In SB avviene il trasferimento del registro indicato nell’indirizzo dell’istruzione, se radice
quadrata in A, per le altre istruzioni di calcolo in M.
Il gate ZA * SB * NH \ , durante il 1° ciclo cancella il contenuto di M.
Lo stesso gate, se informazione (LN) in TM (24° Crt), pone la condizione di errore, set di
ER tramite ZO, con SB * ZO * TM * LN * DR \.
Il gate ZA * SB * LX * ZK \ * VX \ scrive in M, il registro selezionato posto in LX, tranne
che in radice quadrata.
Se radice quadrata, il gate ZK * SB * NH * TR * (TB + TD + TE), scrive in M, 1 con
virgola.
Il gate ZK * SB * NH \, in radice cancella A nel 1° ciclo.
WA ( ZK * SB ), forza WK che in WK * LX * ( DA * TC * HD \ ) \ , scrive in A, il registro
selezionato contenente il radicando.
Stati SC, SD
Per la descrizione degli stati SC e SD si rinvia al paragrafo “Elenco Stati e loro funzione” a
pagina 27 di questo documento.
Stato SE
Lo stato SE è di 2 cicli di LDR.
Durante il 1° ciclo NH = 0, avviene la conta che posiziona il TA in A, individuante la cifra
decimale impostata nella rotella decimali. La conta si ottiene connettendo il sommatore al
registro K, che a sua volta ricicla sul sommatore tramite XM.
L’incremento alla conta ogni Crt è dato da NE, 3° ingresso del sommatore.
A negativo è memorizzato in NK da ZA * SE * LA * TC .
Il segno discorde in A ed M, è memorizzato in NL da ZA * SE * PA * PM * Rete confronto
dei segni di A ed M.
Dati gli elementi di partenza:
• Registro di 24 Crt.
• Riferimento di inizio conta dato dalla virgola del registro A.
• Valore massimo impostabile su rotella di 15.
• Supporto alla conta digit KE – KH, 4 bit del registro K.
Ne segue che la conta deve essere divisa in due parti :
1° Parte
Conta di 8, mediante preset di 8 del registro K.
2° Parte
Conta del complemento a 15 del valore nella rotella.
1° parte della conta.
XV ( SE * ZA * TD * LA ), virgola in A, origina WF che setta NG, abilitazione alla conta.
WF presetta KE in TD, equivalente di KH in TA, cioè 8.
Il gate SE * TE * NG * MM, setta NE ogni Crt fornendo l’incremento di 1.
XT ( SE * NG * NE * TB) segnala riporto di cifra ( NE * TB ), setta NF e imposta il
complemento della rotella (UD1 – UD4) in KC – KF.
2° parte della conta.
WD ( SE * NF * NE * TA), riporto di cifra durante NF, 2° parte di conta, scrive il
riferimento TA in A e con il reset di NG pone fine alla conta.
L’esempio nel diagramma, pone in M 3,14 e in A 21,7. I registri sono entrambi allineati
con la 1° cifra significativa nel 1° Crt dopo il gap, istruzione di divisione.
Il TA in A, con la rotella impostata su 2, è scritto sul 22° Crt della LDR.
Diagramma Stato SE. Impostazione decimali.
75In radice quadrata, durante SE avviene il controllo sul numero di cifre significative dopo la
virgola.
Se pari, ricordando che l’allineamento di A è avvenuto sul 1° Crt significativo, occorre
ritardare A di una ulteriore cifra, in quanto l’algoritmo di radice in questo caso, opera a
partire da una coppia di cifre.
Il controllo sulla parità del numero di cifre che seguono la virgola in A è fatto da un riciclo
NA – NB - NA ... per il periodo in cui vi sono cifre valide in A (PA = 1).
Ogni ciclo NA – NB dura una coppia di Crt.
Il Set di NA è iniziato da XV, virgola (TD) in A, nel 2° ciclo di SE (NH = 1).
Il riciclo di NB su NA è attuato da ZK * SE * NB abilitato da PA, cifre valide in A. NA
quindi è set durante le cifre dispari.
TM, è posizionato sulla cifra che precede la più significativa o quella con virgola, su cui è
avvenuto l’allineamento, quindi se NA è set durante TM il numero di cifre che seguono la
virgola è pari.
Questa condizione ZK * SE * TM * NA * TE setta NC che nello stato seguente SF,
provocherà un ritardo ulteriore di 1 Crt di A.
Il diagramma seguente, mostra il controllo di cifra pari con radice di 1234,7 trasferito da
registro splittato. L’allineamento è quindi con TM sul 12° Crt.
Diagramma Stato SE. Radice cifra pari.
Stati esecutivi SF, SG, SH, SK, SL
CH, or degli stati da SF a SK, abilita la riscrittura del TA nei registri A, M, R, quando
questi sono connessi al registro K, tramite (CH * KA * TA).
Il sommatore connesso ai registri A, M e R, viene utilizzato per operazioni di calcolo o
conta. Dispone di 3 ingressi:
• XA
1° Termine dell’operazione di calcolo. Non operativo in conta.
• XM
2° Termine dell’operazione di calcolo o dato da incrementare in conta.
• NE
Riporto del calcolo o incremento di 1 se operazione di conta.
76L’hardware è capace di due tipi di operazioni, somma o sottrazione binarie.
Quale operazione compia, è dato dalla rete logica VB:
VB = 1 indica operazione di somma binaria, si verifica nei casi di:
• Somma (+) e segni di A ed M concordi.
• Sottrazione (-) e segni di A ed M discordi.
• Moltiplicazione.
• Divisione e radice in stato SK e nuova cifra (NM = 1).
• Radice e 2° Ciclo SF - SK (NL = 1).
Per esclusione negli altri casi, VB = 0, si ha sottrazione binaria.
•
•
VB = 1
Somma M ad A.
Il riporto di cifra si ha se il digit risultante, bit TE - TH, è > 9.
VB = 0
Sottrazione, somma il minore tra A e M al complemento del maggiore.
Il riporto di cifra si ha se il digit risultante, bit TE - TH, è > 15.
Il risultato finale è sempre complementato
Le cifre che hanno avuto riporto sono corrette mediante la somma di 6.
Esse sono indicate dal bit TA, del Crt corrispondente, di M a 1.
Il complemento a 15 si ottiene utilizzando il segnale negato per i soli Crt validi, il campo
di validità è definito da PM, PA o PO.
Il complemento del risultato, VB=0, avviene per i Crt entro PA e per i soli bit di cifra TE –
TH (TK=0).
Da quanto esposto il calcolo richiede tipicamente 5 operazioni che sono compiute negli
stati esclusivi delle istruzioni aritmetiche :
SF
Confronto fra i 2 termini del calcolo.
SG
Conta dei cicli di calcolo.
SH
Operazione di somma o sottrazione.
SK
Correzione del risultato parziale del calcolo.
SL
Formattazione del risultato finale del calcolo.
Le operazioni di calcolo richiedono, oltre al sommatore, un registro hardware (K) per:
• Allineamento su cifra successiva.
• Scrittura del bit TA marcatore della cifra da correggere.
• Operazioni di conta Crt.
Dato che l’informazione proviene da un registro, l’inserimento del registro K comporta il
ritardo di quella informazione di 1 Crt rispetto gli altri registri per ogni giro di LDR a
registro K connesso.
Pertanto nel caso di calcolo per non perdere l’allineamento delle cifre contenute in A, M e
R, i 3 registri ogni ciclo SF – SK, subiscono un ritardo di 1 Crt.
Questo determina lo scorrimento dei registri A, M, R rispetto tutti gli altri di 1 Crt per ogni
ciclo.
Tipicamente
• SG
• SH
• SK
il registro K è connesso in:
al registro R.
al registro A.
al registro M.
Nel caso di esaurimento della cifra durante il calcolo, il posizionamento sulla cifra
seguente si ottiene ritardando A ed R non M.
Connessione Sommatore, Registro K e registri A, M, R
Stato SF
In SF si esegue il confronto tra M ed A, tramite la somma tra M e il complemento di A.
In radice se nello stato SE, la presenza di un numero di cifre pari intere ha settato NC, il
confronto si esegue con KA, A ritardato di 1 Crt, negato.
In questo caso, radice e cifra pari, in A si scrive l’informazione ritardata di KA.
La condizione di A>M è data da riporto che si estende oltre la cifra più significativa, se VB
= 0, SF * NE * NM \ * VB \ , setta NM.
Il gate NL * ZK, 2° ciclo in radice, blocca l’ingresso XM, dato che in questo caso non è
previsto confronto.
In SF non si effettua alcun shift di registro oltre che il caso descritto di radice.
Stato SG
In SG avviene la conta dei cicli SF – SK con il registro R come contatore.
XM è il tramite di R nel sommatore, mentre XA è mantenuto a 0.
L’incremento di R si ottiene in:
a)
Moltiplicazione e divisione, sul Crt di R corrispondente alla virgola in M se in SF
non si è settato NM, condizione di fine calcolo su cifra.
b)
Radice quadrata, nel 2° ciclo (NL) con il TB in A. Ricordo che nel 2° ciclo A
essendo stata scambiato con M, ha attivo solo il TB della cifra meno
significativa.
Essendo in radice l’incremento condizionato da CH, esso si verifica anche in SH
e SK.
ZC è bloccato da ZK * SG, impedendo l’incremento sulla virgola di M nel 1° ciclo di radice.
Onde mantenere l’allineamento con A e M, R è comunque connesso a K prima di
richiudersi sulla LDR.
In moltiplicazione il riporto di cifra WP ( SG * NE * TA), setta NM indicando esaurimento
del ciclo di somme per la cifra considerata ed il passaggio alla seguente.
Stato SH
78SH somma algebricamente M ad A, con il risultato che si richiude su A tramite K.
In sottrazione algebrica VB=0, se A>M (NM=0), si complementa A sull’ingresso XA. Se
M>A (NM=1), si complementa M sull’ingresso XM.
L’incremento di 1 di M, nel 2° ciclo di radice si ottiene con:
XM = 0
Bloccando LM con ZK * NL .
XA = A
Logicamente M per effetto dello scambio in SK con A.
NE = 1
Set con ZK * NL * CH * LA * TB * MT .
In ingresso di K si copiano i bit di servizio (TK) di A tranne TC.
Se riporto SH * NE *TB * ZK \ scrive un TB aggiuntivo.
In uscita di K, si invalida la cifra se digit KE – KH = 0, ponendo TB = 0.
In caso di riporto di cifra, SH * NE * TA scrive in M un TA , segnale per la correzione in
SK della cifra corrispondente di A .
Essendo il TA quello seguente il Crt che ha generato il riporto, se A è ritardato, il Crt con
TA in M e Crt da correggere in A corrispondono.
Richiudendosi K su RA, A funziona da registro accumulatore e viene ritardato di 1 Crt.
Diagramma Stato SH . Somma 765,432 + 234,679.
Stato SK
In SK
•
•
•
si:
Correggono le cifre con riporto segnalate da TA in M.
Ritarda M riallineandolo ad A e R.
In radice
2° ciclo, somma 1 ad M usando lo stesso meccanismo di SH .
Scambio A con M in entrambi i cicli.
Diagramma Stato SK . Somma 765,432 + 234,679.
Correzione per riporto, VY (CH * LM *TA), setta NB, abilitando SK * NB * TE \ * TH \ (6)
in ingresso XM del sommatore.
WR (ZK * SK * NM \) genera XX, istruzione di radice e no esaurimento cifra NM \.
XX abilita SK * XX * KA che richiudendo M su A completa lo scambio di A con M.
WR agisce da switch, abilitando con il suo diritto VK (SK * XX * VS * TA \) la richiusura
del sommatore su M.
WR, con il negato, abilita la scrittura in M dell’uscita del registro K contenente M
effettuando lo shift di M.
VS tramite della richiusura del sommatore contiene:
• Se VB = 1
XS segnale di somma.
• Se VB = 0
XS \ segnale di somma invertito durante PA e per TE – TH.
• A
Per i bit TA – TD.
Dopo gli stati SH e SK a completamento dell’esempio di somma onde poter verificare
l’esito si presenta il diagramma dello stato SL.
Diagramma Stato SL . Somma 765,432 + 234,679 = 1000,111 .
A fine calcolo:
• A
Contiene il risultato formattato con i decimali impostati nella rotella.
• R
Contiene il risultato non formattato.
Addizione e sottrazione
L’istruzione di somma ha codice X4, la sottrazione ha codice X5.
L’operazione eseguita dipende dalla combinazione di istruzione e segno dei termini, quindi
somma e sottrazione hanno un decodificato unico ZB, oltre ZA che è comune a tutte le
istruzioni aritmetiche.
Il registro A accumulatore implicito, contiene inizialmente il 1° termine.
Il 2° termine è contenuto nel registro il cui indirizzo compare nel codice istruzione.
Nello stato SB il registro contenente il 2° termine è trasferito in M.
I due termini interessati nell’istruzione, contenuti in M ed A, sono allineati sulla virgola in
corrispondenza del Crt seguente TM. Il TM corrisponde al 24° Crt se registro intero, al 12°
Crt se registro splittato.
L’allineamento avviene negli stati SC per M e SD per A.
VB è il segnale che determina se si esegue una somma o sottrazione.
VB è prodotto dalla combinazione di:
• Istruzione.
• Segno del dato nel registro A.
• Concordanza o meno di segno tra registri A ed M.
VB = 1, indica somma binaria del contenuto di M al contenuto di A.
Se VB = 0, la sottrazione binaria avviene sommando il dato minore tra A ed M,
complementato a 15, al maggiore dei due.
Il risultato è ottenuto dal complemento a 15 del contenuto di A .
Il dato è complementato per la durata di PO or di PM e PA.
Con somma binaria, il riporto si ha per >10 decimale.
Con sottrazione binaria, il riporto si ha per >15 decimale.
L’istruzione si compie in un solo ciclo SF – SK, essa viene completata con SL.
Il totale dei 5 stati è di 5 giri di LDR.
In caso di somma binaria, VB = 1 si ha:
• SF
Non operativo.
• SG
Non operativo in istruzioni di somma e sottrazione.
• SH
Somma di M in A.
• SK
Correzione delle cifre >9 con la somma di 6.
• SL
Formattazione del risultato in A.
In caso di sottrazione binaria, VB = 0 si ha:
• SF
Confronto dato dalla sottrazione M – A.
Se A < M, si ha riporto NE=1 oltre la cifra più significativa e set di NM.
• SG
Non operativo in istruzioni di somma e sottrazione.
• SH
Somma del complemento del dato maggiore al dato minore.
• SK
Correzione delle cifre >15 con la somma di 6 .
Complemento dell’uscita sommatore.
• SL
Formattazione del risultato in A.
In caso sottrazione binaria se:
• M < A NM = 0
In SH è complementato A.
• M > A NM = 1
In SH è complementato M.
81Il registro R non viene interessato durante il ciclo di calcolo SF _ SK.
Il risultato completo viene trasferito in R, durante lo stato SL dal gate ,
LA * ( VD + SL + XL) * VD \ * TA \.
Il segno viene completato da VA in SL * PA * VA * ZF \ * ZK \.
A termine istruzione i registri A, M, R si ritrovano ancora allineati sulla virgola ma questa
è spostata dal 1° al 2° Crt.
I diagrammi seguenti si riferiscono alla somma 234,679 (A)+ (-765,432) (M).
Stato SF
Lo stato definisce in caso di sottrazione (VB = 0), se A < M.
Il confronto avviene per sottrazione del complemento di A in XA, ad M in XM. In caso di A
< M, il riporto di cifra si estende oltre la cifra più significativa e si ha il set di NM tramite il
gate SF * NE * VB \ * PO \.
Diagramma Stato SF. Somma 234,679 (A)+ (-765,432) (M)
Stato SG
In somma e sottrazione lo stato SG viene eseguito senza aver nessun effetto sulla
esecuzione della istruzione.
Stato SH
Lo stato SH esegue l’operazione determinata dallo stato di VB e NM.
Se VB = 1 si ha la somma con :
• XA
A diritto
• XM
M diritto
Il riporto di cifra si ha per >9.
SH * VC * LA .
CE * LM * (ZK * NL) \ * NM \ .
Se VB = 0 e NM = 0 ( A>M), si somma ad M il complemento di A, con:
• XA
A complementato
SH * PO * LA \ * VB \ * NM \ .
• XM
M diritto
CE * LM * (ZK * NL) \ * NM \ .
Se VB = 0 e NM = 1 ( A<M), si somma ad A il complemento di M, con:
• XA
A diritto
SH * VC * LA .
• XM
M complementato SH * ZB * PO * LM \ * NM .
Se VB = 0, il riporto di cifra si ha per >15.
Diagramma Stato SH . Somma 234,679 (A)+ (-765,432) (M)
Stato SK
Stato di correzione delle cifre che in SH hanno segnalato riporto con il set del TA di M
nella cifra corrispondente.
La somma di correzione avviene con:
XA
XM
A diritto
Digit 6
SK * LA .
SK * NB * ( TE + TH ) \ .
VY (CH * LM * TA), TA in M, setta NB .
83Diagramma Stato SK. Somma 234,679 (A)+ (-765,432) (M)
Stato SL
SL compie il trasferimento del risultato intero da A ad R. Il contenuto di A viene
normalizzato con il numero di cifre della rotella decimali e l’aggiunta eventuale del segno
meno.
Il diagramma mostra :
•
•
•
Il trasferimento in R del risultato nel registro A con tutti i decimali, tramite il gate
LA * ( SL + XL ) * TA \ .
La normalizzazione su 2 decimali del risultato in A.
Il gate SL * NC \ , blocca la richiusura di A sino al set di NC, lettura del TA in A,
gate SL * LA * TA * MS \ .
L’inserimento del bit TC, segno meno, tramite VA (ZC * NL * TC) in :
A
con SL * PA * VA * NC .
R
con SL * PA * VA * ZF \ * ZK \.
Diagramma Stato SL . Somma 234,679 (A)+ (-765,432) (M)
Esempio 1. (table)
Somma con segno concorde. VB=1 :
-6,5 (M) + - 3,7 (A) = -10,2 (A)
Stato Segnale Cifra
Rip Cifra
SH
XM
1010
0110
XA
1110
1100
NE
0111
1111
XS
0011 >9 0101
XR
1111
1111
SK
XM
0110
0110
XA
0011
0101
NE
0001
0011
XS
0100
0000
XR
0011
0000
VS
0100
0000
Rip.
>9
Cifra
Rip
Descrizione
1000
1000
0000
0000
1000
0000
1000
1000
1000
+6 se riporto di cifra
Risultato
Risultato finale
Esempio 2. Sottrazione con segno concorde. VB=0 e A>M : (table)
6 (M) – 14 (A) =
Stato Segnale
SH
XM
XA
NE
XS
XR
SK
XM
XA
NE
XS
XR
VS
Esempio 3. (table)
8 (A)
Cifra
0110
1101
0011
1000
0111
0110
1000
0000
1110
0000
0001
Rip.
Cifra
0000
0111
1000
1111
>15 0000
0000
1111
0000
1111
0000
0000
Rip.
Cifra
Rip.
Descrizione
Complemento di A
+6 se riporto di cifra
Risultato
Risultato finale
Sottrazione con segno concorde. VB=0 e A<M :
14 (M) – 10,9 (A) = 3,1 (A)
Stato Segnale Cifra Rip.
SH
XM
1111
XA
1001
NE
0111
XS
0001
XR
1111 >15
SK
XM
0110
XA
0001
NE
0000
XS
0111
XR
0000
VS
1000
Cifra
1101
0000
1110
0011
1100
0000
0011
0000
0011
1100
Rip.
Cifra
0111
1000
0000
1111
0000
0000
1111
0000
1111
0000
0000
Rip.
Descrizione
Complemento di M
+6 se riporto di cifra
Risultato
Risultato finale
In SH, se NM=0 (M>A), viene complementato M altrimenti A.
In SK il riporto di cifra non viene considerato.
Schema a blocchi algoritmo somma algebrica. (img)
Moltiplicazione
L’istruzione di moltiplicazione ha codice X6, X indica il registro del moltiplicando.
Il registro A accumulatore implicito, contiene inizialmente il moltiplicatore.
La moltiplica consiste in una ciclo di addizioni di M nell’accumulatore A..
Il numero di cicli è pari alla somma del valore delle cifre del moltiplicatore, numero
contenuto in A all’inizio dell’istruzione.
Il registro R, caricato con il complemento del moltiplicatore, funziona da contatore dei cicli
di somma.
Il riporto per >15 di R, set di NM, indica esaurimento della cifra attuale, R = 0, con il
passaggio alla cifra seguente del moltiplicatore contenuto in R.
L’ annullamento del contenuto di tutte le cifre del moltiplicatore in R, ossia esaurimento di
tutte le cifre del moltiplicatore, procura il mancato reset di NF, causa della fine dei cicli di
calcolo.
Ricordando che ogni ciclo di calcolo, SF – SK comporta un ritardo di 1 Crt di A, M, R, con
la fine ciclo su cifra, viene bloccato il ritardo di M, ottenendo l’avanzamento relativo del
moltiplicando rispetto accumulatore (A) e contatore di cicli (R).
In moltiplicazione e divisione , si utilizza la virgola di M per individuare il Crt di R da
incrementare di 1 ad ogni ciclo SF - SK.
In moltiplica l’incremento di R, avviene sul complemento del moltiplicatore. Il riporto
determina la fine del processo della cifra ed il passaggio alla successiva
Stati preparatori
Nello stato SB, descritto tra le operazioni comuni a tutte le istruzioni, avviene l’eventuale
trasferimento del moltiplicando in M.
In SC, M moltiplicando, viene allineato sulla virgola.
In SD, A moltiplicatore, viene allineato sulla cifra più significativa.
In SE, viene scritto il TA in A indicante ultima cifra decimale del risultato.
I particolari sono descritti con le operazioni comuni a tutte le istruzioni.
VD ( SE * ZF * NH * TK \), blocca la riscrittura di A per i bit TE – TH, abilitando nel
contempo la loro scrittura invertita in R.
NK viene settato se A ha segno negativo.
NL viene settato se M ed A hanno segno discorde.
87Diagramma. Moltiplicazione SE.
Il diagramma evidenzia la conta a partire dalla virgola di A per l’inserimento del TA in A
che indica l’ultima cifra decimale del risultato formattato.
Diagramma SE Inizializzazione di A e R.
Il diagramma permette la verifica di:
• Allineamenti di A e M.
• Trasferimento del moltiplicatore in R complementato a 15.
• Azzeramento bit TE – TH di A.
Diagramma SF. Stato iniziale registri di 765,432 (A) x 234,679 (M).
Il ciclo SF, SG, SH, SK viene eseguito un numero di volte pari alla somma del contenuto
delle cifre del moltiplicatore.
Diagramma 234,679 (M) x 765,432 (A) . Cicli di stati.
Il diagramma permette una verifica del numero di cicli SF – SK necessari all’esecuzione
della moltiplicazione in esempio. Dato che:
88•
La condizione di fine cifra NM permette la conta delle cifre del moltiplicatore che
nel nostro esempio è 6.
• La conta dei cicli non in NM fornisce il valore della cifra che sempre nell’esempio in
sequenza è 765432.
In moltiplicazione il decodificato ZF forza VB = 1, somma algebrica, per tutta l’istruzione.
Stato SF
SF non produce informazione utile in moltiplicazione, lo stato è mantenuto nel ciclo per
evitare hardware aggiuntivo.
Stato SG
SG , in corrispondenza del Crt con virgola in M, somma 1 al contenuto di R.
Il riporto su 15 di R, con la cifra a 0 pone fine ciclo settando NM.
Si osserva che in R si trova il moltiplicatore, quindi il calcolo inizia con la cifra più
significativa del moltiplicatore,
Se la cifra è l’ultima, R ha tutti i caratteri con i bit TE – TH a zero, si ha la condizione di
fine calcolo.
Diagramma Stato SG finale.
Il diagramma mostra l’azzeramento del moltiplicatore in R, il risultato finale in A, il
moltiplicando in M ed il set di NM fine cifra che con R = 0 diventa fine calcolo.
Stato SH
SH, con NM a zero esegue la somma tra A (XA) e M (XM).
Se cifra con riporto, si scrive il TA in M del Crt seguente. Dato che in SG, A è richiuso su K
il TA in M è allineato con la cifra in A che ha causato il riporto.
Diagramma Stato SH 2° Ciclo 234,679 (M) x 765,432 (A) .
89Il diagramma mostra in A 234,679, frutto del 1° ciclo di somma con M.
Si osserva l’effetto del ritardo di R di 1 Crt in SG e l’analogo su A nel segnale di riciclo RA.
Stato SK
SK, ciclo di correzione con somma di 6 per le cifre con TA in M ad 1.
Se riporto di cifra (NM=1), non viene fatto il normale shift tramite K, pertanto M a fine
ciclo risulta anticipato di una cifra rispetto A ed R. Moltiplica per 10.
Se in R i bit TE – TH sono tutti nulli non si resetta NF, condizione di fine operazione.
Diagramma Stato SK 2° Ciclo 234,679 (M) x 765,432 (A) .
Il diagramma mostra i 6 di correzione (NE) in corrispondenza del Crt con TA di M.
La virgola in RM che si trova sul 3° Crt, evidenzia che il ritardo di M ricompone
l’allineamento dei registri R, A, M dopo che tutti e 3 sono stati ritardati di 2 Crt, 1 Crt per
ciclo di calcolo.
Stato SL
SL compie il trasferimento del risultato intero da A ad R. Il contenuto di A viene
normalizzato con il numero di cifre della rotella decimali e l’aggiunta eventuale del segno
meno.
In SL, se in modo manuale, si attiva VZ che forza la stampa del risultato, prima del
ritorno in SA.
Diagramma. Moltiplicazione SL.
90Il diagramma mostra :
• Il trasferimento in R del risultato in A con tutti i decimali.
• La normalizzazione su 2 decimali del risultato in A.
• VZ ( SL * ZC * HP \) che in manuale, tramite il set di NK, forza nel registro H il
codice 84, istruzione di stampa A contenete il risultato.
Schema a blocchi algoritmo moltiplicazione
Divisione
L’istruzione di divisione ha codice X7, X indica il registro del divisore.
Il registro A accumulatore implicito, contiene il dividendo.
La divisione consiste in una ciclo di sottrazioni di M dall’accumulatore A.
Il numero di cicli per ogni cifra del divisore dipende dal valore di A e M, il passaggio a
nuova cifra si ha con A < M.
L’allineamento avviene sulla cifra più significativa dei 2 registri, quindi se il numero di
cifre intere è diverso, i 2 numeri, in partenza non sono allineati sulla virgola ed i confronti
non considerano la virgola.
Per ogni calcolo di cifra a fine ciclo, si ha l’arretramento relativo dell’accumulatore A ,
dividendo, rispetto il divisore M. ciò corrisponde a una moltiplicazione per 10 del
dividendo.
VB in divisione durante i cicli di sottrazione è a 0.
VB = 1, si ha solo in SK * ZC * NM, stato SK e fine ciclo calcolo cifra.
Con NM = 1, fine ciclo calcolo cifra, il sommatore non opera e si ritardano A ed R di 1 Crt
rispetto il divisore contenuto in M.
Il registro R funziona da contatore dei cicli di sottrazione. Per ogni cifra, a fine ciclo cifra
anche il registro R viene ritardato di 1 Crt rispetto M. Si ottiene il passaggio al calcolo
della cifra seguente.
La cifra di R, agente come indicatore del Crt contatore di cicli di sottrazione, è quella
corrispondente alla virgola in M.
La fine del calcolo è data dalla corrispondenza sullo stesso Crt del TA in A, indicante
l’ultima cifra decimale , con il Crt di M contenente la virgola.
Il diagramma mostra la sequenza degli stati esecutivi a partire da SD, compresa la
stampa forzata da VZ del risultato.
Si nota che la conta dei cicli SF – SK, esclusi quelli in NM, anticipa il risultato.
Diagramma Ciclo SF – SH e Stampa risultato -765,432 : 23,4679 = -32,61.
Stati preparatori
Gli stati preparatori eseguono operazioni descritte tra le comuni a tutte le istruzioni.
Nello stato SB, si trasferisce il divisore in M.
In SC viene allineato M, in SD A , entrambi sulla cifra più significativa.
In SE, WD scrive il TA in A, indicante ultima cifra decimale del risultato.
93NK viene settato se A ha segno negativo.
NL viene settato se M ed A hanno segno discorde.
Il diagramma mostra lo stato SE con la conta per la scrittura del TA in A sull’ultima cifra
decimale.
L’allineamento di A ed M, ha portato la loro cifra più significativa sul 1° Crt dopo il gap.
Diagramma Stato SE.
Stato SF
SF verifica se A > M, in caso opposto, A < M, si ha il set di NM.
NF se set a fine stato indica fine del calcolo, verificando che il Crt con la virgola in M
anticipa il Crt con il TA in A :
• SF * ZF * PO * TA * LA TA in A indicante ultimo decimale, setta NF.
• SF * ZF * LM * TD
Virgola in M resetta NF.
Se la virgola di M non precede il TA in A, NF viene resettato, il calcolo continua con una
nuova cifra.
Se la virgola di M precede il TA in A, NF resta set, il calcolo termina con il passaggio da SF
a SL .
Diagramma Stato SF. Fine 1° Ciclo. Set NM. A = 61395 M = 234679 . A < M.
Il diagramma precedente, mostra lo stato SF al termine del 1° ciclo SF – SK.
Il set di NM avviene con: A = 61,395 e M = 23,4679. L’esito del confronto, A<M, è
dovuto al fatto che l’inizio del ciclo di sottrazioni, vedeva le centinaia di A corrispondenti
alle decine di M. Nel computo la virgola non è considerata.
NF settato dal TA in A e resettato dalla virgola TD in M, indica che il ciclo SF – SK essendo
NM = 1, continua con una nuova cifra.
Stato SG
94SG , con NM = 0 , in corrispondenza del Crt con virgola in M, somma 1 al contenuto di
R, sino a quando A si mantiene maggiore di M.
Indipendentemente da NM si ha il ritardo di 1 Crt tramite riciclo di R su K.
Stato SH
In SH, con NM = 0 si ha il 1° passo di sottrazione di M da A, con somma di M al
complemento di A.
Indipendentemente da NM si ha il ritardo di 1 Crt tramite riciclo di A su K.
Il riporto di cifra si ha nel solo caso di >15.
Diagramma Stato SH . Ultimo ciclo
=Stato SK
SK, con NM = 0, si ha un ciclo di correzione per tutti i Crt in A che sono in corrispondenza
con un Crt in M con TA = 1.
Se riporto di cifra (NM=1), non viene fatto il normale shift tramite K, pertanto M a fine
ciclo risulta anticipato di una cifra rispetto A ed R. Moltiplica per 10.
Diagramma Stato SK . Ultimo ciclo di correzione.
Il diagramma seguente mostra lo stato dei registri durante lo stato SF finale del ciclo di
calcolo.
Il contenuto di R, 3261 anticipa il risultato. In A, 143781 il resto.
La virgola in entrambi i registri verrà posta in SL.
NF è set in quanto la virgola in M anticipando il TA in A non lo resetta.
Diagramma Stato SF finale. A = 143781 Resto. R = 3261 Virgola.
Stato SL
In SL, avviene lo scambio dei registri A ed R.
Lo scambio porta il risultato intero in A ed il resto in R.
Il contenuto di A viene normalizzato con l’aggiunta eventuale del segno meno.
In SL, se in modo manuale, si attiva VZ che forza la stampa del risultato, prima del
ritorno in SA.
Il diagramma presenta la scrittura formalizzata con segno e virgola nei registri :
A
Risultato
-32,61.
R
Resto
0,143781.
Diagramma Stato SL finale. A = -32,61 Risultato. R = 0,143781 Resto.
Schema a blocchi algoritmo divisione
Radice quadrata
Radice quadrata scolastica
Per facilitare la comprensione dell’algoritmo della radice quadrata si riporta come esempio
la radice di 2, svolta sino al 4° decimale.
L’algoritmo scolastico ha molti punti in comune con quello utilizzato dalla P101.
Se il numero di cifre prima della virgola è dispari si inizia con la prima cifra, se pari con la
prima coppia di cifre.
Nell’esempio radice di 2 si ha:
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
I passi g e
Radice della cifra (1), coppia se numero con nr di cifre intere pari.
Sottrazione 2 – 1 = 1.
Abbassamento della coppia successiva. Nel nostro caso 00.
Sdoppiamento della coppia, con la 1° connessa a risultato sottrazione.
Si raddoppia il risultato. Nell’esempio 1 diventa 2. Si esegue 10 : 2 = 5.
Si aggiunge a 2 il 5.
Prodotto 25 X 5 = 125, cifra scartata perché > 100.
Riduzione della cifra, 5 diventa 4.
Prodotto 24 X 4 = 96 cifra accettata perché < 100.
Sottrazione 100 – 94 = 4 ... ripetizione da c) sino a nr decimali voluto.
h, originano un ciclo se il prodotto continua a essere >.
Si ricorda che per n >1, n 2 è dato dalla somma dei primi n termini della serie :
1, 3, 5, 7, 9 .... ottenuta a partire da 1, sommando 2 al termine precedente.
2 2 = 4, somma dei primi 2 termini (1+3=4).
3 2 = 9, somma dei primi 3 termini (4+5=9). .
4 2 = 16, somma dei primi 4 termini (9+7=16).
5 2 = 25, somma dei primi 5 termini (16+9=25).
Ecc ..
Radice quadrata nella Programma 101
L’estrazione di radice quadrata, è concepita come sottrazione ciclica, al radicando si
sottrae un valore che parte da 1 ed è incrementato di 2 ogni ciclo successivo.
Il registro A contiene il minuendo (radicando), M il sottraendo, R il numero di cicli di
sottrazione (risultato).
La fase di preparazione in SB ponendo in A il radicando, M = 1 e R = 0, imposta le
condizioni iniziali per la serie di sottrazioni.
La cifra 1 è posta in SB da (ZK *SB * TR * NH * ( TB + TD + TE), corredata da TB e TD,
cifra valida e virgola. Essa rimarrà per tutto il calcolo come unica cifra con TB, quindi il PM
sarà set solo in corrispondenza di questa cifra.
In SC e SD avviene l’allineamento sulla cifra più significativa di M e A.
In SE viene scritto in A il TA sul Crt che precede la virgola del numero di decimali
impostato nella rotella.
In SF del 1° ciclo, se le cifre del radicando che precedono la virgola sono pari, A viene
ritardato di 1 Crt , M che contiene il sottraendo si trova allineato con la 2° cifra di A,
quindi le successive operazioni operano sulla coppia.
L’algoritmo nella fase esecutiva, stati SF – SK, prevede:
Confronto A con M
se:
• Positivo ( A > M )
A = A–M.
M = M+2.
R = R+1.
• Negativo ( A <= M )
Ritardo A di 2 Crt.
Ritardo R di 1 Crt.
Ritardo M di 1 Crt a partire da TF.
Riciclo su confronto sino ad esaurimento cifre decimali.
Esaurita la prima cifra o coppia, se non si è raggiunto il numero di decimali voluto, si
ripete il ciclo per tante volte quante sono le cifre volute.
Il ritardo di 2 Crt di A equivale a moltiplicare per 100 il resto delle sottrazioni.
Il ritardo di M a partire da TF della cifra meno significativa di M, ha l’effetto di sdoppiare
il risultato della sequenza di somme cicliche +2. La prima cifra, resta sempre 1, il
rimanente, pari, viene moltiplicato per 10.
Il ritardo di R di una cifra rispetto la prima cifra di M, riferimento della conta dei cicli di
sottrazione, congela il calcolo della cifra del risultato e fa ripartire da 0 il calcolo delle
conte di sottrazioni seguenti che fornisce il valore della nuova cifra del risultato
moltiplicato per 10.
Ad esempio per l’estrazione della radice di 2, le condizioni iniziali sono :
• A = 2. Radicando.
• M = 1. Termine di partenza della serie
• R = 0. Contatore dei cicli di sottrazione fornenti le cifre del risultato.
Applicando l’algoritmo si ha :
1° Ciclo A (2) > M (1)
2° Ciclo A (1) < M (3)
A=2-1=
M=1+2=
R=0+1=
A = 1
M =
000000001
000000003
000000001
000000100
000000021
993° Ciclo
4° Ciclo
5° Ciclo
6° Ciclo
7° Ciclo
8° Ciclo
9° Ciclo
10° Ciclo
11° Ciclo
R =
A (100) > M (021) A=100-021=
M=021+002=
R=010+001=
A (079) > M (023) A=079-023=
M=023+002=
R=011+001=
A (056) > M (025) A=056-025=
M=025+002=
R=012+001=
A (031) > M (027) A=031-027=
M=027+002=
R=013+001=
A (004) < M (029) A =
M =
R =
A (400) > M (281) A=400-281=
M=281+002=
R=140+001=
A (119) < M (283) A =
M =
R =
A (11900) > M (2821)
A=11900-2821=
M=281+002=
R=1410+0001=
A (9079) > M (2823)
A=9079-2823=
M=2823+002=
R=1411+0001=
000000001
000000079
000000023
000000011
000000056
000000025
000000012
000000031
000000027
000000013
000000004
000000029
000000014
000000400
000000281
000000014
000000119
000000283
000000141
000011900
000002821
000000141
000000119
000002823
000001411
000006256
000002825
000001412 Ecc...
Gli ultimi 2 cicli della 4 a cifra saranno riassunti in :
6256-2825=3431-2827=604-2829 stop 4 cicli R=1414.
Seguiti dalla 5 a cifra:
60400-28281=32119 -28283= 3836-28285 Stop 2 cicli R = 14142.
Algoritmo implementato
Le operazioni di calcolo e di shift richieste per implementare l’algoritmo di radice
quadrata non sono eseguibili da un solo ciclo SH – SK.
La soluzione è stata il raddoppio del ciclo SH – SK in caso di confronto A> M positivo.
Il 1° ciclo è distinto dal 2° dallo stato del flip flop NL.
Durante il 1° ciclo si compie la sottrazione, nel 2° le operazioni di incremento.
Le operazioni di shift si eseguono in ambedue i cicli.
Il Crt del registro R da incrementare è individuato dall’unicità di presenza del TB sul Crt
meno significativo del numero contenuto in M.
La condizione di A < M , confronto che indica fine calcolo di cifra è memorizzata in NM.
Essa è data da riporto su cifra più significativa e WP (SG * NE * TA ).
Con NM = 1, si blocca lo shift di M, permettendo sempre quello di R ed A. Dato che la
cifra in calcolo è indicata dall’unico TB di M, si ottiene in questo modo il passaggio alla
cifra seguente.
Lo shift di M avviene a partire dal bit TF, questo metodo non sposta il TB di riferimento,
ed avendo in M un numero dispari e >1, lascia 1 sul Crt con il TB di riferimento spostando
il resto del contenuto di M di 1 Crt.
100Il 1° ciclo di sottrazioni è preceduto in SF, dal ritardo di A di 1 Crt se cifre intere del
radicando in numero pari. Questa condizione si ha quando da SE si passa in SF con NC =
1. Lo stesso shift supplementare di A in SF si ha nei cicli di fine calcolo cifra standard in
cui si “abbassa” sempre una coppia di cifre.
Allo scopo VN ( SF * NC * LA) connette A e K, bloccando nel contempo la richiusura di A
su RA.
VR ( SF * NC * KA ) richiude l’anello con l’uscita di K su RA.
In SF il confronto avviene sottraendo a M il complemento di, A in caso di una cifra, KA se
coppia di cifre.
Questo si ottiene con:
• XM
CE * LM * NM \ * ( ZK * NL ) \
• XA
SF * PO * LA \ * NC \ , oppure SF * PA * NC * KA \
Onde minimizzare le modifiche, il 2° ciclo SF – SK è preceduto dello scambio del
contenuto tra i registri A ed M, alla fine del 2° ciclo un altro scambio ripristina nei 2
registri i dati iniziali.
Caso A > M. Doppio ciclo SF – SK
1° Ciclo.
NL reset.
SF
Stato di confronto con eventuale set di NM.
SG
Non operativo. Il set di NE è bloccato da ZC che non è attivo in SG .
SH
Sottrazione A = A – M
SK
Correzioni eventuali per riporto su cifre intermedie
WR ( ZK * SK * NM \) setta NL, condizione per 2° ciclo.
Scambio di A con M.
2° Ciclo.
NL Set.
SF
Stato non operativo.
SG
Incremento di R.
SH
1° incremento di A, dato lo scambio si opera su M.
SK
2° incremento di A.
WR ( ZK * SK * NM \) resetta NL, condizione per 1° ciclo.
Scambio di A con M. Ripristino del contenuto logico dei registri
I registri R, A, M, quando connessi al registro K sono ritardati di 1 Crt, questo avviene
sempre rispettivamente in SG, SH, SK, mantenendo l’allineamento finale tra i 3 registri.
Caso A < M. Ciclo unico SF – SK
NM = 1, blocca XX e quindi mantiene NL = 0 disabilitando il 2° ciclo.
SF
Stato non operativo.
SG
R ritardo di 1 Crt.
SH
A ritardo di 1 Crt.
SK
M ritardo di 1 Crt a partire dal bit TF.
Set di NC, predispone nuovo ritardo di 1 Crt di A nel seguente SF.
Stati preparatori
Il diagramma seguente mostra la sequenza di stati durante l’esecuzione della radice di 2.
La conta dei cicli, commutazioni di NL, permette di anticipare il risultato 1,4142.
Diagramma Sequenza stati Radice di 2.
101Il diagramma mostra la conta di Crt con scrittura del TA in A in corrispondenza dell’ultima
cifra decimale.
In A si ha il radicando (2), scritto in SB, tramite WK (SB * ZK) da WK * LX con segno
meno bloccato con DA * TC * HD \.
In M si ha 1, sottraendo iniziale, scritto in SB (SB * ZK * NH * TR *(TB+TD+ TE)).
A e M sono entrambi allineati sul 1° Crt della LDR.
Diagramma Stato SE.
Stati esecutivi
Negli stati SF – SK la connessione dei registri A, M,R, sia al sommatore che al registro K
viene mantenuta costante.
Unica variante è la connessione in SF di A al registro K per ottenere il ritardo di un Crt
che permette di operare su una coppia e non su singola cifra.
Lo scambio di A con M, solo in caso di doppio ciclo (NM = 0), mantenendo le connessioni
fisiche scambia il contenuto logico dei 2 registri nel 2° ciclo.
NL commuta sul fronte di discesa di XX (ZK * SK * NM \), in corrispondenza del
passaggio da SK a SF, quindi si sovrappone esattamente al 2° ciclo.
Stato SF
NC mantiene le funzioni che aveva in divisione sia come stato di confronto che determina
sia il passaggio a nuova cifra, sia la fine del calcolo.
La funzione aggiunta, ritardo di A, si ottiene con NC agente da deviatore dell’informazione
connessa sia al sommatore che alla richiusura del registro sulla LDR.
Il ritardo introdotto da NC interviene se:
• 1° Ciclo assoluto e Nr di cifre intere pari.
• 1° Ciclo doppio a seguito di fine calcolo cifra precedente.
Il confronto tra A ed M utilizza lo stesso hardware della divisione a cui si rimanda.
102• SF * PO * LA \ * NC \
Connette A negato al sommatore se NC = 0.
• SF * PA * KA \ * NC
Connette K negato al sommatore se NC = 1.
• VR (SF * KA * NC)
Connette K alla richiusura di A se NC = 1.
• YN (SF * LA * NC )
Connette A al registro K se NC = 1.
Con NC = 0, YN non si attiva sbloccando la richiusura di A su se stesso.
Il diagramma presenta lo stato SK con NM = 1, set di NC in TF, seguito da SF sempre con
NC set che produce il ritardo di A di 1 Crt.
Diagramma Stati SK, SF con NC =1.
La fine calcolo, set di NF, è data dal Crt con virgola di M, posta sulla cifra meno
significativa, corrispondente al Crt di A con il TA di ultima cifra decimale.
Questa condizione è data da VE (SF * LM * KF * TD * MT).
Il diagramma presenta il set di NF, il passaggio da SF a SL e lo stato finale dei registri A,
M, R, nell’esempio di radice di 2.
Stati SF SL Finali
Stato SG
In SG avviene la conta dei cicli di sottrazione nel registro R.
Il gate di conta dei cicli “normale” (ZC * SG * LM * TD * NM \), è disabilitato non essendo
ZK3 attivo in SG .
La conta avviene nel 2° ciclo con CH * NL * TB * MT * LA in maschera con ZK.
103Ogni SG comporta il ritardo di R di 1 Crt.
Il passaggio della conta sulla nuova cifra avviene per il ritardo di R rispetto il bit TB che
marca il Crt meno significativo di M.
Stato SH
Lo stato in NM = 0 e NL = 0, si comporta sommando a M il complemento di A con il
risultato in A. Il riporto di Crt avviene per >15.
Con NM = 0 e NL = 1, incrementa A con CH * NL * TB * MT * LA, in maschera con ZK sul
set di NE. L’incremento avviene su M, per effetto dello scambio tra A ed M.
Con NM = 1, nel sommatore XM non è pilotato ed in XA, SH * VC * LA, pone A.
Ogni SH ritarda A di 1 Crt connettendolo al registro K.
La richiusura del registro A, avviene con il blocco del TB se cifra 0 non valida se esterna a
PO, SH* KA *(ZK * NM \ * TB* PO \ * KC \ * KD \ * KE \ * KF \).
Stato SK
Lo stato SK in NM = 0 e NL = 0, si comporta come in divisione, corregge i Crt con riporto
sommando 6 ad A con il risultato complementato in A.
Ogni SK con NM = 0, inoltre si ha:
• WR (XX)
Commuta NL.
• VK (SK * XX *VS * TA \) scrive il risultato complementato del sommatore,
logicamente A, in M.
• VT (SK * LM * ER \ * TA \ *(NM * NH \)\ , pone M in K.
• SK * XX * KA scrive K in A, completando lo scambio dei registri A ed M.
• Con NM = 0 e NL = 1, incrementa A con CH * NL * TB * MT * LA, in maschera con
ZK sul set di NE. L’incremento avviene su M, per effetto dello scambio tra A ed M.
• Con NM = 1, VT pone M in K a partire dal set di NH che avviene dopo la richiusura
di M del digit meno significativo 1, accompagnato dai bit di servizio TB e TD, con il
TF del gate SK * ZK * PM * NM * TF .
Si pongono le condizioni per il calcolo della cifra seguente.
Ogni SK comporta il ritardo di M di 1 Crt.
Il diagramma mostra lo stato SK al termine del 4° ciclo di sottrazioni con NM = 1.
Nell’esempio si esegue la radice di 2.
Il contenuto dei registri R, A, M, è:
• R = 1414.
• A = 604.
• M = 28281.
A conferma dei dati presentati precedentemente.
Diagramma Stato SK . NM = 1. Fine del 4° Crt.
Stato SL
Lo stato SL compie lo scambio del contenuto di A, resto finale delle differenze, con quello
di R, risultato della radice.
Completa l’informazione con i bit TB mancanti.
LA * TA \ * ( SL + XL)
ZC * LR * TK \
SL * ZK * RA * TB
Scrive A in R. Compresi i TB e TD.
Scrive R in A tramite VA in SL * NC * PA * VA .
Scrive i TB del risultato (A), in M.
Diagramma Stato SL.
Schema a blocchi algoritmo radice quadrata. (img)
Valore assoluto
L’istruzione valore assoluto di A, ha codice simbolico A↨ e codice macchina 34.
Essa esegue l’eliminazione dei bit TC, segno meno, su tutti i Crt del registro A, gli altri
registri rimangono invariati.
La sequenza di stati è la stessa delle istruzioni di trasferimento.
Nello stato SE, il gate WK * LX * (DA * TC * HD/ ) / , essendo attivi sia SA che HD/ ,
permette la richiusura di LX senza il bit TC.
Essendo attivo DA, nel multiplexer LX si trova il contenuto di A.
L’esempio mostrato dal diagramma visualizza 3 cicli di LDR, i primi 2 in SE il 3° in SA a
operazione completata.
Il ciclo operativo è il 2° con WK attivo, si osserva la presenza del TC in LA e la sua
assenza in RA.
Diagramma. Valore assoluto . Stato SE.
Stampa
Le istruzioni rivolte la gruppo di stampa sono 3, <> (X8) , * (X9), /<> (88), tutte
attivano il decodificato ZL.
Il registro stampato è selezionato dai bit di codice HD – HA del registro H .
L’istruzione <>, da tastiera o programma stampa sempre il registro.
L’istruzione * da tastiera, stampa il registro prima di azzerarlo. Inserita in un programma
azzera il registro senza stamparlo.
L’istruzione /<> comanda una interlinea.
Ogni ciclo di stampa, da tastiera o programma è seguito automaticamente da una
interlinea.
La fase esecutiva, controllo della stampante, è composta sempre dagli stati SM, SN, SS.
In interlinea, varia il controllo della battuta del martello che è bloccata.
Se interlinea e stampa programma, non essendo previsti dati, lo stato SN è limitato ad 1
giro di ruota fonica senza battuta del martello.
Gli stati SM e SN, che in or attivano CD, eseguono la stampa di:
• SM
Istruzione, Indirizzo e Spazio separatore. 3 colonne totali.
• SN
Dato eventualmente con virgola e segno meno.
Nr colonne funzione del dato.
CD avvia il carrello di stampa, il quale attiva il μSwitch AW sincronizzato con il vuoto della
ruota fonica. Il sincronismo rende possibile il caricamento in K del codice istruzione prima
dell’arrivo del 1° dente della ruota fonica.
SS è lo stato di attesa della commutazione di AW, che indica il ritorno a casa del carrello
non più comandato da CD.
Se stampa programma AZ = 1, la stampa è avviata da istruzione di avvio programma, S,
V, W, Y, Z.
La stampa del programma si avvia, come tutti i casi di istruzioni da tastiera, con la
stampa dell’istruzione e dell’eventuale dato. L’esecuzione dell’istruzione comporta il
passaggio in stato esecuzione programma HP =1, con la stampa del programma a partire
da:
• S
Istruzione puntata da HK – HM registro e TA in R per il Crt.
• V, W, Y, Z
Istruzione seguente il riferimento nel programma.
Gli stati in stampa programma sono SP, SM, SN, SS, SP in ciclo, sino all’estrazione di una
istruzione S, che resetta HP con ultimo ciclo SM, SN, SS, SA.
Stampa registro
La sequenza di stati a seguito di una istruzione di stampa, da programma o tastiera, è
SP/SA, SB, SC, SD, SE, SM, SN, SS, SP/SA.
Il numero di cifre decimali stampato è dato dalla rotella decimali, con troncatura se
rotella<decimali del registro, aggiunta di zeri se rotella>decimali del registro.
L’operazione di stampa, tranne Azzera registro, lascia inalterati tutti i registri,
l’informazione è fornita da:
• SM
Registro H
Istruzione ed indirizzo.
• SN
Multiplexer LT
Dato nel registro.
In SB si setta NL se LT non è nullo. Registro da stampare con almeno 1 cifra.
Gli stati SC e SD allineano M e A sulla cifra meno significativa del 12° o 24° Crt se
registro intero o splittato.
SE scrive il TA in A, sul Crt che precede la virgola in LT del valore impostato sulla rotella
decimali.
La battuta del martello è bloccata, creando colonne vuote (spazi), in caso di :
• Set di NK impedito da NH * NF \ .
• 3° colonna di stampa.
• segno con dato positivo .
• virgola con dato senza decimali.
• Registro vuoto diverso da A, M, R.
• Registro M. SM * DM * NF * HD \ , blocca UG3 e di conseguenza la conta.
Diagramma sequenza stati istruzione di stampa.
La sequenza di stati a seguito di una istruzione, non di stampa, da tastiera è SA, SM, SN,
SS, più stati esecutivi istruzione introdotta e ritorno in SA.
A seguito dell’introduzione di dato da tastiera, se l’istruzione non è di stampa, si ha
sempre la stampa implicita del registro M, il numero di decimali è quello introdotto e non
dipende dalla rotella decimali.
WY (SN * PM * NM * AP \), forza la selezione di M e blocca il registro che compare
nell’istruzione.
Diagramma sequenza stati stampa registro implicita.
La fase esecutiva della stampa, stati SM e SN, è composta da 2 fasi:
1. Fetch o forzatura del codice da stampare in registro K.
2. Stampa del codice impostato.
La fase di fetch o di forzatura del codice da stampare è diversificata per tipo di
informazione e posizione della colonna di stampa in:
• Fetch istruzione.
• Fetch indirizzo.
• Fetch cifra.
• Forzatura virgola.
• Forzatura segno meno.
Il digit da stampare viene caricato in KE – KF come complemento a 15, contando i denti,
la cifra 5 (0101), si trasforma in A (1010), essendo la battuta del martello comandata dal
riporto di cifra, questo avviene sul 6° dente set di NK.
La battuta del martello, per 1 periodo di dente, avviene sul 7° dente set di NC.
La connessione di K tramite il sommatore, ha TK che blocca sul generatore di XS, i 4 bit
meno significativi del Crt.
Pertanto la conta dei denti avviene sul digit KE – KH per tutti i tipi di simbolo.
Fetch istruzione
Il codice in K è fornito da SM * NA * HH \ * AP \, che carica il contenuto di HH \ in K,
durante gli 8 bit del clock CLKK in NA.
Nel diagramma, al termine di NA il codice istruzione 8D (0001 1011) è convertito in 72
(1110 0100).
il TK di blocco sul sommatore pone 70 (1110 0000), in K alla fine di NB .
Diagramma stampa fetch Istruzione.
Fetch indirizzo
La differenza con il fetch di indirizzo rispetto l’istruzione è l’indirizzo che è contenuto nei
bit meno significativi dello stesso Crt di H .
Il 2° simbolo da stampare in SM è individuato dal set di NF con WW (SM * PS * NH \). SM
- NF * NA * TK \ , blocca i secondi 4 bit in NA, ottenendo l’effetto di lasciare l’indirizzo in
KE – KF, al posto dell’istruzione.
Nel nostro esempio 26 (0010 0110).
Il TK di blocco sul sommatore pone 20 (0010 0000), in K alla fine di NB .
110Diagramma stampa fetch Indirizzo.
Fetch cifra
Il fetch delle cifre avviene in SN.
La stampa è sempre da destra verso sinistra, pertanto il dato viene estratto una cifra
(Crt) a colonna a partire dalle cifre meno significative e precisamente dal Crt del TA in A.
Se si proviene da SA, SM, il TA in A sarà posizionato sul Crt con l’ultima cifra introdotta
da tastiera.
Se si proviene da ..SE, SM, il TA in A sarà posizionato sul Crt dato dalla conta dipendente
dall’impostazione della rotella decimali.
Ogni ciclo di fetch di cifra, tranne la virgola, comporta lo spostamento del TA sulla cifra
seguente. Cancellazione del TA con NA e sua scrittura con NB .
Nell’esempio si mostra l’estrazione in NA di 5, cifra che precede l’unità con virgola in NB .
Essendo il dato negativo, tutte le cifre hanno pure TB e TC pertanto il Crt in LT sarà 56
(0101 0110). Complementato diventa A9 (1010 1001), al termine di NB a seguito del
blocco del TK su XS si riduce a A0 (1010 0000) come previsto.
Diagramma stampa fetch cifra.
Forzatura codice virgola
La virgola è stampata sulla colonna che precede la cifra delle unità con il TD = 1 .
Da diagramma precedente, il set di NF dovuto a UF3 (SN * NB * LX * TD * NH \ ,
preannuncia la virgola.
Il ciclo di fetch seguente NF blocca lo shift del TA in A .
VI (SN * NB * NF * TB * MT), forza il codice della virgola A0 (1010 0000) che
complementato diventa 50 (0101 0000) e resetta NF .
VI setta KD e KF, codice 28, che dati i 2 bit di ritardo di VI corrisponde al codice effettivo
50.
Diagramma stampa. Forzatura codice Virgola.
111Forzatura codice segno meno.
La stampa eventuale, del segno meno avviene con NH set, che indica la fine delle cifre
utili. Secondo fronte di SN * ZL * TP in NA.
Se dato negativo WI (SN * NH * NL * TC * LT * MT) setta NF e KE.
Causa il ritardo tra set di KE ed inizio temporizzazione di Crt, il codice impostato è 40
(0100 0000), complemento di B0 (1011 0000) codice del segno meno.
Diagramma stampa. Forzatura codice Segno meno.
Stampa codice segno meno
La conta che porta alla battuta del simbolo utilizza sempre lo stesso meccanismo.
CD * PS * NG * TC setta NE procurando l’incremento.
NG garantisce un solo incremento per dente.
La battuta è innescata dal riporto di cifra UG1 che setta NK. NK è settata in TA quindi in
modo asincrono rispetto alla ruota fonica.
Onde assicurare una battuta uniforme WX, dente di ruota fonica, resetta NK che provoca
il set di NC che a sua volta viene resettato dal WX del dente seguente.
Diagramma stampa Segno meno.
Stampa registro vuoto
I registri dati a seguito dell’inizializzazione non si presentano tutti nella stessa situazione.
112A, M, R
Sono inizializzati con TB, TC, TD sul 24° Crt, quindi con -0, .
I registri deposito, interi o splittati, non contengono nessun bit.
Lo zero negativo segnala la condizione di registro non mutato dalla inizializzazione.
Gli zeri derivati da calcolo o trasferimento sono con virgola ma positivi.
La condizione di registro vuoto è data da NL = 0, NL * TR * TK * TA \ forza in LX lo
stesso -0, onde evitare che la macchina si pianti.
La stampa di A, M, R se sono impostati 2 decimali si comporterà come l’esempio che
mostra la stampa di A.
Al codice istruzione ed indirizzo fanno seguito due zeri per i decimali, virgola, lo zero per
le unità ed il segno meno.
Diagramma Stampa registro A con 0-.
La stampa di un registro deposito, intero o splittato, anche se sono impostati 2 decimali si
comporterà come l’esempio che mostra la stampa di B.
Al codice istruzione ed indirizzo stampati non segue altro in quanto NL = 0, impedendo il
reset di NH al termine di SM pone la condizione di fine stato SN.
Diagramma Stampa registro B vuoto.
Stampa programma
La stampa del programma , prima introdotto via tastiera o cartolina, segue le stesse
procedure del lancio di un programma in esecuzione con il preventivo inserimento del
pulsante di “Stampa programma” (AZ) e la battuta del tasto di avvio del programma (V,
W, Y e Z).
Pertanto per una descrizione delle operazioni si rinvia a Esecuzione del programma.
Le differenze tra Stampa e Esecuzione del programma consistono nella concatenazione
degli stati che seguono l’esecuzione dell’esecuzione del salto di lancio. In entrambi i casi,
in SB si verificano tipo e condizioni del salto di avvio, in SP si ricerca l’eventuale
riferimento e si carica l’istruzione selezionata nel registro H . Sempre in SP, con l’avvio
della fase di carica dell’istruzione in H, segnale XI, avviene il set del flip flop HP
individuante la fase di esecuzione operazioni in automatico.
In uscita da SP, in caso di:
• Esecuzione programma gli stati di macchina seguenti si adeguano
all’esecuzione dell’istruzione estratta in SP e caricata in H .
• Stampa programma gli stati di macchina hanno sequenza fissa, indipendente
dalla istruzione e sono quelli necessari alla stampa del codice operativo e
dell’indirizzo eventuale. Si tratta dei 3 stati, SM, SN e SS.
Sia in esecuzione programma che in stampa, al termine della gestione della istruzione
corrente si torna in SP per l’estrazione della successiva. Il ciclo termina con il fetch di una
istruzione di Stop (S). Si ha il reset di HP ed il rientro in SA.
Diagramma Stampa programma. Sequenza stati.
Azzeramento registro
I registri M ed R non sono azzerabili.
Il comportamento dell’istruzione è diverso se eseguita in manuale o nel corso del
programma.
In manuale l’istruzione di azzeramento registro x * , è realizzata tramite un normale ciclo
di stampa in cui non si hanno battute di martelletto.
L’istruzione è sempre preceduta dalla stampa dell’istruzione stessa e dell’eventuale dato
numerico.
La sequenza di stati esecutivi è quella comune alle istruzioni di stampa.
Stato di fetch istruzione SA , seguito da SB, SC, SD, SE, SM, SN e SS.
In automatico non si ha stampa.
La sequenza di stati esecutivi è SP fetch, seguito da SB, SC, SD, SE e SS.
Il passaggio diretto da SE a SS è dovuto a YX ( ZL * HE * HP * SE ) , che nel contempo
blocca YE, set di SM.
Per azzerare i registri deposito, il gate YP ( ZL * SS * TP * HE * AZ/ ), provvede in SS al
blocco sulla rete RN della richiusura su LDR del registro, provocandone l’azzeramento
totale.
Per azzerare il registro A, analogamente il gate VG (ZL * SS * DA * HE * AZ/ ), provvede
in SS al blocco della richiusura RA su LDR del registro, provocandone l’azzeramento. Nel
contempo, VG forza WK che scrive LX in A.
LX avendo NL resettato da SS, abilita in TR i bit TB, TC, TD corrispondenti a -0.
Il diagramma mostra l’esecuzione dell’istruzione B * , con B contenente 3,14.
Diagramma. Esecuzione manuale. Intera istruzione.
Il diagramma seguente, mostra lo stato SS nell’esecuzione dell’istruzione B * , il 1° ciclo
di SS, trova ancora il 3,14 in B, mentre in RB, cancellazione in corso, il contenuto è
spurio. Il ciclo seguente in B rimangono solo i TA di inizio e fine temporizzazione.
Diagramma. Esecuzione manuale. Stato SS.
115Il diagramma seguente, mostra la mutata sequenza di stati con l’istruzione inserita nel
programma si ha il passaggio diretto dallo stato SE a SS.
Diagramma. Esecuzione da programma. Intera istruzione.
Il diagramma seguente, mostra l’inserimento in A della cifra -0 nel TR di SS. Senza una
cifra valida in A, il sistema rimarrebbe bloccato sul primo stato SD di allineamento.
Diagramma. Esecuzione da programma. Stato SS registro A.
Interlinea
L’istruzione di interlinea /< > , è realizzata tramite un normale ciclo di stampa in cui non si
hanno battute di martelletto.
La sequenza di stati esecutivi è quella comune alle istruzioni di stampa.
Stato di fetch istruzione SA o SP, seguito da SB, SC, SD, SE, SM, SN e SS.
L’istruzione /↨ origina DH, il quale blocca UG e di conseguenza il set di NK che interrompe
la catena di comando del martelletto di stampa.
La durata di un solo giro di tamburo, dello stato SN è data dal mancato reset di NH
dovuta al reset di NL in SM ad opera di DH.
Tranne il blocco della battuta del martelletto e l’accorciamento di SN, tutto il resto della
logica hardware si attua come nelle normali istruzioni di stampa registro.
Diagramma Istruzione interlinea manuale.
Istruzioni speciali
Costante codificata
La costante codificata è utilizzata per registrare nel programma un dato numerico da
utilizzare durante la sua esecuzione.
Le istruzioni dedicate alla costante codificata sono due:
• A ↑
Istruzione preparatoria di codifica della costante.
• A/↑
Istruzione di utilizzo della costante.
Nel programma, la costante è individuata dalla istruzione iniziale A/↑, seguita da tanti
caratteri quante sono le cifre della costante.
I bit dei caratteri della costante seguono le regole generali del dato numerico, tranne il TA
che indica ultima cifra, la più significativa della costante.
Per comodità li ricordiamo:
• TA
Ultima cifra.
• TB
Cifra valida.
• TC
Costante negativa, su tutte le cifre.
• TD
Cifra con virgola.
• TE – TH
Codice decimale della cifra ( 0 – 9 ).
Il passaggio dal valore dei bit, ai simboli dei tasti indirizzo ed istruzione, non è immediato
ed ha bisogno di tavole di corrispondenza tra codici e simboli.
Il compito del programmatore è facilitato dalla istruzione A ↑, eseguita in manuale, traduce il
dato numerico introdotto da tastiera, nei simboli corrispondenti ad indirizzi ed istruzioni.
Una volta ‘tradotta’ la costante viene inserita nel programma ed appare indistinta dal
codice normale se non fosse che per l’istruzione iniziale A/↑.
Preparazione della costante
Onde facilitare il compito di codifica della costante è disponibile l’istruzione A ↑.
La procedura consiste nella sequenza :
• Premere pulsante Stampa Programma.
• Azionare il Reset generale.
• Introdurre le cifre della costante.
• Introdurre l’istruzione A ↑.
La procedura garantisce che dopo il reset segua l’esecuzione di A ↑. Il trasferimento di M in SD, dopo
l’allineamento in SC, garantisce che la cifra meno significativa, la prima ad essere stampata, sia nel 1°
Crt del 1° registro di programma.
La presenza di Stampa programma connette la fine dell’esecuzione di A ↑, alla sequenza standard di
stampa del contenuto dei registri programma a cui si rinvia per i dettagli.
118Il calcolatore stampa, come di consueto, su una riga il numero preceduto dalla istruzione ed indirizzo
(A ↑). Successivamente stampa su righe separate la traduzione da cifre ad istruzioni.
L’hardware dedicato all’istruzione A ↑, è dato da 2 gate:
• ZH*LM*HD/*SD*DA, set di LG, trasferisce direttamente il dato numerico, introdotto da tastiera
in M nel 1° registro di programma.
• TC*PM*XO*NFN*ZH, set di KG, setta il bit TA della cifra più significativa di M, nello stato SC,
essendo in SD bloccato PM.
Il resto del compito è svolto dall’hardware della istruzione di trasferimento ↑ e da quello della
procedura di stampa programma .
Diagramma istruzione A ↑.
Il diagramma mostra l’intera procedura di preparazione della costante 3,14.
L’esempio mostra in H i codici binari delle istruzioni prima della loro stampa nello stato
SM e ripetute da O.
La stampa avviene invertendo l’ordine di introduzione delle cifre, quindi dalla cifra meno
significativa.
L’esempio nel diagramma indica la costante 3,14.
1° ciclo
24
R+
2° ciclo
21
R↓
3° ciclo
A3
d↨
Il 4° ciclo stampa S, prodotto dal codice 00, segnala la fine della costante.
Lettura della costante
La costante numerica essendo inserita nel programma viene letta dal registro indicato da
HK – HM e dal Crt seguente quello su cui è posizionato il TA in R.
Il codice simbolico A / ↑ corrisponde al codice istruzione C2, con indirizzo precedente l’istruzione.
Le condizioni ZA e CS, sono forzate dall’istruzione A / ↑.
Durante il 1° ciclo di SB, NH off, il gate ZA * NH/ * SB provvede a cancellare in M il dato precedente.
119Nello stesso periodo il gate NG/ * ZH * LP * SB * NC, scrive il contenuto del registro programma
selezionato in M.
Il periodo di scrittura è limitato da NC set e NG reset.
NA e NB hanno un tempo massimo di un Crt.
NC è settato al reset di NA che a sua volta è settato dal TA in R, posizionato sul Crt di A / ↑,
precedente il 1° Crt della costante.
NG, pone fine alla scrittura della costante,è settato dalla caduta di NB, settato a sua volta dalla
scrittura in M del Crt contenente il TA, gate RM * TA * CS * NG/ *SB.
Il diagramma mostra la sequenza per la lettura della costante 3,14.
Si noti che durante SB, il segnale PM indica il dato precedente in NH/ e la costante letta
da programma in NH.
Diagramma Esecuzione Costante di programma Stati SP e SB.
Istruzione RS . Scambio D con R
La sequenza di stati per l’esecuzione dell’istruzione RS è quella delle istruzioni di
trasferimento.
• Manuale.
SA, SM, SN, SS, SB, SC, SD e SE.
• Programma
SP, SB, SC, SD e SE.
L’istruzione scambia il contenuto “fisico” dei registri D ed R.
Il termine fisico indica che lo scambio avviene senza un controllo logico del contenuto,
questo permette lo scambio di due dati numerici, contenuti in D e d, con un unico dato in
R.
La specificità dell’istruzione è data dallo scambio del contenuto di registri in cui la logica
della loro selezione è rovesciata.
R, registro di servizio per le istruzioni di calcolo è solitamente selezionato in modo
implicito. In RS la selezione è esplicita.
D, registro deposito, la selezione del quale è generalmente esplicita, è ottenuta mediante
forzatura del suo decodificato logico diritto (DD) tramite DR.
Lo scambio avviene in SE, quindi SC e SD si eseguono, perchè si è deciso di non mutare
la sequenza standard degli stati.
YK (SE * ZN * NH * DR * LN), scrive l’informazione in R e blocca la riscrittura della stessa
in D per tutti i Crt.
Il contenuto di LN, abilitato dal DD forzato entrerebbe nel multiplexer LT se non fosse
bloccato da DR. Vedi gate LN * TP * DR \ * WY \ .
YH (SE * ZN * NH * DR * LT), scrive l’informazione in D e blocca la riscrittura della stessa
in R per tutti i Crt.
LT, grazie all’indirizzo esplicito, contiene R tramite DR * LR * TA \ * WY \ .
La forzatura di DD, comporta il blocco della via “normale”
dell’informazione in D. tramite il solito DR. Vedi gate RN * DD * DR \ .
di
trasferimento
Diagramma RS.
Stampa forzata risultato
Le istruzioni di moltiplicazione, divisione e radice quadrata eseguite in manuale sono
sempre seguite da una stampa del risultato in A.
La stampa viene forzata dal segnale VZ (HP/*ZC*SL), indicante, modo manuale,
moltiplicazione o divisione o radice quadrata e ultimo stato dell’operazione di calcolo.
VZ setta NK e simula mediante WZ uno strobe di tastiera, esso cade con il fine stato SL
ed il ritorno in SA.
In SA, essendo i μswitch di tastiera rimasti impostati sull’ultimo tasto comandante
l’istruzione di calcolo appena eseguita, si genera XW, che abilitato da NK imposta nel
registro H, il codice 84 Hex, istruzione di stampa di A.
L’istruzione di stampa A, viene accodata ed eseguita come se fosse stata comandata da
tastiera.
Il diagramma mostra la forzatura dell’istruzione di stampa A (84) a seguito dell’istruzione
di moltiplicazione (60).
Diagramma. Stampa forzata risultato.
Parte 5 -Programma
Introduzione programma da tastiera
I meccanismi di base di introduzione dei codici delle istruzioni di programma tramite la
tastiera, sono gli stessi di quelli che intervengono durante l’introduzione di istruzioni
singole in manuale.
La fase è caratterizzata dalla attivazione del pulsante AP, che in or con cartolina (SO),
genera il segnale CT .
Le istruzioni vengono memorizzate in sequenza nei registri G, I, F, E , D.
Il pulsante AZ inserito con AP, limita il numero di registri programma a 2 ( E,D ).
I registri di programma sono selezionati dal registro H.
Il contenuto di H è presettato tramite UE1 ( AP * AZ \) o UE2 ( AP * AZ) .
AZ = 1, disabilita UE1, programma intero (5 registri, G, I, F, E, D) e abilita UE2,
programma ridotto (2 registri, E, D).
Il codice di tastiera viene posto in K (KA – D) da WV. Esso in caso di indirizzo è generato
da XK, durante il TK di NB, corrispondente ai bit da TA a TD. In caso di istruzione o dato,
è generato da XW, durante TK negato di NB, corrispondente ai bit da TE a TH. Si ottiene
così di scrivere , un codice istruzione di quattro bit ed il precedente codice indirizzo
sempre di quattro bit, su un unico Crt di otto bit.
La posizione di inserimento della istruzione in LDR è data dal TA in R, segnale XE , che
all’inizio è sul 24° Crt. imponendo l’inserimento del codice, indirizzo o istruzione, sul 1°
Crt. di G.
Il meccanismo utilizzato è dato da NA → NB, ogni flip flop dura 1 Crt, NA è settato da XE
e NB dalla caduta di NA. Il codice introdotto da tastiera, durante NB viene scritto in LDR
dal gate YF.
Il gate WS blocca la scrittura del TA in R durante NA.
Il gate WC abilita la scrittura del TA di R durante NB .
Se NA ha preceduto NB, il TA in R viene spostato di un Crt.
In caso di battuta di un codice indirizzo, il gate XK setta NC, il quale sulla battuta del
codice istruzione seguente, determina il set diretto di NB . Si ottiene così di scrivere il
codice sullo stesso Crt dell’indirizzo precedente e di non spostare di un ulteriore Crt il TA
in R.
In CT, la sovrapposizione di NA a TT, il gate SA * CT * NA * TT \ → UC4 , rivela la
scrittura sull’ultimo Crt del registro programma corrente e facendo scorrere il contenuto
del registro H di un bit, indirizza il registro programma seguente.
In caso di programma intero, AZ non premuto, il gate UE1 aveva caricato in H il codice
binario X00011XX (HA-H).
La tabella indica la sequenza dei codici nel registro H e quindi dei registri selezionati a
seguito degli shift dovuti alla coincidenza di NA e TT.
Tabella 1 (table)
Cartolina - Selezione registri PG.
Nr. Istruzione
Selezione iniziale
HA
X
HB
0
HC
0
Registro
X
1231-24
25-48
49-72
73-96
97-120
Selezione finale
0
0
0
1
1
1
0
0
1
1
1
0
0
1
1
1
0
0
G (M)
I (A)
F
E
D
C
La sequenza degli stati che intervengono per ogni istruzione introdotta è data dal ciclo
SA, SM, SN, SS, SA.
Nella fase di introduzione del programma non sono previsti dati numerici se non nella
forma di costanti di programma.
I tasti utilizzati sono solo quelli di istruzione e indirizzo.
Il diagramma mostra come esempio l’introduzione da tastiera, di un breve programma
composto da 2 riferimenti di salto C6 e C4, radice quadrata B4 e stampa del risultato 84.
Posto AP = 0, il programma viene posto in esecuzione dal tasto V codice C0
Diagramma Introduzione programma da tastiera.
Cartolina
La cartolina è il supporto magnetico utilizzato per memorizzare permanentemente i
programmi della P101.
La cartolina ha una capacità massima di 5 registri (G, I, F, E, D), quindi 120 codici di
possibili coppie indirizzo – istruzione.
Il tutto pari a 960 bit, metà della capacità della LDR che è di 1920 bit.
La scrittura su cartolina necessita di due azioni:
• Abbassamento del pulsante bistabile AP.
• Introduzione di cartolina nel meccanismo di trascinamento.
L’eventuale abbassamento del pulsante bistabile AZ, determina la registrazione di una
cartolina corta, limitata ai registri E, D (48 istruzioni).
L’utilizzo fra loro esclusivo dei registri M e A, per dati e G e I per programma, permette di
usare lo stesso codice indirizzo 0 per M e G , 4 per A e I.
Da notare, il registro HA – HH durante il calcolo contiene codice operativo ed indirizzo
dell’istruzione, in cartolina contiene l’indirizzo del registro di programma con cui avviene il
trasferimento del carattere. A sua volta il registro HK – HM che in esecuzione programma
contiene l’indirizzo del registro di programma, in cartolina forma con NK il contatore,
totale 4 bit, per i 12 bit del byte.
124Il verificarsi di un ciclo con NA=1 a cavallo di TT determina lo shift di 1 bit del registro
HA – H ed il passaggio al registro seguente. Lo stesso meccanismo, con l’esaurimento dei
registri di programma segnala la fine del trasferimento dei Crt.
I dati su cartolina vengono registrati utilizzando il sistema di ritorno a zero RZ, esso
prevede per ogni periodo di bit almeno una commutazione, quella del clock.
La tastiera garantisce i tempi di accesso alla LDR grazie ai tempi della meccanica e
dell’operatore. La cartolina, invece, richiede e genera un flusso di dati con periodo
costante di scambio Crt tra essa e LDR.
Onde evitare un registro hardware supplementare che permetta la sovrapposizione del
tempo di accesso alla LDR, a quella di registrazione – lettura su cartolina, si sono inseriti
4 bit di servizio agli 8 bit di informazione.
Il tempo corrispondente ai 4 bit di servizio, è sufficiente per l’accesso alla LDR.
Pertanto i bit di Crt della cartolina sono 12.
Sulla cartolina vengono registrati, 960 (programma) + 480 (servizio) = 1440 bit .
Figura. Carattere cartolina.
Il passaggio della cartolina sotto la testina, sia in lettura che scrittura è segnalato
dall’azionamento da parte della cartolina in movimento di un μswitch (AO), condizione
memorizzata nel flip flop SO, indicante il periodo utile per la registrazione- lettura della
cartolina stessa.
Il meccanismo di selezione dei registri programma (Registro H), che di selezione al loro
interno dell’istruzione ( NA – NB – NG), non hanno bisogno di essere descritti in quanto
sono gli stessi già utilizzati nella fase introduzione manuale del programma.
Ciò è reso possibile da:
• Stato unico SA per introduzione programma da tastiera e cartolina
• Segnale CT, che è l’or di AP e SO.
• PS or comprendente AK e HN, aventi la funzione di carattere pronto, AK per
tastiera e HN cartolina.
Esso utilizza:
• TA di R come puntatore del Crt di LDR da cui leggere - scrivere il codice
coinvolto.
• La coppia di flip flop NA, NB per la selezione del Crt di codice e spostamento
del TA in R sul Crt seguente.
• Il flip flop NG impedisce che il meccanismo si attui ripeta più volte nel tempo
dato dai 12 bit che definiscono il Crt di cartolina.
125Il via al ciclo di trasferimento carattere prevede al posto del mastro da tastiera AK, il
segnale HN generato dalla temporizzazione di Crt. della cartolina.
In registrazione, un monostabile OP, azionato dal primo fronte di SO, fornisce la prima
richiesta di Crt da registrare alla LDR sopperendo alla mancanza di HN, segnale utilizzato
in seguito con l’andata a regime della temporizzazione.
In registrazione (AP = 1), il periodo di bit è definito tramite l’oscillatore OR .
In ogni periodo di bit si ha la commutazione iniziale di clock, seguita dalla eventuale
commutazione a metà periodo in caso di informazione di bit = 1.
In lettura, la prima commutazione magnetica, rilevata dalla testina, viene considerata
come inizio del periodo di bit (clock). Essa fa partire il monostabile OS, il quale ha una
durata pari a 2/3 del periodo di bit. Pertanto le commutazioni magnetiche durante OS
indicano dei bit ad 1 e concorrono alla formazione del codice letto. Le altre sono
considerate clock, e come tali chiudono il periodo di bit precedente e facendo ripartire OS
danno inizio al successivo.
La base dei tempi della temporizzazione di cartolina, dovendo contare sino a 12 bisogna
di 4 bit.
Come spesso accade nella P101 essi non sono 4 flip flop dedicati , bensì:
• Il primo è dato dal flip flop NK, che in questo caso fornisce la prima divisione
del tempo di bit commutando ad ogni primo fronte di OS.
• Gli altri 3 flip flop sono HK – M. Onde omogeneizzare il meccanismo di conta
in registrazione a quello di lettura, OS per pilotare NK in registrazione, viene
comunque attivato dal primo fronte di OR .
Il segnale di Crt pronto di cartolina è dato da HN, or di HL e HK, il quale ha un rapporto
pieno vuoto di 8/4, lo stesso esistente tra bit informazione e di servizio.
Il flip flop NM, mantiene la sua funzione di pulizia dei registri, la stessa utilizzata per
introduzione dati da tastiera, prima di essere settato dal primo ciclo di trasferimento Crt.
riposiziona il TA di R in TR, cancellando quello eventualmente rimasto in altri Crt. In caso
di lettura cartolina, tramite XY, blocca la richiusura sulla LDR dei registri G, I, F, E, D
azzerandoli.
Il flip flop NE sia in lettura che registrazione è set per tutta la fase, in lettura a partire dal
primo bit letto da cartolina YI, in registrazione dal primo Crt. letto da LDR WS. Il reset in
entrambi i casi è dato dal secondo fronte di SO.
Il registro K, svolge la funzione di interfaccia dell’informazione, nello scambio Crt tra LDR
e cartolina.
Il clock che agisce sul registro è dato da:
• MX Temporizzazione di bit LDR. Per gli 8 bit in NB . In registrazione prelievo
del Crt da LDR. In lettura deposito del Crt in LDR.
• OS Temporizzazione di bit di cartolina. Per gli 8 bit in HN (Codice).
In registrazione scrittura dei bit di codice in cartolina.
In lettura accumula dei bit di codice da cartolina in K.
Con MX generato in HN negato ed OS durante HN, i due segnali essendo mutuamente
esclusivi, non interferiscono nel tempo di carattere.
In registrazione la base dei tempi della cartolina è data dall’oscillatore OR.
In lettura, la cadenza del tempo è quella dei bit (LS), clock e dati, in uscita
dall’amplificatore.
Registrazione cartolina
Lo start alla registrazione è dato dal μSwitch AO che genera SO – cartolina in movimento
sotto la testina.
Il fronte di SO con CT (AP) fa partire il monostabile OP da cui WZ e PS dando origine alla
richiesta di lettura del 1° Crt da prelevare da LDR e registrare su cartolina.
Il dato da LDR, selezionato dal decodificato attivo tra DM, DA, DF, DE e DD viene
memorizzato per un tempo di bit in LN.
La rete logica RK, dati in ingresso al registro, scrive in K, tramite il gate NB * SO * LN, i
bit in LN.
Lato temporizzazione di cartolina, il gate UC2 ( SO * AP* NM * NE ), a set avvenuto di NE
e NM, Crt da LDR letto, abilita l’oscillatore OR, definente il periodo di bit della cartolina.
Il primo fronte di OR fa partire il monostabile OS che fornisce il clock alla temporizzazione
di bit della cartolina.
In registrazione l’informazione RZ di bit è data da NL.
Pertanto NL commuta :
• Sul primo fronte di OS . Commutazione di clock, sia per codice che bit di
servizio.
• Nella fase di Crt con HN =1 di scrittura del codice. Sul secondo fronte di OR,
gate HN * OR * KA * NB \ (rete XX), in caso di bit KA =1.
• Nella fase di Crt con HN =0 di scrittura dei bit di servizio si effettua un
controllo di parità.
Sul secondo fronte di OR, gate HN \ * OR * NK * NL \, rete XX, in caso di
numero di bit di codice = 1 dispari. Condizione segnalata da NK=1 e NL=0.
Si ricorda che in cartolina NK=1, si ha in caso di numero di bit dispari.
Con HN=0 il 9° bit è tra i bit di servizio il 1° e funge da parità.
Con la commutazione di controllo NL si riallinea a NK sino all’inizio del Crt
seguente.
La scrittura del 24° Crt del registro D, con la generazione del decodificato che seleziona il
registro C provoca il reset di NM con il blocco dell’oscillatore OR e mette fine alla
registrazione.
La cartolina continuando nel suo movimento quando sarà completamente passata oltre il
μswitch AO, determina l’andata a 0 dello stesso e di SO.
Lettura cartolina
Il segnale proveniente dall’amplificatore di lettura della cartolina LS, genera YI sul cui 2°
fronte parte il monostabile OS determinante la finestra temporale entro la quale un
ulteriore LS sarà considerato un bit di codice a 1.
La stringa continua dei segnali di lettura LS, a cui fa seguito OS sosterrà la
temporizzazione di bit in fase di lettura cartolina, prendendosi il compito di OR in
registrazione..
Un LS che avviene in presenza di OS, bit di codice = 1, genera XB il quale setta
direttamente NF e tramite XX NL.
127Il bit in NF tramite il gate SO * AP \ * NF, viene scritto nel registro K.
La temporizzazione di Crt di cartolina, con YF ( CT * SA * NB * KA * MK ) abilitato da DM
e quindi DA, scrive direttamente il contenuto di KA nei registri G ed I.
YF produce RN, che a sua volta con la successione dei decodificati DF, DE e DD, termina
scrivendo in sequenza nei registri F, E ,D .
Esecuzione programma
L’esecuzione di un programma è identificata dal flip flop HP ed è avviata come tutte le
altre operazioni della P101 dallo stato SA.
L’esecuzione in corso del programma è segnalata all’operatore con il lampadino verde
lampeggiante, pilotato dagli stati in UK1 (SA + SD + SG + SH + SM).
A tasti AP e AZ non premuti, per avviare un programma si hanno 2 scelte :
1.
Programma da iniziare o avvio di un sotto programma, si utilizza uno dei tasti di
Avvio programma (V, W, Y, Z).
2.
Programma sospeso in attesa di proseguire dopo introduzione di dati manuali. In
genere si riparte con il tasto S.
La macchina estrae le istruzioni nello stato SP, dai registri G, I, F, E, D. All’interno del
registro la posizione dell’istruzione è indicata dal bit in TA del registro R.
In esecuzione del programma il registro contenente l’istruzione da eseguire è selezionato
dal decodificato dei 3 flip flop HM, HL e HK.
Tabella. Registri programma
HK
0
1
X
1
0
HL
1
X
1
0
X
HM
X
0
1
X
1
Registro
G
I
F
E
D
La connessione ad anello, con HM che si richiude invertito su HL impedisce le
configurazioni che producono l’attivazione contemporanea di più registri.
L’istruzione estratta dal registro selezionato viene memorizzata nel flip flop LP, unico per i
5 registri, indipendentemente dal gruppo, 1° o 2°, del registro.
In SP il segnale XI, TA=1 di R, avvia la sequenza dei flip flop NA - NB , durata un tempo
di carattere ognuno. In NB, l’istruzione contenuta in LP, viene caricata nel registro H .
In caso di lettura di una istruzione di Stop (Codice operativo = 0 → S) si ha li reset del
flip flop HP e la fine dell’esecuzione del programma con il rientro nello stato di attesa
comandi SA.
In tutte le altre istruzioni a SP segue SB. La successione degli stati è funzione
dell’istruzione in esecuzione. Al termine dell’ultimo stato esecutivo si ritorna in SP.
Se durante l’esecuzione di un programma si ha una condizione di errore, il set di ER,
provoca il rientro in SA con lampadino rosso ON e il reset di HP.
Il diagramma mostra il lancio del programma, introdotto precedentemente da tastiera,
tramite il tasto di avvio V codice C0 in SA. A seguito della stampa dell’istruzione
introdotta, la sua esecuzione negli stati SB e SP e l’estrazione ed inizio dell’ esecuzione
con SE del codice B4, radice quadrata del contenuto di A .
Diagramma Esecuzione programma.
128Il programma a seguito del tasto S, esegue l’istruzione data da:
• Flip flop HK, HL, HM
Selezione registro programma.
• Bit TA di R
Puntatore del Crt precedente l’istruzione da eseguire.
A seguito di tasto avvio programma, la prima istruzione del programma sarà quella che
nella sequenza ordinata dei registri programma (G, I, F, E, D) segue il codice riferimento
corrispondente al tasto di avvio.
A tutti gli effetti il tasto di avvio programma si comporta come una istruzione di salto
incontrata nell’esecuzione del programma stesso.
La fine dell’istruzione di avvio lascia comunque HK – HM, selezione registro programma e
TA di R, puntati sul Crt del registro che precede quello contenente l’istruzione da
eseguire.
La sequenza di fetch se non interessa istruzioni di salto, provvede nel contempo al
posizionamento del TA sull’istruzione seguente.
La coincidenza del ciclo di fetch con il gap della LDR determina la selezione del nuovo
registro programma.
L’estrazione in sequenza di una istruzione di riferimento equivale a non opera. In SB si
settano le condizioni di salto condizionato non soddisfatte.
Il diagramma mostra un caso di fetch di nuova istruzione in una sequenza continua senza
salti.
Le istruzioni sono identificate da HK – HL (I), TA in R all’inizio sul 5° Crt (D4) e dopo fetch
SP sul 6° Crt, istruzione stampa di M (80).
Diagramma fetch istruzione . Istruzione in sequenza continua.
Diagramma Dettaglio fetch istruzione da programma.
Istruzione di salto
La ricerca di un riferimento, per entrambi i salti, condizionato o no, avviene a partire dal
primo carattere del registro G e termina se non trova la coincidenza con il giusto
riferimento con il 24° Crt di D.
Ne risulta, che se nel programma sono presenti due riferimenti identici, il primo oscura il
secondo.
Una ricerca di riferimento, con esito positivo, fa riprendere il programma con l’esecuzione
della istruzione che segue il riferimento.
Il riferimento di un salto, incontrato nell’esecuzione del programma, si comporta come un
salto condizionato non verificato, non opera, si passa all’esecuzione dell’istruzione
seguente.
Il diagramma seguente mostra un doppio salto con riferimenti in 2 registri:
Y (E0) Riferimento in I, HK – HL (3), seguito da istruzione di salto V (C0).
V (C0)
Riferimento in G,HK – HL (1), seguito da istruzione trasferisci in D (23).
Diagramma Doppio salto.
Seguono le funzioni assunte dai vari flip flop nella ricerca del riferimento del salto.
• NC = 1 Salto non condizionato.
• ND = 1 Bit TC possibile riferimento.
• NE = 1
A fine Crt, in TH, uguaglianza tra altri bit da registro programma (LP) e salto,
espresso da UB3 (SP * NE * ND * TH * MK \).
• NA
Fine riferimento del salto.
• NB
Istruzione da eseguire.
• NG
Fine ricerca.
Il diagramma seguente mostra il fetch di un indirizzo a seguito di una istruzione di salto Z
(F0).
130L’indirizzo D4, agisce come una istruzione nulla. Dopo lo stato SB si ritorna in SP ove si
estrae l’istruzione di stampa M (80).
Diagramma Sequenza di stati di fetch indirizzo.
Stampa programma
L’avvio di stampa programma avviene in SA.
La condizione che distingue la stampa dall’esecuzione del programma è il pulsante AZ
premuto.
L’avvio della stampa programma si ha con :
• Tasto S. Codifica ZN.
• Tasto di Avvio programma (V, W, Y, Z).
Codifica ZM.
Con S la stampa avviene a partire dal registro individuato da HK – HM e dalla istruzione
seguente quella puntata dal TA in R.
Con tasto di avvio programma, la stampa avviene a partire dalla istruzione seguente il
riferimento del tasto di avvio.
In entrambi i casi si ha comunque prima la stampa di quanto introdotto da tastiera in SA.
Il registro programma è sempre identificato da HK – HL, l’istruzione dal TA in R.
Ogni ciclo sposta il TA in R sul Crt seguente.
NA in presenza del gap seleziona il registro successivo.
La sequenza degli stati è fissa, senza distinzioni dovute al codice istruzione.
Il diagramma mostra la fase iniziale di stampa programma, il via è dato dal tasto V di cui
segue la stampa accompagnata dalle prime 3 istruzioni:
10
↓
Trasferisci M in A.
2C
↑\ C
Trasferisci M in C splittato.
44
+\C
Somma C splittato in A.
La sequenza di stati di avvio stampa è la stessa di avvio esecuzione programma.
Il ciclo di stati SM, SN, SS di stampa seguito da SP di estrazione dell’istruzione
successiva, termina con la lettura di S, codice 00, alla cui stampa segue SA.
Diagramma Stampa programma.
Condizioni di errore. Flip flop ER
Le condizioni di errore sono segnalate dal flip flop ER set. La macchina indica all’esterno
lo stato di errore mediante l’accensione del lampadino Rosso (UH1) comandato da ER.
ER, nei casi di rilevamento di errore, agisce sul succedersi degli stati forzando la fine dello
stato in corso per attivare il ritorno in SA con il lampadino Rosso acceso.
Onde facilitarne l’individuazione nella figura seguente, i comandi sono indicati con R se
agenti su ingresso resistivo e con M se su maschera.
Segue un numero onde distinguerli.
La condizione di errore viene riposta sempre in SA.
Da tastiera, la prima battuta di un tasto , che produca uno strobe AK attiva VH (R1) o
dall’introduzione di una cartolina (M6).
Figura .
Flip flop di errore ER.
Le condizioni di errore sono dovute a :
•
M1 Lettura cartolina (AP \ *SO ). Controllo bit letti.
133a) Il numero di bit letto è minore del previsto.
b) Il numero di bit il lettura supera il massimo consentito.
Vi sono due casi individuati dal decodificato di registro C (DC).
o DC = 1 con SO = 1, quindi essendo DD = 0, la maschera è abilitata e il flip
flop ER sarà settato in quanto si è letto un numero di bit maggiore all’atteso.
o DC = 0 con fine cartolina SO = 0, la maschera è disabilitata se la
temporizzazione di cartolina, sostenuta dai segnali da cartolina stessa,
perviene allo stato con tutti e quattro i flip flop reset (NK\*HK\*HL\*HM\) .
Quindi a fine cartolina si sono letti i bit nel numero atteso. Se uno dei
quattro flip flop è set si ha errore e set di ER.
•
•
•
•
•
•
•
•
•
•
M2 Segnala il tentativo di occupare il 24° Crt del registro A. L’inizio di PO
comandante il passaggio in SG, avviene in presenza di NB settato in SF dalla
fine del PO stesso settante il flip flop NA, Crt precedente NB .
M3 Istruzione di stampa (ZL) Supero dei decimali permessi. Stato Se, primo giro
(NH = 0), con fase di conta decimali terminata (NG = 0 e NF = 1). Segnala
posizione della cifra meno significativa prima che siano terminate le cifre
significative del registro selezionato (LP).
M4 Segnala in divisione (ZF), un riporto di cifra nel registro R. Verificabile se
divisione per 0 (Zero).
M5 Istruzione di scambio con A (ZG * HF). Scambio di bit non validi. Stato SE.
In questo caso il registro A è allineato con il digit meno significativo sul 1° o
13° Crt. Durante Crt validi in A (PA = 1) si segnalano bit (LN = 1) non validi
nel registro selezionato (TP = 0).
R2 Cartolina. Segnala la mancanza di allineamento tra informazione (NL) e clock
durante il periodo di bit di servizio (NH = 0) in cui l’informazione è nulla.
R3 Istruzione di trasferimento da M a registro X (ZF). Trasferimento di bit non
validi. Stato SE. In questo caso il registro M è allineato con il digit meno
significativo sul 1° o 13° Crt. Durante Crt validi in M (PM = 1) si segnalano
bit (LN = 1) non validi nel registro selezionato (TP=0).
R4 Stato SB. Istruzioni di stampa (ZL), trasferimento (ZH e ZG) e calcolo.
Segnala il tentativo di occupare il 12° o 24° Crt
(TM),
durante il
trasferimento in M del registro selezionato il cui contenuto è dato da LN..
R5 Istruzioni di calcolo (ZA). Supero dei decimali permessi. Il calcolo della
posizione della virgola in funzione dei decimali richiesti (WD), posiziona la
cifra meno significativa prima che siano terminate le cifre significative di A o
M (PO).
R6 Introduzione numero da tastiera i M. Tentativo di introduzione del 24° Crt. Il
flip flop NA è contemporaneo a PM=1 segnalante Crt valido in M.
R7 Istruzione di calcolo. Somma o moltiplica. L’aggiunta di un Crt dovuta ad un
riporto di cifra ( KB*TA*PO\), introdotto dal gate 04E16 ♠ in K, si sovrappone
al TA in A indicante l’ultima cifra decimale impostata.
Appendice A. Codici da tastiera
Tasto/Segnale
Codice
AA AB AC AD AE AF AK AM AV AN AT AG
N N N N D/N D/N D/N D D D/N D/N D
μ Switch S2 S3 S10 S4 S5 S6 S1 S7 S8 S9 S11 S12
Reset 1 ° ciclo Off Off Off Off Off Off Off Off Off Off Off ON
Reset 2° ciclo ON Off ON ON Off Off ON Off Off Off ON Off
Clear Off Off ON ON Off Off ON Off Off ON Off Off
Livello
0 00 Off Off Off Off Off Off ON Off Off Off Off Off
1 01 ON Off Off Off Off Off ON Off Off Off Off Off
2 02 Off ON Off Off Off Off ON Off Off Off Off Off
3 03 ON ON Off Off Off Off ON Off Off Off Off Off
4 04 Off Off ON Off Off Off ON Off Off Off Off Off
5 05 ON Off ON Off Off Off ON Off Off Off Off Off
6 06 Off ON ON Off Off Off ON Off Off Off Off Off
7 07 ON ON ON Off Off Off ON Off Off Off Off Off
8 08 Off Off Off ON Off Off ON Off Off Off Off Off
9 09 ON Off Off ON Off Off ON Off Off Off Off Off
C 31 ON Off Off Off ON ON ON Off Off Off Off Off
R 32 Off ON Off Off ON ON ON Off Off Off Off Off
D 33 ON ON Off Off ON ON ON Off Off Off Off Off
A 34 Off Off ON Off ON ON ON Off Off Off Off Off
B 35 ON Off ON Off ON ON ON Off Off Off Off Off
F 36 Off ON ON Off ON ON ON Off Off Off Off Off
E 37 ON ON ON Off ON ON ON Off Off Off Off Off
/ 38 Off Off Off ON ON ON ON Off Off Off Off Off
S 20 Off Off Off Off Off ON ON Off Off Off Off Off
↓ 21 ON Off Off Off Off ON ON Off Off Off Off Off
↑ 22 Off ON Off Off Off ON ON Off Off Off Off Off
↕ 23 ON ON Off Off Off ON ON Off Off Off Off Off
+ 24 Off Off ON Off Off ON ON Off Off Off Off Off
- 25 ON Off ON Off Off ON ON Off Off Off Off Off
x 26 Off ON ON Off Off ON ON Off Off Off Off Off
- 27 ON ON ON Off Off ON ON Off Off Off Off Off
◊ 28 Off Off Off ON Off ON ON Off Off Off Off Off
- 29 ON Off Off ON Off ON ON Off Off Off Off Off
√ 2B ON ON Off ON Off ON ON Off Off Off Off Off
V 2C Off Off ON ON Off ON ON Off Off Off Off Off
W 2D ON Off ON ON Off ON ON Off Off Off Off Off
Y 2E Off ON ON ON Off ON ON Off Off Off Off Off
Z 2F ON ON ON ON Off ON ON Off Off Off Off Off
, Off ON Off ON Off Off Off Off ON Off Off Off
- ON ON Off ON Off Off Off ON Off Off Off Off
Appendice B. Connettori Pacco Elettronica – Attuazioni
I connettori sono 4, ognuno ha 12 Contatti.
Essi sono si inseriscono su pin saldati sul lato maggiore del back panel in basso.
Tabella 2
Connettore E - A
Pin Segnale Gruppo Descrizione
1
2
3
4
5
6
7
8
9
10
11
12 AB2
AT3
AE2
AN1
AE1
BLT
AA2
Vuoto
OK1
Schermo
+20
Massa Tastiera
Rotella Decimali
Tastiera
Tastiera
Tastiera
Stampante
Tastiera Codice peso 2 Binario – Vero = M
Comune del Selettore decimali
Codice peso 32 Binario – Vero = M
Clear - Annulla ultima cifra – Vero = +20
Codice peso 32 Binario – Vero = +20
Blocco tastiera
Codice peso 1 Binario – Vero = M
Stampante
Stampante
Alimentatore
Alimentatore Ruota fonica
Ruota fonica
Tabella 3
Connettore E - B
Pin Segnale Gruppo Descrizione
1
2
3
4
5
6
7
8
9
10
11
12 UD2
AT2
UD1
AN2
AG1
AF2
AT1
AZ2
AZ1
AC2
AW2
AD2 Selezione Decimali
Tastiera
Selezione Decimali
Tastiera
Tastiera
Tastiera
Tastiera
Stampa PG
Stampa PG
Tastiera
Stampante
Tastiera Codice peso 2 Binario
Reset 2 Ciclo
Codice peso 1 Binario
Clear - Annulla ultima cifra – Vero = M
Reset Generale - Vero = +20
Codice peso 32 Binario – Vero = M
Reset 2 Ciclo
Vero = M
Vero = +20
Codice peso 4 Binario – Vero = M
μSwitch Carrello in moto
Codice peso 8 Binario – Vero = M
Tabella 4
Connettore E - C
Pin Segnale Gruppo Descrizione
1
2
3
4
5
6
7
8
9
10
11
12 UD4
UD3
AK1
AP2
Schermo IL
IL2
IL1
IL0
Vuoto
Luce Rossa
Luce Verde
AO1 Selezione Decimali
Selezione Decimali
Tastiera
Registra PG
Cartolina
Cartolina
Cartolina
Cartolina Codice peso 8 Binario
Codice peso 4 Binario
Strobe - Codice tastiera valido – Vero = +20
Testina
Testina
Testina
Testina
Segnali VS Operatore
Segnali VS Operatore
Cartolina Errore
P 101 in attività
Cartolina in moto
Tabella 5
lettura
lettura
lettura
lettura
–
–
–
–
Schermo segnali IL0-2
Capo 2 Avvolgimento
Capo 1 Avvolgimento
Centrale Avvolgimento
Connettore E - D
136in Segnale Gruppo Descrizione
1
2
3
4
5
6
7
8
9
10
11
12 Massa
+20
AO2
AF1
CAR1
AP1
AW1
AV1
AM1
AW2
SPM
AK2 Alimentatore
Alimentatore
Cartolina
Tastiera
Stampante
Tastiera o Cartolina
Stampante
Tastiera
Tastiera
Stampante
Stampante
Tastiera Cartolina in moto
Codice peso 32 Binario – Vero = +20
Avanzamento Carrello – Vero = +20
Registra PG
Carrello in moto
Virgola
Segno Meno
Carrello in moto
Spara Martello
Strobe Codice tastiera valido – Vero = M
Appendice C. Tabella corrispondenza Simboli e Ruota fonica.
(img)
|
|