Forum: Mikrocontroller und Digitale Elektronik Mikro-Controller vs. -Prozessor


von Programmierer (Gast)


Lesenswert?

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

von Herbi (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von Joerg W. (joergwolfram)


Lesenswert?

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.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

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.

von Steffen K. (botnico)


Lesenswert?

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.

von Joachim (Gast)


Lesenswert?

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ß

von georg (Gast)


Lesenswert?

"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

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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
von georg (Gast)


Lesenswert?

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

von Programmierer (Gast)


Lesenswert?

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.

von Herbi (Gast)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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
von Joachim (Gast)


Lesenswert?

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

von Steffen K. (botnico)


Lesenswert?

Heute ist das Unterscheidungskriterium die MMU.
CPU: Mit MMU.
MCU: Ohne MMU.

Linux, Windows, ... benötigen eine MMU.

von S. R. (svenska)


Lesenswert?

Steffen K. schrieb:
> Linux, Windows, ... benötigen eine MMU.

Linux läuft auch ohne MMU (früher uClinux).
Windows CE lief auch ohne MMU. :-)

von Andreas M. (amesser)


Lesenswert?

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.

von Herbi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.