Eigenentwicklung eines µCs

Gast #918801
Lesenswert?

Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist! Wenn 
das jetzt nur so eine Idee wäre, dann wäre das cool, aber du willst es 
ja unbedingt als reeles Projekt machen. 
nenenenenenenenenenenenenenenenen phfvorrum
Gast #918837
Lesenswert?

Dein Ansatz ist eigentlich schon ziemlich falsch. Mit einem CPLD bzw. 
FPGA könntest Du höchstens die rein digitalen Teile des Mikrocontrollers 
wie CPU, Timer, I/O's, BUS, IRQ-Logik ... abdecken. Einen beachtlichen 
Teil nehmen jedoch auch noch ein: Speicher (insbesondere Flash), 
Oszillatorschaltung, AD Wandler, Spannungsüberwachung / Reset (meist 
ausgeklügelter als im FPGA, da häufiger für batteriebetriebene Geräte 
verwendet), Schmitt-Trigger Eingänge, interne Pull-Ups/Pull-Downs für 
I/O's, ...
Wenn Du Dir einen hardwaremässigen Emulator für einen Mikrocontroller 
ansiehst, kannst Du den Aufwand in etwa abschätzen.
Das Vorhaben wäre mit Sicherheit kein Hobbyprojekt.
Gast #918962
Lesenswert?

Huch, ganz schön viele Reaktionen.
Ihr nehmt meinen Post viel zu ernst. Es war nur mal eine Idee, kein Plan 
oder sogar Projekt, schon gar nicht für eine Einzelperson.
Nein, ich bin momentan durch Hobby, Ausbildung,... mit verschiedenen 
Controllerfamilien konfrontiert. Bei allen sehe ich Stärken und 
Schwächen.
Da kam mir einfach mal so spontan die Idee, alle Stärken zu vereinen.
Als Basis dafür fiel mir als estes eine programmierbare Logik ein.
Obwohl, so ein Massengrab aus 74er Bausteinen wäre auch nicht schlecht, 
am besten noch in TTL. Dann freut sich auch das Netzteil;-)
Gast #919000
Lesenswert?

>Da kam mir einfach mal so spontan die Idee, alle Stärken zu vereinen.

Da kommt mir doch spontan die Frage, welche Stärken Du meinst.

Mir käme die Idee, die Stärken von Bananen und Erdbeeren zu vereinen. 
Insbesondere, wie man ein geschmackliche Abstimmung findet, daß die 
Schnecken mitgegessen werden können.
(Firma: dm2sh) #919001
Lesenswert?

Hallo,

das ist in der Regel auch das Prinzip, wie das die Prozessorentwickler 
machen. Sie werfen alles raus, was schlecht ist und kombinieren das, was 
gut ist. Das Problem ist aber, man erkennt nicht auf anhieb, dass 
bestimmte Sachen nicht zusammenpassen. Wenn man dann alles, was schön 
aus sieht (die besten Eigenschaften) in einem Topf wirft, dann kommt 
schnell Mist raus. Man hat dann 100 verschieden Adressierungsmodelle und 
das Gesamtkonzept geht verloren. Am Ende ist man dann bei einer Art 
Hochsprachen (Bytecode)-Interpreter angekommen.
Wenn man schon einen FPGA nimmt, kann man doch gleich einen dynamisch 
rekonfigurierbaren Kern machen, dessen Befehlssatz sich Softwareabhängig 
erweitern lässt oder auch umschalten.
Ein Verbesserungsvorschlag wäre auch, die Codeeffizienz zu erhöhen. Die 
Wahrscheinlichkeit, dass ein bestimmter Befehl auftritt ist 
kontextabhängig, also davon welche Befehle vorher standen. Außerdem gibt 
es Befehle, die generell seltener auftreten. Nun kann man seltene 
Befehle einfach zu gunsten der häufigen schlechter gestalten (Länge, 
Rechenzeit). Um die Gesamte Codeffizienz zu erhöhen, muss man dann schon 
Befehlsgruppen bilden oder Codezuordnung dynamisch ändern, abhängig vom 
vorigen Befehl. Je Größer die gebildeten Befehlsgruppen sind, um so 
besser ist die Speichereffizienz.
Nun muss man halt abwegen, will man lieber höchste Codeeffizienz oder 
einen bezahlbaren Compiler bzw. eine Chance das in Assembler zu 
programmieren und schon beißt sich die Schlange in den Schwanz...
Gast #919019
Lesenswert?

> Mir käme die Idee, die Stärken von Bananen und Erdbeeren zu vereinen.

nennt sich Erdbeer Banana Daiquiri

>Insbesondere, wie man ein geschmackliche Abstimmung findet, daß die
>Schnecken mitgegessen werden können.

Macht man mit einem großen Schuss Rum ;)
Gast #919033
Lesenswert?

Aber einem ganz großen!!! Ach übrigens, schau mal im Supermarkt, Müller 
&Co haben seit neusestem diese komischen Frucht-Softdrinks. Im Prinzip 
sind das zermatschte Früchte (also Erdbeeren und Bananen) und 
haufenweise Zucker (sozusagen als Rum-Ersatz).
Gast #919043
Lesenswert?

Das geht schon aus einem einfachen Grund nicht: Praktisch alle 
Eigenschaften sind in Zielkonflikte verwickelt. Daher müsste man 
zunächst mal entscheiden, auf welche Ziele man Wert legt. Genau hier 
liegt dann der Hund begraben, warum es eben viele verschiedene 
Prozessor-Familien mit unterschiedlichen Vor- und Nachteilen gibt.


> Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist!

Da findet man ganz bestimmt dümmere :-)
Gast #919058
Lesenswert?

>> Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist!

Nein Nein Nein

wenn der Proz. für Deine (allg.) Anwendung schneller (leistungsfähiger)
ist und alle "IHN" brauchen werden wir sehr schnell Dein Ausgaben
refinanzieren.


Fred
Gast #919070
Lesenswert?

Angenommen wird alles, die Frage ist nur, wann die Ergebnisse kommen 
(wie schon gesagt, nur eine Idee, kein Plan/Projekt).
Also meine Kontonummer ist .... ;-)
Über finanzielle Unterstützung der MC'schen Mikrocontrollerschmiede 
würde ich mich sehr freuen.
Gast #919150
Lesenswert?

Also ich find die Idee super. Die Datenbreite waere dann variabel, resp 
koennte als Optimierungsparameter verwendet werden. Wenn man zB 120 
register braucht und dann noch 120 byte RAM, dann genuegt ein Byte zur 
Adressierung. Und wenn man nur 27 Befehle braucht, so sind die mit 5 Bit 
decodiert.
Gast #919176
Lesenswert?

>Also ich find die Idee super. Die Datenbreite waere dann variabel, resp
>koennte als Optimierungsparameter verwendet werden. Wenn man zB 120
>register braucht und dann noch 120 byte RAM, dann genuegt ein Byte zur
>Adressierung. Und wenn man nur 27 Befehle braucht, so sind die mit 5 Bit
>decodiert.
Das wärs. Und Interessant wäre wenn du zusätzlich einen compiler 
entwickelst, der abhängig von den benötigten Ressourcen denn 
Prozessorkern synthetisiert und eben auch ein Programm. Der Compiler 
synthetisiert sich den Prozessorkern...

Wird vermutlich sehr aufwendig;)
Gast #919544
Lesenswert?

Eine schöne Projektidee wäre, den Prozessorkern zu entwickeln, der am 
wenigsten Gatter in einem CPLD braucht.

Also: Was ist die kleinstmögliche Anzahl Gatter, die man braucht, um 
einen Prozessor zu realisieren?

Wie sieht ein sehr einfacher Kern aus? Was braucht man?

- Programmzähler
- Arbeitsregister
- Alu

weiter ?
#919555
Lesenswert?

@MC: Daß die Idee, eine eierlegende Wollmilchsau zu erschaffen, eine 
ziemlich dumme Idee ist, ist bereits gesagt worden, aber ein Hauptgrund 
ist noch nicht genannt worden: Die Zielanwendung.
Mach mal deine eierlegende Wollmilchsau und versuch dann damit z.B. 
einen Sat-Antennenschalter zu realisieren. Der ganze Schalter darf im 
Laden aber nur 10 Euro kosten. (4 LNB, einen Ausgang). Die Lösung im 
Schalter, der bei mir im Einsatz ist: ATTiny11. Ein ganz kleiner AVR, 
der im Bastlerversand gerade 65 cent kostet. 10000er Preis 
wahrscheinlich weit darunter. Jede Menge von den Dingen, die du 
vielleicht in deine Wollmilchsau integrieren willst, werden 
möglicherweise garnicht gebraucht. Es hat schon seinen Grund, warum z.B. 
Atmel in seiner AVR 8-Bit-Serie an die 40 Typen hat. So kann man sich 
den Controller aussuchen, der den besten Kompromiss aus Preis, 
Ausstattung und Leistung darstellt. Also gilt auch hier: Pflichtenheft 
für das zu erstellende Gerät erstellen und dann den passenden Controller 
auswählen. DEN Universalcontroller kann es deshalb schon garnicht geben. 
Allen BWLern zum Trotz.

Gruß
Jadeclaw.
Gast #919561
Lesenswert?

Stichworte:
-Turingmaschine
Da reichen glaube ich 3 Zustände aus, hab ich mal irgendwann in der CT 
gelesen. Nur schnell ist das ganze nicht, man kann nicht alles haben 
immer nur einen Teil ;)

-Brainf??k (da gibt es auch C-compiler für :)
einen Brainf??k interpreter ist schnell geschrieben. (Nein ich werde es 
nicht machen :)
Gast #919580
Lesenswert?

Ein wenig komplexer als eine Turingmaschine darf es schon sein.

Eine Mindesanforderung wäre:

- 8 Bit Addition
- call & ret

Ok, das ganze könnte man als Bit-Slice Prozessor realisieren. Nehmen wir 
mal an, das CPLD ist recht schnell und der Prozessor soll nur dazu 
dienen, langsame Kontrollaufgaben durchzuführen.
Gast #919594
Lesenswert?

...dann nimm nen AVR !
ganz vergessen? der ist genau so entstanden:
2 studenten überlegten, was wäre optimal,
was kann real mit so wenig gattern gebaut werden, dass es in nen fpga 
geht und testbar ist,
welchen befehlssatz braucht man, damit alle zufrieden sind, asm + 
compiler..
usw.
ergebnis war die at1200 , später dann die aufgebohrten mega usw.

also genau das, was du (MC) machen willst.

andere teams hatten komplexere 32-bit-vorstellungen, deren optimierte 
designs zb als dievrse arm-versionen zu sehen sind..

was genau willste nu neu+besser+billiger machen ????
Gast #919617
Lesenswert?

>...dann nimm nen AVR !
>ganz vergessen? der ist genau so entstanden:
>2 studenten überlegten, was wäre optimal,
optimal nach ihren Vorstellungen...

>Eine schöne Projektidee wäre, den Prozessorkern zu entwickeln, der am
>wenigsten Gatter in einem CPLD braucht.
sag ich doch die ganze Zeit
Moderator Persönliche Seite #919629
Lesenswert?

Düsentrieb wrote:

> andere teams hatten komplexere 32-bit-vorstellungen, deren optimierte
> designs zb als dievrse arm-versionen zu sehen sind..

Naja, der Prozessorkern entstammt einem Universalcomputer, der
eigentlich mal (nach der Vorstellung der Gründer) hätte den IBM-PC
ablösen sollen (Acorn RISC).  Das hat nicht geklappt, aber weil der
Prozessor selbst recht genial war, haben sie daraufhin das Design
an andere lizensiert, und irgendwann haben dann diverse Hersteller
ihre Peripherie herum gestapelt, um auch Microcontroller draus zu
zimmern.
Gast #919674
Lesenswert?

>Warum nicht mal einen weiblichen uC entwickeln?
ja, das isses doch:
+macht spontan völlig unlogische entscheidungen
+kennt die "wenn-aber-dann-doch-vielleicht" verknüpfung
+hat gelegentlich seine tage...
Gast #919711
Lesenswert?

>Warum nicht mal einen weiblichen uC entwickeln?
großer Vorteil wäre die sehr einfache Produzierung von weiteren 
Derivaten!!!
Durch die Vermischung der Eigenschaften der beiden Partner + die 
Evolution bekommt man bestimmt spannende Derivate. Am besten wirds dann, 
wenn die Dinger in die Pubertät kommen.
Gast #919769
Lesenswert?

Eine Idee zu blockieren weil zu schwierig ist - veraltet. Geh auf den 
Baum zurueck. Ich denke auch ein Compiler sollte den Kern syntetisieren 
koennen. Wenn sich ein Problem auf einen Vorwahlzaehler mit 2 
selektierbaren Vorwahlen reduzieren laesst, brauch ich den Rest nicht.
Gast #919791
Lesenswert?

>> Warum nicht mal einen weiblichen uC entwickeln?
> großer Vorteil wäre die sehr einfache Produzierung von weiteren
> Derivaten!!!

> +macht spontan völlig unlogische entscheidungen
> +kennt die "wenn-aber-dann-doch-vielleicht" verknüpfung
> +hat gelegentlich seine tage.

Den zu debuggen wird bestimmt lustig ;-)
#919966
Lesenswert?

Sowas gibt es doch schon. Zb. von Altera den Nios2, da kann man die 
Busbreiten festlegen, den RAM und den Controller (zB. internes RAM, SRAM 
oder SDRAM), und was einem sonst noch so einfällt (Zusatzhardware, 
selbstentwickelt oder fertig, 100 Timer oder 30 PWM Kanäle, usw.).
Und es gibt sogar einen Compiler dazu (gcc portierung), den man mit dem 
CPU Design füttern und der einem dann Code generiert (C/C++).

Ein wirklicher Durchbruch ist das Ding aber nicht. Und auf den kleinsten 
FPGA passt das Ding natürlich auch nicht, die kleinste Variante liegt so 
im Bereich um 2k Logikzellen auf Altera FPGAs.

Das einzige was man wirklich verbessern könnte sind die 
Entwicklungswerkzeuge.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren