Search

Nur mit Formeln: Entwickler implementiert 16-Bit-Prozessor im Excel-Sheet - Golem.de - Golem.de

Einen Prozessor zu bauen ist gar nicht so schwer – mit ein paar Tricks und minimalem Befehlssatz klappt das sogar mit Excel.

Ein Prozessor lässt sich nicht nur mit Silizium bauen - auch Excel funktioniert als Grundlage.
Ein Prozessor lässt sich nicht nur mit Silizium bauen - auch Excel funktioniert als Grundlage. (Bild: Yaca2671, Wikimedia Commons; Montage: Golem.de/CC-BY-SA 3.0)

Am Anfang stand die Frage: Wäre es möglich, einen 16-Bit-Computer mitsamt Speicher in einer Tabellenkalkulation zu simulieren? So zumindest beschreibt es ein Entwickler mit Pseudonym Inkbox, der sonst etwa an NES-Spielen arbeitet, in einem Video bei Youtube. Er begann er mit Logikgattern, den Prozessor entwickelte er allerdings mit höherer Abstraktion – "um meine geistige Gesundheit zu bewahren".

Dabei bedient er sich lediglich der Kernfunktionen von Excel: Formeln implementieren die Funktionalität der einzelnen Komponenten, bedingte Formatierung zeigt auf den ersten Blick den Wert von Flags und Registern. Damit ist außerdem eine Bildausgabe mit 128 x 128 Pixeln realisiert. Für dieses wird ein Teil des 128 kByte großen ROMs genutzt. Display und ROM sind ebenfalls über Tabellenzellen realisiert, Letzterer wird aus einer eingebundenen Excel-Datei geladen.

Ein paar Herausforderungen gab es aber zu meistern: So muss bei der Anordnung der einzelnen Komponenten Excels Auswertungsreihenfolge beachtet werden. Die erfolgt von links nach rechts und oben nach unten, entsprechend sind Komponenten, die mit der Ausgabe einer anderen arbeiten, unter diesen angeordnet. Auch müssen sogenannte iterative Berechnungen aktiviert werden, die endlose Berechnungen durch zirkuläre Abhängigkeiten verhindern sollen.

Ohne sie funktioniert etwa der Takt nicht, dessen Zelle von sich selbst abhängt. Letztlich wird der Takt aber manuell erzeugt: Die Tabelle muss durch Drücken von F9 aktualisiert werden. Das begrenzt die Taktfrequenz auf wenige Hertz. Die Excel-Dateien bietet Inkbox zusammen einigen Beispielprogrammen in seinem Github-Repository an. Mit Libreoffice funktioniert die CPU leider nicht.

Eigener Befehlssatz, eigener Compiler

Um die Formeln nicht allzu komplex werden zu lassen, dachte sich Entwickler Inkbox einen sehr minimalen Befehlssatz mit nur 21 Anweisungen aus. Um etwas komfortabler programmieren zu können, programmierte er zudem einen Assembler in Python. Der findet sich, zusammen mit einer Dokumentation des Befehlssatzes, ebenfalls im Repository.

Der Excel-Prozessor ist zwar exotisch, CPUs mit ungewöhnlicher Hardware sind aber keine Seltenheit. Für Minecraft gibt es sogar eine Anleitung zum Bau von Computern, auf einer komplexeren Variante läuft sogar Snake. Daneben existieren Projekte wie der Gigatron, die zumindest aus elektronischen Komponenten bestehen.

Adblock test (Why?)

Artikel von & Weiterlesen ( Nur mit Formeln: Entwickler implementiert 16-Bit-Prozessor im Excel-Sheet - Golem.de - Golem.de )
https://ift.tt/sFSwUWe
Wissenschaft & Technik

Bagikan Berita Ini

0 Response to "Nur mit Formeln: Entwickler implementiert 16-Bit-Prozessor im Excel-Sheet - Golem.de - Golem.de"

Post a Comment

Powered by Blogger.