Hallo
Wir haben hier kürzlich ne grössere Menge nicht benötigter Logik-ICs
entdeckt, daraus soll nun ein kleiner Prozessor gebaut werden.
Ein paar Gedanken hab ich mir schon gemacht: Es ist relativ einfach, ein
Design für einen irgendwie funktionierenden Prozessor zu entwerfen, aber
um ein wirklich schlaues Design zu finden, braucht es einiges mehr.
Wäre cool, wenn wir hier ein paar Erfahrungen austauschen könnten.
Besonders interessieren mich (derzeit) folgende Fragen:
- Welche Befehle muss so ein Ding können? (Da steckt ja wieder eine
ganze Theorie dahinter, was es für ein Turing-komplettes Design braucht
und welche Befehle aus welchen anderen gebildet werden können.)
- Welche simplen Prozessordesigns sollte man sich mal anschauen, um
etwas für das eigene Projekt zu lernen? (Insbesondere
Eigenbauprozessoren interessieren da natürlich besonders!)
- Gibt es eventuell schon ein einfach implementierbares Design, so dass
man bestehende Programme und Entwicklungstools übernehmen könnte?
Gruss
Michael
PDP-8
Die Mutter aller Mikroprozessoren, oder so ähnlich. War in einzelnen
Logik-ICs aufgebaut allerdings geschätzt einen Quadratmeter groß, alle
Bretter zusammengelegt.
> Fuer erweiterte Flexibilitaet sollte der Prozessor seinen Code> veraendern koennen.
Wird er können. Für einen Eigenbau-Prozessor drängt sich praktisch ein
Design nach CISC-Philosophie auf: Es gibt einen zentralen Bus, woran die
einzelnen Baugruppen (Register, ALU, Speicherschnittstelle, ...)
angeschlossen sind. In einem paralellen EEPROM wird dann für jeden
Befehl eine Sequenz abgelegt, welche Baugruppen der Reihe nach
anzusteuern sind (z.B. Register 1 auf Bus schreiben -> Buswert in ALU
übernehmen -> ALU-Resultat in Register 2 speichern). Je nach
Programmierung des EEPROMs liegt somit ein recht mächtiger und flexibler
Befehlssatz drin, Nachteil ist natürlich die langsame Ausführung. Aber
eine feste Verdrahtung im RISC-Stil liegt einfach nicht drin. Für obiges
Beispiel bräuchte man dann eine direkte Linie, um das Signal von
Register 1 via ALU in Register 2 zu routen.
RL (Rekonfiguierbare Logik), und dieses während der Laufzeit ist alles,
aber
nicht einfach (Interrupts while RL Reconfiguration).
Und eine CPU würde ich mit einem FPGA nachbilden.
mr.chip wrote:
> Hallo>> Wir haben hier kürzlich ne grössere Menge nicht benötigter Logik-ICs> entdeckt, daraus soll nun ein kleiner Prozessor gebaut werden.
Meine Guete... auf Ideen kommen manche Leute. Zuviel Zeit?
Greets,
Michael
> Zuviel Zeit?
Studenten halt :-)
Nee, im Ernst:
1. Ist es sehr lehrreich, weil man sich eben schon einige Gedanken in
Sachen Digitaltechnik und Computerdesign machen muss.
2. Ist sowas schon mit vernünftigem Aufwand gebaut zu bekommen, wenn man
es nicht ganz alleine macht.
3. Sind die meisten Hobby-Elektronikprojekte ja sowieso nicht so richtig
sinnvoll :-)
> RL (Rekonfiguierbare Logik), und dieses während der Laufzeit ist alles,> aber nicht einfach (Interrupts while RL Reconfiguration).
Na gut...wir wollen es mal nicht übertreiben :-)
Wir haben sowas im Hardwarepraktikum mal gemacht (allerdings nur
virtuell im Simulationsprogramm) selbst bei ner 4bit CPU die nicht
"viel" kann ist das schon recht aufwändig. Und sooo spaßig isses auch
nicht ;)
Ich finde die Idde zum Bau von einem MC nicht schlecht.
Man kann dabei eine Menge lernen.
Es gibt hier wohl wenige, die genau wissen was in so einem Prozessorkern
eigentlich abläuft.
Ob das Projekt sinnvoll erscheint? Darüber kann man streiten.
Ich würde z.B. niemals auf die Idee kommen einen MP3-Player zu basteln.
Kaufen ist da für mich persönlich sinnvoller.
Beruflich musste ich in den 70/80er Jahren porozessgesteuerte Prüfgeräte
entwickeln.
Mein erstes Microcontroller-Prüfgerät kam mit 16 Befehlen aus.
Das Programm war auf einer Lochkarte mit 80 Zeilen gespeichert, damit
musste ich einfach auskommen.
Die Aufgabe war einfach: an einem Plattenspeicher für Grossrechenanlagen
sollten "nur" die Schreib-Leseköpfe justiert werden.
Zur Verfügung hatten wir damals sehr einfache TTL-Bausteine, wie Gatter,
Zähler und FF.
Das nächste Gerät war dann schon grösser, nämlich ein 19"-Schrank
vollgestopft mit Eurokarten.
Dies Maschine kannte dann schon 256 Befehle.
Der Stromverbrauch war damals mit Normal-TTL auch ordentlich, nämlich so
um die 50A bei 5V.
Froh waren wir dann, als endlich der erste MC auf den Markt kam, der
8080 von Intel.
Da ging es uns als Entwickler richtig gut!
Dieses Ding wollte ich mir schon sehr oft bauen. Der Reiz dies zutund
ist riesig. Allerding ist mir das Projekt VIEL zu teuer. Aber wenn man
schon ne Kiste Logik-IC´s hat würd ich gleich loslegen.
http://www.homebrewcpu.com/
P.S.:Das Projekt ist Super dokumentiert. Es würde dir also an nichts
fehle.
Das Projekt ist Super
Neben einer Kiste IC braucht es einen Entwickler 'mit Hosentraegern'
Aber da es 'was kostet ist es nix fuer deutsche Hosentaschen.
Hallo,
der erste Link ist doch aber auch recht vielversprechend. Komplett mit
Beschreibung und Schaltung. Das sieht doch aus, wie das was gesucht
wird, oder?
Es geht natürlich auch noch "einfacher" (älterer)
http://www.kilian-leonhardt.de/relaiscomputer/
Da schlägt dann doch das Herz erst richtig hoch :-)
Gruß
Sven
> oder bist du Nostalgiker?> Angst vor der Zukunft?
Naja, Prozessoren und diskrete Logikchips werden doch auch heute noch
benützt. Also schadet es auf jeden Fall nicht, sich mal selbst mit dem
Design von so nem Ding auseinanderzusetzen. Ob man es danach in
VHDL/FPGA implementiert oder eben TTL/Lochrasterplatine ist dann
hauptsächlich eine Frage, ob es einem primär wirklich um das Design
geht, oder ob ein gewisser Geekfaktor dazukommen soll.
Sven Stefan wrote:
> http://www.kilian-leonhardt.de/relaiscomputer/>> Da schlägt dann doch das Herz erst richtig hoch :-)
Jugend forscht. Gab es ziemlich genau 30 Jahre vorher schon mal. Damals
schon Nostalgie-Lernspielzeug. Man könnte glauben, die Zeit steht still.