CPUs für Retro-Computerschulprojekt

Ich bin Student an einer IT-Schule und wir versuchen, uns ein Projekt auszudenken, mit dem wir Schülern im ersten Jahr zeigen könnten, wie die Dinge hinter der Bühne funktionieren, und wir dachten schließlich daran, einen Retro-Computer zu bauen.

Ich habe viel über den Z80-Prozessor gelesen, aber ich vermute, dass wir etwas Leistungsstärkeres brauchen, wir wundern uns immer noch über die Architektur, obwohl ARM eine gute Wahl sein könnte, wenn man bedenkt, dass wir eine Menge Dokumentation finden würden, die wir haben stellte auch einige besondere Bedürfnisse fest:

  • Ein externer Adressbus, wenn wir mehr RAM benötigen
  • > 50 MHz
  • 16 oder 32 Bit
  • Kein BGA/QFN-Gehäuse
  • Kein FPGA-Board
  • Eine serielle Schnittstelle (?)
  • Auch nicht zu teuer, da wir ein begrenztes Budget haben

Der P8X32A-D40 sieht aus wie eine gute CPU, aber es fehlt ihm die Menge an RAM, die wir benötigen würden (32 KB). Ich habe eher an etwas wie> 1 MB gedacht. Vielleicht ist der eZ80 eine Überlegung wert. Wir möchten Antworten von erfahrenen Leuten wie Ihnen.

Danke dir.

Bearbeiten: Obwohl ich eine Antwort akzeptiert habe, da sie unsere Bedürfnisse erfüllt, ist die Frage noch offen für andere Vorschläge, da wir die Auswahl mit dem Team von Studenten besprechen müssen, die bereit sind, an dem Projekt teilzunehmen.

Zuerst besprechen Sie die Herstellung eines Retro-Computers und stellen dann Spezifikationen (50 MHz, > 1 MB RAM) für viel neuere Mikroprozessoren auf. Der Z80 hatte eine maximale Taktrate von 2 MHz und konnte 64 KB Speicher unterstützen. Der Propeller-Chip (P8X32A-D40) ist aufgrund seiner einzigartigen Architektur einer meiner Favoriten, aber definitiv kein Retro-Computing. Das Z80 ist keine schlechte Wahl, da es eine Menge Informationen zum Zusammenstellen eines selbstgebauten Systems gibt, siehe zum Beispiel hier .
Ich weiß, dass diese Spezifikationen alte Computer neidisch machen würden, aber ich denke, eine Art Retro ++ wäre ideal (die anderen Studenten würden sowieso alles unter 1 GHz als "retro" betrachten ...)
In einem Mikrocontroller-Kurs, an dem ich teilgenommen habe, haben wir das Motorola 6800 verwendet ... es ist komplex genug mit all den verschiedenen Adressierungsmodi, dass es die 8-Bit-Atmels und PICs wie ein Spielzeug aussehen lässt. Aber es ist nicht so komplex, dass Sie es bauen können mentales Modell der Sache, ohne den Verstand zu verlieren. Es hängt nur davon ab, wie „unter die Haube“ Sie kommen wollen.
Ich wollte so etwas bauen. Werfen Sie einen Blick auf den WDC 65C816 - es ist das 16-Bit-CMOS-Derivat des ehrwürdigen 6502 und wird in einem DIP40-Gehäuse geliefert.
Ich bin mit dem Grund für das Schließen dieser Frage überhaupt nicht einverstanden . Das OP sucht anhand einer Reihe von Kriterien nach einer geeigneten Computerarchitektur für Schüler. Ich antwortete zuerst mit einer Empfehlung für eine geeignete Architektur, die ihm wahrscheinlich nicht bekannt war, und ja, dann empfahl ich einen bestimmten Chip, weil er in einem studentenfreundlichen DIP-Paket erhältlich war. Aber ich denke, meine ziemlich umfassende Antwort, die die Gründe für meine Empfehlungen auflistet, wäre in Zukunft für alle anderen nützlich, die versuchen, die gleiche Entscheidung zu treffen. Empfehlen Sie die Wiedereröffnung.
Diese Art der ergebnisoffenen Suche nach Lösungen passt nicht wirklich zum Stack-Exchange-Modell; Normalerweise würde dies als "Einkaufsfrage" richtig geschlossen werden. Es wurde einige Mühe in die Antworten investiert, daher verdient es vielleicht nicht, geschlossen und gelöscht zu werden, aber eine sich ständig anhäufende Liste von Ideen entspricht nicht wirklich der Mission von Stack Exchange.

Antworten (3)

Obwohl die derzeit verfügbaren Versionen keinen echten externen Adressbus haben (der kommt), könnten Sie den Microchip PIC32 in Betracht ziehen . Seine Architektur basiert auf MIPS aus dem Jahr 1988 und ist einer der beiden wichtigsten RISC-Befehlssätze (der andere ist ARM). In dieser Hinsicht kann es also als Retro angesehen werden. (Eine Kleinigkeit: Die Sony Playstation verwendete einen MIPS-Prozessor.)

Eines der netten Merkmale des PIC32 (und ungewöhnlich für einen 32-Bit-Mikrocontroller) ist, dass Sie mehrere Varianten in einem DIP-Paket erhalten können, jedoch ist der maximal verfügbare Speicher im Vergleich zu den oberflächenmontierten Versionen begrenzt. Einer der PICs mit dem größten Speicher in einem 28-Pin-DIP-Gehäuse ist der PIC32MX250F128 mit 128 KB Flash-(Programm-)Speicher und 32 KB RAM. Es ist von Digi-Key in den USA und Farnell in Großbritannien erhältlich .

Obwohl der Arbeitsspeicher begrenzt erscheinen mag, beachten Sie, dass PICs Harvard-Architektur sind , was bedeutet, dass die Programm- und Datenadressräume getrennt sind und Programme außerhalb des Flash ausgeführt werden, sodass Sie nicht viel Arbeitsspeicher benötigen. (Für die Puristen sind die PIC32s tatsächlich eine modifizierte Harvard-Architektur, weil es möglich ist, Programme aus dem RAM heraus auszuführen.) Die andere Alternative ist Von NeumannArchitektur (z. B. in PCs verwendet), in der es einen Adressraum für alles gibt und Programme normalerweise keinen RAM mehr haben, mit einer Ausnahme, dass sie normalerweise mindestens etwas Flash oder ROM (in einem PC BIOS genannt) haben müssen den Adressraum des Prozessors, um eine Boot-Routine auszuführen, um das Betriebssystem von einem Massenspeichergerät oder Netzwerk in den RAM zu laden. Der Z80 (und die meisten Mikroprozessoren seiner Zeit) verwendeten ebenfalls eine Von-Neumann-Architektur. Also musste man sowohl Programm als auch Daten in 64 KB unterbringen. Einige Mikros mit einer Von-Neumann-Architektur ordneten ihre Peripheriegeräte auch demselben 64-KByte-Adressraum zu; andere verwendeten eine separate Port-Adressierung.

Bezüglich des externen Busses haben aktuelle PIC32 (aber aufgrund der Anzahl der Pins nur in oberflächenmontierten Gehäusen) einen 8 oder 16 Bit breiten "Parallel Master Port" (PMP), der in Verbindung mit DMA Daten hin und her übertragen kann automatisch zwischen dem RAM des PIC und dem externen RAM oder einem Peripheriegerät. Dies erlaubt es jedoch nicht, direkt auf den externen Speicher (im Adressraum des Prozessors) zuzugreifen oder dort Code auszuführen. Die allerneueste PIC32MZ-Familie , die bei Digi-Key gelistet, aber noch nicht auf Lager ist, wird einen echten externen Adressbus, bis zu 2 MB Flash, 1/2 MB RAM haben und mit 200 MHz laufen.

Der PIC32MX250F128 läuft mit 50 MHz, es gibt andere, die mit 80 MHz laufen. Es hat zwei serielle UART-Ports; Sie benötigen einen Pegelwandler , um dies in RS232-Signale umzuwandeln.

Da es als DIP verpackt ist und ohne externen Oszillator betrieben werden kann, benötigen Sie für den Einstieg lediglich ein 3,3-V-Netzteil, einige 0,1-µF-Entkopplungskappen und ein Steckbrett. Sie können einen kostenlosen C-Compiler und eine IDE von Microchip erhalten.

Sobald Sie den Prozessor zum Laufen gebracht haben, können Sie Peripheriegeräte wie ein LCD-Display, Tasten (sogar eine Tastatur) usw. hinzufügen.

Sie können andere PIC32MX mit bis zu 512 KB Flash und 128 KB RAM erhalten, jedoch nur in oberflächenmontierten Paketen wie TQFP und VQFN , für die Sie ein PCB-Layout erfordern würden (dieses Problem hätten Sie auch mit jedem ARM-Prozessor).

Vielen Dank, das ist sehr informativ und so ein PIC würde eigentlich unsere Bedürfnisse erfüllen. Wir werden unser Design anpassen, falls wir das Bedürfnis verspüren, auf das VQFN-Gehäuse oder die PIC32MZ-Familie umzusteigen.
Ich würde nicht sagen, dass es eine Anforderung von CPUs ist, die eine von Neumann-Architektur verwenden, um ihre Programme aus dem RAM auszuführen. Es ist sicherlich möglich, Flash und RAM in derselben Speicherkarte zu haben, sodass Sie Code von beiden ausführen können. von Neumann-CPUs haben einfach einen Bus und einen Adressraum für Befehle und Daten.
@JasonR Ich wollte nicht implizieren, dass Programmen in einer Von Neumann-Architektur kein RAM mehr zur Verfügung stehen muss, sondern mindestens etwas Flash oder ROM (in einem PC als BIOS bezeichnet) benötigt wird, um eine Boot-Routine zum Laden des Betriebssystems auszuführen von einem Massenspeichergerät oder Netzwerk in den Arbeitsspeicher. (Natürlich hatten wirklich frühe Computer, einschließlich früher PCs wie der Altair 8800 , nicht einmal ein Boot-ROM und Sie mussten einen Bootloader von Hand mit Schaltern auf der Vorderseite einschalten). Ich habe meine Antwort aktualisiert.

Obwohl ich @tcrosley weitgehend zustimme, fühle ich mich verpflichtet, darauf hinzuweisen, dass Sie sich ein FPGA-Board besorgen sollten, wenn Sie anderen Studenten wirklich zeigen möchten, wie die Dinge "hinter der Bühne" funktionieren (kaufen Sie einfach eins, versuchen Sie es nicht und machen Sie es ) und lernen Sie, wie Sie CPUs mithilfe von Logik von Grund auf neu erstellen. Schauen Sie sich das an, um einen guten Ausgangspunkt zu erhalten.

Haben Sie die MC68000-Serie in Betracht gezogen?

Es ist eine 16/32-Bit-CPU, mit Ausnahme des 68008, die Datenleitung ist 16 Bit, einige von ihnen können problemlos mit 50 MHz ausgeführt werden, und der Adressraum beträgt 16 MB.

  • Ein externer Adressbus, wenn wir mehr RAM brauchen - ja und nur
  • > 50 MHz - kann sein
  • 16 oder 32 Bit - beides
  • Kein BGA/QFN-Gehäuse - ja
  • Kein FPGA-Board - nein
  • Eine serielle Schnittstelle (?) nein, deine musst du dir aber sehr einfach machen
  • Auch nicht zu teuer, da wir ein begrenztes Budget haben - ja

Hier ist die vollständige Dokumentation: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf