Einstieg
- 2012 wurde Linux auf einem 8-Bit-Mikrocontroller (AVR) ausgeführt und damit ein Weltrekord für Linux auf einer Maschine mit minimalen Anforderungen aufgestellt
- 2023 tauchte ein Projekt auf, das Linux auf dem noch schwächer ausgestatteten MOS 6510 bootete
- Der Intel 4004 ist der erste kommerzielle Mikroprozessor der Welt; dieses Projekt wurde gestartet, um mit dem 4-Bit-Chip einen neuen Maßstab für die niedrigsten Anforderungen zu setzen
4004
- Der 4004 arbeitet in 4-Bit-Einheiten und wurde hauptsächlich für Taschenrechner entwickelt
- Es gibt keine logischen Operationen, im Wesentlichen nur die Befehle ADD und SUB
- Ungewöhnliche Rechenweise unter Verwendung des Carry-Flags
- Er besitzt 16 4-Bit-Register, einen 12-Bit-Programmzähler und einen vierstufigen Hardware-Stack
- Eine minimale Taktfrequenz ist erforderlich, Interrupts werden nicht unterstützt
- Es existieren einige Befehle, die Speicheroperationen direkt ausführen können
Kontrollfluss
- Unterprogrammaufrufe und Rückkehr mittels Hardware-Stack
- Es gibt bedingte Sprungbefehle, und über den TEST-Pin können externe Ereignisse erkannt werden
- Zur Verwaltung des 4096-Byte-Codebereichs wird das Konzept von Code-Seiten verwendet
Speicher und I/O
- Der 4004 verarbeitet Speicherbefehle nicht direkt; das übernehmen die Speicherchips
- Es werden bis zu 8 RAM-Bänke unterstützt, jede Bank besteht aus 4 Chips vom Typ 4002
- Der 4001 enthält 256 Byte ROM und einen 4-Bit-I/O-Port
- Der 4265 ist ein allgemeines I/O-Gerät mit 4 I/O-Ports zu je 4 Bit
4008, 4009, 4289
- 4008 und 4009 wurden dafür entwickelt, mit gewöhnlichen Speicherchips zu interagieren
- Der 4289 ist ein Chip, der 4008 und 4009 kombiniert und bei 5-V-Signalpegeln kommunizieren kann
Speichernutzung und Status-Nibbles
- Zur Auswahl einer Speicherbank wird der Befehl DCL verwendet
- Jede RAM-Bank besteht aus 4 Chips vom Typ 4002; jeder Chip besitzt 16 adressierbare Nibbles und 4 Status-Nibbles
Zusammenfassung von GN⁺
- Dieses Projekt hilft sehr dabei zu verstehen, wie frühe Mikroprozessoren wie der Intel 4004 funktionierten
- Es zeigt, wie sich das ungewöhnliche Design und die begrenzten Funktionen des 4004 überwinden lassen
- Im Vergleich zu modernen Mikrocontrollern bietet es die Möglichkeit, die Grenzen früher Mikroprozessoren selbst zu erleben
- Ein ähnliches Projekt mit vergleichbarer Funktionalität ist das Booten von Linux auf dem MOS 6510
2 Kommentare
Der Autor des Originalbeitrags ist also jener Typ, der diesmal auf der DEF CON wegen der Badge-Sache von der Bühne geholt wurde. Ich will mich auf keine Seite schlagen, aber seine Fähigkeiten sind trotzdem wirklich beeindruckend.
Hacker-News-Kommentare
Ich dachte, NetBSD auf einem 15-MHz-m68030 sei langsam, aber dieses Projekt ist wirklich beeindruckend
Ich würde gern mein Wissen so weit ausbauen, dass ich dieses Projekt verstehen kann
Ich mag AVR-Beispiele, und jetzt gibt es ein neues
Dieses Projekt war nicht billig, danke an die Ebay-Sammler
Erstaunliches Projekt
Die Videoaufnahme hat 9 Tage gedauert, bei 4 emulierten Stunden pro Sekunde
Für solche Projekte sollte es einen Nobelpreis geben
Sehr interessante Lektüre
Auf frühen Mikrocomputern liefen virtuelle Maschinen (Z-machine oder JVM)
Zum Abschnitt „Why MIPS?“: