Welcher Programmiersprache gehört die Zukunft im Embedded Bereich? C++ oder Java
-
rüdiger schrieb:
Der Punkt ist eben, dass es bei Embeddedsachen in der Regel um die Stückzahl geht. Das ist ja eine ganz einfache Rechnung: Mehrkosten * Stückzahl = Verbratenesgeld. Angenommen du gehst von 2€ aus und einer (wohl eher geringen Stückzahl) von 1 Millionen, dann hast du 2 Millionen € verbraten. Da lohnt es sich lieber 1 Millionen € in ein fähiges Entwicklerteam zu stecken.
Um was dann zu erreichen?
Der Chip kostet ja immer noch 2 € -> untersten Preis.Oder machen wir es ganz einfach, du ganz wählen zwischen:
8 Bit CPU Preis 2 €
oder
32 Bit CPU Preis auch 2 €Denn 2 € ist der unterste Preis aller verfügbaren CPUs.
Wo sparst du da mit einem fähigen Entwicklerteam Geld ein?
Ohne CPU können die ja auch nichts anfangen.Die Rechnung ist auch nicht so einfach. Du kannst ja zum Beispiel nicht einfach die alten Anlagen benutzen um die neue Architektur herzustellen
Da die heutigen Neuanlagen in 10 Jahren Altanlagen sind, werden die auch fähig sein diese billigen 32 Bit CPUs zu produzieren.
Was dann übrig bleibt sind reine Material und Energiekosten und hier dürften die neuen Anlagen wieder besser abschneiden.und du musst die Entwicklung bezahlen, die Tests werden komplizierter etc.
Warum sollten die Tests mit C++ komplizierter werden als mit C?
Oder meinst du die Hardware?Embedded CPUs haben den Vorteil, daß sie auf eine langfristige Produktion ausgelegt sind.
D.h. man nutzt die ersten 1-2 Jahre um die Anlage so zu
kalibrieren, daß sie einen hohen Yield erzeugen, also ne gute Rate Funktionsfähiger Chips ausspucht und dann läuft das Ding so weiter für die nächsten 5-8 Jahre, denn es sind ja Embedded CPUs die deutlich länger produziert werden als die modernen High Tech PC CPUs.
Und dennoch, auch bei den Embedded Chips steigt die Leistung mit den Jahren an.daher ist eine moderne Architektur teurer, auch wenn die Integrationsdichte höher ist.
In 10 Jahren ist die aber nicht mehr modern, sondern alt.
Hinzu kommt natürlich, dass du bei einer alten Architektur mehr Leute findest, getestete Tools hast und die Fehler der Hardware bekannt sind.
Siehe oben.
Nimm z.b. eine moderne ARM CPU.
32 Bit fähig und mit nem Takt irgendwo bei 200 Mhz.
In 10 Jahren ist das alte Technik die zum Centpreis verkauft wird und die Tools dafür sind bis dahin ausgereift.
Tja, und jetzt stellt man fest, daß 200 MHz eigentlich unglaublich schnell sind für C++ und Java fängt ebenfalls an Interessant zu werden.Heute kostet so ne ARM CPU ca. 10 €, aber schon morgen wird sie nur noch ein paar Cents kosten.
(Und im Zweifelsfall kann man immer noch damit argumentieren, dass du mit verbesserter Integration eben den 8 Bit Chip auf eine noch kleinere Fläche bekommst und noch weniger Material verbrauchst)
Ein MSP430 ist heutzutage inzwischen so groß die der Fingernagel des kleinen Fingers. D.h. der kommt schon in Bereiche vor, bei der die Bestückung zu ner Fummelarbeit wird.
Auch wenn man dafür Maschinen verwendet, so gibt es dennoch eine Mindestgröße.
Die Maschinen sind nämlich nicht in der Lage, im Nanobereich zu bestücken.Also geht man lieber her und integriert die ganzen Technik drumherum, wie Speicheranbindung, DSP etc. in den Chip und bleibt bei etwa der Fingernagelgröße.
Denn eines muß man Bedenken, der Chip braucht auch Datenleitungen nach draußen und deswegen kann man den nicht unendlich Miniaturisieren.Schon die Größe so eines SMD Kondensators ist kaum noch zu erreichen, wenn man über 32 Adressleitungen nach außen leiten muß.
Wobei der Begriff Embedded eh eher schwammig ist. Eine Steuerung für einen Toaster mit sehr hoher Stückzahl ist natürlich was anderes, als die Programmierung einer Settopbox - die die Rechenleistung eines vielleicht 2 Jahre alten PCs bietet. Aber dennoch gibt es Leute für die beides unter die Embeddedprogrammierung fällt.
In der Tat, für mich wäre beides schon Embedded.
Auch diese Switchs mit WLAN Router und Co würde ich schon in den Embeddedbereich zählen.
-
Tim schrieb:
Embedded Progger schrieb:
@ Tim
Auf deinem Niveau diskutiere ich ganz sicher nicht.Und ich geh nicht mit Reinhold Messner Bergsteigen. Go figure.
Tja, dann müßtest du ja auch wissen warum du als Newbie mit mir hier nicht diskutieren mußt.
-
rüdiger schrieb:
Die Rechnung ist auch nicht so einfach. Du kannst ja zum Beispiel nicht einfach die alten Anlagen benutzen um die neue Architektur herzustellen und du musst die Entwicklung bezahlen, die Tests werden komplizierter etc. daher ist eine moderne Architektur teurer...
die entwicklung läuft sowieso ständig weiter. entwicklungskosten und testerei spielen kaum eine rolle. das ist ebenfalls nur 'ne rechnung von angebot, nachfrage, stückzahlen, etc. neue µCs werden anfangs in geringen stückzahlen produziert und brauchen einige teaser fatures, damit sich überhaupt einer dafür interessiert. wenn sie sich etabliert haben (was oft nicht der fall ist), wird die produktion hochgefahren und der preis gesenkt, um konkurrenten zu unterbieten und dadurch noch mehr verkaufen zu können. was glaubt ihr wohl, warum uCs so furchtbar billig sind? weil man kunden fast nur über geringen preis kriegt. ein µC, der z.b. eine eurone teurer ist, als ein anderer, muss viel-viel sinnvolle dinge (die käufer sind nicht doof!) mehr bieten, sonst hat er keine chance.
-
dass ihr euch auch auf jeden flamewar einlasst.
-
Embedded Progger schrieb:
Denn 2 € ist der unterste Preis aller verfügbaren CPUs.
Wo sparst du da mit einem fähigen Entwicklerteam Geld ein?
Ohne CPU können die ja auch nichts anfangen.Es gibt sogar bei Reichelt einen für 0.49€ und das ohne Mengenrabatt. Wie kommst du auf 2€ als fixe unterste Größe?
Embedded Progger schrieb:
daher ist eine moderne Architektur teurer, auch wenn die Integrationsdichte höher ist.
In 10 Jahren ist die aber nicht mehr modern, sondern alt.
Silizium-Kristall wird aus Sand hergestellt. Die Hauptkosten bei Mikrochips liegen in der Entwicklung. Nur um die Herstellung auf einen anderen Chip umzustellen bist du schnell im 4-Stelligen Bereich. Deswegen sind auch die 74er so günstig, weil die nun wirklich sehr sehr langlebig sind. Alte Chips werden immer günstiger und solche, bei denen von Anfang an davon ausgegangen wird, daß sie sehr lange und in hohen Stückzahlen hergestellt werden, sind von vornherein günstig, gegenüber Highend-Chips, die immer auf dem neuesten Stand der Technik sind.
Embedded Progger schrieb:
(Und im Zweifelsfall kann man immer noch damit argumentieren, dass du mit verbesserter Integration eben den 8 Bit Chip auf eine noch kleinere Fläche bekommst und noch weniger Material verbrauchst)
Ein MSP430 ist heutzutage inzwischen so groß die der Fingernagel des kleinen Fingers. D.h. der kommt schon in Bereiche vor, bei der die Bestückung zu ner Fummelarbeit wird.
Auch wenn man dafür Maschinen verwendet, so gibt es dennoch eine Mindestgröße.
Die Maschinen sind nämlich nicht in der Lage, im Nanobereich zu bestücken.Das hat nichts mit der Chipgröße, sondern mit der Gehäusegröße zu tun.
-
Embedded Progger schrieb:
vlad_tepesch schrieb:
Garbage Collector in C++?
D? lol, find mal ein embedded compiler für D.Ja, natürlich.
In C++09 wird der Garbage Collector dabei sein und ich versuche den Thread ja auf die Sicht aus "in 10 Jahren" zu betrachten.Und in 10 Jahren wird es für D bestimmt auch brauchbare Compiler für embedded Chips geben, denn gerade D bietet sich ja für solche Embedded Chips an.
Es hat nicht die Nachteile von C++ oder C, aber ist genauso für die Systemprogrammierung geeignet wie C und bietet darüberhinaus noch eine gute STD API.Nur weil eine Sprache sich, arroganterweise, in das Alphabet hinter C und C++ eingliedert heißt das noch lange nicht, dass sie sich durchsetzen wird, geschweige denn eine "gute" Programmiersprache ist.
-
Heute kostet so ne ARM CPU ca. 10 €, aber schon morgen wird sie nur noch ein paar Cents kosten.
Den Satz finde ich falsch, wäre denn nicht richtiger: Heute kostet der Chip ca. X Euro, aber schon morgen wird er (0.99 *
Euro kosten und übermorgen wird er abgekündigt und überübermorgen nicht mehr produziert ?
Es ist schon richtig, dass man den einen oder anderen Chip billiger und doppelt so viel Speicher für etwas weniger bekommt. Aber gleicht sich denn das nicht irgendwo aus, wenn man bedenkt, dass dabei auch die Anforderungen an die Platine oder allgemein an die Hardware-Entwicklung nicht zu vernachlässigen sind ?
-
Nagila Hawa schrieb:
Embedded Progger schrieb:
Denn 2 € ist der unterste Preis aller verfügbaren CPUs.
Wo sparst du da mit einem fähigen Entwicklerteam Geld ein?
Ohne CPU können die ja auch nichts anfangen.Es gibt sogar bei Reichelt einen für 0.49€ und das ohne Mengenrabatt. Wie kommst du auf 2€ als fixe unterste Größe?
Siehe oben, meine Erklärung wie das mit den 2 Euro zu sehen ist.
Deine 0,49 € gelten also somit als von mir gesagt.Silizium-Kristall wird aus Sand hergestellt. Die Hauptkosten bei Mikrochips liegen in der Entwicklung. Nur um die Herstellung auf einen anderen Chip umzustellen bist du schnell im 4-Stelligen Bereich.
Es läuft aber gar nicht so, daß der eine Hersteller vom einen Chip auf den anderen umstellt, solange der erste noch gut läuft.
Sondern es läuft so, die Konkurrenz bringt einen besseren Chip auf den Markt,
also muß der alteingesessene Hersteller nachziehen und das toppen.
Er kommt also um die Zahlung der 4-Stelligen Bereiche und Neuentwicklungen nicht herum, diese Kosten fallen eh an.Meine Aussage, daß es immer Leistungsfähigere Chips im Embedded Bereich gibt und alte CPUs auf kurz oder lang dadurch verdrängt werden, bleibt also weiterhin unberührt.
Deswegen sind auch die 74er so günstig, weil die nun wirklich sehr sehr langlebig sind. Alte Chips werden immer günstiger und solche, bei denen von Anfang an davon ausgegangen wird, daß sie sehr lange und in hohen Stückzahlen hergestellt werden, sind von vornherein günstig,
Und die schnellen von heute sind in 10 Jahren die alten von Morgen.
Fakt ist aber, daß die Alten Chips selbst über Stückzahlen irgendwann in einen Preis kommen, bei der die reinen Materialkosten schon höher sind.Also darf dieser Preis in der sich die Finanzierung noch lohnt nicht unterschritten werden.
Das dumme ist nur, die Konkurrenz zieht ja mit den Leistungsfähigeren Chips in diesen Markt der Centbeträge nach.
Die 8 Bit CPUs werden also von den 32 Bit CPUs verdrängt.gegenüber Highend-Chips, die immer auf dem neuesten Stand der Technik sind.
Embedded CPUs sind bis auf wenige Ausnahmen eigentlich keine Highe End CPUs.
Embedded Progger schrieb:
Ein MSP430 ist heutzutage inzwischen so groß die der Fingernagel des kleinen Fingers. D.h. der kommt schon in Bereiche vor, bei der die Bestückung zu ner Fummelarbeit wird.
Auch wenn man dafür Maschinen verwendet, so gibt es dennoch eine Mindestgröße.
Die Maschinen sind nämlich nicht in der Lage, im Nanobereich zu bestücken.Das hat nichts mit der Chipgröße, sondern mit der Gehäusegröße zu tun.
Und die Gehäuse kosten auch Geld, auch das verpacken und das Verbinden der Leitungen.
Und Golddraht ist teuer, Aluminium billiger.
Also kann man nach außen hin nicht auf ewig die Die Fläche verkleinern.
-
abc.w schrieb:
Heute kostet so ne ARM CPU ca. 10 €, aber schon morgen wird sie nur noch ein paar Cents kosten.
Den Satz finde ich falsch, wäre denn nicht richtiger: Heute kostet der Chip ca. X Euro, aber schon morgen wird er (0.99 *
Euro kosten und übermorgen wird er abgekündigt und überübermorgen nicht mehr produziert ?
Es ist schon richtig, dass man den einen oder anderen Chip billiger und doppelt so viel Speicher für etwas weniger bekommt. Aber gleicht sich denn das nicht irgendwo aus, wenn man bedenkt, dass dabei auch die Anforderungen an die Platine oder allgemein an die Hardware-Entwicklung nicht zu vernachlässigen sind ?Nun die Technik in der Platinenbestückung wächst ja mit.
Schon heute macht man das alles via SMD, MLPQ, QFN usw. Bestückung,
die SMD Bestückung gibt es schon seit über 25 Jahren.
Und die Anlagen sind schon heute alle automatisiert und hochoptimiert und natürlich auch schon lange in den Firmen vorhanden.
Die alten SMD Bestückungsplatinen von vorgestern wurden in den relevanten Betrieben schon alle durch neue ersetzt und die kommen auch mit den besseren CPUs und Taktraten klar.Das einzige was komplexer ist, ist die Verlegung der Leiterbahnen.
Denn man muß hier ja die Taktrate und Störeinflüsse besonders berücksichtigen,
aber wir hatten doch schon am Anfang das Thema, daß es sich bei den hohen Stückzahlen durchaus rechnen kann, da ein paar Diplom Elektroniker an den Leiterbahnendesigns tüfteln zu lassen.
-
Hacker23 schrieb:
...die anderen sprachen sind einfach zu hässlich...
Wer so einen Quark schreibt, ist garantiert in überhaupt keinem Bereich TÄTIG.
-
Embedded Progger schrieb:
Meine Aussage, daß es immer Leistungsfähigere Chips im Embedded Bereich gibt und alte CPUs auf kurz oder lang dadurch verdrängt werden, bleibt also weiterhin unberührt.
µCs kommen und gehen. trotzdem besteht immer ein bedarf an low-end controllern. nach deiner logik dürfte es seit jahrzehnten keine fahrräder mehr geben, weil motorisierte fahrzeuge im handel sind.
-
~fricky schrieb:
µCs kommen und gehen. trotzdem besteht immer ein bedarf an low-end controllern. nach deiner logik dürfte es seit jahrzehnten keine fahrräder mehr geben, weil motorisierte fahrzeuge im handel sind.
Nein, denn du machst ja einen Äpfel Birnen vergleich.
Aber es gibt in der Tat keine Autos mehr, die nur 80 km/h schnell sind.
Da habe ich also schon recht.Selbst ein Gold schaft heute locker > 190 Sachen, das war früher noch undenkbar.
-
Ich kenne das Thema nur aus dem Hobby-Robotik-Bereich. Dort habe ich selbst den Nibo (Zentralprozessor: ATmega128 mit 4096 Bytes SRAM ) versuchsweise in C++ programmiert, um das State Pattern Design für die Navigation umzusetzen. Allerdings ist das wirklich nur ein modulares C mit Klassen. Es gibt noch kein echtes new und delete und Probleme bei "pure virtual" (siehe den absolut richtigen Kommentar von Volkard weiter vorne).
Umgehungen:
// Hilfskonstruktionen // // pure virtual wird dennoch ausgeführt: extern "C"{ void __cxa_pure_virtual() {} } // // Ersatz für new, new[], delete und delete[] der fehlenden C++-Standard-Bibliothek void* operator new (size_t size) { return malloc(size); } void* operator new[] (size_t size) { return malloc(size); } void operator delete (void* ptr) { free(ptr); } void operator delete[] (void* ptr) { free(ptr); } //
Die C++-Schlüsselwörter new/delete werden durch das klassische malloc/free aus C ersetzt und für den ins Leere führenden Aufruf der Funktion __cxa_pure_virtual() schafft man einfach eine Sprungmarke mit einem leeren Rumpf.
Wen es genau interessiert: http://www.henkessoft.de/Roboter/Nibo.htm (unteres Drittel)
Gegenüber einer Realisierung in C bieten sich die bekannten Vorteile der Objektorientierung. Auf Dauer wird sich ein "C mit Klassen" in einigen Bereichen vielleicht durchsetzen. Für den Nibo gibt es auch eine JavaVM. Aber zur Zeit alles nur Spielerei.
Es war für mich allerdings ziemlich schwierig das Ganze zu realisieren, da man kaum Unterstützung im C++-Bereich findet, z.B. makefile, obige Umgehungen, ... .
Hier zwei Links zu dem Thema:
http://www.mikrocontroller.net/topic/23923
http://www.roboternetz.de/phpBB2/viewtopic.php?p=349094
-
@Embedded Progger
Die Anlagen bei der Prozessorherstellung veralten wirklich schnell. Aber nur wenn man Highendchips produziert. Intel und AMD müssen ja regelmäßig ihre Fabriken umbauen. Aber das gilt eben nur für Highendchips und die sind für den Embeddedbereich ja eh eher uninteressant. Die brauchen halt viel Leistung und eine nicht so einfache Infrastruktur. Hinzu kommt, dass die Anlagen ja ständig umgebaut werden. Es würde mich wundern, wenn Intel die Anlagen für ihre Highendchips 10 Jahre behält.Und die Highendchiphersteller sind ja auch daran interessiert, dass die alten Chips nicht mehr hergestellt werden. Angenommen du könntest eine 2 Jahre Intel CPU für 1/100 des Preise kaufen. Dann wären 95% des PC Marktes damit doch zufrieden. Die würden sich ja einfach nur ihren eigenen Markt zerstören.
Und die Anlagen für die üblichen µCs werden ja nicht geändert. Die sind ja idr abbezahlt und daher ist es möglich die Kosten derart niedrig zu halten. µC Hersteller planen da sicher anders, als jemand der einen Highendchip herstellt.
Natürlich gibt es auch im Embeddedbereich immer leistungsfähigere Chips, so wie sie zB ARM herstellt. Aber das liegt nicht daran, dass sie einfach alte Anlagen nutzen um Embeddedchips herzustellen, sondern daran, dass es eben einen entsprechenden Leistungsbedarf gibt. Settopboxen, Handhelds, Handies etc. verlangen ja entsprechende Rechenpower. Aber man würde so etwas eben doch nicht in einen Toaster einbauen (außer der Toaster ist eine Settopbox mit Toasterfunktion ;)). Und die 32 Bit ARM CPUs sind ja auch teurer als ein üblicher 8Bit µC und ARM hat ja auch Interesse daran, den Preis hochzuhalten! In 10 Jahren werden die die Dinger nur günstiger verkaufen, wenn der Markt das erfordert!
Daher dürfte der Fall, dass man eine leistungsfähigere Architektur zu den gleichen (oder besseren) Konditionen, wie eine schlechtere Architektur bekommt, nur sehr selten geben. Selbst wenn die Kosten der Hardware vergleichbar sind und die Leistungsdaten stimmen, dann kommt ja wieder die Frage der Entwicklungskosten hinzu und da dürfte es im Endeffekt dann doch wieder günstiger sein, einen alten Hasen einzustellen, der die alte Hardware absolut kennt, als jemanden für die neue Architektur zu finden.
-
rüdiger schrieb:
@Embedded Progger
Die Anlagen bei der Prozessorherstellung veralten wirklich schnell. Aber nur wenn man Highendchips produziert. Intel und AMD müssen ja regelmäßig ihre Fabriken umbauen. Aber das gilt eben nur für Highendchips und die sind für den Embeddedbereich ja eh eher uninteressant.Eigentlich baut nur AMD ihre Fabriken um.
Die großen finanzkräftigen Konzerne wie Intel oder Texas Instruments, sowie diese TMC? (habe den Namen vergessen, ich meine die, die für Nvidia die GPU fertigen) rüsten die Fabriken nicht um, sondern bauen einfach neue
und die alten Fabriken produzieren dann halt das Low Level Zeugs bzw. eben die alten CPU Generationen bzw. gute schnelle aber günstige Embedded Chips.Eine Fabrik von 200 mm Wavern auf 300 mm Wavern umzurüsten kostet nämlich einfach Geld, weil die Fabrik in der Zeit der Umstellung dann still steht und nichts produziert.
Deswegen ist es besser, für die neuen High End CPUs einfach komplett neue Fabriken zu bauen während die alten Fabriken weiterhin ausgelastet bleiben.
Und wenn der Firma nichts einfällt, was sie mit der alten Fabrik machen soll,
dann verkauft sie diese eben an einen anderen Chipmanufaktor der sich vielleicht auf Low Level Billig Chips konzentriert hat.
Umgerüstet wird allerhöchsten noch im kleinen, aber die großen Umbauten wie man sie bei AMD kennt, gibt es bei den großen Chipriesen eigentlich nicht.
Denn die können es sich locker leisten komplett neue Fabriken zu bauen, AMD kann das nicht und AMD kommt ja nichtmal mit der Produktion nach, die brauchen also noch viel mehr neue moderne Chipfabriken.Die brauchen halt viel Leistung und eine nicht so einfache Infrastruktur. Hinzu kommt, dass die Anlagen ja ständig umgebaut werden. Es würde mich wundern, wenn Intel die Anlagen für ihre Highendchips 10 Jahre behält.
Siehe oben.
Und ja, soviel ich weiß produziert Intel noch 386er CPUs auf ein paar ihrer Altanlagen.
Natürlich nicht mehr für den PC Konsumermarkt, aber eben halt für die Industrie.Und die Highendchiphersteller sind ja auch daran interessiert, dass die alten Chips nicht mehr hergestellt werden. Angenommen du könntest eine 2 Jahre Intel CPU für 1/100 des Preise kaufen. Dann wären 95% des PC Marktes damit doch zufrieden. Die würden sich ja einfach nur ihren eigenen Markt zerstören.
Nein, denn schnelle CPUs kann man nicht oft genug haben.
Wenn das was du sagst stimmen würde, dann würden die ganzen Konsumenten bei ihren alten CPUs bleiben.
Tun sie aber nicht, denn die wollen und kaufen neue schnellere CPUs.Und die Anlagen für die üblichen µCs werden ja nicht geändert. Die sind ja idr abbezahlt und daher ist es möglich die Kosten derart niedrig zu halten. µC Hersteller planen da sicher anders, als jemand der einen Highendchip herstellt.
Eben, die alten 386er Fabriken sind ja schon abbezahlt, aber dennoch produziert man auf diesen keine lahmen 8 Bit CPUs sondern die schnelleren 32 Bit CPUs, einfach weil die Anlagen es hergeben.
Natürlich gibt es auch im Embeddedbereich immer leistungsfähigere Chips, so wie sie zB ARM herstellt. Aber das liegt nicht daran, dass sie einfach alte Anlagen nutzen um Embeddedchips herzustellen,
Doch, genau daran liegt es.
Denn die heutigen ARM CPUs sind nicht umsonst nur bei maximal 600 MHz Takt,
sondern weil die alten Anlagen aus den 1 GHz Zeiten der x86 Reihe (übrigens das ist auch schon wieder 8 Jahre her!) nichts besseres produzieren können, wenn man auch Strom sparen will.Würde man diese ARM CPUs aber auf modernen Anlagen in 45 nm Technik herstellen,
(was man noch nicht tut), dann könnte der Takt vielleicht schon locker für diese Stromspar CPUs bei 1,2 GHz liegen.Es werden also für die ARM CPUs sehr wohl Altanlagen verwendet.
Nur sind die natürlich noch lange nicht so alt, wie z.b. für den MSP430.
Da sind die Anlagen etwa 8 weitere Jahre noch älter.Aber die 8 Bit CPUs, von denen ihr die ganze Zeit sprecht, da sind die Anlagen schon 30 Jahre alt und irgendwann rechnen sich die Produktionskosten dieser lahmen 8 Bit Chips nicht mehr, wenn der MSP430 auf den ebenfalls schon abbezahlten > 16 Jahre alten Fabriken gleich günstig produziert werden kann.
Und in 5 Jahren dürfte es für den so weit sein.
Und die ersten ARM CPUs werden dann in 9-10 Jahren ebenfalls nachziehen.
Natürlich nicht zu den 600 MHz Taktrate, denn das ist ja die heutige SPitzenleistung der ARM CPUs, sondern eben zu den bewährten Taktraten von vielleicht 66 MHz, die sich schon heute seit über 8 Jahren bewährt haben und jetzt nur noch im Preis fallen werden bis sie für ein paar Cent zu haben sind.Sondern daran, dass es eben einen entsprechenden Leistungsbedarf gibt. Settopboxen, Handhelds, Handies etc. verlangen ja entsprechende Rechenpower. Aber man würde so etwas eben doch nicht in einen Toaster einbauen (außer der Toaster ist eine Settopbox mit Toasterfunktion ;)).
Wie ich schon sagte, wenn du die Wahl hast, zwischen einer 32 Bit und einer 8 Bit CPU, bei gleichem Preis, dann wirst du als Kunde das leistungsfähigere Produkt wählen, auch dann, wenn du nur Toaster bauen willst.
Und die 32 Bit ARM CPUs sind ja auch teurer als ein üblicher 8Bit µC
Ja, jetzt, aber wie oft muß ich hier noch sagen, daß es in 10 Jahren nicht mehr so sein wird.
Dann wirst du auch die 66 MHz ARM Versionen für <1 € nachgeschmissen bekommen und die sind dann halt schon deutlich schneller als die 8 Bit CPU aus dem Jahre 1980.und ARM hat ja auch Interesse daran, den Preis hochzuhalten!
Nein, denn das ist ja nicht nötig.
Denn die High End ARM CPUs werden immer nötig sein.
Heute sind es 400-600 MHz in der High End Klasse, die Midrange Preisklasse liegt bei 66 - 400 MHz,
aber schion sind es in der High End Klasse 800-1600 MHz,
die High End Klasse von Heute rutscht dann in die Midrange Preisklasse,
das werden also die 400-600 MHz schnellen CPUs sein und die Midrange Preisklasse von Heute werden in den Centbereich abrutschen.Beim MSP430 kann man das schon beobachten.
Vor kurzem war der noch Midrange im Embedded Bereich, aber er wird von Jahr zu Jahr billiger und landet bald im Centbereich.In 10 Jahren werden die die Dinger nur günstiger verkaufen, wenn der Markt das erfordert!
Da Leistungsfähige Cent CPUs wieder völlig neue Möglichkeiten erschließen lassen, wird es immer einen Markt geben.
Selbst wenn die Kosten der Hardware vergleichbar sind und die Leistungsdaten stimmen, dann kommt ja wieder die Frage der Entwicklungskosten hinzu und da dürfte es im Endeffekt dann doch wieder günstiger sein, einen alten Hasen einzustellen, der die alte Hardware absolut kennt, als jemanden für die neue Architektur zu finden.
Die alten Hasen leben oder arbeiten auch nicht ewig.
Und mit den schnelleren Cent CPUs erschließt man neue Möglichkeiten.
-
Im µC- und Robotikbereich benötigt man auf Dauer auch normierte Schnittstellen, um nicht jedes Mal 90-95% Basics wieder von vorne programmieren zu müssen. Das war ja einer der großen Vorteile bei MS Windows gegenüber DOS, wenn man da mal an Sound, Grafik oder Input denkt. Ein typischer Versuch dieser Art ist MS Robotics Studio, das momentan natürlich noch belächelt wird, langfristig aber den richtigen Weg weist. C++, Java, Betriebssysteme werden sich - analog der PC-Entwicklung - im embedded-Bereich ihren Weg bahnen, aber das braucht Zeit. Lohnt sich natürlich nur bei innovativen Bereichen und nicht im Low-Cost-Sector.
-
Die ganze Diskussion dreht sich bisher um uC und CPUs. Was ist mit den programmierbaren Logikbausteinen, FPGAs und CPLDs? Ich denke, man müsste hier noch erwähnen, in Zukunft gibt es neben C++ oder Java auch noch VHDL und Verilog oder gar SystemC...
-
abc.w schrieb:
Die ganze Diskussion dreht sich bisher um uC und CPUs. Was ist mit den programmierbaren Logikbausteinen, FPGAs und CPLDs? Ich denke, man müsste hier noch erwähnen, in Zukunft gibt es neben C++ oder Java auch noch VHDL und Verilog oder gar SystemC...
Wieso in Zukunft? Verilog und VHDL sind viel älter als Java.
Außerdem sind es Hardwarebeschreibungssprachen, die sich C++ oder gar Java schlecht vergleichen lassen.
-
tfa schrieb:
abc.w schrieb:
Die ganze Diskussion dreht sich bisher um uC und CPUs. Was ist mit den programmierbaren Logikbausteinen, FPGAs und CPLDs? Ich denke, man müsste hier noch erwähnen, in Zukunft gibt es neben C++ oder Java auch noch VHDL und Verilog oder gar SystemC...
Wieso in Zukunft? Verilog und VHDL sind viel älter als Java.
Außerdem sind es Hardwarebeschreibungssprachen, die sich C++ oder gar Java schlecht vergleichen lassen.Ok, sie lassen sich schlecht vergleichen. Aber ich denke, man darf die Diskussion nicht nur auf C++ und Java beschränken. Vielleicht werden in Zukunft im Embedded Bereich nur die FPGAs dominieren. Die ganzen C++ oder Java Programme werden nach VHDL übersetzt und die ganzen Projekte ausschließlich in VHDL/Verilog "programmiert"... Was heisst denn "Verilog und VHDL sind viel älter als Java"?
-
abc.w schrieb:
Ok, sie lassen sich schlecht vergleichen. Aber ich denke, man darf die Diskussion nicht nur auf C++ und Java beschränken. Vielleicht werden in Zukunft im Embedded Bereich nur die FPGAs dominieren. Die ganzen C++ oder Java Programme werden nach VHDL übersetzt und die ganzen Projekte ausschließlich in VHDL/Verilog "programmiert"...
Ja, aber warum? Ich glaube nicht, dass das so einfach möglich ist. Außerdem wäre sehr viel teurer als bei einer "Mainstream"-Sprache wie C++ oder Java zu bleiben. Hardwarebeschreibungssprachen sind doch sehr anders.
Was heisst denn "Verilog und VHDL sind viel älter als Java"?
Sie wurden früher erfunden als Java, so ca. 10-12 Jahre