Die 1-Byte-Bewertung wird aus zwei 4-Bit-Anweisungen abgeleitet:
0000 0010
Erläuterung
Der Motorola MC145008 ist ein statischer Ein-Bit-CMOS-Prozessor mit einem Chip, der für entscheidungsorientierte Aufgaben optimiert ist. Der Prozessor ist in einem 16-Pin-Gehäuse untergebracht und verfügt über 16 Vier-Bit-Anweisungen. Die Anweisungen führen logische Operationen an Daten aus, die auf einer bidirektionalen Ein-Bit-Datenleitung und an Daten in einem Ein-Bit-Akkumulationsergebnisregister auf der ICU auftreten. Alle Operationen werden auf der Bitebene ausgeführt.
Die Pins des Prozessors sind nummeriert:
Befehle werden an den 4 Anweisungsstiften an den Chip präsentiert, ( I0
, I1
, I2
, I3
) und werden in das Befehlsregister zwischengespeichert werden , (IR), auf der negativen Flanke von X1.
In Laienbegriffen werden die Stifte 4 bis 7 verwendet, um das Befehlsregister mit einem Befehl zu versehen, aber die Bits werden in umgekehrter Reihenfolge interpretiert. Zum Beispiel 0001
würde der Befehl Pin # 7 im hohen Zustand und die Pins 6 bis 4 im niedrigen Zustand haben.
Die Anweisungen werden in der Steuerlogik (Control Logic, CTL) decodiert und senden die entsprechenden Logikbefehle an die LU. Weitere Decodierung wird auch in der CTL ausgeführt , um eine Anzahl von Ausgangs Flags senden ( JMP
, RTN
, FLGO
, FLGF
) auf die Stifte 9 bis 12. Diese als externe Steuersignale verwendet werden und bleiben aktiv für eine volle Taktperiode nach der negativen Flanke von X1.
Oder, einfach gesagt, Stifte 9 bis 12 sind die Ausgänge Flags FLGF
, FLGO
, RTN
, und JMP
, beziehungsweise. Beachten Sie, dass Daten normalerweise auf den WRITE
Pin (Pin 2) gemultiplext werden . Die Ausgangs-Flag-Pins ähneln den Exit-Codes anderer Sprachen.
Jeder Befehl der ICU wird in einer einzigen Taktperiode ausgeführt.
Drehungen
Ausgangsposition
0000 NOPO
0010 LDC
Die Uhrzeiten:
- Der
NOPO
Befehl versetzt den Pin # 10 ( FLGO
) in den High-Zustand. Vor der nächsten Taktperiode werden die Ausgangsflagpins wieder in den niedrigen Zustand versetzt.
- Der
LDC
Befehl lädt das Komplement des Werts des Datenbusses in das Ergebnisregister, ohne die Ausgangsflag-Pins zu beeinflussen.
Während der zwei Taktperioden des Programms haben sich also die Ausgangs-Flag-Pins dargestellt 0100 0000
, die umgekehrt (wie die Eingangs-Pins) gelesen werden 0000 0010
, oder die ursprünglichen Anweisungen.
Erste Umdrehung
0010 LDC
0000 NOPO
Die Uhrzeiten:
- Das Komplement des Datenbusses wird ohne Auswirkung auf die Ausgangsflag-Pins in das Ergebnisregister geladen.
- Pin # 10 ist in den High-Zustand geschaltet.
Während dieser beiden Taktperioden haben die Ausgangsflag-Pins dargestellt 0000 0100
, die, wenn sie umgekehrt sind, die Anweisungen sind 0010 0000
.
aaabbb
und ich könnte sagen, dass die nächste Drehung istbbbaaa
? Oder müsste die nächste Umdrehung seinbaaabb
?