Forum: Mikrocontroller und Digitale Elektronik 8-Bit CPU Selbstbau


von Florian T. (flo128)


Angehängte Dateien:

Lesenswert?

Hallo liebe Computer Freak’s,
oder wer da sonst noch rumgeistert…

Ich möchte eine 8 Bit CPU bauen und habe mir schon ausgedacht wie sie 
aufgebaut sein sollen.

1.Wie komme ich zu so einer verrückten Idee?

Ganz einfach: ich mache gerade das Frühstudium zur Vorlesung 
„Rechnerarchitektur“ an der UDE. Der Dozent hatte die mic-1 in seiner 
Vorlesung vorgestellt und ich dachte mir das ich die besser machen kann. 
( also das drum herum )

2. Vorteile meiner CPU zur mic-1:

Es gibt ein zentralen internen Datenbus, dh. kein dummes durchgeschleuse 
durch die Alu mehr.( wird genutzt um ein datenbus Wechsel zu 
generieren.)

Mehr Hilfs-Register (x,x,sum und c).

Einen kompletten digitalen Comperator für „<>=“. Zusätzlich zu den 
z(Zero) und c(Carry OUT) flags.

Mehrere Speicher Möglichkeiten, dh. 2.Ram und 2.Rom Schnittstellen. Die 
könnten zum Beispiel dafür genutzt werden das man einen Boot-Loader und 
ein OS auf das eine ROM packt und auf das andere benutzter Programme und 
Daten.

Bessere Sprung Möglichkeiten, dh. Mit kleinstem Abstand anders als bei 
der mic-1:

Wenn man hier springen möchte , kann man sich zwischen zb. den Adressen: 
0x1FF oder 0x0FF entscheiden.

3. was noch fehlt…
 Ein Steuerung für die Instruktion, der CPU. Aber da ist meine 
Überlegung, das man zuerst ein Instruktion‘s Indikator einließt, zb. mov 
= 0x01, add = 0x02 usw… Anschließend ließt man Parameter an. Dh. bei dem 
mov Befehl muss man das Ziel und das start Register angeben.

Sorry das meine Zeichnung schlecht zu lesen ist. Bin aber gerade in 
Urlaub und hab deshalb nicht die Möglichkeiten den Plan auf dem Computer 
zu zeichnen.

Ja ich weiß es gab schonmal so einen Beitrag 
(Beitrag "CPU Selbstbau" ) in diesem Forum. Tobias 
wollte aber eine 32bit CPU bauen, ich nicht.

Meine Fragen an euch: was haltet ihr von meinem noch nicht fertigen 
Design, und was kann ich verbessern?

Vg Florian
Ich bin übrigens 16 Jahre alt.

von Florian T. (flo128)


Lesenswert?

Oh irgendwie ist das Bild zweimal in meinem Beitrag. Das kommt davon 
wenn man am Handy arbeitet.;)
Vg Florian

von Stefan S. (chiefeinherjar)


Lesenswert?

Florian T. schrieb:
> Meine Fragen an euch: was haltet ihr von meinem noch nicht fertigen
> Design, und was kann ich verbessern?

Naja, Papier ist geduldig. Man kann die tollsten Dinge darauf zeichnen. 
Aber hast du mal angefangen, erste Dinge von diesen groben Blöcken mal 
konkret umzusetzen? Bzw. welche Erfahrung hast du?
Und wie willst du es umsetzen? Mit diskreten Logik-Bausteinen a la 
74XX-Reihe oder per FPGA und VHDL?

von Michael B. (laberkopp)


Lesenswert?

Florian T. schrieb:
> was haltet ihr von meinem noch nicht fertigen Design

Normalerweise sucht man sich existierende und beschaffbare Bauteile 
raus, und versucht mit denen was zu kombinieren. (74HC181 ALU ist nur 4 
bit, die Z80 nutzt auch nur eine 4 bit ALU)

Natürlich ist man damit weit von einem gewünschten Optimum weg. Wünschen 
klappt nur, wenn man die Schaltung in ein FPGA programmiert.

Insbesondere wenn man nich nicht so genau weiss was gut ist wäre die 
Umsetzung im FGPA wohl am schlauesten, weil man es schnell andern kann.

Egal aber welchen Prozessor man baut, man will ihn programmieren und in 
Maschinencode hex ist das so mühsam, dass man kaum über 50 Befehle lange 
Programme schreiben will. Also braucht man einen Assembler und schreibt 
dann vielleicht 500 Mnemonics. Danach wünscht man sich wenigstens einen 
C Compiler um die Programme zu schreiben
die man unbedingt braucht. Diese Software für deinen Prozessor zu 
erstellen kostet weit mehr Mühe als den Prozessor zu designen, also wäre 
es schlau, eine Architektur zu nutzen, für deren Befehlssatz es 
Assembler und Compiler schon fertig gibt. Dann kann man gleich einen 
fertigen Prozessor nutzen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan S. schrieb:
> Mit diskreten Logik-Bausteinen a la
> 74XX-Reihe oder per FPGA und VHDL?

Am besten ausschliesslich aus 3-fach NOR Gattern wie im Apollo Guidance 
Computer.

von Cyblord -. (cyblord)


Lesenswert?

Florian T. schrieb:
> Ich möchte eine 8 Bit CPU bauen und habe mir schon ausgedacht wie sie
> aufgebaut sein sollen.

Ich würde das an deiner Stelle nur virtuell aufbauen und simulieren. 
Hier wirklich mit TTL Gräbern zu hantieren macht wenig Sinn.

von Florian T. (flo128)


Lesenswert?

Hi Stefan,

Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe 
bauen. Mit den Schaltplänen hab ich schon angefangen. Bin aber gerade 
unterwegs deswegen kann ich dir die noch nicht schicken. Erfahrungen 
habe ich schon eigentlich genug: Platinen Design und Schaltungen auf 
steckboards aufzubauen. Habe schon mal ein Multiplikator mit Counter 
gebaut und erst in Minecraft Designt, dass war aber schon vor 2/3 
Jahren.

Vg Florian

von Thomas W. (Gast)


Lesenswert?

Zum einen, Du bist nicht allein. Andere haben das auch schon gemacht. Es 
gibt einen Webring (eine Liste von Projekten) wo Du eventuell 
inspirieren lassen kannst:

https://www.homebrewcpuring.org/

Viel Spass, viel Glueck.

Th.

von Michael B. (laberkopp)


Lesenswert?

Florian T. schrieb:
> Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe
> bauen.

Dann achte drauf, dass grosse Platinen gutes Layout und 
Abblockkondensatoren brauchen, die üblichen Kuchenbretter aus den 70gern 
hatten das noch nicht gelernt, es gab viele die nicht oder nur schlecht 
funktionierten.

Ich hoffe, du hast wenigstens das Geld, um so grosse Platinen fertigen 
zu lassen, denn per Fädeltechnik ist das noch mühsamer.

https://www.ardent-tool.com/5150/PC_origins.html

40xx ist natürlich grottenlangsam, da ist man mit 100kHz Takt zufrieden.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ja klar, kann man durchaus machen, wenn man irrsinnig Spass dran hat.
Das gibt dann halt ein paar Kuchenbleche voll mit TTL Gattern.
Kann man auch auf youtube sicher bestaunen.
Aber ich find', das hat immer so ein bisschen was von "Koelner Dom aus 
Streichhoelzern nachbauen".
Also nicht wirklich was Neues. Und dann kommt noch irgendein Anderer an 
und baut das dann per FPGA in 10x billiger, 100x schneller und 1000x 
flexibler...

Gruss
WK

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Florian T. schrieb:
> ich dachte mir das ich die besser machen kann

Die mic-1 ist nicht dazu da um Dinge richtig gut zu machen. Sie ist dazu 
da um die Abläufe in einer CPU anschaulich zu machen.
An wirklich guten Prozessor Designs zu obzön niedrigen Kosten herrscht 
kein Mangel.

Wenn Du Dir im klaren bist das diese Fingerübung keine Nachahmer finden 
wird, kaum Beifall, viel Kritik und nur Dir selbst dienen wird bis auch 
Du das Interesse daran verlierst, kannst Du das ja machen.

Aber mach das mit FPGA statt Logigbausteinen.
Du willst nicht 90% Deiner Zeit PCBs ätzen / kaufen, löten und 
Fädeldraht ziehen, statt an der CPU zu arbeiten.
Außerdem ist das dann nicht völlig nutzlos, weil Du FPGA dabei lernst.

DIY CPUs gibt es echt viele.
Hier im Forum bastelt Josef seit gefühlten Jahrzehnten an seiner BO8 auf 
FPGA Basis.
Kümmert kein Schwein, niemand will die nutzen.
Auch wenn er das nicht einehen kann und will, ist eine selbst designte 
CPU nur für eines gut: Den Spieltrieb und die Neugierde des bauenden zu 
befriedigen.
Es kommt immer der Punkt an dem man das loslassen muss und sich 
ernsthaften Themen zuwendet, die auch zu irgendwas nutze sind.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian T. schrieb:
> Habe schon mal ein Multiplikator mit Counter gebaut
Im Grunde wirst du mit der (schrittweisen) Umsetzung einer CPU in 
TTL-Gatter also nichts Neues mehr lernen, sondern altes Wissen (wie alt 
ist TTL?) perfektionieren.

Leider kannst du mit diesem perfekten Wissen hinterher nichts gewinnen, 
denn solche Detailkenntnisse zur Lösung digitaler Probleme mit 
TTL-Standardgattern braucht keiner mehr. Das letzte TTL-Gatter habe ich 
vor gefühlt 20 Jahren verbaut.

Mein Tipp: lerne was Neues und pack dein Design in ein FPGA.


Der Witz: da kannst du dir auch eine ganz andere Architektur mit z.B. 9 
oder 13 Bit Wortbreite ausdenken.

: Bearbeitet durch Moderator
von H. H. (Gast)


Lesenswert?

Michael B. schrieb:
> die Z80 nutzt auch nur eine 4 bit ALU

Kann ich bis heute nicht glauben, ADD A,r hat ja nur 4 Taktzyklen 
benötigt, ADD A,n nur 7 Taktzyklen.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Florian T. schrieb:
> Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe
> bauen.

Damit du mal ungefähr einen Überblick über die Größe deines Unterfangens 
bekommst:
- https://c74project.com/

von Stefan F. (Gast)


Lesenswert?

Solche Projekte gab es ja nun schon oft genug. Viele wurden angesichts 
des enormen Aufwandes abgebrochen. Hast du auch vor, ein paar Kilobyte 
RAM und ROM zu emulieren? Viel Glück dabei. Ich hoffe du hast einige zig 
Quadratmeter Raum dafür und kannst dir den Strom leisten. Die Entsorgung 
könnte auch spannend werden.

Wie so eine CPU funktioniert, kann man anhand einer Simulation besser 
lernen. Es gibt schon fertige als Browser-Anwendung, die lückenlos alle 
Signale visualisieren. Zum Beispiel den außergewöhnlichen 
http://www.visual6502.org/. Du könntest auch einen eigenen Simulator 
programmieren.

von (prx) A. K. (prx)


Lesenswert?

H. H. schrieb:
> Kann ich bis heute nicht glauben

Masatoshi Shima, und der sollte es wissen:
"At first I introduced the pipeline 4-bit ALU."
http://archive.computerhistory.org/resources/text/Oral_History/Zilog_Z80/102658073.05.01.pdf

> ADD A,r hat ja nur 4 Taktzyklen benötigt, ADD A,n nur 7 Taktzyklen.

Die Addition wird im folgenden M1-Zyklus durchgeführt. Darin sind 4 
Takte Zeit. Bei ADD A,n liegen die Daten erst nach 7 Takten vor, 1xM1 
für OpcodeFetch/Decode und 1xM2 für die Konstante.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

H. H. schrieb:
> Michael B. schrieb:
>> die Z80 nutzt auch nur eine 4 bit ALU
>
> Kann ich bis heute nicht glauben, ADD A,r hat ja nur 4 Taktzyklen
> benötigt, ADD A,n nur 7 Taktzyklen.

https://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html?m=1

Daher auch die half carry bits der Z80 und für BCD sowieso ausreichend.

von (prx) A. K. (prx)


Lesenswert?

Michael B. schrieb:
> Daher auch die half carry bits der Z80

Ein Erbe der 8080, und die hatte eine 8-bit ALU.
Aus der dieses Flag auszuleiten ist trivial.

: Bearbeitet durch User
von Thomas W. (Gast)


Lesenswert?

Florian T. schrieb:
> 3. was noch fehlt…
>  Ein Steuerung für die Instruktion, der CPU. Aber da ist meine
> Überlegung, das man zuerst ein Instruktion‘s Indikator einließt, zb. mov
> = 0x01, add = 0x02 usw… Anschließend ließt man Parameter an. Dh. bei dem
> mov Befehl muss man das Ziel und das start Register angeben.

Dann suche Literatur ueber Microprogramming. Von den ersten 
Realisierungen in den 1950'er Jahre (Z.b. Wilkes/Stringer, 
Microprogramming and the Design of the Control Circuits in an Electronic 
Digital Computer, Proc. Cambridge Phil. Soc., pt. 2, vol. 49, April 
1953, pp. 230-238). Oder suche die Dokumentation der PDP oder VAX (die 
Schaltplaene sind mittlerweise mit etwas Suche zu finden, dann findet 
man auch die Microodes).

In vielen Faellen wird das Steuerwerk entweder mit einer Diodenmatrix 
oder mit EEPROMs realisiert.

Ist der Aufwand (2023) sinnvoll, kommt am Ende eine CPUchen (ganz kleine 
CPU) bei raus? Bei mir ist es nur bis zur Taktgenerierung gegangen (dann 
aufgegeben).

Gruesse

Th.

P.S.:
Der Link 
http://gordonbell.azurewebsites.net/Computer_Structures_Principles_and_Examples/csp0174.htm?from=https://research.microsoft.com/~gbell/Computer_Structures_Principles_and_Examples/csp0174.htm&type=path

von H. H. (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Die Addition wird im folgenden M1-Zyklus durchgeführt.

Und wenn das Ergebnis schon vorher benötigt wird, z.B. bei zwei ADD, A,r 
hintereinander?

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Stefan F. schrieb:
> Solche Projekte gab es ja nun schon oft genug. Viele wurden angesichts
> des enormen Aufwandes abgebrochen. Hast du auch vor, ein paar Kilobyte
> RAM und ROM zu emulieren? Viel Glück dabei. Ich hoffe du hast einige zig
> Quadratmeter Raum dafür und kannst dir den Strom leisten. Die Entsorgung
> könnte auch spannend werden.

Ganz so schlimm ist es garnicht:
- https://www.homebrewcpuring.org/ringhome.html

Und so ein TTL-Grab spart im nächsten Winter immerhin die Gas-Heizung:-)

Wobei dieses Exemplar hier die Vorstellungen des TO noch am nächsten 
kommen dürfte:
- http://www.8-bitspaghetti.com/2012/04/test-time/

: Bearbeitet durch User
Beitrag #7453330 wurde vom Autor gelöscht.
Beitrag #7453337 wurde von einem Moderator gelöscht.
von (prx) A. K. (prx)


Lesenswert?

H. H. schrieb:
> Und wenn das Ergebnis schon vorher benötigt wird, z.B. bei zwei ADD, A,r
> hintereinander?

Im Folgebefehl wird die Addition doch auch erst verzögert ausgeführt, 
benötigt die Daten also nicht sofort. Erst kommt dessen Fetch/Decode. 
Dieses Pipelining ist hier dargestellt:
http://www.z80.info/z80arki.htm

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

(prx) A. K. schrieb:
> H. H. schrieb:
>> Und wenn das Ergebnis schon vorher benötigt wird, z.B. bei zwei ADD, A,r
>> hintereinander?
>
> Der Folgebefehl wird die Addition doch auch erst verzögert ausgeführt,
> benötigt die Daten als nicht sofort. Erst kommt dessen Fetch/Decode.
> Dieses Pipelining ist hier dargestellt:
> http://www.z80.info/z80arki.htm

Verstanden.

Danke für die Aufklärung.

von Gunnar F. (gufi36)


Lesenswert?

Florian T. schrieb:
> Meine Fragen an euch: was haltet ihr von meinem noch nicht fertigen
> Design, und was kann ich verbessern?

ich rate dir davon ab. Unendliche Arbeit, viele Probleme, deren Lösung 
dir kein nützliches Know-how bringen und vielleicht- je nachdem wie gut 
du drauf bist - hohes Frustrationspotential.
Kauf dir ein STM32 nucleo und lerne daran. Das bringt dich weiter. 
Ansonsten  nur meine Meinung. Ich kann Dich durchaus verstehen, glaube 
viele hatte schon solche Ideen. Aber so alten Kram guckt man sich besser 
im Museum an..

P.S. Das schreibt jemand, der nach 45 Jahren Elektronikpraxis gerade 
anfängt, sich mit Röhren zu beschäftigen! 😀

P.P.S.
Als ich so alt war wie du, baute ich aus 74LS einen Frequenzzähler. 
Gründe waren, dass ich ganz wenig Geld hatte, aber solche IC im 
Überfluss. Mein Bruder arbeitete in einer Computerfirma und brachte mir 
regelmäßig solche Kuchenbleche mit.
Wenn ich dich nicht abhalten konnte und du in die Realisierung gehst, 
schreib mich an, dann kannst du vielleicht ein paar IC von mir bekommen. 
ICH setze die nicht mehr ein!

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Gunnar F. schrieb:
> P.S. Das schreibt jemand, der nach 45 Jahren Elektronikpraxis gerade
> anfängt, sich mit Röhren zu beschäftigen! 😀

ENIAC nachbauen!

von Gunnar F. (gufi36)


Lesenswert?

H. H. schrieb:
> ENIAC nachbauen

bräuchte ich immerhin keine Lupenbrille mehr dafür!

von Rbx (rcx)


Lesenswert?

Florian T. schrieb:
> Ich möchte eine 8 Bit CPU bauen und habe mir schon ausgedacht wie sie
> aufgebaut sein sollen.

Nicht gut. 4 Bit geht gerade noch so.
https://en.wikipedia.org/wiki/Intel_4004

von Thorsten S. (whitejack)


Lesenswert?


: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Jemand mit sehr, sehr viel Zeit und Geduld hat hier einen 
8-Bit-Mikroprozessor diskret mit einzelnen Transistoren aufgebaut:

https://monster6502.com/

von Rainer W. (rawi)


Lesenswert?

Florian T. schrieb:
> Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe
> bauen.

Das ist eine ungünstige Mischung. Du solltest dich wenigstens 
entscheiden: TTL (aufgebaut mit BJTs) oder CMOS, z.B. 74HCxx an Stelle 
von 74xx.

Hast du dir z.B. den 6502 einmal angesehen?

Harald K. schrieb:
> Jemand mit sehr, sehr viel Zeit und Geduld hat hier einen
> 8-Bit-Mikroprozessor diskret mit einzelnen Transistoren aufgebaut:

Immerhin wurden für den 6502 die Masken für den 
Halbleiterherstellungsprozess noch auf dem Zeichenbrett gemalt.

: Bearbeitet durch User
von Florian T. (flo128)


Lesenswert?

Hallo zusammen,

Sorry das ich so spät antworte aber wir haben gerade uns noch mit 
Freunden getroffen (ein Kurzer Ausflug von den Computern weg. Freunde 
muss man auch als freak pflegen) ;)

Aber erstmal vielen Dank für die zahlreichen Antworten.

Ihr habt mich erstmal überzeugt das ich nur ein ic Typ nutzte .: am 
besten die schnellste Variante von der 74 Logic.

Ja ich weiß das Projekt ist verrükt. Auch wenn mein Projekt erstmal 
nicht so super gut ankam, werde ich trotzdem weiter machen  Steve Jobs 
hatte bei seiner ersten Vorstellung auch einen kompletten Reinfall, aber 
wo ist er ausgekommen?

Mit meinem Design kann ich zwar nichts erreichen aber keiner kann in die 
Zukunft blicken.

Aber wie ihr seht es haben viele Leute solche Ideen, die sogar umgesetzt 
werden. Nur ist bei mir der große Unterschied dass ich erstens lernen 
möchte wie ein Computer funktioniert und zweitens versuche ich 
zumindestens ein bisschen was neu erfinden.

Zu den Leuten die mir vorschlagen zu simulieren:

Ich finde eine Simulation für eine gute Idee, das einzige Problem was 
ich sehe ist, dass ich bis jetzt noch keine Möglichkeit gefunden habe 
meine KiCad Schaltpläne zu simulieren( wollte mal sowas programmieren 
aber bin kläglich an der Geschwindigkeit von Windows Firma in c# 
gescheitert. Ja ich werd’s nochmal mit sdl2 versuchen ) .

Zu FPGA‘s kann ich nichts sagen aber ich könnte mich mal anfangen damit 
zu beschäftigen. Bräuchte nur ein günstig es dev Board weil ca. 500€ für 
ne Platine mit ein paar Tastern und Displays ist viel zu teuer.
Aber in diesem Forum kann mir bestimmt jemand helfen….

Michael B. schrieb ja wie das mit dem Geld aussieht: dadurch das ich 
durch das Frühstudium neue Kontakte gefunden habe,  die mich zu einem 
PCB Drucker geführt haben.

Zu den PCB‘s : es soll ein Computer werden, der in ein 19“ Rack rein 
kommen. Dh. Ganz viele kleine Karten gibt.

Danke Gunnar F. Wenn du mir ein paar ic‘s spenden möchtest. Die kann man 
immer gebrauchen.

Vg Florian

Ps. Melde mich morgen wieder es wird langsam zu spät um klar zu denken.

von H. H. (Gast)


Lesenswert?

Florian T. schrieb:
> am besten die schnellste Variante von der 74 Logic.

Da wäre der Frust vorprogrammiert, nimm 74HCxxx, die sind auch für einen 
Anfänger beherrschbar.

von Florian T. (flo128)


Lesenswert?

Achso ich meinte das ich den pcb Drucker frei nutzten darf also nicht 
habe. Durch meine Eltern komme ich auch an präzise Graviermaschienen, 
mit denen man 2 Layer Platinen fräsen kann.

Vg Florian
 Jetzt ist aber wirklich Schluss mit dem chatten zumindestens für heute.

von Udo K. (udok)


Lesenswert?

Florian T. schrieb:
> Ich finde eine Simulation für eine gute Idee, das einzige Problem was
> ich sehe ist, dass ich bis jetzt noch keine Möglichkeit gefunden habe
> meine KiCad Schaltpläne zu simulieren( wollte mal sowas programmieren
> aber bin kläglich an der Geschwindigkeit von Windows Firma in c#
> gescheitert. Ja ich werd’s nochmal mit sdl2 versuchen ) .

Für sowas nimmt man heute besser Modelsim und VHDL (oder Verilog in den 
USA),
Modelsim gibt es mit diversen Starterkits gratis. Von der 
Simulationszeit ist das kein Problem, wie die Softcores zeigen.

Neuheiten und Verbesserungen kannst da aber nicht mehr machen, das ist 
>30 Jahre alte Technik.  Blöderweise ist ein guter FPGA uC anders 
aufgebaut als ein guter TTL uC oder ein uC in einem IC, die technische 
Basis macht da viele Vorgaben.

> Zu FPGA‘s kann ich nichts sagen aber ich könnte mich mal anfangen damit
> zu beschäftigen. Bräuchte nur ein günstig es dev Board weil ca. 500€ für
> ne Platine mit ein paar Tastern und Displays ist viel zu teuer.
> Aber in diesem Forum kann mir bestimmt jemand helfen….

Hier ein 50€ FPGA+CortexM3, wo du auch gleich lernen kannst, wie man 
einen Arm Cortex an ein FPGA anbindet:
https://shop.trenz-electronic.de/de/Produkte/Trenz-Electronic/SMF2000-Microchip-SF2/

Schau auf jeden Fall, dass du kompatibel zu einem gängigen Prozessor 
(4004, 6800, 8051, 8080, MSP430) bist.  Die lassen sich teilweise mit 
heutigen Möglichkeiten deutlich verbessern, und ohne Assembler und 
Compiler macht es später einfach keinen Spass.

> Zu den PCB‘s : es soll ein Computer werden, der in ein 19“ Rack rein
> kommen. Dh. Ganz viele kleine Karten gibt.

Wenn du dich auf DIP beschränkst, kannst du Lochkarten im Euroformat 
verwenden.

74HC würde ich heute für sowas aber nicht mehr verwenden.  LVC ist z.B. 
deutlich schneller.  Hier ein Überblick:
https://www.ti.com/lit/sg/sdyu001ab/sdyu001ab.pdf?ts=1689160039072&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FSN74LS00%253Fdcmp%253Ddsproject%2526hqs%253Dtd%2526

Viel Spass und ich freue mich auf das erste "Hello world" :-)

von H. H. (Gast)


Lesenswert?

Udo K. schrieb:
> 74HC würde ich heute für sowas aber nicht mehr verwenden.  LVC ist z.B.
> deutlich schneller.

Fahrschule auf einem Ferrari SF-23...

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Florian T. schrieb:
> Bräuchte nur ein günstig es dev Board weil ca. 500€ für
> ne Platine mit ein paar Tastern und Displays ist viel zu teuer.
> Aber in diesem Forum kann mir bestimmt jemand helfen….

Auf dem "Tang Nano 9K FPGA Entwicklungsboard" läuft ein Risc-V 32 Bit 
Kern.
Dann soll es wohl auch für eine 8 Bit CPU reichen.
Und kost nur um 25 Ocken.

Ansonsten kann ich nix dazu sagen... war noch nicht näher als 2 Meter da 
dran.

von J. S. (engineer) Benutzerseite


Lesenswert?

Thomas W. schrieb:
> andere haben das auch schon gemacht.
oh ja, das haben schon sehr sehr Viele gemacht. Gab es da nicht auch 
hier jemanden, der einen 8-Bit-Rechner aufgezogen hat? War das nicht der 
hier:
https://www.mikrocontroller.net/articles/8bit-Computer:_bo8

Irgend W. schrieb:
> Damit du mal ungefähr einen Überblick über die Größe deines Unterfangens
> bekommst:
> - https://c74project.com/
Solche Sachen wecken in vielen Leuten sehr nostalgische Gefühle. Man ist 
sofort versucht, den kompletten VC20 nachzubauen und sein altes Gedöhns 
wieder laufen zu lassen. Das war einfach Klasse, dafür Spiele zu bauen, 
auch wenn die Grafik extrem bescheiden war. Man findet aber einfach 
nicht die Zeit. Und für so etwas schon gar nicht:

Harald K. schrieb:
> 8-Bit-Mikroprozessor diskret mit einzelnen Transistoren aufgebaut:
> https://monster6502.com/
Ich schwanke zwischen Kopfschütteln und Bewunderung. Das ist schon irre.

Wozu ich mich nochmal hinreißen lassen würde:
https://mega65.org/

Wenn man so etwas anfangen will, wie das hiesige, würde ich darüber 
nachdenken, dass Ganze zu simulieren und dazu Modelle der 74er Bausteine 
zu nutzen, um die Verschaltungslogik abzuprüfen.

Ich habe das in den 90ern für ein einfaches Prozessorsystem mal auf dem 
Amiga gemacht: Das Programm hies "Logic Works". Angefangen mit einfachen 
Addierern und Multiplizierern sowie Vergleichern, kam dann eine Logik 
heraus, die Schalten und Abläufe steuern konnte. Daraus wurde ein 
Befehlsinterpreter entwickelt, der Rechenaufgaben lösen konnte. Das 
Nette war, dass das Logic Works das live durchgespielt hat und sogar 
Hierarchien handhaben konnte. Das ging sehr flott und man behielt stets 
die Übersicht.

So etwas hilft enorm, Baufehler schon in der Planungsphase zu erkennen. 
Ich würde mir daher das freie Modelsim installieren und das Ding dort 
aufbauen und dann nur Komponenten auf PCBs real produzieren, die 
komplett laufen. Man kann da ja auch das physikalische Timing der 
Bausteine abbilden. Dort lauert meines Erachtens die größte Fehlerquelle 
im Zusammenspiel mit Chips- besonders, bei unterschiedlichen 
Technologien. Es braucht nur ein analoges Busmodell, das man selber 
schreiben kann und das aus Logikpegeln variable Spannungen mit Anstiegen 
und Allem rechnet.

Interessant ist das allemal - auch wenn am Ende etwas rauskommt, was man 
schon kennt.

Wer etwas Interessantes bauen möchte, kann auch in Projekte einsteigen, 
wo es um die Rekonstruktion von Rechenmaschinen geht, die verschollen 
sind oder nie wirklich gebaut wurden, die es aber verdient hätten, 
genauer untersucht zu werden. Das Ziel Nummer 1 wäre die vor 200 
Jahren von Charles Babbage und Ada Lovelace beschriebene "Analytical 
Engine", die im Prinzip den ersten Computer der Menschheit darstellte. 
Es fehlte damals einfach an den technischen Voraussetzungen und 
Möglichkeiten, aber wie man heute weis, wäre das in der Tat eine frei 
programmierbare Rechenmaschine gewesen und wer weis, wo die Menschheit 
heute wäre, hätte man das früher wieder aufgegriffen. Wer sich 
beteiligen möchte: https://blog.plan28.org/

von J. S. (engineer) Benutzerseite


Lesenswert?

Lothar M. schrieb:
> Leider kannst du mit diesem perfekten Wissen hinterher nichts gewinnen,
> denn solche Detailkenntnisse zur Lösung digitaler Probleme mit
> TTL-Standardgattern braucht keiner mehr.

Nun ja, immerhin lernt man etwas über das physikalische Verhalten von 
Bauteilen, ober deren Logik hinaus. Und das braucht man täglich, wenn 
man sich die Pegel ansieht, die aus den FPGAs rauskommen.

> Das letzte TTL-Gatter habe ich vor gefühlt 20 Jahren verbaut.
Ich vor 2 Tagen, beim Auflöten einer Schieberegistereinheit, die mir 
eine ganze Masse an MIDI und DMX-Eingängen auf einen FPGA-PIN 
multiplexed. Ist billiger, als einen PLD davor zu klatschen. Ein 245er 
Leitungstreiber wurde jüngst noch verlötet.

> Mein Tipp: lerne was Neues und pack dein Design in ein FPGA.
Man kann das auch total simulieren und dann partiell aufbauen. Gfs 
müsste man aus KiCad eine Netzliste exportieren und diese konvertieren. 
Das wäre z.B. mal etwas Brauchbares. Leider gibt es heute keine derart 
integrierten PCB-Systeme mehr. Das letzte System das ich hatte, war 
"Protel Advanced Schematic". Das war direkt mit dem "Advanced PLD" 
kombinierbar und man konnte die digitalen Schaltungen in einem tool 
bauen und im anderen verwenden.

> da kannst du dir auch eine ganz andere Architektur mit z.B. 9
> oder 13 Bit Wortbreite ausdenken.
Wie wäre es mit einem 5er-System um die Rechenmethodik mancher 
Naturvölker nachzubilden?  Oder das Sexagesimalsystem?

von Josef G. (bome) Benutzerseite


Lesenswert?

J. S. schrieb:
> War das nicht der hier:
> https://www.mikrocontroller.net/articles/8bit-Computer:_bo8

Nicht bo8, das ist nur die CPU. Der Computer heisst bo8h.
8bit-Computer: bo8h

: Bearbeitet durch User
von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Florian T. schrieb:
> Steve Jobs
Ne Nummer kleiner geht nicht?
Steve Jobs hat Heimcomputer für den kleinen Mann erschwinglich gemacht. 
Nicht als Erster, nicht als Letzter, nur gut vermarktet.
Du willst ein Problem lösen das niemand hat, bzw. das gelöst wurde als 
Deine Eltern in Deinem Alter waren oder jünger.

Nein, man simuliert nicht Kicad Schaltpläne wenn man eine CPU bauen 
will.
Man beschreibt heutzutage Logig in einer Hardwarebeschreibungssprache 
wie VHDL oder Verilog und überlässt die Umsetzung auf das spezielle FPGA 
der Synthesesoftware.
Das läst sich gut simulieren, ändern, erweitern.
Jeder CPU Hersteller arbeiten längst so.

Lerne den Workflow, die Tools für Deine Aufgabe, statt stur einen Weg 
einzuschlagen der dafür völlig ungeeignet ist.
Du redest von PCB Herstellung und 19' Bau als ob das der pure Spaß wäre.
Ist es nicht. Nicht ein klitzekleines bischen.
Bei dem Weg ist bei 74LS Schluss, weil Du nicht ein high speed Design in 
die Fläche ziehen kannst ohne eben auch die ganzen Effekte einzufangen.
Gefräste 2L PCB mit Handdurchkontaktierung?
Ich erinnere mich und ich bin sehr froh, das ich das nicht mehr tun 
muss.
Langsam, aufwendig, teuer, schlecht.

Was Du planst ist nicht eine CPU zu entwerfen.
Was Du planst ist das PCB Bastel Handwerkszeug der 90er Jahre zu lernen 
unter Mißachtung aller Segnungen der letzten 30J.
Das ist nicht genial, das ist eine retro nostalgie Einbahnstrasse.

JEDE winzige Änderung am CPU Design wird Dich viele Stunden damit 
beschäftigen Leiterbahnen aufzutrennen, Bauteile in Dead Bug Technik 
aufzukleben und mit Fädeldraht zu beschicken.
Das ganze dann mit 1Mhz wegen dem schrottigen Aufbau.

Du willst ein außergewöhnliches CPU Design?
Schau dir den parallax Propeller Chip an, oder RISC-V oder versuch den 
VHDL Code des 8051 zu verstehen.
http://www.pldworld.com/_hdl/1/RESOURCES/www.ee.umr.edu/~mrmayer/8051/index.htm

Es gibt 100 Möglichkeiten Deine Skills zu entwickeln.
2L PCBs zu fräsen und 74er Logig zu verdrahten ist wirklich die 
mühseeligste und frustrierenste Art das anzupacken.

Also:
Ich finde es toll das Du was tun willst.
Du bist jung, voller Energie und willst die Welt aus den Angeln heben.
Setze die Energie Zielgerichtet ein, sonst verzettelst Du Dich, 
verlierst die Lust und zurück bleibt eine große Kiste Sammelsurium für 
die Tonne.
Wir alle waren mal 16.

Nutze moderne Methoden.
Simuliere wann immer Du kannst.
In einer Simulation kannst Du sehr leicht Dinge ausprobieren und Dir 
Signale anschauen die Du ansonsten nur sehr schwer sehen würdest.
Eine erfolgreiche Simu dann in reale HW zu geissen ist immer noch 
anspruchsvoll genug.

von Frank K. (fchk)


Lesenswert?

Mal so als Anregung:
http://www.mycpu.eu/

Das ganze Projekt hat sich wohl über ein Jahrzehnt hingezogen.

Na ja, muss jeder selber wissen.

fchk

von Motopick (motopick)


Lesenswert?

Wenn ich heute so etwas bauen wollte, wuerde ich wohl ein Gespann
aus 74181 und 4034 ins Rennen schicken. Mit einer SRAM-basierten
Mikroprogrammsteuerung. EPROM basiert, passt das geruechteweise
auf eine Eurokarte.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian T. schrieb:
> Zu FPGA‘s kann ich nichts sagen aber ich könnte mich mal anfangen damit
> zu beschäftigen. Bräuchte nur ein günstig es dev Board
Wenn du dich ernsthaft umschaust, bekommst du deinen Rechner für unter 
unter 100€ Hardwarekosten
ans Laufen.

Und wenn du noch einen kleinen Denkfehler im Design hast: kein Problem, 
einfach korrigieren, simulieren, synthetisieren und aufs FPGA laden.

Denn der langfristige Witz an der Sache: implementiere die Hardware 
selber, die es nicht eh' schon (fertig und viel besser) zu kaufen gibt. 
CPU gibt's in allen Größen und Varianten (fertig und viel besser).

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?


von Stefan S. (chiefeinherjar)


Lesenswert?

Wenn du dieses Projekt wirklich mit 74XX-Bauteilen angehen willst, dann 
kann ich dir LOGISIM ans Herz legen. Es sieht auf den ersten 
oberflächlichen Blick simpel aus aber es ist ein sehr mächtiges Werkzeug 
und bietet dir alle Logikbausteine bzw. Gatter die dir im Rahmen der 
74XX-Familie zur Verfügung stehen.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Lothar M. schrieb:
> CPU gibt's in allen Größen und Varianten (fertig und viel besser).

Vor allem mit umfangreichster Doku und kompletter Toolchain.
Was bringt einem das geilste CPU Design, wenn es außer dem eleganten 
Core Design nix gibt?
Das ist wie ein Nagel ohne Wand und Hammer zu haben oder etwas das man 
daran aufhängen will.
Eleganter Nagel.
Kann man sich in die Vitrine stellen.
Ist aber zu garnichts gut.

Und nein, es wird keine fleissigen Mitstreiter geben die einem all das 
abnehmen worauf man selber keine Lust hat.
Alle die sich für sowas interessieren, wollen ja eigene CPUs bauen.

@TO
Ihr werdet Euch recht schnell von der mic-1 lösen, wenn die Basics 
vermittelt sind. Die mic-1 ist das Dreirad, zum lernen für die Kleinen.
Entwickelt von Tannenbaum, um es so richtig, richtig einfach zu machen 
in der Ausbildung. Performance war nie das Ziel.

Wenn es Dich denn so sehr reizt, würde Josef sich sicherlich sehr freuen 
einen interessierten Mitstreiter zu finden, Du könntest was lernen und 
hättest einen Gleichgesinnten.
Beitrag "8bit-Computing mit FPGA"

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Nur um mal einen Überblick dafür zu bekommen, wie das mit einer 
Hardwarebeschreibungssprache HDL gehen könnte: der Thread mit der Uhr. 
Da stand am Anfang auch der Versuch, das mit einem Schaltplan und 
einzelnen Bausteinen zu lösen:
- Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"

von Stefan F. (Gast)


Lesenswert?

Florian T. schrieb:
> Ihr habt mich erstmal überzeugt das ich nur ein ic Typ nutzte .: am
> besten die schnellste Variante von der 74 Logic.

Der Schuss könnte nach hinten lis gehen. Denn die steilen Flanken 
harmonieren nicht mit den Leitungslängen, die du brauchen wirst.

von Ronny H. (microprocessor)


Lesenswert?

Hi Flo,

ich glaube, inzwischen sind hier mehrfach alle technischen Argumente 
gegen das Projekt (und dass überraschend sachlich!) vorgebracht und gute 
Alternativen vorgeschlagen worden. Ich kann Deine Intension 
nachempfinden, da ich mich  selbst einmal mit dem Thema beschäftigt 
habe.

Was übrigbleibt (wenn das Projekt gelingt) ist vielleicht Stolz und 
Befriedigung bei nur wenig Anerkennung von außen und viel verbrauchte 
Zeit.
Sollte es nicht gelingen, bleiben Frust, evtl. Selbstzweifel und: viel 
verbrauchte Zeit. Nutze Deine "Bildungszeit" Zeit effizient mit modernen 
Methoden und Arbeitsmittel und die verbleibende Zeit für Dinge, die 
junge Menschen in dem Alter machen sollten.

Hier ein Link zu meinem simulierbaren, "glässernen" Prozessor (65C02 
incl. Dokumentation) als inspirierende Warnung. Nach der Fertigstellung 
der Logik und dem sich ergebenen Ausmaß an Schaltung hatte ich keine 
Neigung mehr, dass Projekt physisch (elektrisch) zu realisieren. Die 
Aussicht auf Signalprobleme (Laufzeiten, Verfälschungen, Einstrahlungen. 
etc.) und die zu erwartende Fehlersuche im Aufbau haben mich dann doch 
noch zur Besinnung kommen lassen.

Beitrag "Dynamisch visualisierbarer Schaltplan eines 65C02 Mikroprozessors"

s. Datei 65C02.PDF

Gruß
microprocessor

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Wenn man so ein Projekt konsequent durchzieht, müsste man die ALU auch 
selbst aus Logikgattern bauen. Also keinen 74181. Das ist ja schon die 
halbe CPU.

von (prx) A. K. (prx)


Lesenswert?

Stefan F. schrieb:
> Wenn man so ein Projekt konsequent durchzieht, müsste man die ALU auch
> selbst aus Logikgattern bauen.

Die 6502 aus Transistoren und Dioden wurde oben schon verlinkt.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Michael schrieb:
>> Steve Jobs
> Ne Nummer kleiner geht nicht?
> Steve Jobs hat Heimcomputer für den kleinen Mann erschwinglich gemacht.
> Nicht als Erster, nicht als Letzter, nur gut vermarktet.

Und ohne das technische Genie des anderen Steve (Wozniak) wäre da gar 
nichts passiert und Jobs hätte bei Atari weitergemacht.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Matthias S. schrieb:
> Und ohne das technische Genie des anderen Steve (Wozniak) wäre da gar
> nichts passiert und Jobs hätte bei Atari weitergemacht.

Der Ingenieur ist das Kamel auf dem der Kaufmann zum Erfolg reitet.

von (prx) A. K. (prx)


Lesenswert?

Michael schrieb:
> Der Ingenieur ist das Kamel auf dem der Kaufmann zum Erfolg reitet.

Keine Lust, von drunter nach drauf auf Kaufmann umzusatteln?

von Gunnar F. (gufi36)


Lesenswert?

(prx) A. K. schrieb:
> Keine Lust, von drunter nach drauf auf Kaufmann umzusatteln?

Ich war schon 15 Jahre "oben", jetzt bin ich wieder Kamel! 😉

von Cyblord -. (cyblord)


Lesenswert?

Stefan F. schrieb:
> Wenn man so ein Projekt konsequent durchzieht, müsste man die ALU auch
> selbst aus Logikgattern bauen. Also keinen 74181. Das ist ja schon die
> halbe CPU.

Das hat nichts mit konsequent zu tun sondern damit den Abstraktionslevel 
festzulegen.
Sonst müsste er die Logikgatter aus Transistoren bauen. Und die 
Transistoren aus Sand.
Geschwätz wieder mal von dir.

von (prx) A. K. (prx)


Lesenswert?

Gunnar F. schrieb:
> Ich war schon 15 Jahre "oben", jetzt bin ich wieder Kamel! 😉

Hat das Kamel, auf dem du geritten bist, nicht zum gewünschten Erfolg 
geführt? Oder bringt es als Kamel mehr Befriedigung? ;-)

von Stefan F. (Gast)


Lesenswert?

Florian T. schrieb:
> Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe
> bauen.

Stefan F. schrieb:
> Wenn man so ein Projekt konsequent durchzieht, müsste man die ALU auch
> selbst aus Logikgattern bauen. Also keinen 74181. Das ist ja schon die
> halbe CPU.

Cyblord -. schrieb:
> Das hat nichts mit konsequent zu tun sondern damit den Abstraktionslevel
> festzulegen. Sonst müsste er die Logikgatter aus Transistoren bauen.
> Und die Transistoren aus Sand.

> Geschwätz wieder mal von dir.

Wenn du meinst. Ich sehe da eher Geschwätz von dir. Aber egal. Das du 
einen an der Waffel hast, ist ja allgemein bekannt. Wahrheiten muss man 
klar kund tun, sagst du selbst.

von Cyblord -. (cyblord)


Lesenswert?

>> Ich möchte die CPU mit Logic Bausteinen aus der 74xx und 40xx Reihe
>> bauen.

Sowohl einfache Gatter als auch eine ALU fallen unter den Begriff "Logic 
Baustein".
Programmierbare Bausteine sind raus. Transistoren auch.
Damit ist das Level recht eindeutig festgelegt.

Und viele andere CPU Selbstbauten verfahren genau so. Was passt dir also 
nicht?

> Das du
> einen an der Waffel hast, ist ja allgemein bekannt.

Versuche mal deine Gedanken mit Argumenten zu untermauern anstatt mit 
persönlichen Beleidigungen.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Cyblord -. schrieb:
> Versuche mal deine Gedanken mit Argumenten zu untermauern anstatt mit
> persönlichen Beleidigungen.

Ich könnt euch gerne Musk und Zucker zum Vorbild nehmen, und das als 
Cage Fight untereinander ausmachen. Aber bitte nicht hier.

von Stefan F. (Gast)


Lesenswert?

Cyblord -. schrieb:
> Versuche mal deine Gedanken mit Argumenten zu untermauern anstatt mit
> persönlichen Beleidigungen.

Haha, der war gut. Nach dem was du in dem anderen Thread über einen 
Journalisten von dir gegeben hast ...  man man man, wie kann man nur so 
tief sinken?

von Florian T. (flo128)


Lesenswert?

Hallo zusammen,

Vielen dank erstmal für eure Tipps.

Mein aktueller Plan für die CPU:

1. Block Diagramm beenden(es fehlen noch Register wie : SP LV usw., und 
wie oben genannt ein instruktions-dekoder)

2. Meine Überlegungen in eine Simulation packen.( ob FPGA oder LOGISIM 
oder
   ähnliche Programme wird sich zeigen.)
   Auch wenn ich mich für die Version "logisim" entscheiden werde muss 
ich
   mein ganzen Aufbau, bevor ich Platinen baue erstmal in einem FPGA 
prüfen,
   dass habe ich jetzt gelernt.

3. Platinen Design in Kicad (Eagle mag ich irgendwie nicht) und 
Herstellung
   bei irgend ein Chinesen nach ersten Prototypen aus dem Drucker der 
UDE.

Wahrscheinlich werde ich mich von meiner ursprünglichen Idee die mik-1 
zu verbessern abwenden und alles Selber in die Hand nehmen, weil mein 
Design eh schon weit von Tannenbaums Ideen entfernt ist.

Das mit Jobs war nur ein Spaß: Ich wollte damit nur sagen das ich nicht 
aufgeben werde auch wenn viele so ein Projekt nicht mögen.

Ich weiß nicht mehr wer aber ein paar Leute haben gesagt, dass ich mir 
das Programm "ModelSim", von Siemens, runterladen soll nur gibt es das 
nicht mehr zu mindestens für eine Weile auf der Siemens Seite. Wenn das 
Programm wirklich gut ist wovon ich ausgehe , stellt sich mir die Frage 
woher ich es kostenlos bekomme.

Die Anregung einen 74 181 zu nutzten, empfinde ich als eine gute Idee, 
weil mir dann viele Ic's erspart werden. Trotzdem baue ich noch ein 
Shift Register in beide Richtungen hinzu, und mein ganzer anderer kram, 
der die Bedingten Sprünge vereinfacht.

Was ich in meiner CPU generell versuche umzusetzen ist, dass viele 
kleine Programmteile durch schnellere Logik ersetzt werden, und wieder 
ein 1 Mhz Takt schnell aussehen lässt. Ich weiß dass man diese Methode 
nicht in endlose ziehen kann.

Vg Florian

von Gunnar F. (gufi36)


Lesenswert?

(prx) A. K. schrieb:
> Hat das Kamel, auf dem du geritten bist, nicht zum gewünschten Erfolg
> geführt? Oder bringt es als Kamel mehr Befriedigung? ;-)

nö ich konnte nur irgendwann der Versuchung nicht widerstehen, in den 
Internationalen Vertrieb zu gehen. War eine gute Zeit, aber es zog mich 
zurück zu meinen Wurzeln und meiner Berufung.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ja, wenn du Spass dran hast, dann nur zu. Waere nicht das erstemal, das 
sowas Spass bringt und auch mal irgendwann funktioniert.

Florian T. schrieb:
> Das mit Jobs war nur ein Spaß: Ich wollte damit nur sagen das ich nicht
> aufgeben werde auch wenn viele so ein Projekt nicht mögen.

Und selbst wenn... Du musst ja niemandem Rechenschaft ablegen. Wenn's 
dir nicht mehr taugen sollte, so what - dann halt nicht mehr. Fliegt das 
ganze Zeugs halt erstmal in's Eck.

Wenn du sowas alleine fuer dich machst, ist das ein ganz anderes 
Kaliber, wie wenn Leute hier aufschlagen, mit irgendwelchen lustigen 
Ideen, die sie gerne als Abschluss/Bachelor/Masterarbeit oder sowas 
machen wollen. Und wo dann schnell klar ist, dass sie das nicht 
vernuenftig/sicher in der gegebenen Zeit hinkriegen werden.
Und wo dann das Scheitern sich in einer Bewertung manifestiert, die 
keiner gerne haben will. Wo's aber dann fuer die Bewerter auch echt 
schwierig wird, aus einem rauchenden Truemmerhaufen noch was positives 
zu ziehen.

Da das alles bei dir nicht zutrifft: Leg los!

Gruss
WK

von Joachim B. (jar)


Lesenswert?

H. H. schrieb:
> nimm 74HCxxx, die sind auch für einen
> Anfänger beherrschbar.

danke hinz, wollte ich auch gerade schreiben, HC Typen sparen immerhin 
Strom und haben ein größeres fan out. Trotzdem sollte man nicht an 
Abblockkondensatoren sparen.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Florian T. schrieb:
> Trotzdem baue ich noch ein Shift Register in beide Richtungen hinzu,

Braucht eine CPU nicht.

Shift ist nur eine Andersverbindung der Eingänge I0..I7 und Ausgänge 
O0..O7 der ALU.

ShiftLeft: I0->O1, I1->O2, I2->O3, I3->O4, I4->O5, U5->O6, I6->O7, 
I7->CarryOut, 0->O0.

RolLeft: CarryIn->O0, I0->O1, I1->O2, I2->O3, I3->O4, I4->O5, U5->O6, 
I6->O7, I7->CarryOut.

ShiftRight: I0->CarryOut, I1->O0, I2->O1, I3->O2, I4->O3, I5->O4, 
I6->O5, I7->O6, 0->O7

RolRight: I0->CarryOut, I1->O0, I2->O1, I3->O2, I4->O3, I5->O4, I6->O5, 
I7->O6, CarryIn->O7

Da schaltet einfach ein Multiplexer den gewünschten Pin durch. Auch als 
Barrel-Shifter um 1 bit, 2 bit und 4 bit kaskadiert.

von Thomas W. (Gast)


Lesenswert?

Wenn Du Dir wirklich CPU-Design angucken willst, solltest Du ein 
Literatur Studium starten. Ich schreibe Dir ein paar Titel aus meiner 
Bibliothek auf, findest Du bei der naechsten Universitaet oder libgen...


Malvino, Brown: Digital Computers Electronics, McGraw-Hill, 1993

Ward, Halstaed: Computation Structures, MIT, 1990

Patterson, Hennessy: Computer Architecture a Quantitative Approch, 1990
Neue Auflage  2008. Ich moechte besonders darauf hinweisen, dass es ein 
Zusatzkapitel gibt: "Another Approach to Instruction Set 
Architecture—VAX",
der Super-CISC.

Morris, Mano: Computer System Architecture, prentice Hall.
Dazu gibt es auch ein Solution Manual fuer die Aufgaben.

Prosser: The Art of Digital Design, 1987

Du siehst, dass ist alles altes Zeug. Wenn Du etwas aktuelles haben 
willst:

Patterson, Hennessy: Computer Organization and Design The hardware 
Interface RISC V Edition, 2018



Gruesse

Th.

von Thomas W. (Gast)


Lesenswert?

Und unterschaetze nicht den Aufwand von so einem Zeug: Du schrubst, Du 
seiest 16. Gehe davon Aus, dass der erste Boot zum 18. Geburtstag 
startet, das erste "Hallo World" wohl zum 21.

Man kann sehr viel lernen, aber der Auswand ist schon beeindruckend.

Gruesse

Th.

von (prx) A. K. (prx)


Lesenswert?

Mancher hat im Grunde lediglich einen Satz (E)EPROMs über einige 
Register und Muxer miteinander verbunden. Also nicht nur fürs 
Mikroprogramm, sondern auch für ALU, Dekoder, ...

: Bearbeitet durch User
von Lothar J. (black-bird)


Angehängte Dateien:

Lesenswert?

(prx) A. K. schrieb:
> Mancher hat im Grunde lediglich einen Satz (E)EPROMs über einige
> Register und Muxer miteinander verbunden. Also nicht nur fürs
> Mikroprogramm, sondern auch für ALU, Dekoder, ...

Genau, ein programmierbares Schaltwerk.
Gab es mal in einem Heftchen, aus einer fernen alten Welt von einem 
Ing.-Verein namens KdT, Heft 41 "Halbleiterspeicher Teil 3"

Hatte ich aus Jux gebaut, auf mehr Ein- und Ausgänge erweitert und mit 
einem Dual-Port-RAM zur besseren Programmierung aufgepeppt.

Mit C einen kleiner Assembler geschrieben inklusive "Compiler". Linker 
war nicht nötig.

Hat als Steuerung für die Modellbahn jahrelang super funktioniert.

Das war 1988. Die Bauelemente gibt's jetzt noch oder bessere Nachfolger.

Das wäre für den Anfang ein überschaubares Projekt mit Erfolgsaussicht.

Blackbird
PS: den ganzen Artikel hab ich jetzt nicht abfotografiert ...

: Bearbeitet durch User
von Dirk S. (dirkst)


Lesenswert?

Gruss

Ein TTL Projekt Namens Gigatron TTL, als Retro, gab es vor ein paar 
Jahren. Vom Verständnis her interessant, finde ich.

In aller Ehre und Historie
ist zum Beispiel Margaret Hamilton
und das damit verbundene Umfeld
erwähnenswert.

Dirk St

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Dirk S. schrieb:
> Ein TTL Projekt Namens Gigatron TTL, als Retro, gab es vor ein paar
> Jahren. Vom Verständnis her interessant, finde ich.

Wolfgang R. schrieb:
> Gigatron:
>
> https://gigatron.io/

Hatte ich schon verlinkt - hat gleich eine Negativbewertung gegeben... 
verstehe, wer will.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Wolfgang R. schrieb:
> hat gleich eine Negativbewertung gegeben...
> verstehe, wer will.

Musst du nicht verstehen....
Hier Beitrag "Re: 8-Bit CPU Selbstbau" habe ich auch 
eine negative Bewertung bekommen....
Warum? KA!

Der TO fragte nach einem FPGA Board unter 500 Ocken,

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wolfgang R. schrieb:
> hat gleich eine Negativbewertung gegeben... verstehe, wer will.
Ignorieren.

Michael B. schrieb:
> Da schaltet einfach ein Multiplexer den gewünschten Pin durch. Auch als
> Barrel-Shifter um 1 bit, 2 bit und 4 bit kaskadiert.
Das kann man dann im RTL-Schaltplan eines FPGA-Designs auch gleich super 
sehen...

: Bearbeitet durch Moderator
von Motopick (motopick)


Lesenswert?

> Literatur Studium starten

Ja, mit dem theoretischen Wissen kann er dann versuchen auf
Gatterebene eine CPU mit der noetigen Umgebung, Speicher/IO,
aufzubauen. Und wird von der Menge der noetigen Gatter erschlagen.

Der TO wird zu seinen Lebzeiten so keine VAX designen (koennen),
und das Design auch noch erfolgreich in Betrieb bekommen.

Wesentlich zweckmaessiger ist es, sich Bauteile/Konzepte anzusehen,
die eine schnelle und (heute) einfache Loesung versprechen.
Eine Implementation auf einem FPGA finde ich da eher reizlos.
Aber mikroprogrammierbare Schaltwerke wurden ja auch schon genannt.

Wie ich schon schrub, waere eine 74181 ALU ein guter Ausgangspunkt.

Es schadet ja auch nicht, wenn die unterstuetzende Schaltung/Logik
der heutigen Zeit angepasst ist.
So kann es sein, dass der Registersatz "seiner" CPU in 7489 (16x4)
RAMs gehalten wird, aber der Speicher fuer das Mikroprogramm
deutlich(!) groesser ist. Ich wuerde dafuer auch, wie bei FPGAs,
einen dynamisch aenderbaren Speicher, also RAM waehlen.

Aber ob der TO ueberhaupt etwas zustande bringt?
Erst will er ohne erkennbaren Grund Logikfamilien mischen,
dann sollen es die jeweils schnellsten Vertreter sein.
Das klingt alles noch recht unbedarft.
Jemand mit ein wenig Erfahrung weiss, dass das beim "Anfaenger"
direkt gegen den Baum geht.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

(prx) A. K. schrieb:
> Keine Lust, von drunter nach drauf auf Kaufmann umzusatteln?
Ach, bin ja irgendwie beides, als Selbstständiger.

Florian T. schrieb:
> Ich wollte damit nur sagen das ich nicht
> aufgeben werde
Das ist am Anfang eines Projektes immer sehr leicht gesagt.
Das wird sich zeigen, aus welchen Holz Du gemacht bist.

Florian T. schrieb:
> Die Anregung einen 74 181 zu nutzten, empfinde ich als eine gute Idee,
vs
> Meine Überlegungen in eine Simulation packen.( ob FPGA oder LOGISIM

Es ist natürlich dem geringen Alter geschuldet, aber in dem haben alle 
irgendwie ein echtes Problem mit dem Zuhören.
Du würfelst lustig alles durcheinander und ohne die Basics verstanden zu 
haben planst Du eigentlich schon das Layout und möchtest am liebsten 
schon alu für das 19' Rack sägen.
Das nennt man treffend: Hektische Aktivität ersetzt geistige Windstille.

A. Du willst eine mehr als pur minimalistische CPU bauen?
Dann solltest Du nicht ein einziges Logiggatter egal aus welcher Familie 
in die Hand nehmen.
Da nimmst Du ein fix und fertiges FPGA Entwicklungsboard mit 
Spannungsversorgung und ein paar nützlichen Schnittstellen und lernst 
erstmal eine Hardwarebeschreibungssprache.

B. Du willst irgendwann einmal auch irgengeinen Code darauf ausführen?
Dann brauchst Du Speicher, Schnittstellen und sofern Du nicht vorhast 
das auf Bitebene in die Speicherzellen zu tackern, brauchst Du wohl noch 
etwas mehr.

Aber was sollst.
Ich denke mit 16 war ich auch über so profane Dinge wie 'Realität' 
erhaben und berauscht von meinem Genie.
Das sich dann leider als weit weniger genial herausstellte, aber die 
Erfahrung mussten wir wohl alle machen.

Hau rein.
Wird schon irgendwas mit dir machen.

von (prx) A. K. (prx)


Lesenswert?

Es gab Zeiten, da hat man schon mal einen Rechner selber gebaut. Mit 
Euro/Doppeleuro-Karten für 68000-CPU mit Selfmade-MMU, DRAM, 
Floppy-Controller, Batterie-gepufferten System-SRAM, Grafikkarte, 
Dual-Port Karte zum I/O-Controller (PC/AT Klon fürs HDD). Und natürlich 
dem eigenen Betriebssystem.

Nette Erfahrung, weil man alles vom Gatter rauf bis zu 
Betriebssytemgrundlagen kennt, was heute eher selten ist. Aber das war 
anno Tobak und muss heute echt nicht mehr sein. Ich verstehe aber 
irgendwie, dass manch Jüngerem untenrum was fehlt.

: Bearbeitet durch User
von Christoph M. (mchris)


Lesenswert?

A.K. schrieb:
>Mancher hat im Grunde lediglich einen Satz (E)EPROMs über einige
>Register und Muxer miteinander verbunden. Also nicht nur fürs
>Mikroprogramm, sondern auch für ALU, Dekoder, ...

Ein ziemlich minimalistisches Beispiel dazu ist der Nibbler:
http://www.bigmessowires.com/nibbler/

Und Gigatron geht eigentlich auch in die Richtung
https://gigatron.io/

Lothar J. (black-bird)
>Genau, ein programmierbares Schaltwerk.
Das wird in der Automatentheorie auf den Punkt gebracht.
Man kann alles mit einem Speicher und einem Latch realisieren, wie hier 
mit dem Moore-Automat gezeigt:
https://de.wikipedia.org/wiki/Moore-Automat#/media/Datei:Moore-Automat-de.svg

Es lassen sich also mit großen Speichern und EPROMs alle 
Rechnerstrukturen bauen. Es wird eigentlich keine spezielle ALU 
gebraucht, das geht mit einem großen EPROM auch.
Deshalb ist meine Meinung: Designs wie der Gigatron leben von den großen 
Speichern und eigentlich müsste man den Transistor-Count als Maß für die 
Qualität eines Designs heranziehen.
Oder anders ausgedrückt: man sollte sich die Frage stellen, ob man das 
Design auch mit den Bauteilen aus dem Jahr 1970 bauen könnte. Hätte man 
in den 70er Jahren schon die großen Speicher gehabt, hätte man ganz 
andere Rechnerstrukturen gebaut.
Hatte man aber nicht, die Anzahl der Transistoren war begrenzt und das 
ist die wesentliche Beschränkung, die es einzuhalten gilt.

von Martin O. (ossi-2)


Lesenswert?

Ich habe 2019 eine kleine CPU auf dem MAX1000 FPGA Board erstellt und 
darüber bei ELEKTOR berichtet. Einen Compiler dafür hab ich ausgehend 
vom "small C Compiler (Ron Cain)" entwickelt. Vielleicht ist der "small 
C" Ansatz hier auch hilfreich.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael schrieb:
> Logig
Michael, dieses Wort kratzt mir fast das Auge aus. Bitte schreib doch 
"Logik" wie alle Anderen auch... ;-)

von Florian T. (flo128)


Lesenswert?

Hallo Leute ,

So erstmal danke an Thomas für die Literatur Vorschläge. Bin zwar nicht 
die leseratte aber solche Bücher gehen immer.

Damit mein Design jetzt mal in die Simulation geht , habe ich mir mal 
nen Fpga dev Board gekauft: 
https://numato.com/product/elbert-v2-spartan-3a-fpga-development-board/

aber günstig und gebraucht! Bei mir ist noch nen lcd 2x16 und eine 
weitere 7-Segment Anzeige.

Ich hoffe das Board ist nicht ganz aus der Zeit. Aber für den Anfang 
reicht es hoffentlich erstmal.


Vg Florian

Ps. melde mich morgen oder Montag vielleicht nochmal. Heute habe ich 
leider keine Zeit mehr.

von Motopick (motopick)


Lesenswert?

> günstig und gebraucht!

Da lag dann hoffentlich auch günstig und gebraucht eine
ISE10.1 DVD dabei. Inklusive der beiden Installationsschluessel.
Wenn Mann alles will.

von Falk B. (falk)


Lesenswert?

Florian T. schrieb:

> Ihr habt mich erstmal überzeugt das ich nur ein ic Typ nutzte .: am
> besten die schnellste Variante von der 74 Logic.

Wozu? Damit deine Drahtverhaue noch mehr Probleme machen?

> Ja ich weiß das Projekt ist verrükt.

Eher langweilig, weil es den Kram in allen möglichen Varianten schon 
JAHRZEHNTE gibt!

> Auch wenn mein Projekt erstmal
> nicht so super gut ankam, werde ich trotzdem weiter machen  Steve Jobs
> hatte bei seiner ersten Vorstellung auch einen kompletten Reinfall, aber
> wo ist er ausgekommen?

Jaja. Goethe ist tot, Einstein musste sterben und mir ist auch schon 
ganz schlecht! ;-)

> Mit meinem Design kann ich zwar nichts erreichen aber keiner kann in die
> Zukunft blicken.

Machst du ein Aufbaustudium in Tautologie?

https://de.wikipedia.org/wiki/Tautologie_(Logik)

> Aber wie ihr seht es haben viele Leute solche Ideen, die sogar umgesetzt
> werden. Nur ist bei mir der große Unterschied dass ich erstens lernen
> möchte wie ein Computer funktioniert

Was ein vollkommen legitimes und gutes Ziel ist! Daran will dich keiner 
hindern. Aber du solltest dir trotzdem ein paar Fragen stellen und nach 
Möglichkeit sinnvoll beantworten und Prioritäten setzen. Denn ALLES auf 
einmal kann man nicht sinnvoll erreichen.

Welche Aspekte der CPU-Entlwiclung sind dir wichtig? Die Logik? Die 
Programmierung? Der Speicher/IO-Kram? Die Umsetzung in old school 
Hardware?
Willst du eingene Logik-ICs bauen? Mit selbst hergestelltem Silizium?

Welche davon sind für dich nicht so wichtig?

> und zweitens versuche ich
> zumindestens ein bisschen was neu erfinden.

Davon träumen alle, 99,99% scheitern glanzlos.

> Ich finde eine Simulation für eine gute Idee, das einzige Problem was
> ich sehe ist, dass ich bis jetzt noch keine Möglichkeit gefunden habe
> meine KiCad Schaltpläne zu simulieren

Was ja auch Käse ist. Wenn man Logik simulieren will, nimmt man einen 
Logiksimulator! (->Tautologie!)
Der kann eine Schaltplaneingabe oder VHDL & Co anbieten.

( wollte mal sowas programmieren
> aber bin kläglich an der Geschwindigkeit von Windows Firma in c#
> gescheitert. Ja ich werd’s nochmal mit sdl2 versuchen ) .

Du willst auf viel zuvielen Hochzeiten tanzen. Am Ende erreichst du 
praktisch kein einziges Ziel.

> Zu FPGA‘s kann ich nichts sagen aber ich könnte mich mal anfangen damit
> zu beschäftigen. Bräuchte nur ein günstig es dev Board weil ca. 500€ für

Für eine 8 bit CPU tut es ein gebrauchtes für 50 Euro und weniger.

> Zu den PCB‘s : es soll ein Computer werden, der in ein 19“ Rack rein
> kommen. Dh. Ganz viele kleine Karten gibt.

Warum auch immer.

> Ps. Melde mich morgen wieder es wird langsam zu spät um klar zu denken.

In der Tat.

Ich hab vor >20 Jahren mal mit dem Picoblaze von Xilinx rumgespielt, war 
interessant. Ok, ich hab ihn nicht entwickelt, nur benutzt, analysiert 
und angewendet und bissel was angeflanscht.

Beitrag #7455423 wurde von einem Moderator gelöscht.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian T. schrieb:
> Damit mein Design jetzt mal in die Simulation geht , habe ich mir mal
> nen Fpga dev Board gekauft
Ahm, die Simulation machst du ganz ohne jegliche Hardware. Sieh dir 
einfach mal meine HP an. Und dort das "Hello World" der Hardware, die 
blinkende LED:
- http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

Und mal zum groben Zeitplan: bis zum Winteranfang lernst du erst mal 
VHDL Blinklicht, Lauflicht, serielle Schnitte, VGA Ansteuerung usw...

Und wenn du das auf viele Arten erst falsch und dann richtig gemacht 
hast, dann erst beginnst du mit deinem Rechner. Denn sonst sind alle die 
Anfängerfehler in deinem Zieldesign drin.

BTW: such mal nach meinen "Postulaten für Anfänger" im VHDL Forum. In 
diesen Threads kannst du all die Fehler der anderen Anfänger finden, die 
du auch machen wirst.

- 
https://www.mikrocontroller.net/search?query=Postulate&forums%5B%5D=9&max_age=-&sort_by_date=1

: Bearbeitet durch Moderator
von Motopick (motopick)


Lesenswert?

> all die Fehler der anderen Anfänger findrn

Fuer einen Lernerfolg muss Mann die Fehler schon selbst machen.
Und auch selbst die (Fehler-)Ursache finden.

Nur das gibt die positive Rueckkopplung.

von Joachim B. (jar)


Lesenswert?

Lothar M. schrieb:
> kannst du all die Fehler der anderen Anfänger findrn, die
> du auch machen wirst

wie oft hat "vorsicht heiss" verhindert das sich Kinder am Herd 
verbrennen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Motopick schrieb:
> Fuer einen Lernerfolg muss Mann die Fehler schon selbst machen.
Mitnichten. Man kann tatsächlich auch aus Fehlern anderer lernen. Ich 
zumindest.

Joachim B. schrieb:
> wie oft hat "vorsicht heiss" verhindert das sich Kinder am Herd
> verbrennen?
Ja, ich denke, mit 16 ist man aus dem Kindesalter langsam raus. Denn 
auch "auf Andere hören" muss gelernt werden.

: Bearbeitet durch Moderator
von Thomas W. (Gast)


Lesenswert?

Lothar M. schrieb:
> Motopick schrieb:
>> Fuer einen Lernerfolg muss Mann die Fehler schon selbst machen.
> Mitnichten. Man kann tatsächlich auch aus Fehlern anderer lernen. Ich
> zumindest.

Und vor allen Dingen muss man das Rad nicht immer selbst erfinden (Kann 
ich das runde Ding noch mal sehen?). Deswegen hatte ich ihm die 
Buecherliste gezeigt, nicht durcharbeiten sondern gucken wie die Anderen 
arbeiten.

Gruesse

Th.

von Joachim B. (jar)


Lesenswert?

Lothar M. schrieb:
> Denn
> auch "auf Andere hören" muss gelernt werden.

ist doch "out" sieht man hier jeden Tag!

Beitrag #7455603 wurde vom Autor gelöscht.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dem Florian traue ich zu, dass er es kann  😉

von Lutz N. (lutzn)


Lesenswert?

mir hat im Zusammenhang mit "CPU" in VHDL auch folgendes geholfen, also 
wie die Planung und Vorgehensweise aussehen kann:

Übersicht:
https://domipheus.com/blog/rpu-series-quick-links/

Teil 1  (der 16Bit TPU):
https://domipheus.com/blog/designing-a-cpu-in-vhdl-part-1-rationale-tools-method/

Geht mit einer eigenen 16Bit CPU los und endet mit einer RISC-V CPU. Den 
Übergang fand ich sehr hart -> etwas zum lernen für mich.

von Motopick (motopick)


Lesenswert?

Lothar M. schrieb:
> Motopick schrieb:
>> Fuer einen Lernerfolg muss Mann die Fehler schon selbst machen.
> Mitnichten. Man kann tatsächlich auch aus Fehlern anderer lernen. Ich
> zumindest.

Eine Lern/Lehrmethodik, die nur auf Wissenserwerb durch
Reproduktion abstellt, bringt dann aber auch nur Ingenieure
hervor, die aus Normteilen Normmaschinen zusammenbauen koennen,
und denen jedwede Innovation zutiefst wesensfremd ist.
Das kann man ihnen nicht mal uebelnehmen. Sie haben es ja nicht
anders gelernt und gelehrt bekommen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Lies dir nochmal durch, was ich geschrieben habe. Ich habe nicht gesagt, 
dass man durch das Lesen dieser Bücher und Threads lernen wird, keine 
Fehler zu machen, sondern

ich schrieb:
> In diesen Threads kannst du all die Fehler der anderen Anfänger finden,
> die du auch machen wirst.

Ich sage also: mach dich vorher schlau, denn wenn du schon mal 
gelesen/gehört/gelernt hast, dass es diesen Fehler gibt, dann findest du 
ihn schneller, wenn du ihn dann mal selber machst.

: Bearbeitet durch Moderator
von Thomas W. (Gast)


Lesenswert?

Lothar M. schrieb:

> Ich sage also: mach dich vorher schlau, denn wenn du schon mal
> gelesen/gehört/gelernt hast, dass es diesen Fehler gibt, dann findest du
> ihn schneller, wenn du ihn dann mal selber machst.

Es gibt so einen dummen Spruch:
1
Learn from the mistakes of others.
2
You won't live long enough to make all of them yourself.

Da ist sehr viel wahres dran. Und die CPU-Entwicklung (zumindest die 
Theorie) ist seit 1995 eigentlich zuende, Details ja, aber richtige neue 
Ideen sind sehr wenig (jetzt neu Intel mit den Power/Economy-Kernen ist 
neu).

Gruesse

Th.

: Bearbeitet durch Moderator
von Motopick (motopick)


Lesenswert?

> durch das Lesen dieser Bücher und Threads lernen wird, keine
> Fehler zu machen

Don't panic!

Meine Normteile habe ich schon drauf.
Es schadet trotzdem nicht, gelegentlich etwas flasch zu machen.
Schon allein aus Trainingsgruenden...

Mitunter ensteht aber dadurch etwas Neues.

von Christoph M. (mchris)


Lesenswert?

>Da ist sehr viel wahres dran. Und die CPU-Entwicklung (zumindest die
>Theorie) ist seit 1995 eigentlich zuende, Details ja, aber richtige neue
>Ideen sind sehr wenig (jetzt neu Intel mit den Power/Economy-Kernen ist
>neu).

Das sehe ich anders. Erstens geht der Trend stark gegen Multicore und 
dazu passenden, effizienten Strukturen.
Zweitens sind die Rechenstrukturen für die KI-Beschleunigung starker 
Veränderung unterworfen.

von (prx) A. K. (prx)


Lesenswert?

Thomas W. schrieb:
> jetzt neu Intel mit den Power/Economy-Kernen ist neu)

Nur bei Intel. ARM hat das schon lange, längst auch schon 3fach 
abgestuft.

von (prx) A. K. (prx)


Lesenswert?

Christoph M. schrieb:
> Erstens geht der Trend stark gegen Multicore

Aha. Unglücklich ausgedrückt? Oder was meinst du damit?

von Christoph M. (mchris)


Lesenswert?

>Aha. Unglücklich ausgedrückt? Oder was meinst du damit?

Ich denke, um Daten zwischen den Kernen auszutauschen, braucht es 
effiziente Bussysteme und Zwischenspeicher. Kann jeder Kern mit jedem in 
maximaler Geschwindigkeit Daten austauschen?

von (prx) A. K. (prx)


Lesenswert?

Christoph M. schrieb:
> Ich denke, um Daten zwischen den Kernen auszutauschen, braucht es
> effiziente Bussysteme und Zwischenspeicher. Kann jeder Kern mit jedem in
> maximaler Geschwindigkeit Daten austauschen?

Nein, aber da entstehen schon seit einiger Zeit Strukturen aus 
Core-Gruppen, die innerhalb der Gruppe anderes Latenz- und 
Durchsatzverhalten zeigen, als zwischen den Gruppen. Das gab es schon 
vor 20 Jahren bei bestimmten Pentium 4 Systemen, damals allerdings zu 
Fuss aufgebaut in besonderen NUMA-Systemen mit mehr als 4 CPU-Sockeln 
(etwa IBM xSeries 440).

Intel hielt bei Multicore-Dies die Cores zunächst in internen Ringbussen 
zusammen, bei grösseren Xeons in bis zu 3 gekoppelten Ringen aus je 6 
Cores, die aber noch vollständig gemeinsame L3-Caches nutzen. Auch das 
hat Grenzen, weshalb jenseits von 18 Cores an Stelle der Ringe eine 
Verbindungsmatrix aufkam. Das bleibt nicht ohne Wirkung auf die 
Kommunikation, aber die Auswirkung auf die Latenz ist so überschaubar, 
dass man bzgl Optimierung der Anwendungen solche Dies ohne grosse 
Verluste noch als homogen ansehen kann.

Völlig anders AMD, hier für Zen 2 / EPYC 2 beschrieben: kleine und nur 
in sich homogene Gruppen aus 4 Cores mit nur darin gemeinsamem L3-Cache. 
Untereinander kommunizieren diese Gruppen nicht so arg viel schneller 
als mit dem DRAM. Die Latenzen innerhalb der Gruppe und zwischen ihnen 
sind somit drastisch verschieden und man sollte das auf dem Radar haben.

Es stellt Ansprüche an die Optimierung des Systems, sowohl im 
Hardware-Setup (BIOS) als auch auf OS- und Anwendungsebene. Konfiguriert 
man das pro Sockel als eine einzige NUMA-Node mit 64 Cores? Oder ist es 
sinnvoller, es als 16 Nodes zu betrachten, weil jede davon mit einem 
eigenen L3-Cache ausgestattet ist? Letzteres führt bei 2 Sockeln dann zu 
mehreren Betrachtungsebenen bzgl NUMA: der L3-Ebene und der DRAM-Ebene.

Intel hoppelt etwas hinterher. Die neueste Generation mit 
Multidie-Sockel folgt ganz grob AMDs Schema von Zen 1, mit grösseren 
Core-Gruppen und m.W. getrennter DRAM-Anbindung pro Gruppe.

: Bearbeitet durch User
von Alexander D. (abadu)


Lesenswert?

Thomas W. schrieb:

> Da ist sehr viel wahres dran. Und die CPU-Entwicklung (zumindest die
> Theorie) ist seit 1995 eigentlich zuende, Details ja, aber richtige neue
> Ideen sind sehr wenig (jetzt neu Intel mit den Power/Economy-Kernen ist
> neu).

Bei der Entwicklung von CPUs gibt es immer wieder neue Ideen, z.B. The 
Mill: https://millcomputing.com/. Dort gibt es keine normale Register, 
sondern den Belt. Wenn es bei der Ausführung eines Befehls neue Daten 
als Ergebnis gibt, werden die direkt am Anfang des Belts eingefügt. 
Gleichzeitig fallen die ältesten Daten am Ende des Belts heraus. Im Wiki 
wird das genauer beschrieben: http://millcomputing.com/wiki/Belt

von Joe L. (joelisa)


Lesenswert?

(prx) A. K. schrieb:
> Christoph M. schrieb:
>> Ich denke, um Daten zwischen den Kernen auszutauschen, braucht es
>> effiziente Bussysteme und Zwischenspeicher. Kann jeder Kern mit jedem in
>> maximaler Geschwindigkeit Daten austauschen?
>
> Nein, aber da entstehen schon seit einiger Zeit Strukturen aus
> Core-Gruppen, die innerhalb der Gruppe anderes Latenz- und
> Durchsatzverhalten zeigen, als zwischen den Gruppen. Das gab es schon
> vor 20 Jahren bei bestimmten Pentium 4 Systemen, damals allerdings zu
> Fuss aufgebaut in besonderen NUMA-Systemen mit mehr als 4 CPU-Sockeln
> (etwa IBM xSeries 440).
>
> Intel hielt bei Multicore-Dies die Cores zunächst in internen
> Ringbussen ...

Genau so was, allerdings in 8-bit, wollte der TO basteln!

Oder wolltet ihr etwa nur mal wieder einen Threat kapern?

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Joe L. schrieb:
> Genau so was, allerdings in 8-bit, wollte der TO basteln!

Mit 74er Logikbausteinen und PCBs in Kuchenblechgröße.
Das Vorhaben des TOs in allen Ehren, aber was war gleich die 
Zielsetzung?
Lernen wie es geht, die Tools kapieren, um irgendwann einmal vielleicht 
an einer reale CPU mitzuwirken, oder mit 16J, ein wenig Kicad + 
Bleistift + Zettelblock den 8bit CPUs zu neuem Glanz verhelfen?

Wie Lothar bereits andeutete kännte er bis Ende des Jahres halbwegs 
Sattelfest in FPGA + Simulation sein und anfangen an seiner CPU zu 
arbeiten.
D.H. wenn Florian T. Woszniak Jobs Gates bis dahin nicht bereits seine 
jugendliche Begeisterung auf 'Weichziele' statt Hardware gelenkt hat.

Beitrag #7458224 wurde von einem Moderator gelöscht.
von Thomas W. (Gast)


Lesenswert?

Ich moechte noch mal auf den Wunsch des TO zurueckkommen: Ein TTL-Grab 
als CPU. Und wenn er das machen moechte, dann sind die Buecher, die ich 
vorgeschlagen hatte, schon zielfuehrend. Und was er bauen kann, ist auch 
Stand der 80'er Jahre (vielleicht Pipelining, aber das ist ziemlich 
viel).

Ich glaube nicht, dass der TO ein Multibus-System im elterlichen 
Badzimmer bauen will oder eigenes Silizium in der Kueche backen will.

Und heute mit den Werkbank China fuer die Leiterplatten, 
Simulationsprogramme fuer die SW, ist das schon ein Ziel das in zwei 
Jahren zu realisieren ist. Wenn man will.

Gruesse

Th.

von Rbx (rcx)


Lesenswert?

Nicht ganz uninteressant ist übrigens auch das hier:
http://www.rskey.org/CMS/index.php/the-library/22
(https://www.elektor.de/programmierbare-taschenrechner-selbst-gebaut-pdf)

Denn: früher war doch BASIC Top. Einfach zu lernen, und noch lange in 
Schulkursen angewendet, für verschiedene Algorithmen z.B.
Das hatte man (neben dem einfachen Zugang) also zusätzlich: Hardware- + 
Programmier-KnowHow.

Heute muss man halt schauen, was so gängig ist, was wird in Foren 
gemacht bzw. diskutiert, was nicht.
So ist heute C ziemlich wichtig. Sicher kann man auch Java oder JS 
gebrauchen - aber so grundlegend sollte man sich erstmal auf C 
konzentrieren - und auch versuchen, alte BASIC-Quellen nach C zu 
übersetzen. Dümmer wird man dabei sicher nicht.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Rbx schrieb:
> früher war doch BASIC Top

Ja, war wirklich einfach zu verstehen. Der Name war Programm (Beginner's 
All-purpose Symbolic Instruction Code).

Das aktuelle Pendant dazu ist Python, würde ich mal sagen.

von Hans-Georg L. (h-g-l)


Lesenswert?

Schau dir das mal das alte Elektor Projekt von 1974 mit dem 74181 an. 
https://ia801202.us.archive.org/35/items/Computer74/computer-74.pdf

Der hatte 12 Bit aber das kannst du ja auf 8 Bit abspecken.
Meiner von 1973 hatte sogar 16 Bit aber das war eine ganze Europa-Etage 
mit 4 Karten a 4 Bit alleine für die CPU. Gibt aber keine Unterlagen und 
keine Hardware mehr davon.

Im Netz findest du die 74er Serie als VHDL, damit kannst du das ganze 
zuerst mal simulieren.

von J. S. (engineer) Benutzerseite


Lesenswert?

Motopick schrieb:
> Eine Lern/Lehrmethodik, die nur auf Wissenserwerb durch
> Reproduktion abstellt, bringt dann aber auch nur Ingenieure
> hervor,

Das ist schon richtig, aber gerade am Beginn, wenn man sich mit einem 
neuen Thema befasst, macht es sehr viel Sinn, sich einmal all das, was 
andere schon gemacht haben, zu Gemüte zu führen. Man muss natürlich 
verstehen, in welcher Nische sie die Lösung bewegt, welche 
Randbedingungen zur Lösung führten und wieviel man davon auf den eigenen 
Fall übertragen kann. Daran fehlt es in der Tat oft. Die Verwendung 
bestimmter Filter für konkrete Anwendungen ist ein schönes Beispiel wo 
all zu oft unkritisch eine Standardlösung übernommen wird, statt 
nachzudenken.

Angewendet auf das Thema hier, muss man sich fragen, welche OP-Codes man 
in einen 8-Bit-Prozessor einbauen sollte, damit er zeitgemäß ist und 
nicht so, wie die Restriktionen damals aufgeworfen hatten.

von Joe L. (joelisa)


Lesenswert?

Florian T. schrieb:
> Ich möchte eine 8 Bit CPU bauen und habe mir schon ausgedacht wie sie
> aufgebaut sein sollen.
>
> 1.Wie komme ich zu so einer verrückten Idee?
>
> Ganz einfach: ich mache gerade das Frühstudium zur Vorlesung
> „Rechnerarchitektur“ an der UDE. Der Dozent hatte die mic-1 in seiner
> Vorlesung vorgestellt und ich dachte mir das ich die besser machen kann.
> ( also das drum herum )

Tatsächlich stammt die MIC-1 von Andrew Tanenbaum (u.A. Autor von 
MINIX), der zwar der UDE doziert hatte, 2014 aber in den Ruhestand 
versetzt wurde.

Die Wikipedia beschreibt MIC-1 wie folgt:
"The MIC-1 is a processor architecture invented by Andrew S. Tanenbaum 
to use as a simple but complete example in his teaching book Structured 
Computer Organization.
It consists of a very simple control unit that runs microcode from a 
512-words store.
The Micro-Assembly Language (MAL) is engineered to allow simple writing 
of an IJVM interpreter, and the source code for such an interpreter can 
be found in the book."

Was will ein 16-jähriger Lausbub da noch groß verbessern?

Hätte sich der TO auch nur entfernt mir MIC-1 beschäftigt oder 
wenigstens mal das Buch (*) gelesen wäre ihm längst klar, wo die Ecken 
und Kanten bei "seinem" Projekt liegen.

just my 2ct

(*) Tanenbaum, Andrew S. (2006). Structured computer organization. Upper 
Saddle River, NJ: Pearson Prentice Hall. ISBN 978-0-13-148521-1.

von (prx) A. K. (prx)


Lesenswert?

J. S. schrieb:
> Angewendet auf das Thema hier, muss man sich fragen, welche OP-Codes man
> in einen 8-Bit-Prozessor einbauen sollte, damit er zeitgemäß ist und
> nicht so, wie die Restriktionen damals aufgeworfen hatten.

Das hängt stark davon ab, worin programmiert werden soll. AVR war vmtl 
die erste 8-Bit Architektur, bei der fast von Anfang an Augenmerk auf 
Programmierung in C gelegt wurde. Trotzdem wurden Fehler gemacht, wobei 
dem kooperierenden Compilerhersteller genau dadurch ein Vorteil 
gegenüber z.B. GCC erwuchs.

Dummerweise braucht man dafür etwas Erfahrung in dem, was C Compiler 
benötigen.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

(prx) A. K. schrieb:
> Dummerweise braucht man dafür etwas Erfahrung in dem, was C Compiler
> benötigen.

Du meinst das Hardware-bezogen, denke ich mal. Ansonsten könnte man 
vermuten, dass die Teilnahme an C-Obfuskations-Wettbewerben 
diesbezüglich ganz schön beflügeln kann.
ARM ist mit seinem RISC-Design m.E. ein wenig zu sehr auf Hochsprache 
gegangen. Da kann man dann beim Selberbau tatsächlich entscheiden, ob 
man das wirklich haben muss, oder dem User lieber etwas mehr 
Transparenz, AVX- oder LEA- und anderen Programmierspaß überlässt 
(z.B.).
Tatsächlich aber rocken auch die Grafikkarten - und da ist man dann doch 
wieder bei C.

Man könnte sich sowas überlegen: 8Bit-Cpu + DSP. Da hätte man vermutlich 
auch mehr Aktualität im Plan.

von (prx) A. K. (prx)


Lesenswert?

Rbx schrieb:
> (prx) A. K. schrieb:
>> Dummerweise braucht man dafür etwas Erfahrung in dem, was C Compiler
>> benötigen.
>
> Du meinst das Hardware-bezogen, denke ich mal.

Was für Adressierungen und Operationen sind sinnvoll, was kann man sich 
sparen. Bei AVR fehlen beispielsweise atomare Operationen auf den 
Stackpointer.

> ARM ist mit seinem RISC-Design m.E. ein wenig zu sehr auf Hochsprache
> gegangen.

Weshalb ARM in dieser Hinsicht von Anfang an problemlos war. Zu sehr? 
Die Grundlage RISC war gesetzt - das sollte einfach zu implementieren 
sein. Kein Micro/Nanocode-Monster wie 68000 und auch kein verbuggtes 
Random Logic Grab wie Z8000.

Das grösste Manko der nativen ARM-Architektur liegt im Design der 
Interrupt-Verarbeitung. Das betrifft C aber nur sekundär.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

(prx) A. K. schrieb:
> Das grösste Manko der nativen ARM-Architektur liegt im Design der
> Interrupt-Verarbeitung.

Könntest du das genauer erklären? Ich meine, ich entwickle selber keine 
Hardware, finde den Punkt aber doch ziemlich interessant.
Da habe ich natürlich auch schnell mal nachgesehen, aber mein schlaues 
ARM-Buch beschreibt im besser C-Programmierteil nur typische Sachen wie 
Loop-Unrolling oder Alignement wichtig.
Im Interrupt-Teil wird u.a. beschrieben, dass die Entwickler sich bei 
den Interrupts viel Mühe gegeben haben, u.a. um die Latenz im Rahmen zu 
halten und das dieser Punkt bei der Systemkonstruktion kein einfacher 
ist.

von (prx) A. K. (prx)


Lesenswert?

Rbx schrieb:
>> Das grösste Manko der nativen ARM-Architektur liegt im Design der
>> Interrupt-Verarbeitung.
>
> Könntest du das genauer erklären? Ich meine, ich entwickle selber keine
> Hardware, finde den Punkt aber doch ziemlich interessant.

Verschachtelte IRQs hatte man ursprünglich überhaupt nicht bedacht und 
eine IRQ-Handhabung erfunden, die damit nur umständlich umgehen kann. 
Eigentlich gibt es einen eigenen Registersatz für IRQ. Aber für 
verschachtelte Interrupts benötigt man einen recht umständlichen 
Top-Level-Handler, der genau diesen IRQ-Modus ASAP wieder verlassen 
muss, bevor der Handler des eigentlichen Interrupts aufgerufen werden 
kann.

https://www.nxp.com/docs/en/application-note/AN10381.pdf

Kernproblem ist, dass der PC des unterbrochenen Programms in R14 vom 
IRQ-Mode landet. Jeder IRQ in einem Handler, der im IRQ-Mode läuft, 
vernichtet damit dessen Inhalt. Folglich darf der Handler nicht im 
IRQ-Mode laufen und der Top-Level-Handler muss dafür den Modus 
umschalten. Ein separates Register nur für die Sicherung des PC hätte 
diesen Latenz produzierenden Zirkus vermieden.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

(prx) A. K. schrieb:
> Ein separates Register nur für die Sicherung des PC hätte
> diesen Latenz produzierenden Zirkus vermieden.

Broken by design! Da hat jemand echt nachgedacht! Anstatt vor! ;-)

von Rbx (rcx)


Lesenswert?

(prx) A. K. schrieb:
> Aber für
> verschachtelte Interrupts benötigt man einen recht umständlichen
> Top-Level-Handler, der genau diesen IRQ-Modus ASAP wieder verlassen
> muss, bevor der Handler des eigentlichen Interrupts aufgerufen werden
> kann.

Erstmal vielen Dank prx, für die ausführliche Antwort. Sowas hilft auf 
jeden Fall auch, den Text im angesprochenen Handbuch leichter zu 
verarbeiten.
Für die Verschachtelung alleine wäre das aus meiner Sicht noch nicht 
nötig, da hätte auch ein Pipelining gut sein können.
Das eigentliche Problem kommt wohl mit dem Prioritätenmanagement. Das 
kann man nur außerhalb angehen.

Wie das ganze tatsächlich im Einzelnen zusammenwirkt, durchblicke ich 
noch nicht. Wird wohl auch noch eine Weile dauern ;)

(https://interrupt.memfault.com/blog/arm-cortex-m-exceptions-and-nvic)

von (prx) A. K. (prx)


Lesenswert?

Rbx schrieb:
> Für die Verschachtelung alleine wäre das aus meiner Sicht noch nicht
> nötig, da hätte auch ein Pipelining gut sein können.

Könntest du bitte näher ausführen, was du mit Pipelining im Zusammenhang 
mit Interrupts meinst?

> Das eigentliche Problem kommt wohl mit dem Prioritätenmanagement.

Völlig andere Baustelle.

> (https://interrupt.memfault.com/blog/arm-cortex-m-exceptions-and-nvic)

Ich beziehe mich ausdrücklich auf die native ARM Architektur, wie sie in 
den 1980ern entwickelt wurde. Die Cortex-M haben damit nur den Namen 
"ARM" gemeinsam. Deren Interrupt-Konzept ist praktisch das Gegenteil 
davon.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

(prx) A. K. schrieb:
> Völlig andere Baustelle.

Würde ich so nicht sagen. Aber das Buch selber eiert bei dieser Thematik 
auch ein wenig rum, statt wie auf den anderen Seiten meist recht klar 
und einfach zu kommunizieren. Das macht es schwierig zu verstehen, was 
du meinst und wegen dem fehlenden Real-World-Bezug im Buch muss ich auch 
(lästiger Weise) im Internet nachsehen, aber es ist ja erstmal gar nicht 
klar, was überhaupt.

Zitat: "It is worth noting that nested interrupt handling is a choice 
made by the software, by virtue of interrupt priority configuration and 
interrupt control, rather than imposed by hardware."
Quelle:
https://developer.arm.com/documentation/den0013/d/Interrupt-Handling/External-interrupt-requests/Nested-interrupt-handling

Aus diesem Blickwinkel sieht es nicht nach Design-Fehler aus.

von (prx) A. K. (prx)


Lesenswert?

Rbx schrieb:
> "It is worth noting that nested interrupt handling is a choice
> made by the software, by virtue of interrupt priority configuration and
> interrupt control, rather than imposed by hardware."

Stimmt schon. Wenn man keine nested IRQ-Interrupts braucht, hat man auch 
kein Problem mit der Hardware. Works as designed, denn das hatten die 
für den Acorn-Computer nicht vorgesehen. Es gab ja den höher 
priorisierten Fast-IRQ aka FIQ.

Aber wenn man sie benötigt, weil man 1-2 Jahrzehnte später komplexe 
Mikrocontroller daraus macht, dann hat man durch das R14-Problem eine 
höhere Interrupt-Latenz. Klar hat man bei Nesting sinnvollerweise 
Prioritäten. Das R14-Problem hat aber nur mit Interrupts zu tun, die 
Interrupts unterbrechen dürfen, egal warum sie das tun.

Unabhängig davon gibt es bei den Interrupt Controllern dieser alten 
ARM7&Co kleine Spielchen mit "spurious Interrupts". Auch das ist eine 
andere Baustelle und hat nun wiederum nichts mit der ARM-Architektur zu 
tun. Die gab es auch bei x86.

: Bearbeitet durch User
von Purzel H. (hacky)


Lesenswert?

Wenn die CPU und das drum herum mal steht kann man nochmals eine 
lehrreiche Jugend hinterher werfen um einen compiler zu schreiben.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Purzel H. schrieb:
> Jugend hinterher werfen um einen compiler zu schreiben

Mit ein bisschen Geschick, bekommt man in in ein paar Tagen/Monaten ein 
Forth System ans laufen. Incl. Assembler, Compilern und Interpretern.

Einen minimalistischen Ansatz findet man z.B. beim F18A von Green Arrays

: Bearbeitet durch User
von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Der TO ist doch längst weg.
Gefühlt wenige Stunden nachdem er seinem Projekt die ewige Treue durch 
dick und dünn geschworen hatte.
Herrje, der Junge ist 16J.
Ewigkeit bemisst sich da in Tagen.

Beglückwünschen wir ihn dazu.
Wenn es ganz übel läuft bleibt man wirklich lebenslang bei der Totgeburt 
und baut eine BO8 🙄

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Purzel H. schrieb:
> Wenn die CPU und das drum herum mal steht kann man nochmals eine
> lehrreiche Jugend hinterher werfen um einen compiler zu schreiben

Noah wurde glaub 600 Jahre. Es besteht also Hoffnung, prinzipiell.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Abdul K. schrieb:
> Noah wurde glaub 600 Jahre.
Sagt die Bibel.
Nur das die meisten Startreck Folgen erheblich glaubwürdiger und 
realistischer waren als dieser zusammenfantasierte Mist aus 2000 Jahren 
kirchlichen Machterhaltes auf dem Rücken einer mündlich überlieferten 
Geschichte eines archaischen Wüstenvolkes.

Mit 'Stab zu Schlange' in der Fussgängerzone hätte ich heute nur den 
Tierschutz am Hals, diverse Anzeigen und wahrscheinlich ein paar 
Ohrfeigen der Umstehenden.
Kaum nachvollziehbar das wegen dem zusammenfantasiertem Müll noch immer 
gebildete Menschen in Kriege ziehen.

von Kaffee D. (kaffee_d)


Lesenswert?

Florian T. schrieb:
> Vg Florian
> Ich bin übrigens 16 Jahre alt.

Ich habe mir den Beitrag nicht vollständig durchgelesen, weil ich den 
Gegenwind, den du hier erfährst, nicht ertrage.

Mach das einfach! Du wirst unendlich viel falsch machen und unendlich 
viel lernen. Wenn du dieses Projekt auch nur teilweise umsetzt, wirst du 
in deinen späteren Bewerbungsgesprächen ohne Ende punkten. Solche Macher 
wie dich gibt es selten, und ich kann dich nur ermutigen, das 
umzusetzen, was du dir vorgenommen hast.

Jedes Mal, wenn du ein Projekt dieser Dimension hier vorstellst, wirst 
du Gegenwind bekommen. Die Leute hier sind alle älter und in ihren 
Gedanken schon gewissermaßen festgefahren. Du hast noch einen kreativen 
und freien Kopf, behalte dir den so lange wie möglich bei. Stelle lieber 
Fragen, die bei der konkreten Umsetzung Probleme machen, ohne das große 
Ganze zu erwähnen.

von Cyblord -. (cyblord)


Lesenswert?

Kaffee D. schrieb:

> Ich habe mir den Beitrag nicht vollständig durchgelesen, weil ich den
> Gegenwind, den du hier erfährst, nicht ertrage.

Snowflake?

> Mach das einfach!

Tja DAS ist der Unterschied. Ich hätte das auch einfach gemacht, wenn 
ich Bock drauf hätte. Aber geht heute nicht mehr. Da muss erst ein 
Thread her und 1 Jahr Diskussion.

> Jedes Mal, wenn du ein Projekt dieser Dimension hier vorstellst, wirst
> du Gegenwind bekommen. Die Leute hier sind alle älter und in ihren
> Gedanken schon gewissermaßen festgefahren.

Die Leute hier wissen dass der TE nach 1 Woche genug hat. Und so war es 
auch.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Kaffee D. schrieb:
> Solche Macher
> wie dich gibt es selten
Nö, die sind sogar sehr häufig.

Cyblord -. schrieb:
> Die Leute hier wissen dass der TE nach 1 Woche genug hat. Und so war es
> auch.
:-)

Die Diskussion war sehr angeregt und teils von hoher Qualität.
Sowohl was sinnvolle CPU Internas angeht als auch der dringende Rat 
frühzetig Richtung FPGA zu gehen wenn man das ernsthaft betreiben will.

Wo hast Du die 'Hater' gesehen?

von Hans- w. S. (hschuetz)


Lesenswert?

Hallo,
schau mal bei Dennis Kuschel rein... Die MYCPU (6502) gibts da als TTL 
Grab oder als FPGA.
http://www.mycpu.eu/
Viele Grüße
Hans-Werner

von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

von Florian T. schrieb:
>Tobias wollte aber eine 32bit CPU bauen, ich nicht.

Die Grundlagen sind immer die selben, egal ob
4Bit, 8Bit oder 32Bit.
Als erstes brauchst du Logig-Schaltstufen, AND, OR, NAND, NOR.
Davon tausende. Die kann kann man mit ICs, Tansistoren, Röhren,
Relais, realisieren. Was willst du benutzen?
Konrad Zuse hat mit Relais angefangen. Relais kann man aber nicht
besonders schnell takten. Konrad Zuse hat sie mit 5Hz bis 10Hz
getaktet.
Die Amerikaner sind dann auf die Ide gekommen das mit
Röhren zu machen und haben den ENIAC gebaut,
daß ging schon schneller.

https://de.wikipedia.org/wiki/ENIAC#/media/Datei:Eniac.jpg

Also wie willst du deine Logig-Schaltstufen realisieren?

https://www.elektronik-kompendium.de/sites/dig/0710091.htm

https://de.wikipedia.org/wiki/Transistor-Transistor-Logik

https://www.youtube.com/watch?v=GXRp7zmWwN8

Hier der Aufwand mit Transistoren um nur zwei 8Bit-Zahlen
zu addieren:
https://www.youtube.com/watch?v=X31B1pVow1o

Hier ein Transistorcomputer:
https://www.computerhistory.org/revolution/digital-logic/12/273/1371

Ich schätze mal, daß du angesichts des Aufwands bald
aufgeben wirst.

von (prx) A. K. (prx)


Lesenswert?

Günter L. schrieb:
> Transistorcomputer

Ein echtes Meisterwerk dahingehend war die CDC 6600. Ein Supercomputer 
der 1960er mit 60 Bit Wortbreite und mehreren gleichzeitig arbeitenden 
Ausführungseinheiten inklusive Hardware-Multiplikation, nur aus 
Einzeltransistoren.

Zum Nachbau jedoch eher ungeeignet. Ringkerne fädeln ist zudem nichts 
für Grobmotoriker.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Kaffee D. schrieb:
> Wenn du dieses Projekt auch nur teilweise umsetzt, wirst du
> in deinen späteren Bewerbungsgesprächen ohne Ende punkten. Solche Macher
> wie dich gibt es selten

Das sehe ich anders. Es gibt viele Leute, die Projekte nicht zu Ende 
bringen. Ein "Macher" bringt zieht Projekte bis zu Ende durch. Du kennst 
den Spruch: Man macht Nägel mit Köpfen.

> Die Leute hier sind alle älter und in ihren
> Gedanken schon gewissermaßen festgefahren.

Da hast du Wohl Recht. Ich zähle mich dazu. Ich habe viele Fehler 
gemacht und bin nicht darauf erpicht, sie zu wiederholen. Und natürlich 
möchte ich auch nicht, dass andere meine Fehler wiederholen.

Andererseits stimmt es schon, dass man durch Fehler lernt. Solange das 
nicht sehr gefährliche ist oder einen in den Ruin treibt, kann man ruhig 
mal etwas ausprobieren.

Mein Traumprojekt aus Teenager Zeiten war eine eigene Telefonanlage mit 
Logikgattern ohne Mikrocontroller (weil damit damals noch nicht umgehen 
konnte). Immer wieder habe ich die Pläne verworfen, weil sie unfassbar 
komplex und teuer wurden, um ein paar Monate später wieder von Vorne 
anzufangen. Nach mehreren Jahren habe es ich dann tatsächlich geschafft. 
Die Anlage hatte eine Amtsleitung und 6 Nebenstellen, sie passte von der 
Größe her in einen halben Schuhkarton. Bei diesem Projekt habe ich 
verdammt viel gelernt.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Günter L. schrieb:
> Ich schätze mal, daß du angesichts des Aufwands bald aufgeben wirst.
Ich schätze mal, dass das schon passiert ist. Der letzte Beitrag des TO 
war vor über einem Monat...

> Logig-Schaltstufen
Bittebitte schreib Logik mit hartem 'k' am Schluss!

Den Grund habe ich im 
Beitrag "Re: 8-Bit CPU Selbstbau" schon genannt.

Und im Post danach findet man den Weg, den der TO anscheinend gehen 
will: er packt die CPU in ein FPGA.

: Bearbeitet durch Moderator
von Christoph M. (mchris)


Lesenswert?

Vielleicht ist es einfacher, eine 16Bit CPU zu bauen:

https://www.jiristepanovsky.cz/project.php?p=23cpu

Was so ein klein wenig Speicher so alles möglich macht ..

von Motopick (motopick)


Lesenswert?

> Ich schätze mal, dass das schon passiert ist.

So ist das halt mit "Schneeflocken". Sehen sie eine heruntergefallene
Portion Speiseeis auf der Strasse, rufen sie "Glatteis" und kehren um.
So schnell wie die Begeisterung kommt, verschwindet sie in Anbetracht
der zu leistenden geistigen Arbeit auch wieder.
Das er aber nicht einmal eine der "Einfachstvarianten" mit dem 74181
zustande gebracht hat, ist schon irgendwie traurig. Fuer den TO. :)

> die CPU in ein FPGA

Da wuerde zumindest mir das "Handgreifliche" fehlen.
Also das Gefuehl des "Unmittelbaren" wo ich mit einem Oszi/LA
etwas sehen kann.

Ich benutze auch Softcores in diversen Geschmacksrichtungen.
Und man kann dann schoen im modelsim/Questasim dem ganzen zugucken.
Aber es ist eben nicht das selbe.

von Stefan F. (Gast)


Lesenswert?

Als Vorübung kann man mit einer Programmierbaren Ablaufsteuerung (Ampel, 
Modelleisenbahn, etc.) anfangen. Dazu braucht man keine ALU.

Zuerst könnte man einen Counter nehmen, der in festen Intervallen hoch 
zählt. Daran hängt ein EEprom, das 8 Ausgänge ansteuert.

Wer Talent dafür hat, dem werden dabei ganz viele Ideen kommen, wie man 
das aufbohren kann, um z.B. Bedingte Sprünge zu implementieren.

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.