Il punteggio di 1 byte deriva da due istruzioni a 4 bit:
0000 0010
Spiegazione
Motorola MC145008 è un processore CMOS statico a chip singolo, un bit, ottimizzato per attività orientate alle decisioni. Il processore è contenuto in un pacchetto a 16 pin e presenta 16 istruzioni a quattro bit. Le istruzioni eseguono operazioni logiche sui dati che compaiono su una linea di dati bidirezionale a un bit e sui dati in un registro dei risultati che accumula un bit all'interno dell'ICU. Tutte le operazioni vengono eseguite a livello di bit.
I pin del processore sono numerati:
Istruzioni sono presentati al chip sui 4 perni istruzione, ( I0
, I1
, I2
, I3
), e vengono agganciati nel Instruction Register (IR), sul bordo andamento negativo di X1.
In parole povere, i pin da 4 a 7 vengono utilizzati per presentare un'istruzione al registro delle istruzioni, ma i bit vengono interpretati in ordine inverso. Ad esempio, l'istruzione 0001
avrebbe il pin # 7 nello stato alto e i pin da 6 a 4 nello stato basso.
Le istruzioni vengono decodificate in Control Logic (CTL), inviando i comandi logici appropriati al LU. Ulteriore decodifica viene eseguita allo CTL inviare un numero di flag di uscita ( JMP
, RTN
, FLGO
, FLGF
) ai pin 9 a 12. Questi sono utilizzati come segnali di controllo esterni e rimangono attivi per un periodo di clock completo dopo il fronte di andamento negativo di X1.
Oppure, messo semplicemente, perni 9 a 12 sono i flag di uscita FLGF
, FLGO
, RTN
, e JMP
, rispettivamente. Si noti che i dati sono in genere multiplexati al WRITE
pin (pin # 2). I pin del flag di output sono simili ai codici di uscita di altre lingue.
Ciascuna delle istruzioni dell'ICU viene eseguita in un singolo periodo di clock.
rotazioni
Posizione iniziale
0000 NOPO
0010 LDC
I periodi di orologio:
- L'
NOPO
istruzione mette il pin # 10 ( FLGO
) nello stato alto. Prima del successivo periodo di clock, i pin dei flag di uscita vengono riportati allo stato basso.
- L'
LDC
istruzione carica il complemento del valore del bus dati nel registro dei risultati, senza influire sui pin del flag di uscita.
Quindi, durante i due periodi di clock del programma, sono rappresentati i pin dei flag di output 0100 0000
, che, letti al contrario (come i pin di input) 0000 0010
, o le istruzioni originali.
Prima rotazione
0010 LDC
0000 NOPO
I periodi di orologio:
- Il complemento del bus dati viene caricato nel registro dei risultati, senza alcun effetto sui pin flag di output.
- Il pin n. 10 è passato allo stato alto.
Durante questi due periodi di clock, sono rappresentati i pin del flag di uscita 0000 0100
, che, quando invertiti, sono le istruzioni 0010 0000
.
aaabbb
e potrei dire che la prossima rotazione èbbbaaa
? O dovrebbe essere la prossima rotazionebaaabb
?