www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CPU Selbstbau


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

wie der Betreff des Beitrags schon verrät, habe ich vor eine CPU selber
zu bauen. Zuerst dachte ich, dass man soetwas nie schaffen könnte, aber
dann bin ich auf die Seite von Dennis Kuschel (
http://mycpu.mikrocontroller.net/index2.htm ) gestoßen und hab mich
sofort an Zeichnen und planen gemacht.

Meine geplante CPU hätte:
32 bit Datenbus
32 bit Adressbus
16 MHZ Taktfrequenz
"CISC" ähnliche Architektur (ca. 10-16 Takte pro Befehl)
32 Register
Stack
jede Menge Pointer


Der Einfachheit halber wollte ich die Register, Stack und Pointer in
einen SRAM packen. Außerdem Würde ich logische Funktionen wie AND OR
... auch alle als Tabelle in einen SRAM packen, deshalb auch die 10-16
Takte pro Befehl.
Außerdem könnte man einen SRAM ja noch als "Cache" benutzen!?
Hab mal eine grobe Übersicht über den Aufbau gemalt!

Da ich erst 15 bin und somit mich nur als Hobby mit Elektronik
beschäftigen kann, würde ich gerne eure Meinung dazu hören, ob so ein
Projekt verwirklich werden könnte (abgesehen von Signalreflektionen und
co.).

Würde mich sehr über eure Meinung freuen
Freundliche Grüße Tobi

Autor: Achim (Gast)
Datum:

Bewertung
-4 lesenswert
nicht lesenswert
Wiso denn das Rad neu erfinden ?????

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Achim
Den Spruch hättest dir sparen können, da er nicht wirklich etwas mit
meiner Frage zu tun hab. Mir gehts ja ned darum was neu zu erfinden,
sondern eine CPU selber zu bauen. Das die mit ner Intel CPU ned
mithalten kann is mir au klar!

Gruß Tobi

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.Muss ich dir recht geben,echt ein saublöder Spruch.Warum setzen
Leute Puzzle zusammen,wenns das Bild auch fertig gibt?Warum wird hier
im Forum sooft über Temperatursensoren (für Wetterstationen
u.s.w)gesprochen,wenn ich so ein Teil mit noch ca. 10 Zusatzfunktionen
bei Aldi für 8 euronen bekomme.Hut ab ,wenn sich ein 15 jähriger mit
sowas beschäftigt.Ich kann dir bei deinem Problem leider nicht
helfen,aber es gibt bestimmt noch ein paar Leute hier,die dir
geistreicher als Achim helfen können.
mfg
Andy

Autor: Camaeleon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm ein CPLD oder FPGA und klopf dir deine CPUs mit VHDL zusammen. Oder
als Anfangsprojekt mit Schematic.

Autor: geloescht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieser Beitrag wurde auf Wunsch des Autors geloescht.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für eure Antworten!

Mit nem FPGA hab ich schon eine 16 bit CPU gebaut und jetzt wollte ich
mir eine aus normalen TTL Schaltkreisen aufbauen.

Die Seite http://mycpu.mikrocontroller.net ist die von mir oben
angegebene Seite, aber trotzdem danke!


Gruß Tobi

Autor: Camaeleon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn du soweit bist dass du FPGAs programmieren kannst, dann
verstehe ich den Schritt zurück zu den Käfern erstmal nicht ;) aber
jedem das seine g

Autor: Tobias (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Bei einem FPGA hat man intern halt keine Probleme mit Signalreflektionen
und co. und deshalb finde ich es interessanter mal eine CPU aus
einzelnen TTL Gattern zu bauen*g*. Und außerdem hab ich sonst nix zu
tun*g*

Gruß Tobi

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit oder ohne FPGAs oder wenigstens CPLDs? Dann wird's ein ziemlich
irrer Aufwand. Dennis Kuschel hat sich nicht ohne Grund auf 8bit
beschränkt. Ohne FPGAs hast Du im Wesentlichen die gleiche Technik zur
Verfügung, mit der man in den siebziger Jahre die Minicomputer
realisierte. Bei dem was Du dir vorstellst tippe ich mal auf etliche
gut gefüllte Doppeleuro-Karten (mit einfachen Eurokarten kannst Du
32bit vergessen).

Ohne FPGAs ist im Grund nur die Situation bei RAM und ROM einfacher
geworden. Und auch die 16MHz sind ein arg anspruchsvolles Ziel. 74HCs
sind nicht wesentlich schneller als die TTLs von damals, d.h. Du
benötigst 74AC Bausteine. Und die sind ausgesprochen anspruchsvoll
hinsichtlich Leitungsführung, Ground/Power-Layern (d.h.
Multilayer-Platinen) und dergleichen.

Ich denke, die einzige Chance den Aufwand in erträglichen Grenzen zu
halten, ist Byte-seriell zu arbeiten. ALU, Datenpfade, Register-RAMs
usw nur 8 Bit breit und eben in 4 Zyklen hintereinander operieren.
Befehlssatz absolut minimal, RISC pur, ausschliesslich indirekte
Adressrechung. Und sei froh, wenn's mit 4MHz läuft.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte des eigentlich mit 74 AC aufbauen, aber das sie so
anspruchsvoll sind wusst ich ned. Aber das mit dem seriellen Aufbau
hört sich auch gut an. Dann muss ich mal überlegen wie ich das mach.

Gruß Tobi

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nehmt doch Röhren und baut eine Zuse4 ! :-)

Autor: Martin S. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Während meiner Lehre (als Meß- und Regeltechniker in einem großen
deutschen Chemie-Unternehmen) haben wir mal eine alte Meßwarte in einem
explosions-geschützten Betrieb demontiert.

Man mag es kaum glauben, aber sämtliche analogen und digitalen
Funktionen waren pneumatisch aufgebaut.

Aus dem ausgeschlachteten Komponenten  lies sich dann ein prima
Rechenwerk basteln - also quasi eine "Luft-CPU"

Das war ein richtig spannendes erlebnis, den rechner rechnen zu sehen -
dei Taktrate war aber nicht wirklich sehr berauschend (so ca. 0,1 - 0,5
Herz   :-)

Autor: Einer der Bernds (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hi,

habe leider nichts wirklich Sinnvolles beizutragen.

Aber ich wollte noch sagen "Hut ab" vor einem 15 Jährigen der schon
eine 16 Bit CPU realisiert hat.

Aber ich habe da noch eine Idee: Lass die 32 Bit Version sein und
beschäftige Dich mit Mädels. ;-)

Obwohl: mach erst mal die 32 Bit CPU, die ist Logisch, Mädels sind das
nicht! ;-)

Gruß Bernd

Autor: Simon Küppers (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Trotzdem is die 32-Bit CPU kein Ersatz für Mädels ;)

Autor: Heman (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Also ich hatte mit 3 Jahren bereits meine erste 128Bit-CPU mit 50GHz
gebaut. Wo ist also das Problem?
Das Projekt von Tobias ist doch etwas für Babys. Wenn er da jetzt schon
solche Fragen stellt, dann sollte er es lieber bleiben lassen.

Autor: ---- (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
@Heman: Bitte keinen falschen Neid hier.
Zumindest kann sich Tobias artikulieren - unabhängig davon ob er jetzt
wirklich erst 15 ist oder nicht. Er bleibt sachlich und zielstrebig -
das gefällt mir. Meist sind solche "Überflieger"
sozial/kommunikationstechnisch auf niedrigem Niveau stehengeblieben.

Tobias, wenn du wirklich noch so 'jung' bist, dann laß dich nicht
entmutigen hier weiterzumachen (evtl. mit den physikalisch machbaren,
angepassten Zielen) und bitte ignoriere die unnützen Kommentare und
reagiere darauf nicht mit emotionalen Posts.

Nochwas fürs Weltbild der 'Älteren': Wenn ein 15jähriger von fertiger
16Bit CPU in FPGA spricht, meint er möglicherweise damit, daß er hier
und da fertige Teile zusammengebaut hat. Möglicherweise sehr große
Wissenslücken aufweist, aber am Ende doch irgendwie irgendetwas
vorzeigbares zusammengebaut hat (oder etwas das in diese Nähe kommt).
Der 'Ältere' unterstellt sofort, daß wenn man eine "16-Bit-CPU im
FPGA" gebaut hat, daß man bis ins Kleinste alles verstanden und
durchgeplant hat. Dem ist sicherlich nicht so. Wer von den
AVR-Programmierern kann schon erklären wie das Innenleben des
Compilers/Assemblers usw. funktioniert - aber wie man den Stackpointer
initalisiert wissen alle...

Vielleicht irre ich aber auch und wir haben es hier mit einem großen
Wichtigtuer zu tun - Hinweise dafür gibt's aber (noch) keine.

----, (QuadDash) - kann leider technisch nicht weiterhelfen.

Autor: Ralf Kellerbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://mycpu.mikrocontroller.net

Ein interessanter Ansatz und ein toll umgesetztes Projekt.
Aber eben nicht so einfach für 16 oder 32 Bit geeignet.
Das muss man seriell machen (wobei Mul und Div dann aber entfallen).
Vielleicht wäre das Design des 68000 ein Vorbild, wo damals relativ
wenig Hardware und viel Mikrocode verwendet wurde.
Zum 68k gibt es auch einiges an verfügbaren Code.
Für die 8 Bit CPU (s.o.) wurde ja auch auf abgeänderten Sourcecode
zurückgegriffen (s. C64 BASIC).

Im Prinzip sollte man sich aber vor Augen halten, daß 32 Bit CPUs von
ganzen Heerscharen an Ingenieuren entwickelt wurden.
Und man mit einem 8 Bit Design auch alle Softwareanwendungen erledigen
kann, wenn man z.B. die Adressregister von 16 auf 24 oder 32 Bit
aufpusten würde. (Theoretisch gibts eh die 'Bit-Grenze' nicht - s.
http://www.turing-maschine.de/). So ein Design könnte vielleicht auch
per Microcode dann einen 68k realisieren.

Abstand muss man bei >8 Bit aber sicherlich von der max. Taktrate
nehmen. Die Selbstbau 8 Bit CPU nutzt optimal heute verfügbare Hardware
aus.

Autor: Freak5 (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
"Wer von den
AVR-Programmierern kann schon erklären wie das Innenleben des
Compilers/Assemblers usw. funktioniert"
Genau, wo kann man das nachlesen?

@15Jahre Diskukssion
Also ich bin jetzt 17. Letztes Jahr habe ich mir alle Infos über
Hardware zusammengetragen und von 13-15 habe ich mich etwas in die
Programmierung bis zu Programmen die als OS laufen können beschäftigt.

Ich hätte mich gerne schon früher damit beschäftigt, ich hatte aber
niemanden, der mich eingeführt hat, bzw der mir gesagt hat, dass es
Mikrocontroller gibt.

So ist die Leistung ob man etwas mit 10, 15 oder 20 vollbringt davon
abhängig, ob man einen Zugang dazu bekommt. Es gibt bei mir zum
Beispiel keinen im Bekanntenkreis, der über das Einstecken einer
Grafikkarte hinauskommt.

Wenn er jetzt zugang zu Informationen hat, dann hat er Glück gehabt(und
ist nebenbei auch nicht dumm, da er sie ja versteht)

Das Alter spielt eigentlich kaum eine Rolle, da man als junger Mensch
besser verstehen kann als wenn man alt wäre.

Autor: Einer der Bernds (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

> Das Alter spielt eigentlich kaum eine Rolle, da man als junger
Mensch
> besser verstehen kann als wenn man alt wäre.

also ich muß zugeben, das ich mit 16 den wildesten
Assembler-Spaghetticode zusammengetippt habe. Die meisten Sachen haben
auf anhieb funktioniert, ich habe nie etwas dokumentiert und meine
Programme auch nach ein paar Wochen wieder verstanden.

Jetzt mit 33 merke ich, das mir die Sache nicht mehr "ganz" so locker
von der Hand geht.

Von daher wundert es mich kaum das ein "junger" wissbegieriger so
einen Start hinlegt.

Das mit dem Zugang an Information kann ich unterschreiben. Mich hat
damals auch nur der hohe Buchpreis ausgebremst. Ich hatte leider
niemand der mir ein paar Dinge hätte zeigen können. Und das Internet
gabs in der Form ja noch net. Ich hatte ja nicht mal einen
Akustikkoppler.

Gruß Bernd

Autor: Daniel (Gast)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Hallo Tobias,
ich bin auch erst 16 Jahre alt und hatte genau die gleiche Idee wie du.
Doch deine Idee ist ziemlich hoch
dimensioniert. Das wird zu viel mit 16-Bit. Mein Bruder ist
Kommunukationselektroniker und arbeitet jetzt
als Ingenieur. Die haben da in der Lehre mal einen 4-Bit Prozessor als
"Abschlussprüfung" entwickelt. Die
waren zu fünft und haben dafür 3 Monate gebraucht. Dabei war die
Software das kleinste Problem (und war schnell fertig).
Ich empfehle dir deshalb, mach es mit 4 oder maximal 8 Bit, sonst wird
der nie fertig. Ich habe mit der Verwirklichung meiner
Idee (4-Bit) noch nicht begonnen, aber ich will es irgendwann mal in
Angriff nehmen.
Im Übrigen: Schön, dass es noch solche Leute in meinem Alter gibt, die
sich mit Elektronik auseinandersetzen.
Gruß Daniel!

Autor: Freak5 (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
@Einer der Bernds:
Also ich habe das auch öfter, dass ich irgendwann im Internet
Informationen finde, die ich ganz vergessen habe.

"Boar warst du früher mal genial" g

Also als Rückblick. Ich habe mit 13 schon sachen gemacht, die meinen
Arbeiten jetzt in nichts nachstehen, außer dass ich jetzt mehr mit
Hardware mache.

" Mich hat
damals auch nur der hohe Buchpreis ausgebremst. Ich hatte leider
niemand der mir ein paar Dinge hätte zeigen können. Und das Internet
gabs in der Form ja noch net. Ich hatte ja nicht mal einen
Akustikkoppler."
Wenn man 80E für ein Buch bezahlen muss überlegt man sich echt, ob man
das unbedingt braucht. Aber besonders bei Formeln usw. kann das
Internet nicht ganz so viel hergeben. Ich habe letzte Woche mein
Physikbuch dafür entdeckt. Jetzt weiß ich warum das so fett ist. 90%
davon werde ich in meiner Schulzeit nie im Klassenverband durchgehen.
Dafür mache ich das jetzt einfach mal so(Spulen, Kondensatoren)

Autor: Freak5 (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
@Daniel:
Vielleicht sollten wir mal eine art Usermap erstellen, wo man angeben
kann, welche Schule man besucht, oder wo man arbeitet.

Dann könnte man sich im Zweifelsfall mal organisieren.

Auf meine Schule gehen 1000 Schüler und ich kann mir nicht vorstellen,
dass ich der einzigste bin, der programmieren kann.

Autor: Tobias (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Sorry, dass ich mich erst jetzt wieder melde, aber ich hatte gestern
keine Zeit mehr.

Ich gebe zu, dass es vielleicht übertrieben klingt eine 32 bit CPU
selber zu entwerfen, aber meine CPU würde mit weniger bauteilen
auskommen, als die 8 Bit CPU von Dennis Kuschel, da die CPU mit
ziemlich vielen Tabellen arbeiten würde, was die bauteilezahl deutlich
verkleinert. Das ich dadurch mehr Taktzyklen pro Befehl benötige ist
logisch, aber wenn mir die Taktung mit 16 Mhz gelingt, wäre dies auch
kein Problem mehr. Das Problem bei Dennis Kuschel war ja, dass er die
CPU auf Grund der langsamen EPROM´s nicht schnell takten konnte. Aber
bei meiner CPU wäre der Mikrocode z.B. in einem 15 ns SRAM gespeichert,
der beim start mit den Daten aus einem Flash geladen wird.
Aber dass 74AC so empfindlich ist wusst ich ned und des könnte mir nen
strich durch die Rechnung machen, aber mal sehen*g*

PS:
Ich bin wirklich 15 und ich hab auch genug Zeit für Mädels*g*

Gruß Tobi

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Freak5
Auf meine Schule gehen ca. 1400 Schüler und dort können viele
programmieren, was aber daran liegt dass auch Computer AG´s angeboten
werden. Dafür habe ich jetzt schon das 2. Jahr Physik und wir hatten
noch nichts mit Elektronik, was ich bischen schade finde.

Gruß Tobi

Autor: Markus (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
@Freak5:
Die Internas von Compilern findet man unter dem Stichwort
"Compilerbau". Früher hat man da wohl die beiden Drachenbüch (ISBN
3486252941 und 3486252666) empfohlen, keine Ahnung was da heute aktuell
ist. Man findet dazu auch im Web einiges an Informationen.

Markus

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobias

Das mit den ACs (und auch AHCs) ist wirklich so schlimm.
Ich habe mir mit einem 16bit uC einen mp3 Player gebaut, an den eine
Festplatte angeschlossen ist. Die Festplatte wird am Datenbus
betrieben, der mit 16MHz getaktet ist. Daher sind HC245 als Bustreiber
zu langsam. Da ich nichts anderes da hatte, habe ich erstmal ausgebaute
ALS245 verwendet. Die Schaltung lief aber nur, wenn ich den Bus auf 8MHz
runtergetaktet habe. Als ich dann endlich die AHC245 bekam und diese
reinsteckte, ging garnichtsmehr egal wie langsam ich den Bus auch
getaktet habe. Die Dinger benötigen auf jedenfall eine entsprechende
Terminierung, ansonsten sehen die Signale übel aus.
Viel einfacher geht es mit schnellen TTL ICs. Leider ist der
Stromverbrauch bei ALS oder F TTLs um einiges höher als bei CMOS.
Wenn du deinen CPU mit F TTLs aufbaust, dann braucht dieser sicher
einige Ampere und eine gute Kühlung...

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir grad ein paar Datenblätter herunter geladen und die 74 F
Reihe müsste eigentlich von der geschwindigkeit auch reichen, nur wirds
mit den Bustreibern bischen kritisch. Andere Bauteile der F Reihe sind
wiederrum schneller als AC Typen.
Sind 15ns SRAM Bausteine und co auch so sensibel, was die Schaltung
betrifft?

Das mit der Kühlung sollte kein Problem werden, da ich noch jede Menge
Kühlkörper rumliegen habe.

Gruß Tobi

Autor: A.K. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
> Aber bei meiner CPU wäre der Mikrocode z.B. in einem 15 ns
> SRAM gespeichert, der beim start mit den Daten aus einem
> Flash geladen wird.

Interessieren würde mich eher, wie Du diesen Urladevorgang realisieren
willst. Flash parallel und extra Addresscounter/Statemachine zum
Urladen?

Sinnvoller scheint mir da - und damit sind wir beim Thema dieses Boards
- wenn statt dessen ein Microcontroller seine Finger da reinsteckt und
Initialisieren und Urladen übernimmt. Richtig gemacht wird der nämlich
auch beim Debugging eine Menge helfen können.

PS: Lass dich nichts ins Bockshorn jagen. Sicher, die Chancen dass da
je ein Linux drauf laufen wird, sind recht mau. Aber der Weg dorthin
bringt's.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
Ich habe meine CPU jetzt nochmal neu überdacht und habe sie auch schon
zum Teil aufgebaut und getestet. Das Timing ist an manchen Stellen
ziemlich knapp, funktionert aber soweit. Die CPU wird jetzt niedriger
getaktet und sollte ca. 1 MIPS schaffen. Außerdem hab ich eine Harvard
Architektur genommen. Da meine Speicher aber einen Bustakt von über 15
Mhz schaffen habe ich die Bus-Interface der CPU so ausgelegt, das man
bis zu 4 CPU auf dem Bus betrieben kann, dadurch kann ich trotz
niedriger Taktfrequenz hohen Befehlsdurchsatz erreichen. Die CPU ist
intern jetzt auf 16bit umgebaut und arbeitet so zusagen "seriell".

Probleme hab ich bis jetzt nur mit dem Urladen gehabt, deshalb hab ich
die SRAM´s erstmal batteriegepuffert, was leider keine richtige Lösung
ist :-(


Was haltet ihr von dem jetztigen Aufbau und der Idee mit dem
"Multiprozessor" System??

Würde mich sehr über eure Meinung freuen!
Gruß Tobi

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die verbale Beschreibung eignet sich recht wenig zur Beurteilung.
Bischen Schaltung oder Blockschaltbild sagt mir mehr.

Zum Multiprozessor: je schneller der Bus, je länger, je mehr Karten
dran hängen, desto mehr Ärger wirst Du mit dessen elektrischer
Definition kriegen. Bei dem was da alles dran hängen soll, wird m.E.
Abschluss nötig, sonst unzuverlässig.

Autor: Der Elektrische Reiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat Euch denn zum Bau einer CISC-CPU bewogen?
Ich kann mir vorstellen, das eine Single-Instruction CPU, wie z.B. die
MaxQ von Maxim
(http://www.maxim-ic.com/appnotes.cfm/appnote_number/3222) einfacher zu
realsieren ist.
Zumindest benötigt man da keinen Microcode und der Befehls-Decoder ist
auch wesentlich einfachen.

cu

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

Bewertung
0 lesenswert
nicht lesenswert
So, Schaltplan hab ich leider mit Bleistifft gezeichnet, hab aber kurz
mal ein Blockschaltbild gemalt.

Der Bus der nach außen geht ist so gebaut, dass ich zuerst die Adresse
und dann die Daten drauf lege, da mir´s sonst zu viele Anschlüsse
geworden wären. Damit ich nicht allzulange Leitungen bekomme baue ich
für die CPU´s ein "Motherboard" (50x40cm), auf das ich dann karten
stecken kann.

Die Zugriffe werden so aufgeteilt, dass die CPU dem Businterface den
Befehl zum Lesen oder zum Schreiben gibt. Danach sendet das Interface
das Anfrage Signal, wenn der "Verteiler" nun eine Erlaubnis schickt,
so setzt die Schnittstelle das Besetzt Signal solange auf High, bis der
Schreib-/Lesevorgang beendet ist.
Wenn die CPU Das Anfrage Signal schickt, bleibt die Befehlsabarbeitung
solange stehen, bis sie eine Erlaubnis bekommt!

Gruß Tobi

PS:

ADR=Adressregister
ABL=Ablaufsteuerung

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die MaxQ Architektur habe ich mir mal angesehen. Schon weil sie meinem
Faible für schräge Architekturen in fast idealer Weise entgegen kommt
;-).

Mich erinnert das Teil etwas an vertikalen Microcode. Wo andere mit
einen einzigen Befehl für Speicherzugriff auskommen, benötigt das Teil
bis zu einer halben Seite Programmcode (Akku für Adressrechnung
einstellen, Adressrechnung, Adresstransfer, Transfermodus einstellen,
Datentransfer, alten Akku wiederfinden). Herrlich.

Wer Neumann-Architekturen vorzieht, um transparent auf Daten in RAM und
im Flash zugreifen zu können, der kann lesende Speicherzugriffe nur per
Rumtime-Lib in einem separaten Utility-ROM durchführen. Weil man zwar
mit Code im Flash auf RAM zu greifen kann, aber nicht auf Flash. Oder
von Code im RAM auf Flash, nicht aber auf RAM. Nur vom ROM aus geht
beides. Wobei die gleichen Flash-Daten vom ROM und vom RAM aus gesehen
unterschiedliche Adressen haben. Ein Speicherversteckspiel vom
Feinsten.

Zudem muss man feststellen, dass die Adresse von Daten von deren Breite
abhängt, so dass beispielsweise ein Type-Cast von int* nach char* den
Wert vom Pointer umrechnen muss. Das wird lustig, vor allem wenn man
zwischendurch mal auf void* gecastet hat.

Autor: ---- (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
@Tobias:
Häng' mal ein paar Fotos von deinem Aufbau an.

Wir wollen ja nicht daß jemand auf die Idee kommt, dir dein "Hobby"
zu verbieten, nur weil deine Bastelei vom Kölner Himmel auf Passanten
fallen kann, beim Remote-Powerdown mit 3bps abstürzt oder gar
verschlüsselte holländische Daten importiert...

Naja, wenigstens willst du das nicht verkaufen. ;-)

(PS: Ernst gemeint ist nur der erste Satz).

----, (QuadDash - heute mit fiesen, unfairen(?) Anspielungen).

Autor: Stefan Helmert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schräge Computerarchitekt finde auch ich sehr spannend. Richtig gut
wäre es doch mal so ein richtig chaotisches System zu entwickeln, das
hocheffizient läuft. Es ist doch so, je mehr man Effiziens will umso
komplizierter wird alles, auch wenn es weniger Transistoren werden. Ein
"multitronisches" selbstkonfigurierendes System wäre doch mal was
neues. Unterschiedliche CPUs sind auf unterschiedliche Aufgaben
optimiert. Beim Optimieren von Programmen muss man sich entscheiden was
man Speicherplatzoptimiert und was man Speedoptimiert haben möchte. Man
müsste einen Computer entwickeln der mit einer Programmbeschreibung in
spezieller Maschinensprache gefüttert wird und daraus immer unter
Beachtung der schon laufenden Programme das Programm optimiert,
kompiliert und so auf die Prozessoren aufteilt, das man eine noch viel
höhere Effiziens erreicht als mit einem ARM7TDMI(>12000MIPS/Watt).
Wie hoch wäre wohl der Aufwand für so ein System? Wenn man die
Entwicklung würde so offen machen wie Linux (opensource), könnte man
das Ziel erreichen?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche mal die Info zu dekodieren. Korrigiere ggf.
- Breite der internen Busse, ALU etc ist 16bit.
- Breite der logischen Architektur (ISA) ist 32bit.
- Die einzige RAM-Struktur ist das "SRAM" und hängt an einem einzigen
internen Bus. Apropos: was ist da alles drin?

Warum die Harvard-Architektur? Zumal sie hier etwas auf dem Kopf steht.
Traditionell mögen CPU-interne Busse harvard-mässig getrennt laufen,
werden aber üblicherweise an der externen Schnittstelle
zusammengeführt. Hier ist's grad andersrum.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan:

> Man müsste einen Computer entwickeln der mit einer
> Programmbeschreibung in spezieller Maschinensprache gefüttert
> wird und daraus immer unter Beachtung der schon laufenden
> Programme das Programm optimiert,

Im Grunde sind alle aktuellen PC-Prozessoren heute schon ansatzweise so
konstruiert. Sie werden mit einer von der Hardware losgelösten
Beschreibungssprache gefüttert (nämlich dem x86 Code) und vom Prozessor
selbst in ausführbaren Interncode umgesetzt. Der wiederum ist besser als
reiner x86-Code zu superskalarer Ausführung geeignet.

Auch den optimierende Schritt gibt es bereits. Bei
Transmeta-Prozessoren passiert genau das. Abhängig von der Häufigkeit
des Codes wird bei der Umsetzung von x86 in den Interncode in
unterschiedlichem Ausmass optimiert. Weil natürlich viel Code nur
selten ausgeführt wird, daher eine aufwändige Optimierung sinnlos ist.

Auch das Verfahren von Transmeta ist nicht neu, neu ist nur, dass es
praktisch unsichtbar ist. Schon DEC hat das mit x86-Code auf
Alpha-Prozessoren getan, HP macht das mit PA-Code auf Itanium. Solche
Translation-Layer werden immer Software sein, das in Hardware zu
giessen ist sinnlos.

> Ein "multitronisches" selbstkonfigurierendes System
> wäre doch mal was neues.

Die "Selbstkonfiguration" kann nur Software sein. Auch das gibt's.
Eine kleine Variante davon ist das FPGA von AVR mit eingebauten
Prozessor. Ansonsten sind dazu garantiert schon ganze Wälder in Form
von Forschungsarbeiten abgeholzt worden. Google ist dein Freund.

> und so auf die Prozessoren aufteilt, das man eine noch
> viel höhere Effiziens erreicht

Implizite Parallelisierung ist ein heisses Eisen. Setzt eine
entsprechende Programmierung voraus - in C ist das sinnlos. Mit Fortran
geht's etwas besser, aber eigentlich braucht man Spezialsprachen. Womit
das Hauptproblem schon mal deutlich wird: dank dieser Voraussetzung wird
es auf absehbare Zeit eine Nische bleiben, denn Kompatibilität ist
ausserhalb der Nische der Supercomputer das allerwichtigste.

Autor: Stefan Helmert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch nicht gemeint, dass man dem Computer beim Programmieren
sagen muss, was er mit welchem Prozessor auszuführen hat. Man müsste
einfach (fast) jedes beliebige Programm ausführen können und es läuft,
egal ob x86, 68k, PowerPC... und wenn der Computer nichts damit
anfangen kann oder irgend ein Fehler auftritt oder etwas unlogisches im
Programm enthalten ist müsste er das versuch zu verstehen und
gegebenenfalls korrigieren. Programme schreiben sollte so einfach gehen
wie einem Softwareunternehmen mitzuteilen was für ein Programm
entwickelt werden soll und wenn etwas widersprüchlich oder
unvollständig ist soll der Computer rückfragen oder die beste Lösung
suchen!?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> müsste er das versuch zu verstehen und
> gegebenenfalls korrigieren

Hehe. Der do-what-I-mean Computer. Funktioniert ja nicht mal bei der
Ehefrau  Schwester  Mutter (nicht anwendbares bitte streichen).

Im übrigen hätte ich eine ziemliche Angst vor solchen Kisten. Bei
hinreichender Komplexität haben wir arme Menschlein nämlich keine
blasse Ahnung mehr, auf was für Interpretationen unserer Intentionen
der Computer so alles kommen könnte.

> dass man dem Computer beim Programmieren
> sagen muss, was er mit welchem Prozessor auszuführen hat

Nein. Aber ihm wenigstens eine Chance geben, das selbst herauszufinden.
Bloss ein Beispiel: in üblicher C-Programmierung/Compilern werden die
gleichen Speicherbytes vom Stack alle zig Befehle neu belegt und wieder
verworfen. Damit entstehen kleinräumige Abhängigkeiten, die eine
Selbst-Parallelisierung verhindern.

> so einfach gehen wie einem Softwareunternehmen mitzuteilen
> was für ein Programm entwickelt werden soll

Hast Du das schon mal gemacht? In der Praxis ist ebendiese
Spezifikation das oft der schwierigste Teil von komplexen
Softwareprojekten.

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also:
Der interne Datenbus ist wie von dir geschrieben 16bit breit und die
logisch Architektur ist 32bit breit. Das SRAM ist als Ersatz von
einzelnen Registern und Pointern vorgesehen, da bei 32bit breiten
Registern ziemlich viele IC´s zusammen gekommen wären.

Stimmt, ich hätte Harvard ähnliche Architektur schreiben sollen. Ich
habe diese gewählt, weil ich auf dem einen Bus das ROM ("Bios") und
den Hauptspeicher unterbringen will und auf dem anderen Bus dann die
IDE Komponenten, Sound, Grafikkarte und noch einen zweiten kleinen
Speicher. So kann ich z.B. Bilder per DMA in die Grafikkarte laden und
die CPU kann trotzdem weiter ihr Programm abarbeiten, solange sie nicht
auf den belegten Bus zugreift. Ich denke dass sich die CPU´s später
ziemlich ausbremsen würden, wenn Daten und Programm auf einem Bus
leigen würden.

Gruß Tobi

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tobi, würdest du mir bitte ein foto von deinem aufbau schicken?

Autor: Stefan Helmert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobias: Willst du Handelsübliche PC-, ISA-, PCI-, AGP-Karten nehmen?
Oder selberbauen?

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hat gestern keine Zeit zum Antworten.
Ich hab grad leider keine Digicam da, aber ich werd übernächste Woche
welche reinstellen (nächste bin ich im Urlaub :-) )!

Also eigentlich will ich die andere Hardware auch selber bauen, aber
zum Test nehm ich wahrscheinlich ISA Karten, was aber noch dauern
könnte weil ich grad festgestellt hab, dass 3 Leitungen die zum
internen SRAM führen zu langsam sind und ich den CPU Schaltplan
wahrscheinlichnochmal verändern musss, aber wenn ich Glück hab reichts
wenn ich die Taktfrequenz runter "dreh"? Mal schauen...

Gruß Tobi

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, jetzt geht wieder alles. Musste die Taktfrequenz nur auf 10Mhz
"runterdrehen" und die Signale sehen wieder in Ordung aus.

Gruß Tobi

Autor: high_speed (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Tobias

Gibt es Bilder von deiner CPU?
Mit 15 schon CPU-Entwickler.
Ich frage mich schon, wann du deinen ersten Supercomputer auf den Markt
bringst. :-)

MfG
Holger

Autor: TheIngeneur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tobi,
ich entwickle beruflich FPGA Designs. Kurz gesagt : Deine Vorstellung
wird nicht Möglich sein. Zumindestes was den Leistungs- und
Platzanforderungen deines Projektes und das vorhandene eines 15
Jährigen angeht. Vorallem frag ich mich, wenn Du schon FPGA nutzen
kannst, dann entwickle doch eher an multicore systemen. Da verbringste
Deine Zeit sinnvoller als bei der Schaffung eines 3 Kilowatt
Taschenrechners. Und hast Du eine Vorstellung was Du an EMF erzeugen
wirst? Ich glaube nicht das das Ding ohne gedruckte Schaltungen
überhaupt laufen wird. Und da du die eine Seite als Beispiel anführst
schau es dir gut an. Das sind 8-Bit und das heißt nicht das dann 32-Bit
nur 4 mal so groß werden. Denke eher mal an Factor 256. Probier einfach
mal in Deinem FPGA System den Unterschied zwischen 8, 16 und 32 Bit aus
und schaue auf die Gatter Zahl. Unter 1000 Gatter kommst Du selten mit
32 Bit. Zeichne erst mal einen Plan. Aber selbst da wird Dir hinterher
der Platz zum auslegen fehelen. Aber viel Erfolg falls Du es doch wagen
solltest.

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir nicht sicher, ob Tobias die entwicklung aufgegeben hat, aber 
das hier könnte doch von großem Interesse sein:

Intel veröffentlicht Schaltpläne des 4004-Prozessors:
http://www.golem.de/0611/48962.html

Hier sind die Schaltpläne:
http://www.intel.com/museum/archives/4004ip.htm

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, der Thread ist schon 5 Jahre alt.

Die 4004 Schaltpläne sind trotzdem interessant: Sie sind nämlich von 
Hand gezeichnet. Wahnsinn, oder?

Aus wie vielen Transistoren besteht der 4004 eigentlich?

Autor: Ronny Minow (hobby-coder)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das steht im artikel auf golem.de: 2.300 transistoren

Autor: basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2300

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, hab ich übersehen. Ob die 4004 wohl in ein CPLD XC95144 auf dem 
Pollin Board passt?

Autor: Zeitmaschine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hier der aktuelle LINK zu My_CPU  http://www.mycpu.eu/

Ob Tobias je eine CPU selber entwickelt oder gebaut hat, ist zu 
bezweifeln.

Einmal noch hat er über seine CPU und seine weiteren Pläne berichtet 
Beitrag "Re: Selbstgebaute CPU" ) und das war es.

Wenn schon jemand so was geniales macht, egal wie alt, wird er es auch 
zeigen wollen.

Ich habe mal nach Tobias und sein Projekt(CPU selber bauen) im WEB 
geforscht und rein gar NICHTS weiter gefunden.

reine Zeitverschwendung, aber ich finde die Idee eigendlich 
faszinierend.

Autor: Brechbohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.subfrequenz.net/linklist/index.php?topic=114.0

hier gibts massig DIY CPUs . am verrücktesten ist der MAGIC-1

wärs nicht mal interessant, eine cpu mit möglichst wenig komplexität zu 
bauen. also ein befehlsdecoder mit 4 oder 8 befehlen und bissl ram

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann fangen wir doch erst mal etwas kleiner an:

http://de.wikipedia.org/wiki/Know-how-Computer

:)

Autor: Brechbohne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Youtube-Video "Water calculator"  <-- wasserbetriebener 4-bit 
zähler

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brechbohne schrieb:
> wärs nicht mal interessant, eine cpu mit möglichst wenig komplexität zu
> bauen. also ein befehlsdecoder mit 4 oder 8 befehlen und bissl ram

hardware brainf*ck

son quatsch brainf*ck, wird als spam erkannt

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich baue gerade eine 1Bit CPU
mit 8Befehlen 16Bit RAM aus Relais.
Schaltpläne sind fertig, hat jemand Interesse?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ich baue gerade eine 1Bit CPU ...

Zeig' doch 'mal :)

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Es gab tatsächlich mal einen industriell hergestellten 1-Bit Prozessor.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobias: Dein Problem mit den Taktfrequenzen wird an dem Verhalten von 
CMOS auf der Stromversorgung liegen. Die Dinger ziehen beim Schalten 
heftige Stromspitzen, das muss man beim Leiterplattenlayout 
berücksichtigen, auf Lochraster u.ä. ist das ab einem gewissen Speed 
nicht mehr zu beherrschen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guido Körber schrieb:
> @Tobias: Dein Problem mit den Taktfrequenzen wird an dem Verhalten von
> CMOS auf der Stromversorgung liegen.

Einfach mal aufs Datum schauen, wann Tobias gepostet hat.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1-Bit: MC14500 - allerdings war das nur der Kern eines Prozessors, die 
Ablaufsteuerung fehlte vollständig.

Ansonsten waren so allerlei Prozessoren, integrierte und diskrete, trotz 
höherer Datenbreite bitseriell implementiert.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genaus an dem MC14500 habich mich orientiert.
Also ich baue -> hab noch nicht mit Löten angefangen,
nur Schaltpläne gemalt und Relais gekauft.
Aber die Schaltpläne sind soweit fertig.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Einfach mal aufs Datum schauen, wann Tobias gepostet hat.

Autsch! Voll aufs Glatteis, wer rechnet denn damit, dass so ein alter 
Thread noch mal hoch kommt.

Was 1 Bit Prozessoren betrifft: Gabs da nicht auch einen Prozessor der 
intern sequenziell arbeitete um nach aussen wie ein 8 Bit auszusehen?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, irgendeine 6805 Variante habe ich da vage in Erinnerung. Auch der 
SC/MP soll eine bitserielle ALU gehabt haben, was man beim Anblick der 
Takte pro Befehl auch sofort glaubt.

Autor: René F. (ren_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wäre nach FPGA nicht der nächste Schritt zur Steigerung ASIC? Diskret 
aufgebaut werden CPU/µC ja Monster.

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe vor etlichen Jahren mal mit zwei Praktikanten einen 4 Bit 
Prozessor gebaut, dabei haben wir nur TTL und GAL eingesetzt. Die Dinger 
hatten Microcode und einen minimalen Befehlssatz, 15 Befehle wenn ich 
mich richtig erinnere, können aber auch 14 gewesen sein. Benutzung über 
eine Maschinenkonsole.

Hätte mir selber auch ein Exemplar davon bauen sollen...

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die st62 Reihe von ST waren 1-bit Prozessoren, welche alles seriell 
abarbeiteten und 13 Taktzyklen glaube ich brauchten. Mindestens 2 davon
waren, daß sich die internen Leitungen wieder beruhigen, zumindest so 
war es im Handbuch abgedruckt.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
extern un Programmtechnisch 8bit mit table-read für den 
programmspeicher,
waren nicht schlecht und sind auch in Massen produziert worden.
Als sich dann irgendwas bei den EMC Messungen geändert hat, wurden die
CPU´s sogut wie eingestampft, auch wenn man sie derzeit noch beziehen 
kann.

Autor: Klaus Merkert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht interessiert eine Registermaschinen-CPU:
http://www.hsg-kl.de/faecher/inf/material/bonsai/index.php

Viele Grüße

Klaus Merkert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Einfach mal aufs Datum schauen, wann Tobias gepostet hat.
Und die Zusammenfassung lesen:
Beitrag "Re: CPU Selbstbau"
No further comment...

Autor: Schöni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der TTL-Logik klingt, als würdest du eine CPU wirklich selber 
basteln wollen. Im theoretischen würde mich so ein CPU-Schaltplan auch 
interessieren, aber wenn ich in wikipedia lese, wieviele Transistoren 
allein schon der 8-Bit-Proessor (i4004) braucht, denke ich, ist das 
normal mit löten nicht realisierbar ... abgesehen von den Kosten würdest 
du also auch SMD-Löttechnik benötigen.

Sich über die Zuse zu belesen finde ich da einen guten Ansatz. 
Allerdings hab ich über die Z4 selbst noch nichts gelesen. Lese momentan 
ein Dokument über die Z1 ( ist der erste mechanische 'PC' ... naja, 
egtl. nur ein Rechenwerk :D )

Autor: isnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Schöni
Wie schnell doch 9 Jahre vergehen! ;-)

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das mit der TTL-Logik klingt, als würdest du eine CPU wirklich selber
>basteln wollen.

Hier gibt es eine TTL-Seblstbau-CPU:
ftp://ftp.dreesen.ch/

Hier noch einen Simulator dafür:
https://github.com/ChrisMicro/T3_computer_emulation

Autor: Udo Schmitt (urschmitt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias schrieb:
> Mit nem FPGA hab ich schon eine 16 bit CPU gebaut und jetzt wollte ich
> mir eine aus normalen TTL Schaltkreisen aufbauen.

Das ist doch ein Super Projekt, warum hilfst du nicht anderen die sowas 
auch mal machen wollen und stellst es hier als Projekt vor.

Autor: Sinus Tangentus (micha_micha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schön, wie das immer wieder funktioniert: da buddelt einer eine 9 Jahre 
alte Mumie aus und alle nachfolgenden tun so, als sei sie von gestern.

Autor: Udo Schmitt (urschmitt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mist, jetzt bin ich auch reingefallen! Sorry. :-(
Der/die Mods sollten am besten alle neuen Beiträge löschen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sinus Tangentus schrieb:
> Schön, wie das immer wieder funktioniert: da buddelt einer eine 9 Jahre
> alte Mumie aus und alle nachfolgenden tun so, als sei sie von gestern.

Mumien werden mit zunehmendem Alter immer wertvoller.

Autor: abc.def (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, bin erst jetzt in diesen Thread hereingeplatzt.
Ich habe eine zeitlang 4-Bit-Controller (Toshiba) in Assembler 
programmiert. Dabei kam mir eine Idee an eine neue CPU, habe das aber 
nicht weiterverfolgt:
Harvard-Architektur, 8bit Programmspeicher, RAM je nach CPU-Variante 1 
oder 2 oder 4 oder 8 ... bit breit. Und zwar deshalb: Ein ADD opcode 
trägt die Bitbreite im opcode mit sich. Ist es eine CPU mit nur 4-Bit 
Datenbus, wird eine 8-Bit-Add in 2 Vorgänge aufgespalten, entsprechende 
Daten-Adresszeiger zwischendrin inkrementiert und wiederholt(im 
Mikroprogramm der CPU so abgelegt). Damit würde dasselbe 
Assemblerprogramm auf verschiedenen RAM-Datenbreiten identisch laufen, 
und auch auf einer kleinen CPU gäbe es native 32bit-Operationen. Oder es 
würde ausreichen, einen 1-Bit-Addierer in die CPU zu setzen und damit 
auch "breite" Additionen auszuführen. ist vielleicht langsamer, aber 
warum nicht.

Eine interessante Möglichkeit der Skalierung habe ich an der Motorola 
68020 CPU (=uralt) gefunden. Der RAM-Controller hat der CPU mitgeteilt, 
ob ein Adressbereich mit 8, 16, oder 32bit Daten ausgerüstet ist. Die 
CPU hat die zB 32Bit Zugriffe auf ein 8bit RAM dann (hardwaremäßig) in 4 
Schritte geteilt; Adress-Inkrementieren inklusive. Ebenso, bei 8_Bit 
Zugriffen auf 32Bit RAM; wurde bei der Datenübernahme das richtige Byte 
aus den 32bit heraus-'multiplexiert'. Damit ist die Schaltung gut 
skalierbar, und auch gemischt zu verwenden (8-Bit Boot EPROM, 32Bit im 
Normalbetrieb, gemischt mit 8-bit memory mapped IO)

... war nur so ein Gedanke.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Operandengrösse im Opcode zu speichern ist überaus weit verbreitet. 
Ungewöhlich wäre eher, sie im Operanden zu speichern.

CPUs gleicher Befehlssatzarchitektur intern unterschiedlich aufwändig zu 
implementieren, von byteweise seriell bis zu voller Breite parallel, war 
eine der Grundlagen des Erfolgs der IBM 360 Architektur der 60er Jahre.

: Bearbeitet durch User
Autor: LeonKitzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Wenn irgendjemand diesen Beitrag list vorallem du Tobi, du bist zwar 
schon älter mitlerweile aber ich hoffe ich bekomme eine antwort..
Mein anliegen ist es nähmlich einen kompletten pc + betriebssystem zu 
erstellen.. Ich weiss es klingt verrückt und ich weiss dass das dauert 
abeeer.. Ich will es unbedingt machen. Man findet leider keine richtige 
seiten auf denen genauere infos stehen. Vermutlich weil keiner so 
verrückt ist aber wie wurde der pc erfunden diese leute waren ja auch 
verrückt zb als steve jobs in der gerage einen pc gebaut hat und dann 
angefangen hat ein betriebssys zu schreiben die hatten damals überhaupt 
keine ansätze aber heutzutage gibt es welche, welche die nicht 
veröffentlicht wurden.. Wenn ich könnte würd ichs ja studieren aber wtf 
das wären 3 verschiedene studiengänge und ich kann frühestens in 3 
jahren studieren nachdem ich mein abi hab also bitte ich jeden der 
diesen beitrag liest und irgend ein buch oder eine webseite weiss oder 
ansätze wie man stukturiert und baut und welchen sinn dieses bauteil 
genau hat diesen beitrag zu kommentieren die webseite von oben wurde 
leider gelöscht :(( also hilfe bitte..

LG Leon

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Details zum Aufbau findet man einfacherweise direkt im Original, in der 
Technical Reference des IBM PC/XT. Mit Schaltbildern und BIOS Listing. 
http://www.retroarchive.org/dos/docs/ibm5160techref.pdf

Allerdings war IBM nicht grad eine Garagenfirma. Historische Details zum 
Entstehungsprozess sind folglich nicht ganz so romantisch wie bei Apple. 
Und ebenso folgerichtig sind konkrete Details über die 
Firmenentscheidungen eines solchen Konzerns nicht öffentlich verfügbar. 
Spekulationen schon.

: Bearbeitet durch User
Autor: Bonner (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
also hab jetzt nicht alles gelesen, weiß also nicht obs schon gesagt 
wurde.
Eine ALU gibt es als fertigen Logik-Baustein (z.B. 74LS181). Ich weiß 
auch das es mal eine Studentengruppe gab, die mit solchen Bausteinen 
eine CPU gebaut hatte.
Vlt. hilft dir die Info wenn du mal nach suchst. Konkretes zu dem 
Projekt weiß ich aber nicht.

Wegen den Reflektionen brauchst du dir keine Sorgen machen, da dir die 
Geschwindigkeit ja egal ist. Solange deine Signalwege kleiner als die 
Wellenlänge sind treten die nicht auf.

Autor: Bonner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ui... sehe grad wie alt der Thread ist. Ist dein Projekt was geworden?

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Eine ALU gibt es als fertigen Logik-Baustein (z.B. 74LS181).
>Ich weiß auch das es mal eine Studentengruppe gab
An der Stelle ist sogar schon ein Link auf ein Projekt mit einer 
12Bit-CPU aus 3x74181
Beitrag "Re: CPU Selbstbau"

Autor: _______ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Respekt!
Mit 15 Schon so Ziele!
da ich erst 13 bin (Ja, es ist jung aber ich setze mich schon seit ich 
11 bin mit dem Thema Programmieren und Pc Komponenten auseinander) kann 
ich da noch nicht so viel mitreden, aber ich und mein Cousin (er ist 
Jetzt 23 Jahre alt und hat angewandte Informatik Studiert) haben mal ein 
Projekt für ein eigenes OS (Linux basiert) gestartet,und wir sind bald 
mit der Desktop Oberfläche fertig
 Vorgang ab dem Anschalten des PCs (vereinfacht):
 Boot und BIOS Grundlagen überprüfen
 Anmeldedaten (Benutzername, Passwort usw.) Abrufen und Überprüfen
 Desktop Verknüpfungen und -Programme starten
Und das alles in nem SCHÖNEM HTML design.
Wenn du willst kannst du mich gerne Anschreiben:
Frederboy123@gmail.com
Ps:
An alle Hater: ich weiß, dass es noch weit nicht so gut ist, dass es mit 
SuSe Linux oder Obuntu mithalten kann, weil ich es mit meinem Cousin 
programmiert hab, aber ich lege viel Wert darauf, dass ich es kann, denn 
schließlich bin ich nun in der 9. Klasse, und ich will nach der 10. aufs 
Teschnische Gymnasium wechseln, und mit ETWAS Vorwissen da hin zu gehen 
is schon nicht schlecht

Autor: Dispol (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Respekt!
>Mit 15 Schon so Ziele!
er ist jetzt aber schon 25.

Autor: _______ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab's Grad gesehen
2005 :D

Autor: Axel Schwenke (a-za-z0-9)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
_______ schrieb:
> da ich erst 13 bin ... kann
> ich da noch nicht so viel mitreden, aber ich und mein Cousin

.oO("Der Esel nennt sich selbst zuerst")

> ... haben mal ein
> Projekt für ein eigenes OS (Linux basiert) gestartet
...
> Und das alles in nem SCHÖNEM HTML design.

Aaah ja. Ihr "programmiert" also ein Betriebssystem in HTML
Tolle Sache! <grusel/>

> An alle Hater: ich weiß, dass es noch weit nicht so gut ist

Hater, so so. Ja, die Wahrheit war schon immer unbeliebt.

Autor: Martin (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Na und!

*****
Ich bin erst 4 Jahre und kann schon mit der Tastatur umgehen.
Weil ich mich auch für Elektronik und Mikroprozessoren interessiere und 
damit vor 3 Jahren angefangen habe, bin ich nun dabei einen 
Intelprozessor, der übernächsten Generation, mit diskreten Bauelementen 
aufzubauen.
Ich denke mal, ein Wolkenkratzer, den ich extra dafür angemietet habe, 
sollte ausreichen, um die Bauteile unterzubringen.
Die Taktfrequenz habe ich mit 100GHZ festgesetzt.
Hat jemand Vorschläge dazu?
******

Scherz beiseite, ich glaube kaum, dass dieser Tobias jemals irgendetwas 
ansatzweise gebaut hat. Er hat euch einfach geschickt an der Nase 
herumgeführt. Deshalb auch ständig diese flüchtigen Ausreden, wenn nach 
Plänen oder Bildern gefragt wurde.

Schöne Grüße
Martin

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
_______ schrieb:

> Projekt für ein eigenes OS (Linux basiert)

Du musst noch viel lernen.
Ein Aufsatz für ein vorhandenes Betriebssystem ist noch lange kein 
Betriebssystem. Ein schöner Desktop ist zwar sicher nicht ohne, aber die 
Schwierigkeiten bei einem Betriebssystem liegen ganz woanders.

Der Einbau einer alternativen Motormangement-Anzeige qualifiziert dich 
noch lange nicht zum Autobauer.

> An alle Hater:

Hater?
Hier gibt es keine Hater. Nur Leute, die nicht davor zurückschrecken 
auch mal die Wahrheit ungeschminkt zu sagen, selbst wenn das 
gesellschaftlich heute verpönt ist.

: Bearbeitet durch Moderator
Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um die Liste der Selbstbau-CPUs weiter zu vervollständigen:
https://hackaday.io/project/12879-weird-cpu

Autor: Max Mustermann (jens2001)
Datum:

Bewertung
-7 lesenswert
nicht lesenswert
Karl H. schrieb:
>> Projekt für ein eigenes OS (Linux basiert)
>
> Du musst noch viel lernen.
> Ein Aufsatz für ein vorhandenes Betriebssystem ist noch lange kein
> Betriebssystem

Du musst noch viel lernen!
Linux ist kein Betriebssystem!

Autor: Mw En (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lasst doch mal die Leichen im Keller.

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Um die Liste der Selbstbau-CPUs weiter zu vervollständigen:
>https://hackaday.io/project/12879-weird-cpu

Die Archtektur dieser CPU ist interessant, weil sie angeblich nur einen 
Befehl hat: "Move"
Das stimmt allerdings nicht ganz, weil sich mehrere Befehle an festen 
Adressen verstecken. Es ist ein "Transport" Architektur.

Autor: chris_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du musst noch viel lernen!
>Linux ist kein Betriebssystem!

https://de.wikipedia.org/wiki/Linux
"Als Linux (dt. [ˈliːnʊks]) oder GNU/Linux (siehe 
GNU/Linux-Namensstreit) bezeichnet man in der Regel freie, unix-ähnliche 
Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich 
auf GNU-Software basieren."

Im Internet wird beliebig viel Mist verzapft
qed

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.

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