CPUs für Retro Computer School Projekt

9

Ich bin Student an einer IT-Schule und wir versuchen, uns ein Projekt auszudenken, mit dem wir Studenten im ersten Jahr zeigen können, wie die Dinge hinter der Bühne funktionieren, und wir haben schließlich darüber nachgedacht, einen Retro-Computer zu bauen.

Ich habe viele Dinge über den Z80-Prozessor gelesen, aber ich vermute, dass wir etwas Stä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 stellte auch einige spezielle Bedürfnisse fest:

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

Der P8X32A-D40 sieht aus wie eine gute CPU, hat aber nicht genügend RAM (32 KB). Ich habe mehr über etwas wie> 1 MB nachgedacht. Vielleicht ist der eZ80 eine Überlegung wert. Wir möchten Antworten von experimentierten Leuten wie Ihnen.

Danke.

Bearbeiten: Auch wenn ich eine Antwort akzeptiert habe, die unseren Anforderungen entspricht, ist die Frage noch offen für andere Vorschläge, da wir mit dem Team von Studenten, die bereit sind, an dem Projekt teilzunehmen, über die Auswahlmöglichkeiten diskutieren müssen.

Anthony Teisseire
quelle
4
Zuerst diskutieren Sie die Herstellung eines Retro-Computers und stellen dann Spezifikationen (50 MHz,> 1 MB RAM) für Mikroprozessoren auf, die viel neuer sind. 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. Der Z80 ist keine schlechte Wahl , da es eine angemessene Menge an Informationen ist auf der Zusammenstellung ein Eigenbau-System, zum Beispiel das sehen .
Tcrosley
Ich weiß, dass diese Spezifikationen alte Computer neidisch machen würden, aber ich denke, eine Art Retro ++ wäre ideal (Die anderen Schüler würden sowieso alles unter 1 GHz als "Retro" betrachten ...)
Anthony Teisseire
4
In einer Mikrocontroller-Klasse, an der ich teilgenommen habe, haben wir das Motorola 6800 verwendet ... es ist komplex genug mit all den verschiedenen Adressierungsmodi, sodass die 8-Bit-Atmels und PICs wie ein Spielzeug aussehen. Aber es ist nicht so komplex, dass man ein bauen kann mentales Modell der Sache, ohne den Verstand zu verlieren. Es kommt nur darauf an, wie "unter der Haube" Sie bekommen möchten.
Daniel
Ich würde so etwas bauen. Schauen Sie sich das WDC 65C816 an - es ist das 16-Bit-CMOS-Derivat des ehrwürdigen 6502 und wird in einem DIP40-Paket geliefert.
Peter
7
Ich bin völlig anderer Meinung als der Grund, diese Frage zu schließen. Das OP sucht nach einer geeigneten Computerarchitektur für Schüler, die eine Reihe von Kriterien erfüllt. 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, da dieser in einem schülerfreundlichen DIP-Paket verfügbar war. Aber ich denke, meine ziemlich umfassende Antwort, in der die Gründe für meine Empfehlungen aufgeführt sind, wäre in Zukunft für alle anderen nützlich, die versuchen, die gleiche Entscheidung zu treffen. Empfehlen Sie, dies erneut zu öffnen.
Tcrosley

Antworten:

6

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

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

Obwohl der Arbeitsspeicher begrenzt zu sein scheint, beachten Sie, dass es sich bei den PICs um eine Harvard-Architektur handelt. Dies bedeutet, dass die Programm- und Datenadressräume getrennt sind und die Programme nicht über Flash ausgeführt werden, sodass Sie nicht viel Arbeitsspeicher benötigen. (Für die Puristen sind die PIC32s tatsächlich eine modifizierte Harvard-Architektur, da es möglich ist, Programme ohne RAM auszuführen.) Die andere Alternative ist Von NeumannArchitektur (wird beispielsweise in PCs verwendet), in der für alles ein Adressraum vorhanden ist und Programme normalerweise nicht über genügend RAM verfügen. Eine Ausnahme besteht darin, dass sie normalerweise mindestens Flash oder ROM (in einem PC BIOS genannt) benötigen Der Adressraum des Prozessors zum Ausführen einer Startroutine zum Laden des Betriebssystems von einem Massenspeichergerät oder Netzwerk in den Arbeitsspeicher. Der Z80 (und die meisten Mikroprozessoren seiner Zeit) verwendeten ebenfalls eine Von Neumann-Architektur. Man musste also sowohl Programm als auch Daten in 64 KB einpassen. Einige Mikros mit einer Von Neumann-Architektur haben ihre Peripheriegeräte ebenfalls auf denselben 64-KB-Adressraum abgebildet. andere verwendeten eine separate Portadressierung.

Auf dem externen Bus haben aktuelle PIC32s (jedoch 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 jedoch nicht, direkt auf den externen Speicher (im Adressraum des Prozessors) zuzugreifen oder dort Code auszuführen. Die neueste PIC32MZ-Familie , die bei Digi-Key gelistet, aber noch nicht auf Lager ist , verfügt über einen echten externen Adressbus, bis zu 2 MB Flash, 1/2 MB RAM und läuft mit 200 MHz.

Der PIC32MX250F128 läuft mit 50 MHz, andere mit 80 MHz. Es verfügt über 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 zum Starten lediglich ein 3,3-V-Netzteil, etwa 0,1-µF-Entkopplungskappen und ein Steckbrett. Sie können einen kostenlosen C-Compiler und eine IDE von Microchip erhalten.

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

Sie können andere PIC32MXs 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 eine Leiterplatte auslegen müssten (dasselbe Problem hätten Sie auch mit jedem ARM-Prozessor).

tcrosley
quelle
Vielen Dank, dies ist sehr informativ und ein solcher PIC würde tatsächlich unsere Bedürfnisse erfüllen. Wir werden unser Design anpassen, falls wir auf das VQFN-Paket oder die PIC32MZ-Familie umsteigen müssen.
Anthony Teisseire
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 Speicherzuordnung 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.
Jason R
@JasonR Ich wollte nicht implizieren, dass Programme in einer Von Neumann-Architektur keinen RAM mehr haben müssen. Tatsächlich müssen sie mindestens über Flash oder ROM (auf einem PC BIOS genannt) verfügen, um eine Startroutine zum Laden des Betriebssystems auszuführen aus einem Massenspeichergerät oder Netzwerk in den Arbeitsspeicher. (Natürlich hatten sehr frühe Computer, einschließlich früherer PCs wie der Altair 8800 , nicht einmal ein Boot-ROM, und Sie mussten einen Bootloader mithilfe von Schaltern auf der Vorderseite von Hand einschalten.) Ich habe meine Antwort aktualisiert.
Tcrosley
3

Obwohl ich @tcrosley im Großen und Ganzen zustimme, muss ich darauf hinweisen, dass Sie, wenn Sie anderen Studenten wirklich zeigen möchten, wie die Dinge "hinter der Bühne" funktionieren, ein FPGA-Board kaufen sollten (kaufen Sie einfach eines, versuchen Sie es nicht ) und lernen, wie man CPUs mithilfe von Logik von Grund auf neu erstellt. Schauen Sie sich dies für einen guten Ausgangspunkt an.

markt
quelle
1

Haben Sie die MC68000-Serie in Betracht gezogen?

Es handelt sich um eine 16/32-Bit-CPU, mit Ausnahme der 68008-Datenleitung mit 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 benötigen - ja und nur
  • > 50 MHz - kann sein
  • 16 oder 32 Bit - beide
  • Kein BGA / QFN-Paket - ja
  • Keine FPGA-Karte - nein
  • Eine serielle Schnittstelle (?) Nein, Sie müssen Ihre aber sehr einfach machen
  • Auch nicht zu teuer, da wir ein begrenztes Budget haben - ja

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

Jeremy Talus
quelle