Forum: Mikrocontroller und Digitale Elektronik µC Architektur vs Clockfrequenz


von Operator S. (smkr)


Lesenswert?

Ich frage mich derzeit, wie sehr der Clock von der Architektur abhängt, 
oder ob dies rein Herstellungstechnisch und Marketingmässig beschränkt 
ist.
Als Beispiel nehme ich mal die Arm Reihen von ST. Da gibt es von 
Cortex-M0 bis M7 eigentlich alle Architekturen und mit jeder steigt die 
maximale Clockfrequenz an.
Aber liegt das nur an der Architektur? Ich gehe einmal davon aus, dass 
z.B. die STM32F1xx und F4xx dieselben Strukturbreiten haben, da sie zur 
selben Zeit herausgekommen sind. Aber warum hören die F1xx bei 72MHz 
auf, während es die F4xx auf 168MHz schaffen?
Oder warum könnte man nicht einen bestehenden Chip schrumpfen und dann 
höher Takten? Man müsste doch nur die Masken neu erstellen, was wohl 
etwa 1Mio$ kosten würde. Mit tests und alles vermutlich 3Mio$, aber 
hätte keinen zusätzlichen Entwicklungsaufwand.

Begrenzt die µC Architektur in irgend einer Weise die höchstmögliche 
Taktfrequenz, oder wird diese nur durch Strukturbreite und Marketing 
beschränkt?

von Stefan F. (Gast)


Lesenswert?

Denke mal an die Anwendungsfälle.

Eine kleine Timerschaltugn könnte amn zum Beispiel mit einem ATtiny 4 
realisieren. Der hat 512 Bytes Programmspeicher.

Wass soll ich da mit 2GHz Taktfrequenz anfangen? Der könnte sein 
gesamtes Programm millionen mal pro Sekunde wiederholen. Das brauche ich 
nicht.

Dafür schätze ich bei den "langsamen" Mikrocontrollern, dass sie 
problemlos auf Steckbrett und im fliegendem Aufbau funktionieren. Und 
sie sind auch ziemlich genügsam, wass die Stromversorgung angeht. Sogar 
eine 3V Knopfzelle, die unter der Last einer LED deutlich einbricht, 
eigent sich ohne Spannunsgregler.

Das kriegst du mit einem Core i7 Prozessor nicht hin. Der hat andere 
Stärken.

> Oder warum könnte man nicht einen bestehenden Chip schrumpfen und
> dann höher Takten?

Könnte man vermutlich, braucht aber niemand.

> Begrenzt die µC Architektur in irgend einer Weise die höchstmögliche
> Taktfrequenz, oder wird diese nur durch Strukturbreite und Marketing
> beschränkt?

Es geht nicht darum, was technisch machbar ist, sondern was benötigt 
wird. Du redest hier vom Massenmarkt. Da kommt es drauf an, möglichst 
viele Produkte zu verkaufen.

Was kaum jemand braucht, wird auch nicht produziert. Jedenfalls nicht 
von den Firmen, die du genannt hast.

von Pandur S. (jetztnicht)


Lesenswert?

Architektur ist der falsche Begriff. Du meinst Strukturbreite, oder 
Technologie. So einfach skaliert das nicht.
Architektur bedeutet VonNeuman, oder Harvard. Bedeutet Risc oder Cisc, 
Bedeutet Cache, Multicore, usw.
Eine Verkleinerung der Strukturen bedeutet hoehere Feldstaerken, 
deswegen muss man auch die Spannung erniedrigen. Spannung erniedrigen 
bedeutet, der Controller ist nicht mehr kompatibel.
Die Ausgaben sind wahrscheinlich etwas hoeher wie geschaetzt. Wenn man 
zuwenig Gewinn mit einer Maske macht, verkauft man sie weiter an einen 
guenstigeren Anbieter, der die Kosten dann auf Stueckzahlen abwaelzt, 
sofern die Stueckzahlen drinliegen.

von Operator S. (smkr)


Lesenswert?

Stefan U. schrieb:
> Eine kleine Timerschaltugn könnte amn zum Beispiel mit einem ATtiny 4
> realisieren. Der hat 512 Bytes Programmspeicher.
>
> Wass soll ich da mit 2GHz Taktfrequenz anfangen? Der könnte sein
> gesamtes Programm millionen mal pro Sekunde wiederholen. Das brauche ich
> nicht.

Okay, das diese "alles schneller braucht niemand" Fraktion hier auftritt 
war mir klar. No comment

Oder D. schrieb:
> Architektur ist der falsche Begriff. Du meinst Strukturbreite, oder
> Technologie. So einfach skaliert das nicht.

Nein ich meine schon Architektur. Dass bei gleicher Architektur und 
niedrigerer Strukturbreite die Frequenz steigen kann ist mir klar.
Aber warum kann z.B. ein Cortex-M0 nicht gleichschnell getaktet werden 
wie ein M4 bei gleichbleibender Strukturbreite?


Ganz unkommentiert kann ich das dann doch nicht lassen:

Stefan U. schrieb:
> Dafür schätze ich bei den "langsamen" Mikrocontrollern, dass sie
> problemlos auf Steckbrett und im fliegendem Aufbau funktionieren.

> Es geht nicht darum, was technisch machbar ist, sondern was benötigt
> wird. Du redest hier vom Massenmarkt.

Du widersprichst dir selbst, merkst du das? Niemand braucht etwas 
Steckbretttauglich, sondern Massenmarkttaugliches.
Und wenn schon niemand etwas so schnelles braucht, erklär mir mal den 
Erfolg von ST, NXP, etc mit ihren ARM Controllern? Weil das niemand 
braucht? Weil man eine LED auch mit einem "ATtiny 4" realisieren kann 
und alles was darüber geht niemand braucht?
Wenn du mir schon sagst ich solle über die Anwendungsfälle denken, dann 
bedenke bitte das wir im Jahr 2016 sind. µC sind nicht mehr nur da um 
simpleste Anwendungen zu übernehmen.

von Philipp K. (philipp_k59)


Lesenswert?

War da gerade nicht was bei Atmel..

nur den Produktionsstandort gewechselt und schon gabs neue Specs und 
diverse Veränderungen für zukünftige Modelle? Wäre ja auch ein Argument.

Ich hab zwar keine Ahnung von dem Kram, Du schreibst aber so als wenn du 
hättest garnicht Fragen brauchen.

von Cyblord -. (cyblord)


Lesenswert?

Operator S. schrieb:
> Nein ich meine schon Architektur. Dass bei gleicher Architektur und
> niedrigerer Strukturbreite die Frequenz steigen kann ist mir klar.
> Aber warum kann z.B. ein Cortex-M0 nicht gleichschnell getaktet werden
> wie ein M4 bei gleichbleibender Strukturbreite?

Marketing. M0 soll billig sein. Da gibt man weniger Takt an und sortiert 
bei der Produktion natürlich auch weniger aus. Die teureren Cortexe 
durchlaufen rigidere Auswahlverfahren und werden dann mit höherem Takt 
angeboten (die verbaute Peripherie, PLLs usw. müssen ja auch an den max. 
Takt angepasst werden, was dann auch mehr kostet).

von Meister Propper (Gast)


Lesenswert?

Operator S. schrieb:
> Ich frage mich derzeit, wie sehr der Clock von der Architektur
> abhängt,
> oder ob dies rein Herstellungstechnisch und Marketingmässig beschränkt
> ist.
> Als Beispiel nehme ich mal die Arm Reihen von ST. Da gibt es von
> Cortex-M0 bis M7 eigentlich alle Architekturen und mit jeder steigt die
> maximale Clockfrequenz an.
> Aber liegt das nur an der Architektur? Ich gehe einmal davon aus, dass
> z.B. die STM32F1xx und F4xx dieselben Strukturbreiten haben, da sie zur
> selben Zeit herausgekommen sind. Aber warum hören die F1xx bei 72MHz
> auf, während es die F4xx auf 168MHz schaffen?

Die M4 kommen auf 180MHz.

> Oder warum könnte man nicht einen bestehenden Chip schrumpfen und dann
> höher Takten? Man müsste doch nur die Masken neu erstellen, was wohl
> etwa 1Mio$ kosten würde. Mit tests und alles vermutlich 3Mio$, aber
> hätte keinen zusätzlichen Entwicklungsaufwand.

Richtig, das geht. Die Frage ist nur, ob das nicht teurer ist.
ST nutzt immer noch den rotzealten 90nm-Prozeß, daher ist der M7 von ST 
auch so eine lahme Gurke. Freescale oder Atmel nutzen modernere 
Prozesse, daher sind deren M7s auch erheblich schneller.

von Axel S. (a-za-z0-9)


Lesenswert?

Operator S. schrieb:
> Oder D. schrieb:
>> Architektur ist der falsche Begriff. Du meinst Strukturbreite, oder
>> Technologie. So einfach skaliert das nicht.
>
> Nein ich meine schon Architektur. Dass bei gleicher Architektur und
> niedrigerer Strukturbreite die Frequenz steigen kann ist mir klar.
> Aber warum kann z.B. ein Cortex-M0 nicht gleichschnell getaktet werden
> wie ein M4 bei gleichbleibender Strukturbreite?

Das sagt doch auch niemand? Es gibt Cortex-M0 von allen möglichen 
Herstellern. Mit verschiedener Strukturgröße. Mit verschiedenen 
maximalen Taktfrequenzen. Daß ein M4 schneller getaktet werden kann als 
ein M0 vom gleichen(!) Hersteller, liegt kaum an Strukturgrößen und nur 
ein bißchen an der Architektur sondern ist hauptsächlich Produktpolitik. 
Genauso wie VW die ganz dicken Motoren nur in den Phaeton baut und nicht 
in den Golf.

Die Architektur spielt ein bißchen mit rein, weil Busse und Speicher bei 
höheren Taktfrequenzen zunehmend zum Nadelöhr werden. Tatsächlich ist 
der Flash schon bei M0-typischen Taktfrequenzen das Nadelöhr. Und 
während sich zwischen M0 und M4 in Bezug auf Busse und Caches nicht viel 
tut, bei den größeren ARMs sehr wohl. Und spätestens wenn man Richtung 
Multicore geht, ist ein Cache in der Architektur unbedingt zu 
berücksichtigen.

Bei Strukturgrößen sind Ursache und Wirkung eher vertauscht. Denn wenn 
ein Hersteller seine M0 sowieso nicht so hoch takten lassen will, dann 
kann er sie auch in größeren Strukturen (und damit billiger) fertigen.

von Stefan F. (Gast)


Lesenswert?

@Operator S.
Ich denke, du hast mich völlig falsch verstanden.

Sicher besteht Bedarf für schnelle leistungsstarke Mikrcoontroller.

Aber ich sehe keinen bedarf, einen mini kleinen Chip der nur 256 Befehle 
und 32 Bytes Daten speichern kann, mit mehreren hundert Megahertz zu 
takten.

Große Chips mit hohen Taktraten sind sinnvoll und die gibt es ja auch.

Aber du hast nach kleinen µC mit hohen Taktfrequenzen gefragt, bzw. 
danach, die großen schnellen µC zu verkleinern.

Was kann man mit einem mini kleinen Rechner anfangen, der besonders hohe 
Taktraten unterstützt? Mir fällt kein Anwendungsfall ein.

von Operator S. (smkr)


Lesenswert?

Danke für die Antworten, dann scheint dies tatsächlich eher ein 
Marketingentscheid sein.
Nur leuchtet mir die Beschränkung trotzdem noch nicht ganz ein. Wenn es 
die Strukturbreite zulässt, einen M0 Kern genausoschnell zu takten wie 
ein M3, warum macht das kein Hersteller? Durch die Konkurrenz und 
Wettbewerb müssten diese doch einen möglichst hohen Takt anbieten 
wollen, der aus dem Die zu kriegen ist. Der Preis bleibt schliesslich 
derselbe. Und Peripherien wie ADC werden auch jetzt schon niedriger 
getaktet als der Kern selbst.

Mir ist noch aufgefallen, das dies bei den 8051 eigentlich passiert ist, 
was ich hier hinterfrage. Als der rauskam wurde dieser vermutlich im 
niedrigen MHz bereich betrieben, heute gibt es chips mit 8051 Arch. und 
über 100MHz. Warum nicht auch bei anderen Kernen?

Stefan U. schrieb:
> @Operator S.
> Ich denke, du hast mich völlig falsch verstanden.

Ja ich denke wir sprechen aneinander vorbei. Mir geht es darum, so als 
Beispiel: Warum bietet ST einen
M0 mit 48MHz, 64/8kb Speicher und einen
M3 mit 72MHz, 64/8kb Speicher, aber keinen
M0 mit 72MHz, 64/8kB Speicher an?
Warum nicht den Kern behalten und evtl. die Peripherie für eine höhere 
Taktrate anpassen?

von Stefan F. (Gast)


Lesenswert?

> Der Preis bleibt schliesslich derselbe.

Sicher? Mir hat mal jemand erzählt, dass Intel bei der Herstellung von 
PC-Prozessoren etwa 50% Ausschuss hat. Das werden die Chips schon weg 
geworfen, bevor sie in ein Gehäuse geklebt werden.

von Jim M. (turboj)


Lesenswert?

Operator S. schrieb:
> Nur leuchtet mir die Beschränkung trotzdem noch nicht ganz ein. Wenn es
> die Strukturbreite zulässt, einen M0 Kern genausoschnell zu takten wie
> ein M3, warum macht das kein Hersteller?

NXP LPC43xx macht genau das. Cortex M4 und M0 in einem Chip und
mit >200MHz Takt.

von Axel S. (a-za-z0-9)


Lesenswert?

Operator S. schrieb:

> Nur leuchtet mir die Beschränkung trotzdem noch nicht ganz ein. Wenn es
> die Strukturbreite zulässt, einen M0 Kern genausoschnell zu takten wie
> ein M3, warum macht das kein Hersteller?

Weil er am M3 mehr verdient?

> Durch die Konkurrenz und
> Wettbewerb müssten diese doch einen möglichst hohen Takt anbieten

Die maximal mögliche Taktfrequenz ist bei µC so gar kein Argument. Viel 
wichtiger ist die enthaltene Peripherie (da zähle ich Flash und RAM 
jetzt einfach mal dazu). Dann die Architektur (wegen Toolchain und 
Einarbeitungsaufwand). Dann das Gehäuse. Dann Preis und Verfügbarkeit. 
Und ganz zum Schluß erst die Taktfrequenz.

In 99% der Fälle sind µC die die anderen Specs erfüllen, auch schnell 
genug für die Aufgabe. Und im Gegensatz zu einem PC oder Server muß ein 
µC nur genau die eine Aufgabe schaffen für die er ausgewählt wurde. 
Leistung auf Vorrat zu kaufen bringt da rein gar nichts.

> Mir ist noch aufgefallen, das dies bei den 8051 eigentlich passiert ist,
> was ich hier hinterfrage. Als der rauskam wurde dieser vermutlich im
> niedrigen MHz bereich betrieben, heute gibt es chips mit 8051 Arch. und
> über 100MHz. Warum nicht auch bei anderen Kernen?

Weil es nicht gebraucht wird? Dort wo es gebraucht wird (Desktop, 
Server) wird es ja gemacht. Und dort sind auch die Selektionskriterien 
wieder ganz andere als bei µC.

von MCUA (Gast)


Lesenswert?

>Wenn du mir schon sagst ich solle über die Anwendungsfälle denken, dann
>bedenke bitte das wir im Jahr 2016 sind.
Da müsste das Flash ja mit 300 MHz laufen.

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.