Des Rätsels Lösung …
Ich dachte eigentlich nicht, das mein letztes Rätsel so schwierig ist. Vor allem wenn man regelmäßiger Blockleser ist und bemerkt hat das ich in den letzten Wochen einen Artikel über den 8008 und 8080 verfasst habe. Da dachte ich mir müsste es offensichtlich sein, das man vielleicht mal bei den anderen frühen Prozessoren den Befehlssatz anschaut, da könnte ich ja dann gerade am Artikelschreiben sein (ich erwähnte ja das ich beim Recherchieren drauf kam). Vielleicht lag es auch an der etwas satirischen Formulierung, oder ihr seid allgemein Rätsel überdrüssig oder von Rätseln überfordert die man nicht mit einer Google-Abfrage lösen kann.
Dabei habe ich eigens mit meinem nächsten Aufsatz gewartet, da auch dort dr 4004 das Thema ist, damit es nicht zu leicht wird.
Also des Rätsels Lösung: der fleißigste Prozessor den ich kenne ist der Intel 4004. Das mag verblüffen, wird dessen Geschwindigkeit doch meist zwischen 50.000 und 80.000 Instruktionen angegeben. Aber der Prozessor hatte keine Möglichkeit gar nicht zu tun. Schon ein Prozessor wie dieser, der in Tischrechnern eingebaut wurde hat eigentlich nur was zu tun wenn der Benutzer auf eine Taste drückt und dann wieder für Ewigkeiten gar nichts. Es fehlten ihm aber die Befehle NOP (No Operation) und Halt. Okay, die CPUs von Damals kannten keinen Idle Mode in dem sie wirklich nichts tun konnten oder Teile des Prozessors von der Stromversorgung trennen konnten bis was passiert. Aber es liest sich eben einfach in einem Listing besser wenn dort die Befehle stehen anstatt andere die dasselbe tun. Der Befehl NOP ist vielen Architekturen als Verzögerung implementiert und manchmal an dem Opcode zu erkennen das er eigentlich ein anderer Befehl ist der nichts am Registerinhalt oder flags verändert wie „Lade Akku mit dem Inhalt des Akkus“.
Anders sieht es mit Halt aus. Der Befehl hält die CPU wirklich an bis ein externes Signal anliegt, z.B. der Anwender eine Taste drückt und der I/O Baustein dann einen Request an die CPU schickt doch die Daten abzuholen. Die verbesserte Version des 4004, der 4040 enthielt beide Befehle.