Welchen Platz haben 8- und 16-Bit-Mikrocontroller? Warum hat sich 32-Bit nicht durchgesetzt?

Was ist der tatsächliche Grenzwert in Bezug auf den Kompromiss zwischen Kosten und Leistung bei der Auswahl von 32-Bit-Mikrocontrollern?

Mit anderen Worten, warum verwenden wir angesichts des Aufstiegs und der Dominanz von ARM-Architekturen immer noch 8-Bit- und 16-Bit-Mikrocontroller? Sind sie immer noch viel billiger?

Ich verstehe, dass sehr Low-End-Geräte nicht die Ressourcen benötigen, die größere und komplexere Architekturen bieten. Was ist jedoch die wirkliche Motivation, sie dennoch zu verwenden, wenn sich die Kosten in Richtung der gleichen Spanne zu bewegen scheinen?

Energieverbrauch?
Der billigste 32-Bit-µC auf Digikey, den ich sehe, kostet etwa 0,64 $, der billigste 8-Bit kostet 0,35 $. Wenn Sie ein großes Unternehmen sind, das eine Million einfacher Widgets erstellen wird, ist das ein sehr großer Unterschied.
@LeonHeller Auf den ersten Blick stimme ich eher zu, aber schau dir den Punkt an, den ich in den Kommentaren der vorgeschlagenen Antwort gemacht habe.
Selbst die Massenpreise bei DigiKey zu betrachten, ist kein brillanter Leitfaden, denn wirklich winzige Mikros in kleinen Embedded-Anwendungen mit geringem Stromverbrauch, die in Massenproduktion hergestellt werden, kauft niemand bei DigiKey, und die Chancen stehen gut, dass sie Chips kaufen, um nicht festzuhalten ein Chipgehäuse zum Auflöten auf eine Platine. Ein 8-Bit-Mikro wird immer kleiner, einfacher und daher billiger und stromsparender sein als ein 32-Bit-Micro mit gleichwertiger Konstruktion. Ja, die Marge sinkt für viele Menschen bis zur Bedeutungslosigkeit, aber in Massenmengen ist es sogar 1/10 Cent gespart.
Hier ist ein relevanter Artikel, auf den ich auf der Website von Electronic Design gestoßen bin: 8 Bit oder 32 Bit? Auswahl der MCU Ihres nächsten Designs
1/10 Cent pro abgeschriebenem Teil über 100.000 $ zusätzliche NRE-Kosten würden ein Volumen von 100 Mio. erfordern. Selbst mit 10.000 $ zusätzlichen NRE-Kosten würde es ein Volumen von 10 Mio. erfordern. Wenn also das 32-Bit-Gerät NRE-Kosten spart, weil es weniger Einschränkungen bei der Softwareentwicklung gibt, kann es am Ende eine billigere Lösung sein.

Antworten (6)

Vor vielleicht einem Jahr gab es einen signifikanten Unterschied zwischen den Low-End-8-Bit- und den billigsten 32-Bit-Mikrocontrollern. Nicht mehr der Fall.

Basierend auf den Mengenpreisen von Digi-Key können Sie einen 8-Bit-PIC10F200 für 35 Å in 2500-Stückzahlen in einem SOT-23-6-Paket erhalten. Sie erhalten einen 32-Bit-CY8C4013SXI-400 (ARM Cortex-M0) für 36 ȼ in 2500 Stück in einem SOIC-8-Paket. (Digi-Key-Massenpreise sind nicht realistisch in Bezug darauf, was Hersteller tatsächlich zahlen, was wahrscheinlich viel weniger ist, aber ich denke, es ist gültig, um einen groben Preisvergleich zwischen verschiedenen Produkten für ähnliche Mengen durchzuführen.)

Das OP hat also Recht, sie konvergieren.

Warum also werden die 32-Bit-Chips nicht mehr verwendet? Nun, wie ich in meinem ersten Absatz sagte, ist diese Preispunkt- und Größenparität nur im letzten Jahr oder 18 Monaten aufgetreten. Und sie haben noch einen langen Weg vor sich, bevor sie genug Chips haben, um konkurrenzfähig zu sein.

Von den 6875 ARM-Chips, die bei Digi-Key erhältlich sind, sind nur vier auf Lager mit Mengenpreisen unter einem Dollar. Vier . Inzwischen gibt es Hunderte von 8-Bit-Chips unter einem Dollar, aus denen Ingenieure wählen können.

Aber nehmen wir an, es waren mindestens ein paar Dutzend Low-End-32-Bit-Mikros verfügbar. Würden sie automatisch über die 8-Bit-Versionen ausgewählt werden?

Zunächst einmal muss man die Ingenieure darauf aufmerksam machen. Es gibt immer viel Widerstand gegen Veränderungen. Neue Dinge zu lernen – aus Hardware-Sicht, zu lernen, wie man den neuen Chip in eine Schaltung integriert. Es gibt neue Tools wie In-Circuit-Programmierer, neue Compiler usw. Für die Firmware-Ingenieure, die lernen, wie man einen brandneuen Satz von Peripheriegeräten und Timern verwendet (hauptsächlich Registerlayouts und Bitbedeutungen).

32-Bit ist schön und so, aber was bringt es, wenn man nicht viel Rechenarbeit leisten muss? Wenn Sie nur vier GPIO-Pins haben, bietet der interne Zugriff als 32-Bit-Register keinen Vorteil gegenüber der Verwendung eines 8-Bit-Registers.

Ich denke, der Stromverbrauch wird immer zugunsten der 8-Bit-Mikros sein.

Beispielsweise zieht der PIC10F200 175 µA bei 4 MHz und 2 V und 100 nA im Ruhemodus. Der CY8C4013SXI-400 zieht ungefähr 800 µA bei Betrieb bei 4 MHz und 2 V und 1 µA im Schlafmodus. (Das Datenblatt für den CY8C4013SXI hatte weder Zahlen für 4 MHz noch 2 V, also musste ich etwas schätzen - das Datenblatt sagt, dass es 2 mA bei 6 MHz und 3,3 V zieht.)

Der ARM zieht also im Wachzustand 4,5-mal so viel Strom und im Schlaf 10-mal so viel Strom. Scheint nicht viel zu sein, aber es ist der Unterschied zwischen dem Betrieb mit einer Knopfzelle für 3 Monate oder für ein Jahr. (Ich gehe davon aus, dass beide Mikrocontroller hauptsächlich Timing durchführen, Ports aktualisieren usw. und keine wirklich schweren Berechnungen durchführen. Wenn letzteres der Fall ist, muss das 8-Bit-Mikro über einen längeren Zeitraum viel Multibyte-Arithmetik ausführen Zeit verliert es etwas von seinem Vorteil.)

Interessant ist, dass der ARM etwa viermal so viel Strom zieht wie der 8-Bitter und dafür wiederum viermal so breite interne Register und Datenpfade hat. Ich denke nicht, dass dies ein Zufall ist. Bei CMOS ist der Stromverbrauch ungefähr proportional zur Anzahl der geschalteten Transistoren, und der ARM leistet offensichtlich viel mehr pro ausgeführtem Befehl.

Da immer mehr ARM-Anbieter Low-End-Chips herausbringen, wäre ich nicht überrascht, wenn Anbieter wie Microchip ihre Preise noch weiter senken würden. Auf jeden Fall, mit mehr oder weniger gleichen Preisen, ähnlich großen Paketen, aber viel weniger 32-Bit-Chips zur Auswahl, denke ich, dass die 8-Bit-Mikrocontroller noch eine Weile auf dem Markt sein werden – besonders weil Sie es haben haben Zehntausende von Ingenieuren mit ihnen vertraut gemacht.

Für den Stromverbrauch mit implementierten Schlafmodi müssen Sie auch die Codeeffizienz berücksichtigen. Wenn die MCU durch einen Trigger aufwacht, dann einen Code ausführt und wieder in den Ruhezustand wechselt, ist die Anzahl der Takte, die zum Beenden des Jobs benötigt werden, ziemlich relevant. Ich würde denken, dass der größte Teil des Stromverbrauchs einer MCU vom Oszillator stammt, der mit voller Geschwindigkeit läuft. Um die gleiche Aufgabe wie ein 32-Bitter zu erledigen, benötigt ein 8-Bitter wahrscheinlich ungefähr die fünffache Anzahl von Zyklen, einfach weil sie im Allgemeinen selbst bei einfacher Arithmetik viel weniger Code-effektiv sind.
(Und das liegt nicht so sehr daran, dass sie einen 8-Bit-Datenbus haben, sondern hauptsächlich daran, dass alle Mainstream-8-Bitter auf dem Markt alte CPU-Kerndesigns aus den 70er und 80er Jahren haben.)
@Lundin Ich sage das in meiner Antwort - wenn der 8-Bitter in der ISR viel ausgefallene Mathematik machen muss, verliert er dennoch einen Teil seines Vorteils. Aber wenn es nur darum geht, einige Flags zu setzen oder ein Register zu aktualisieren, dann ist es effizienter.

Drei Hauptpunkte:

  • Preis
  • Größe
  • Energieverbrauch

50¢, wenn Sie 10.000 Chips bestellen, sind ziemlich viel Geld. Noch mehr, wenn Sie 100.000 Chips bestellen.

Sie können 8-Bit-Chips erhalten, die erheblich kleiner sind als 32-Bit-Chips, wie z. B. der PIC10, der in einem SOT23-6-Gehäuse erhältlich ist.

Da 32-Bit-Chips im Allgemeinen schneller getaktet sind und mehr leisten, verbrauchen sie viel mehr Strom als ein kleiner 8-Bit-Chip. Batterien entladen sich schneller, Stromversorgungssysteme müssen mehr Strom liefern (und sind daher teurer) usw.

Warum sollten Sie schließlich einen Moloch kaufen, um nebenan eine Tasse Zucker zu sich zu nehmen?

Beim Stromverbrauch bezweifle ich, dass es so einfach ist. Ich müsste tatsächliche Daten sehen, um das zu glauben, weil ich denke, dass es stark von der tatsächlichen Architektur und Implementierung abhängt.
Vergleichen Sie einfach zwei Chips desselben Herstellers - zum Beispiel den PIC18F25K20 und den PIC32MX250F512 von Microchip. Beides moderne MCUs. Beide Datenblätter haben Idd vs. Taktgeschwindigkeit. Der 8-Bit-Graph erreicht seine Spitze bei 5 mA, der 32-Bit-Graph bei 20 mA. Wenn Sie darüber nachdenken, würde eine 8-Bit-Operation etwas mit 8 Latches tun - eine 32-Bit-Operation würde dasselbe (oder Äquivalent) mit 32 Latches tun. Das ist das 4-fache der Latches, die manipuliert werden müssen, also das 4-fache des typischen Stromverbrauchs.
Der Leerlaufstrom für 32 Bit liegt zwischen ~0,5 mA und 7 mA. Das 8-Bit-Diagramm für den Ruhestrom wird auf der µA-Skala gemessen und liegt bei 7 µA - nur 4 µA bei Betrieb bei normaler Raumtemperatur ...!
Klar, aber was ist mit all den anderen Familien anderer Hersteller? Diese Erklärung greift zu kurz, denn nehmen Sie zum Beispiel die MSP430-Familie von TI. Einige der Mikrocontroller sind nach allen Standards sehr stromsparend. Und sie sind 16-Bit-Mikrocontroller. Die Latch- / Registergrößen und die Transistoranzahl scheinen ein gutes Argument zu sein, aber ich denke, dass es überhaupt nicht endgültig ist. Ich würde denken, dass die gleiche Argumentation für 32-Bit im Vergleich zu den anderen gilt.
Grab ein paar Datenblätter aus und schau selbst.
Bedenken Sie auch Folgendes: Wenn wir zwei verschiedene Geräte mit unterschiedlichen Geschwindigkeiten und unterschiedlichen Nennleistungen haben und davon ausgehen, dass sie nach Abschluss ihrer Arbeitslast in einen Schlafzustand wechseln, der sehr wenig Strom verbraucht, was passiert dann mit dem Gesamtstromverbrauch und nicht nur sofort, wenn der eine das schneller ist, so viel schneller ist, dass es zwar mehr Strom verbraucht, aber der Gesamtverbrauch über die Arbeitszeit geringer ist als das Ultra-Low-Power-aber-langsame-Gerät?
Das setzt voraus, dass der Chip nur verarbeitet. Dinge brauchen Zeit, die nicht von der Geschwindigkeit des Chips abhängen, wie das Lesen von Daten von externen Sensoren usw. Eine 80-MHz-32-Bit-CPU liest ein 100-kHz-I2C-Gerät nicht schneller als eine 16-MHz-8-Bit-CPU.
Wenn Sie eine Frage stellen, aber mit den Antworten argumentieren, warum stellen Sie die Frage?
@whatsisname Weil ich denke, dass Diskussionen eine gesunde Form sind, um das Problem vollständig zu verstehen. Ich glaube nicht, dass ich eine Antwort akzeptieren muss oder sollte, ohne die Auswirkungen zu untersuchen.
Vergessen Sie nicht Legacy-Software (insbesondere für Systeme, die eine Zertifizierung erfordern) und Entwicklervertrautheit, Auswahl von Peripherie-/RAM-/Flash-Komponenten (ein Mikrocontroller-Design mit einem leistungsstärkeren Prozessor benötigt mehr Chipfläche für den Speicher; ein Cortex-M mit 256 Byte RAM scheint in absehbarer Zeit unwahrscheinlich) und Gehäuse-/Spannungsoptionen. Eine gute Antwort sollte auch erklären, warum es dem 16-Bit-Markt nicht besser geht (und moderneren 8-Bit-ISAs wie AVR) und warum der 4-Bit-Markt scheinbar sehr eingeschränkt ist (Uhren und was sonst?).
Ich bin mit dieser Antwort nicht einverstanden. Es sind auch Menschen, Ingenieure. Nicht nur Preis, Größe, Verbrauch. Sehr oft bilden die dahinter stehenden Ingenieure und ihre bisherige Erfahrung den wichtigsten Faktor bei der Verwendung von 8-Bit- oder 16-Bit-CPUs.
@AlKepp Also schreib dann einen eigenen. Und wenn Sie schon dabei sind, stimmen Sie dafür, dass die Frage als primär meinungsbasiert geschlossen wird, was Sie anscheinend haben.

Die uC-Anwendungen, die ich für kommerzielle Produkte entwickelt habe, haben fast nie Datengrößen von mehr als 8 Bit verarbeitet. Selbst wenn 32-Bitter den gleichen Preis wie 8-Bitter hätten, gäbe es immer noch keinen Vorteil. Wie jemand anderes gesagt hat, greifen wir zu dem, was uns vertraut ist, damit wir es schneller ausstanzen können. Der letzte, den ich entwickelt habe, hat den von mir verwendeten PIC16 jedoch in jeder Hinsicht an seine Grenzen gebracht - aber das lag nicht an der Datengröße. Wenn ich noch mehr so ​​mache, dann sollte ich wirklich ARM lernen.

Ich würde vermuten, dass für die meisten kleinen Mikroanwendungen die größte erforderliche Datengröße 16 Bit oder vielleicht 24 Bit betragen würde. Die meisten Anwendungen müssen nicht viel mit Dingen über 8 Bit tun, aber sie müssen etwas tun. Andererseits hat fast jeder jemals hergestellte 8-Bit-Mikrocontroller (wenn nicht sogar jeder) ein Carry-Flag, das es ermöglicht, eine Folge von Operationen zu verwenden, um eine 16-Bit- (oder sogar noch größere) auszuführen.

Ich würde erwarten, dass ARM-Chips die meisten Funktionen übernehmen, wo sich etwas wie ein "Computer" verhält. Auf der anderen Seite gewöhnen sich viele 8-Bit-Mikrocontroller daran, Dinge zu tun, die mit einem relativ einfachen programmierbaren Logikbaustein oder einer moderaten Anzahl von Gattern erledigt werden könnten, aber tatsächlich billiger und/oder mit weniger Stromverbrauch unter Verwendung von a einfaches 8-Bit-Mikro. Beim Entwerfen komplizierterer Anwendungen ist es oft einfacher, ein 32-Bit-Mikro als ein 8-Bit-Mikro zu verwenden, aber wenn der gesamte Zweck eines Chips darin besteht, z. B. einen bestimmten Eingang zu beobachten und zu entprellen und, wenn er hoch geht, mit der Ausgabe von 200 zu beginnen Impulse an einem bestimmten Ausgang in 1-ms-Intervallen, dann 100 in 2-ms-Intervallen, dann 100 in 3-ms-Intervallen, dann 100 ms pausieren und so lange weitermachen, bis der Eingang niedrig wird. Das Entwerfen des Codes dafür kann tatsächlich einfacher seinauf einem 8-Bit-Mikro als auf einem 32-Bit-Mikro. Der Kostenunterschied zwischen 8-Bit- und 32-Bit-Mikros reicht in vielen Fällen möglicherweise nicht mehr aus, um einen zusätzlichen Engineering-Aufwand zu rechtfertigen, um ein Projekt in ein 8-Bit-Mikro „passen“ zu lassen, aber in Fällen, in denen ein 32-Bit-Teil es tun würde Sparen Sie keinen Engineering-Aufwand, es gibt keinen Grund, auch nur einen Cent extra auszugeben.

Ich stimme zu, weise jedoch darauf hin, dass die Pflege und der Umgang mit zwei Toolchains eigenen technischen Aufwand erfordern.
@ScottSeidman: Stimmt. Auf der anderen Seite ist es vielleicht auch erwähnenswert, dass einige 8-Bit-Mikros fast sofort nach dem Einschalten mit der Ausführung von Code beginnen können, während die 32-Bit-Mikros, die ich gesehen habe, etwas länger brauchen.
Ich frage mich, ob wir jemals ARM-Lizenzen für 8-Bit-Plattformen sehen werden. Es gibt einige wunderbare Funktionen von ARM-Implementierungen, wie die Möglichkeit, ganze Peripheriegeräte und Busse einfach nicht zu takten, die 8-Bit-ARMS dazu bringen sollten, andere Plattformen in Bezug auf die Leistungsaufnahme zu übertrumpfen. Wenn die mfcts CMSIS-konforme Bibliotheken erstellen, werden sie meiner Meinung nach die großen Player auslöschen.
@ScottSeidman: Eigentlich würde ich gerne Designs sehen, bei denen die zeitempfindlichen Teile von Peripheriegeräten (z. B. Timer, Baudratengeneratoren usw.) mit einer konstanten Zeitbasis laufen, die unabhängig von der CPU-Geschwindigkeit ist , aber ich habe nur minimale Unterstützung für ein solches Konzept gesehen. In Silizium wäre es nicht schwer, aber ich würde vermuten, dass Synthesewerkzeugen die Mittel fehlen, um solche Dinge effizient zu tun.
@supercat Bei anderen Mikrocontrollern bin ich mir nicht sicher, aber der PIC32 hat das Konzept einer peripheren Busuhr, die auf eine andere Taktrate als die Hauptuhr eingestellt werden kann. So können Sie die CPU-Geschwindigkeit ändern, um beispielsweise Strom zu sparen, und dennoch den gleichen PB-Takt beibehalten, sodass Sie nicht alle Baudraten Ihrer Peripherie usw. neu programmieren müssen.
@tcrosley: Einige ARM-Prozessoren ermöglichen es, den Peripherietakt und/oder die CPU-Takte auf Teilwerte des Haupttakts einzustellen, aber alle, die ich gesehen habe, erfordern, dass der Peripherie- und der CPU-Takt aus derselben Quelle stammen. Wenn man also einen Zähler haben möchte, der kontinuierlich Mikrosekunden zählt, während die CPU zwischen Betrieb mit 32 MHz und Ruhezustand umschaltet, besteht die einzige Möglichkeit darin, den 32-MHz-Oszillator die ganze Zeit laufen zu lassen. Selbst wenn das Teil einen 1-MHz-Oszillator hatte, der, wenn ausgewählt, nur 1/32 so viel Strom verbrauchte wie der 32-MHz-Oszillator ...
... es gäbe keine Möglichkeit, Peripheriegeräte zu verwenden, während der Hauptprozessor etwas Schnelleres verwendet.
@supercat stimmte zu. Beim PIC32 darf der PB nicht höher sein als der CPU-Takt. Sie können also einen PB-Takt von 10 MHz und einen CPU-Takt von 10 bis 80 MHz haben; aber wenn Sie den Chip mit 32 KHz betreiben wollen, müsste der PB auch 32 KHz haben.
@tcrosley: Meine Beschwerde bezieht sich nicht so sehr auf die Peripheriebusuhr , sondern auf die Tatsache, dass ARM -Peripheriegeräte diese Uhr häufig als Zeitbasis verwenden. Auf einem Gecko ist es beispielsweise möglich, die Systemuhr auf 1 MHz und die Peripherieuhr auf sysclk/1 (1 MHz) oder die Systemuhr auf 28 MHz und die Peripherieuhr auf sysclk/28 (1 MHz) einzustellen, aber es gibt keine Möglichkeit, dies zu ändern zwischen einem 1-MHz- und einem 28-MHz-Systemtakt, ohne dass der Peripherietakt eine signifikante Anzahl von Zählwerten gewinnt oder verliert. IMHO sollte es nicht schwer sein, ein System so zu entwerfen, dass das Umschalten von Uhren einige ...
...Peripherieuhr-Ereignisse "früh" oder "spät" passieren, aber dass die Gesamtabweichung zwischen dem Zeitpunkt, an dem die n-te Peripherieuhr verarbeitet wurde, und dem Zeitpunkt, an dem sie aufgetreten wäre, wenn die Uhr vollkommen glatt gewesen wäre, niemals +/- eins überschreiten würde vollen Zyklus der peripheren Uhr [zB wenn ein Zyklus irgendwann "verpasst" wird, wird irgendwo ein zusätzlicher Zyklus eingefügt, um dies zu kompensieren].
Ähnlich wie die 8051-Klone (es gibt immer noch viele 8051-basierte Produkte da draußen) ist ARM nicht herstellerspezifisch wie PIC, AVR, msp430 usw. Jeder und sein Bruder werden Ihnen einen Arm verkaufen, sehr schwer, die Firma/das Management zu bekommen von dem wechseln, in das sie so viel Zeit investiert haben, aber sobald ein Unternehmen zu Arm wechselt, kann es dort bleiben und diese Investition behalten, selbst wenn es den Anbieter wechselt usw.
Arm nimmt das sehr ernst, Cortex-m0+, nur ein paar Stufen in der Pipeline, arbeitet hart daran, leistungsmäßig zu konkurrieren usw. MIPS hätte/sollte es als Erster erreichen, kann es immer noch, aber aus irgendeinem Grund nicht, nicht, nicht die richtigen Dinge zu tun, um mit ARM zu konkurrieren. Die Programmierer werden beim Übergang helfen, die 8-Bit-Oldtimer werden in Rente gehen und die jüngeren 64-Bit-Programmierer werden eine 32-Bit-, aber keine 8-Bit-Umgebung vertragen.
@dwelch: Soweit ich das beurteilen kann, werden ARM-Geräte in der Regel mit fast vollständig synchroner Logik implementiert. Ich frage mich, inwieweit das Routing von Takten überall den Stromverbrauch im Vergleich zu Gating-Takten beeinflusst, basierend auf der Funktionsweise der Schaltung, wobei ein Split-Clock-Phase-Design verwendet wird, um Probleme mit der differentiellen Ausbreitung zu vermeiden. Ich würde denken, dass z. B. ein 32-Bit-Synchronzähler, der mit steigenden Flanken eines 1-MHz-Takts betrieben wird, viel mehr Strom benötigen würde als ein 28-Bit-Synchronzähler, der von einem 4-Bit-Ripple-Zähler gespeist wird, der mit fallenden Taktflanken arbeitet, aber die Ausgabe von letztere...
...könnte sauber in die Logik eingespeist werden, die an einer steigenden Taktflanke abgetastet wird. Im ersteren Fall müsste das 1-MHz-Signal den Gates vieler Transistoren zugeführt werden. Im letzteren Fall müsste nur die erste Stufe des Zählers ein 1-MHz-Signal empfangen. Die zweite Stufe würde 500 kHz empfangen, die dritte 250 kHz, die vierte 125 kHz und alle Stufen darüber hinaus nur 62,5 kHz. Ich würde keine 16:1-Gesamtreduzierung des Stromverbrauchs erwarten, aber ich würde eine signifikante erwarten.

Ich stimme zwar zu, dass die CPU-Kosten und der Stromverbrauch die Hauptgründe sind, aber eine weitere Überlegung, die ich hier noch nicht aufgelistet gesehen habe, ist der PCB-Platz. Für viele Arten eingebetteter Systeme, wie beispielsweise eine elektronische Badezimmerwaage, besteht kein großer Bedarf an vielen E/A, kein Vorteil einer größeren Busgröße und kein Vorteil einer schnelleren Verarbeitung. Ein kleineres Gehäuse mit weniger Pins hat jedoch den Vorteil, dass Layout und Routing einer Leiterplatte einfacher und oft kleiner werden. Wenn eine Platine als 2-Layer-Platine statt als 4-Layer-Platine entworfen werden kann, gibt es erhebliche Kosteneinsparungen, und die kleineren Pinzahlen, die oft mit 8-Bit-Prozessoren einhergehen, erleichtern diese Einsparungen eher als 32- Bit-Prozessoren, die im Allgemeinen mehr Pins und physisch größere Gehäuse haben.

Sie wissen, dass dies eine 2 1/2 Jahre alte Frage ist, oder?
@Olin Eine andere Sichtweise schadet nicht.
@OlinLathrop: Ja, meine 8-Bit-CPU-gesteuerte Uhr/mein Kalender funktioniert einwandfrei. :)

Selbst innerhalb der 8-Bit-Welt ist bekannt, dass neuere Typen sehr lange brauchen, um zugunsten älterer Typen zu übernehmen - sehen Sie, wie MCS51 immer noch in seinen Nischen lebt und MCS48 immer noch an unerwarteten Orten zu finden ist.

In vielen Fällen findet keine Änderung statt, weil sie keinen zusätzlichen Wert bringt und mit den Kosten für das Erlernen einer neuen Technologie verbunden ist, die sich noch nicht als dauerhaft erwiesen hat und/oder von der erwartet wird, dass sie immer noch ein bewegliches Ziel ist (was macht Es ist interessant für Leute, die sich auf die MCU-Technologie konzentrieren wollen, aber ärgerlich für Leute, die sich auf ihre Anwendung konzentrieren und nicht ständig Produktionssoftware reparieren und erneut testen möchten, um den diesjährigen ARM-Jahrgang anzupassen!). Für einige ist eine nicht mehr entwickelte Komponente veraltet, für andere ist sie endlich stabil geworden , und obwohl sie möglicherweise Workarounds für eingewachsene Fehler benötigt, bietet sie zumindest eine stabile Plattform für diese. Lavastrom ist nicht immer das Antimuster, zu dem er gesprungen ist - neigt dazu, Berge in der Realität bleiben zu lassen.