Forum: Mikrocontroller und Digitale Elektronik 4Bit CPU (Eigenbau)


von Wiesi (Gast)


Lesenswert?

Vor ein paar Wochen habe ich ebschlossen mal eine CPU selbstzubauen,
statt immer nur "fertige" zu verwenden.

Daher habe ich eine 4Bit CPU auf Lochraster aufgebaut (im Moment noch
ohne ALU und noch nicht ausgiebig getestet). Momentan sind alle (bis
auf ALU eben) Instruktionen getestet und scheinen zu funktionieren.

Nun ist es so, dass ich die CPU nur gebaut habe, um das mal gemacht zu
haben (Motto: "Been there, done that"), also nicht um damit etwas
spezielles (softwaretechnisch gesehen) zu realisieren.

Da es praktisch ein "Anschauungsstück" ist, habe ich mir gedacht, es
wäre aber nett ein Programm zu schreiben, mit Hilfe dessen auch
technisch nicht so versierte ersehen können, dass es wirklich eine
kleine CPU ist.

Da mit aber einfach nichts einfallen will, dachte ich, ich stell
das mal ins Forum, denn ihr habt sicher viele gute Ideen.

Hier die Eckdaten:
 * Load and Store Architektur
 * ALU Funktionen: AND, OR, NOT XOR (wenn die erst mal gebaut und
   getestet ist)
 * 4Bit Datenbus und Register, Befehle sind 8Bit breit und enthalten
   daher immer ein direktes Datenwort.
 * 256 Nibbles RAM (in 16 Nibbles a 16 Segmente) adressierbar
 * 4096 Instruktionsworte Programmadressbereich
 * I/Os nur durch Dekodierung von RAM-Bereichen. Im Moment also noch
   keine.
 * 1 Level deep hardware stack (KEIN Tippfehler: 1 Level!)
 * 16 Instruktionen: NOOP, LOADA (Load accu), LOADIPH (High nibble
   des IP laden), LOADSEG (Daten/Programmsegment laden),
   MOVAR (RAM <- AKKU), MOVRA, DECA, INCA, JMP, JMPZ, CALL, RET,
   NOTA, ANDRA, ORRA, XORRA

  MfG Wiesi

von Hias (Gast)


Lesenswert?

Hi!

Hast du auch Bilder und weitere Infos? Würd mich sehr interessieren!

Hias

von Wiesi (Gast)


Angehängte Dateien:

Lesenswert?

Nun .. Sicher hab ich weitere Infos. Ich will das Meiste aber erst mal
"zurückhalten", bis es fertig ist. Dann gibts wahrscheinlich eine
Webseite darüber.

Im Anhang aber schon mal ein Bild vom Testaufbau+Steckboard für
Takt und Programmspeicher.

Das EPROM ist übrigens für den Mikrocode, der große IC auf dem
Steckboard ist ein FLASH, den ich zum Testen als Programmspeicher
benutz.

   Wiesi.

von holm (Gast)


Lesenswert?

Ich habe hier noch 74S181 liegen (russiche) das sind wohl 4 Bit
ALUs. Soll ich Dir die 4 Stück schicken? Würde die aus Interesse
an diesem Projekt sponsorn...

Gruß,

Holm

von Wiesi (Gast)


Lesenswert?

@Holm
Danke für das Angebot. Aber da würd ich wahrscheinlich etwas Probleme
mit den Logikpegel kriegen, denn ich hab alles in HCMOS aufgebaut. Das
finde ich einfacher zu testen, aber da sind die Schwellenwerte anders.

Der Grund der fehlenden ALU ist übrigens, dass ich mich noch nicht
motivieren konnte, sie aufzubauen. Ich wollte erst den Rest testen.

   Wiesi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.