Hallo zusammen, wie kann es eigentlich sein dass komplette Mikroprozessoren (MPU) à la Cortex-A günstiger sind als die ja eigentlich kleineren Mikrocontroller (MCU)? Beispielsweise bekommt man einen TI AM3352 Cortex-A8 mit 1GHz und einer Unmenge an Peripherie für ca. 8$, während ein STM32F7 mit 200MHz 12€ aufwärts kostet. Bei Rockchip bekommt man GHz-Quadcores für 5$ während manche Händler mehr für einen AVR verlangen! Es hängt natürlich stark davon ab wo man kauft, aber irgendwie stehen Preis-Leistung in keinem Verhältnis. Wenn man dann z.B. hier [1] liest dass man immer MCU's bevorzugen soll und hier [2] dass MCU's billiger sein sollen verstehe ich nicht wie das zusammen passt. Für sehr einfache Steuerungs-Aufgaben, bei denen ein 8-Bitter reicht sind diese noch billiger, aber sobald es um Grafik, Netzwerk, viel Speicher (SDRAM) geht scheint man mit MPU's allein aus Preisgründen besser dran zu sein. Wozu werden Controller wie der STM32F7 überhaupt hergestellt, wenn es billigere und leistungsfähigere MPU's gibt? Kann der Preisunterschied wirklich nur an den Stückzahlen liegen - schließlich werden MCU's vermutlich in noch größeren Mengen verkauft? 1: https://predictabledesigns.com/microcontroller-or-microprocessor-which-is-right-for-your-new-product/ 2: https://electronics.stackexchange.com/q/167524
>wie kann es eigentlich sein dass komplette Mikroprozessoren (MPU) à la >Cortex-A günstiger sind als die ja eigentlich kleineren Mikrocontroller >(MCU)? Das hängt im wesentlichen von den verkauften Stückzahlen und dem Käufer ab. Wenn Du eine Million F7 kaufst, kriegst Du die bestimmt auch unter 5€. Außerdem ist die Entwicklung eins Chips extrem teuer. Ich schätze mal, dass die Entwicklung eines F7 mindestens 10Mio kostet. Falls nur eine Mio davon verkauft wird, muss auf jeden Chip mindestens 10€ Entwicklungskosten drauf geschlagen werden.
Ich denke auch, es liegt hauptsächlich an den Stückzahlen. Und sicher wird der Hersteller auch so viel Geld einnehmen, wie er kann. Solange alle vergleichbaren Mikrocontroller x Euro kosten, wird er für seinen wohl auch x Euro verlangen, egal wie hoch die tatsächlichen Produktionskosten sind. Dennoch haben die kleinen Mikrocontroller in gewissen Anwendungsbereichen Vorteile gegenüber den großen, deswegen gibt es sie noch: 1) Sie sind kleiner 2) Sie nehmen weniger Strom auf 3) Ihre Ausgänge sind höher belastbar 4) Ihre Programmierung ist einfacher, und damit billiger 5) Sie haben potentiell weniger Fehler 6) Sie funktionieren zuverlässiger All dies sind auch Gründe für einen gewissen Aufpreis. Man könnte die Liste sicher noch fortsetzen. Und ja, es gibt für jeden Punkt Gegenbeispiele.
Zum einen geht es um die genannten Stückzahlen, aber ein ganz wesentlicher Aspekt wurde noch nicht genannt. Halbleiterprozesse für Logik und Flash unterscheiden sich teilweise erheblich, auch wenn natürlich auch in einem Flash-Baustein Logikzellen z.B. für Adressdekoder, Latches usw. benötigt werden. Bei MCU muss man aber "viel" Logik mit "viel" Flash unter einen Hut bringen, was dementsprechend aufwändigere Halbleiterprozesse bedingt. Und das erhöht die Zahl der Prozessschritte und senkt die Fertigungsausbeute. Im ST32F7 befindet sich ein Boot-ROM. Dieses wird vermutlich als Masken-ROM vorliegen, d.h. es verhält sich prozesstechnisch wie Logik. Statisches RAM ist kompatibel zu auf Logik optimierte Prozesse; bei dynamischem RAM sieht das ggf. schon wieder anders aus, was man z.B. daran sieht, dass bisher noch kein Hersteller eine CPU mit großem internen DRAM auf den Markt gebracht hat. Gerade bei Low-Cost-Büro-PCs und Notebooks könnte man sehr viel Platz usw. sparen, wenn man x86 mit z.B. 4GB RAM kombinieren würde. Aber offenbar wäre solch ein Halbleiterprozess teurer als die Kostenersparnis bei der Montage.
Zwischen "sehr einfache Steuerungs-Aufgaben" und "Grafik, Netzwerk, viel Speicher" gibt es noch eine ganze Menge Platz für Mikrocontroller aller Couleur. Außerdem, ohne Bootmedium und externes RAM wirst Du mit so einem Prozessor nicht viel anfangen können, ganz abgesehen vom "Leiterplattenaufwand", da ist nix mehr mit zweilagig. Und integriertes Flash (der dem Prozessor fehlt) braucht m.W.n. zusätzliche Prozessschritte bei der Herstellung, die sich mit anderen Technologien (z.B. Analog) auf dem gleichen Chip etwas beissen.
Andreas S. schrieb: > Im ST32F7 befindet sich ein Boot-ROM. Dieses wird vermutlich als > Masken-ROM vorliegen, d.h. es verhält sich prozesstechnisch wie Logik. Laut ST ist es kein Masken-ROM. Aus AN2606 (STM32 microcontroller system memory boot mode): "The bootloader is stored in the internal boot ROM memory (system memory) of STM32devices. It is programmed by ST during production." Ich denke, dass es sich dabei um geschützte Flash-Bereiche handelt - was durchaus sinnvoll ist, da es später einfache Änderungen erlaubt.
Flash und RAM brauchen massig Chipfläche und machen damit den Chip teuer. Die genannte CPU AM3352 hat neben üppigen Caches (die auch RAM sind) gerade mal 64K On-Chip RAM. Zusammen mit den Caches sind das insgesamt 384K RAM und 176K On-Chip Boot-ROM (vermutlich Flash). Der STM32F7 hat mindestens 256 RAM und 256K Flash. Ein Derivat mit dieser Speichergröße ist der STM32F722RCT6 und kostet bei DK derzeit 4,96984€/960. Ein STM32F765IIK7 mit 2MB Flash und 512K RAM kostet bei DK derzeit 9,02264€/1008. Die Zukunft bei den embedded-CPUs ist wohl ein wenig On-Chip Flash, damit jeder sein eigenes Secure-Boot implementieren kann, der Rest ist encryptet im QSPI-Flash gespeichert und wird beim booten ins DDR4-SDRAM geschrieben.
Programmierer schrieb: > wie kann es eigentlich sein dass komplette Mikroprozessoren (MPU) à la > Cortex-A günstiger sind als die ja eigentlich kleineren Mikrocontroller > (MCU)? Das liegt großteils am Smartphone-Markt. Hunderte Millionen, wenn nicht sogar Milliarden Stückzahlen wirken sich auf den Preis aus. Gäbe es keine Smartphones und Tablets, gäbe es auch keine Raspberrys oder Beaglebones für 20-30 Euro. Für die Mikrokontroller spricht aber dass sie noch im TQFP-Gehäuse verfügbar sind und sich einfacher programmieren lassen. Die Peripherie der Mikrokontroller ist vielseitiger (SPI, UART, CAN, Timer, A/D-D/A) während die Prozessoren eher auf Multimedia (Grafik, Video, Kamera, Audio, USB, Netzwerk) ausgelegt sind. Verglichen mit einem STM32H ist die Peripherie eines Raspberyy Pi eher spartanisch. Gruß
"Prozessoren" ist ja eigentlich die Bezeichnung für CPU-ICs wie 8051, Z80 bis hin zu 8086, Pentium usw. denen man extern ROM, RAM und Peripherie-ICs zufügen musste, um ein funktionsfähiges Gerät zu erhalten. In diesem Sinn gibt es Prozessoren nur noch auf PC-Mainboards, und auch da ist schon so einiges integriert, was früher in Zusatz-ICs enthalten war. Im Embedded-Bereich gibt es nur noch komplette Controller, die auch allein für sich schon funktionsfähig sind und im Idealfall alle Peripherei enthalten, die für den Anwendungszweck gebraucht wird. Mir ist nicht klar, wo genau der TO hier einen Unterschied zwischen Controllern und Prozessoren macht. Es gibt einfach nur ein riesiges Spektrum von kleinsten Chips mit nur dem notwendigsten bis zu umfangreichen Systemen mit mehr Funktionen als man je brauchen wird. Chips die einen externen Programmspeicher brauchen gibt es kaum noch. Und natürlich hängt der Preis nicht nur von der Anzahl der Transistoren und der Die-Grösse ab, sondern auch von den produzierten Stückzahlen. Georg
georg schrieb: > Mir ist nicht klar, wo genau der TO hier einen Unterschied zwischen > Controllern und Prozessoren macht. Vermutlich meinte er SoC und normaler Microcontroller^^ ;)
georg schrieb: > Chips die einen externen Programmspeicher brauchen gibt es kaum noch. Das erzähle mal den Herstellern und Nutzern der meisten x86-Prozessoren sowie den Smartphoneherstellern. Welche vollintegrierten Prozessoren/Controller mit mehr als 2MB Flash und 2MB RAM kennst Du denn? Bei den "ganz großen Prozessoren", z.B. Intel Core-<irgendwas> oder IBM Power gibt es zwar teilweise zig MB an vermutlich statischem RAM, welches aber als Cache dient und nur einen Tropfen auf den heißen Stein des extern angeschlossenen DRAMs mit etlichen GB bis TB darstellt. Wenn es nur darum geht, große Mengen an Bildern, Videos o.ä. abzulegen, werden wiederum seriell (SPI o.ä.) angebundene NAND-Flashes eingesetzt.
Andreas S. schrieb: > Das erzähle mal den Herstellern und Nutzern der meisten x86-Prozessoren > sowie den Smartphoneherstellern. Welche vollintegrierten > Prozessoren/Controller mit mehr als 2MB Flash und 2MB RAM kennst Du > denn? Viele SoCs von Smartphones und Tablets haben das RAM zwar nicht auf dem gleichen Die, aber genau wie beim Raspberry auf dem gleichen Baustein drauf. Damit ist der gesamte für Programme direkt nutzbare Speicher auf dem Baustein. Das ist nicht weit weg vom STR9 Mikrocontroller mit RAM intern und Flash huckepack.
:
Bearbeitet durch User
Andreas S. schrieb: > Das erzähle mal den Herstellern und Nutzern der meisten x86-Prozessoren georg schrieb: > In diesem Sinn gibt es Prozessoren nur noch auf PC-Mainboards Lesen ist halt doch schwierig, oder zumindest viel zu mühsam. Georg
Joachim schrieb: > Für die Mikrokontroller spricht aber dass sie noch im TQFP-Gehäuse > verfügbar sind und sich einfacher programmieren lassen. Das ist aber bei größeren Serien relativ egal. Joachim schrieb: > Die Peripherie der Mikrokontroller ist vielseitiger (SPI, UART, CAN, > Timer, A/D-D/A) Viele Cortex-A haben von diesen Schnittstellen eine ganze Menge. Nur ADC's sind eher rar. georg schrieb: > Mir ist nicht klar, wo genau der TO hier einen Unterschied zwischen > Controllern und Prozessoren macht. Typischerweise zwischen Cortex-A und Cortex-M. Oder zwischen denen die man ohne OS nutzen kann bzw. auf denen normale OSe nicht gut laufen (-M) und denen für die man Linux braucht (-A) weil es viele Treiber nur dafür gibt (gern auch als Binary-Blob). georg schrieb: > Es gibt einfach nur ein riesiges > Spektrum von kleinsten Chips mit nur dem notwendigsten bis zu > umfangreichen Systemen mit mehr Funktionen als man je brauchen wird. Und warum gibt es in der Mitte des Spektrums - beim Übergang zwischen Cortex-M und -A - so einen riesigen Sprung im Preis-Leistungs-Verhältnis? Joachim schrieb: > Das liegt großteils am Smartphone-Markt. > Hunderte Millionen, wenn nicht sogar Milliarden Stückzahlen wirken sich > auf den Preis aus. Sowas wie der TI AM335x ist nicht wirklich für Smartphones geeignet (zu wenig Leistung), eher für Industrie-Anwendungen (Unterstützung für Feldbusse); der ist aber trotzdem ziemlich billig. Mikrocontroller werden ja auch in riesigen Mengen verkauft, die sind ja auch überall drin. Die beste Erklärung ist die, dass RAM & Flash teuer sind. Wenn man aber eine Anwendung hat die davon so viel braucht, dass externe Speichermodule sowohl bei MPU als auch MCU erforderlich sind, scheinen MPU's (ohne internen Speicher) im Endeffekt billiger zu sein.
Der Aufwand für den Hersteller hängt auch von der Fertigungstechnik ab, mit der der Chip hergestellt wird. Üblicherweise werden die Massenchips mit kleinsten Strukturbreiten und neuesten Maschinen hergestellt. Die alten Fertigungslinien werden Chips, die in kleineren Stückzahlen laufen verwendet. Kleine Strukturbreite heißt wenig Flächenverbrauch, mehr Chips pro Wafer und damit kleiner Kosten pro Chip. Deshalb wurde der Pizza-Wafer ( ich glaube 30cm Durchmesser ) und starke UV-Belichtung für kleine Strukturbreiten eingeführt. Normalerweise hat Intel die modernsten Fertigungslinien mit denen sie die kleinsten Strukturen und die höchsten Taktfrequenzen erreichen. Viele andere Herstelle nutzen externe Dienstleister wie TSMC, deren Technologie natürlich dann auch den Konkurrenten zur Verfügung steht.
Herbi schrieb: > Üblicherweise werden die Massenchips mit kleinsten Strukturbreiten und > neuesten Maschinen hergestellt. Nicht die Massenchips, sondern die Highend-Chips. Es werden sehr viel mehr simple Standard-ICs hergestellt, als x86-Prozessoren oder Grafikchips. > Die alten Fertigungslinien werden Chips, > die in kleineren Stückzahlen laufen verwendet. Und für die Fertigung alter und neuer Massenchips, die für ebendiese Fertigung konstruiert wurden. > Kleine Strukturbreite heißt wenig Flächenverbrauch, mehr Chips pro Wafer > und damit kleiner Kosten pro Chip. Neue Anlagen bedeuten aber auch geringere Ausbeute, hohe Anlagenabschreibung und eine Nachfrage, die höher ist als das Angebot. Das treibt den Preis nach oben. Weshalb auch schnelle und neue Chips nur dann auf neuesten Anlagen produziert werden, wenn das von der Funktion her erforderlich ist. So sind die Support-Chips ("Chipsatz") für PC-Mainboards zwar oft genauso neu wie deren Prozessoren, bei gleicher Stückzahl wie diese, verwenden aber eine wesentlich ältere Fertigungstechnik.
:
Bearbeitet durch User
georg schrieb: > "Prozessoren" ist ja eigentlich die Bezeichnung für CPU-ICs wie 8051, > Z80 bis hin zu 8086, 8051 aber nicht. Das war eine der erfolgreichsten Mikrocontrollerserien überhaupt. Gruß Joachim
Heute ist das Unterscheidungskriterium die MMU. CPU: Mit MMU. MCU: Ohne MMU. Linux, Windows, ... benötigen eine MMU.
Steffen K. schrieb: > Linux, Windows, ... benötigen eine MMU. Linux läuft auch ohne MMU (früher uClinux). Windows CE lief auch ohne MMU. :-)
Steffen K. schrieb: > Heute ist das Unterscheidungskriterium die MMU. > CPU: Mit MMU. > MCU: Ohne MMU. > > Linux, Windows, ... benötigen eine MMU. Das stimmt so nicht. Eine (natürlich abgespeckte) version des linux kernels kann auch ohne MMU: https://www.kernel.org/doc/Documentation/nommu-mmap.txt Natürlich muss man dann mit malloc und Konsorten aufpassen wegen Memory Fragmentation. Aber für Minimalsysteme durchaus geeignet.
Vielleicht muss man noch einwerfen, dass der Mikrocontrollermarkt ziemlich umkämpft ist. Einige Firmen werden vielleicht vom Markt verschwinden und andere neue versuchen Anteile zu erkämpfen. Das kann auch zu Marketingpreisen führen, bei denen man am Anfang mit Verlusten verkauft in der Erwartung später hohe Stückzahlen zu erzielen. Fazit ganz allgemeine: Der Preis eines Mikrocontrollers ist von vielen Faktoren abhängig. Speicher und Rechengeschwindigkeit sind beileibe nicht alle Kriterien.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.