www.mikrocontroller.net

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


Autor: Wiesi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

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

Hias

Autor: Wiesi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: holm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wiesi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.