Forum: Mikrocontroller und Digitale Elektronik Eigenentwicklung eines µCs


von MC (Gast)


Lesenswert?

Tag an alle,
was haltet ihr von der Idee, von allen bekannten µP-/µC-Familien die 
besten Eigenschaften in einem CPLD bzw. FPGA zusammenzukloppen?

Bitte sagt jetzt nicht, es sei zu viel Aufwand, würde zu Lange 
dauern,...
Dies ist kein reeller Plan, nur eine Idee;-}

von Gerd B. (silicat) Benutzerseite


Lesenswert?

Hier:
http://www.opencores.org/browse.cgi/by_category
(rechts Spalte)

gibts schon einige µC-Kerne

von Fred (Gast)


Lesenswert?

toller Plan, nur eine blöde Idee ...

Gruß Fred

von Andreas K. (a-k)


Lesenswert?

Schon die Diskussion über "die besten Eigenschaften" dürfte dazu führen, 
dass sich nicht die FPGAs sondern die Beteiligten kloppen.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Sorry aber besonders realistisch und besonders sinnvoll ist das wirklich 
nicht als Projekt fuer eine Einzelperson.

von Jens P. (Gast)


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

von Johnny (Gast)


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.

von Mendel (Gast)


Lesenswert?

so eine bessere "EierLegendeWollMilchSau" als die Megas
ist durch Kreuzung von PIC + ARM erst in der F100 Generation
zu erwarten!

gez. Mendel

von MC (Gast)


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;-)

von Gast (Gast)


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.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


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...

von Simon K. (simon) Benutzerseite


Lesenswert?

MC wrote:
> 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.

Das heißt wir sollen gar nicht antworten? ;)

von Gast (Gast)


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 ;)

von MC (Gast)


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).

von mr.chip (Gast)


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 :-)

von Fred (Gast)


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

von Matthias L. (Gast)


Lesenswert?

Also, werden schon Wünsche angenommen?

von MC (Gast)


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.

von Carsten (Gast)


Lesenswert?

wunsch @ Matthias Lipinsky

64-Bit Risk CPU mit 1GHz getaktet (256 IO's)
zum Preis von 10€

:) Carsten

von MC (Gast)


Lesenswert?

Muss es denn funktionieren, oder darf's auch vom Laster gefallen sein?

von 3363 (Gast)


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.

von Christine R. (Gast)


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;)

von MC (Gast)


Lesenswert?

So in der Art habe ich mir das gedacht.

von Falk B. (falk)


Lesenswert?

Die vielzitierte Eierlegende Wollmilchsau. Oink, Oink.
An deren Züchtung scgin Gnerationen von Ings gescheitert sind.
Was aber BWLer nicht daran hindert, permanent auf deren Entwicklung zu 
drängen.

;-)
Falk

von Matthias L. (Gast)


Lesenswert?

>BWLer ... permanent auf deren Entwicklung zu drängen.

Wieso Entwicklung? Verwendung reicht doch

von Falk B. (falk)


Lesenswert?

@ Matthias Lipinsky (lippy)

>>BWLer ... permanent auf deren Entwicklung zu drängen.

>Wieso Entwicklung? Verwendung reicht doch

Bezugsquelle?

von Matthias L. (Gast)


Lesenswert?

>Bezugsquelle?

Das wüsste ich selbst gern.

Wenn es eine geben würde, wäre diese wohl zu teuer.

von MC (Gast)


Lesenswert?

Vom Preis her könnte es die "eierlegende Wollmilchsau" bei Conrad geben.
Owohl, eher doch nicht, da Conrad ja ne Apotheke ist:
sehr teuer und nichts auf Lager

von chris (Gast)


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 ?

von Jadeclaw D. (jadeclaw)


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.

von Gast (Gast)


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 :)

von chris (Gast)


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.

von Düsentrieb (Gast)


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 ????

von nasowas (Gast)


Lesenswert?

eine Lebensweisheit: Alles Gute ist nie beisammen!

gilt für uCs, Frauen, ... was Du willst.

von MC (Gast)


Lesenswert?

>eine Lebensweisheit: Alles Gute ist nie beisammen!
>gilt für uCs, Frauen, ... was Du willst.
wo du recht hast...

von MC (Gast)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Johnny (Gast)


Lesenswert?

Warum nicht mal einen weiblichen uC entwickeln?

von Düsentrieb (Gast)


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...

von Gast (Gast)


Lesenswert?

Was habt ihr gegen die Idee? Natürlich kann man nach seinem Geschmack 
locker einen µC in einem FPGA implementieren. Schwieriger wird es jedoch 
dafür einen passenden Compiler zu Entwickeln ;)

von MC (Gast)


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.

von 3357 (Gast)


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.

von gast (Gast)


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 ;-)

von whitenoise (Gast)


Lesenswert?


von Düsentrieb (Gast)


Lesenswert?

debuggen war mal, nennt sich dann ja auch : diskutieren ...

von whitenoise (Gast)


Lesenswert?

fpga... das kann jeder aber:

http://www.cc86.org/~dkuschel/index2.htm

und noch ein OS dazu, das ist hardcore...

http://www.cc86.org/~dkuschel/index2.htm

gruß,
w.

von MC (Gast)


Lesenswert?

Mensch, danke für den Link. Die Seite kenn ich zwar schon seit einigen 
Jahren, aber ich hab den Link nicht mehr gefunden.

von whitenoise (Gast)


Lesenswert?

...ist zwischenzeitig umgezogen...

von I_ H. (i_h)


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.

von Falk B. (falk)


Lesenswert?

@ Johnny (Gast)

>Warum nicht mal einen weiblichen uC entwickeln?

Mit Fuzzy Logic . . .

von Matthias L. (Gast)


Lesenswert?

>> ... weiblichen ... => ... Logic ...

...

von MC (Gast)


Lesenswert?

Ein 8Bit-µC mit 32Bit Opcode ist etwas übertrieben, oder?
Ich weiß, dass die AVRs 16Bit Opcode haben. Die PICs variieren von 12 
bis glaub ich 24Bit (bei den 8Bittern).

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.