4Bit CPU (Eigenbau)

Gast #343982
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
Gast #343984
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.
Angehängte Dateien:
Gast #343986
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.