Samstag, 18. März 2023

Was kann man mit einem Haufen Z80 CPUs machen?

In meinem Regal steht eine kleine Kiste, in der etwa 30 Z80 CPUs vor sich hin schlummern. Meine Überlegungen bis hierher:

  • Jede Z80 CPU bekommt eine MMU und kann damit weit mehr als die üblichen 64 kB RAM ansteuern. Jede CPU bekommt eigene 64 kB RAM, kann aber auch auf einen globalen Speicher mit mehreren MB RAM zugreifen.
  • Ein Prioritäten-Arbiter [sic] steuert den geordneten Zugriff auf den globalen Speicher und die Peripherie.
  • Zum Schutz der Programme gibt es eine Hardware, welche die Adressbereiche für Schreib-/Lesezugriffe, sowie die Ausführungsadresse überprüft und ggf. eine Exception (Interrupt) auslöst.
  • Jede CPU holt sich einen lauffähigen (d.h. auf nichts wartenden) Prozess in seinen lokalen Speicher und bearbeitet diesen. Ein Prozess wird erst dann zurück geschrieben und anschließend durch einen neuen ersetzt, wenn er a) gerade nicht im Status "runnable" ist (also z. B. auf eine Semaphore oder einen IO-Zugriff wartet), und b) ein Prozess im globalen RAM im Status "runnable" ist, aber keine CPU sich darum kümmert. Eine Robin-Round-Queue muss sich darum kümmern, wenn es gerade mehr "runnable" Prozesse, als CPUs gibt. Eventuell müssen den Prozessen auch Prioritäten zugeordnet werden können.
  • Als Betriebssystem kommt ein UNIX-Derivat zum Einsatz.


    Keine Kommentare:

    Kommentar veröffentlichen