8-Bit Computer selber bauen?

5 Antworten

Da würde mir noch das Buch: "From Nand to Tetris" einfallen.

Du könntest mal schauen, was es bei hackaday.io gibt.

Entweder "homebrew CPU" oder "homebrew computer"

Interessant fand ich z.B. folgenden Ansatz (leider allerdings nicht typisch für eine CPU), weil die sogar eine Programmiersprache - Basic - mit liefern:

https://hackaday.io/project/20781-gigatron-ttl-microcomputer

Ich persönlich würde mich nur auf den Bau der CPU + notwendige Peripherie beschränken und bei der Programmierung bei Assembler bleiben... (das ist, denke ich überschaubarer) Es sei denn, du entschiedest dich für einen Befehlssatz, für den es schon einen Compiler gibt. Es gibt auch minimale C-Compiler für solche Zwecke.

Ein Betriebssystem/ Kernel würde ich auch nicht nehmen, sondern das Ding wie einen Mikrocontroller programmieren. Vielleicht sogar mit einem Arduino schummeln, der einen Speicher emuliert, Memory-Mapping zur Peripherie macht und die Bytes an die CPU schickt und Ergebnisse empfängt.

Sollte ich mal dazu kommen/ Zeit haben, wäre das so zumindest mein Traum der Umsetzung. :-p

Schau mal "Ben Eater" auf YouTube, vor 1-2 Jahren hat er eine komplette Playlist zu genau dem Thema erstellt.

Woher ich das weiß:eigene Erfahrung

Also die CPU auch selbst gebaut?

Da hast du dir was vorgenommen...

Naja, du musst halt einen Befehlssatz festlegen (ASM-Befehle).

Dann brauchst du einen Compiler, der deinen C++-Code in diesen Befehlssatz kompilieren kann.

Und eine Vorrichtung, womit du der CPU das kompilierte Programm in Form eines ROMs an die Hand geben kann.

Dann braucht dein Computer RAM, um das Programm da reinladen zu können, um es zu verarbeiten und damit überhaupt Arbeitsspeicher zur Verfügung steht.

Die Ausführung beginnt dann mit Byte 0.

Dieses Programm ist aber kein "normales" , sondern das Betriebssystem. Du brauchst kleine Unterprogramme für jeden "Furz", wie Tastatur abfragen, Zeichen auf Bildschirm...

Schau dir am besten mal an, wie das Assembler unter MS-DOS funktioniert. Speziell die Interrupts. Ist zwar 16bit, aber so kann man es auch für 8 Bit machen.

Woher ich das weiß:Hobby
Bestplayer12 
Fragesteller
 09.03.2019, 17:15

naja ich habe an etwas wie der 65815 gedacht oder einer 8008 gedacht, müsste aber einen eigenen Kernel schreiben und dafür finde ich auch ÜBERHAUPT nichts

0