Wie schnell ein µC läuft ist genau betrachtet uninteressant.
Interessant ist, wie schnell man die gewünschte Aufgabe(n) damit lösen kann, wieviel Energie er dabei verheizt, was er kostet, welche Peripherie er hat, ob hocheffiziente Compilersysteme für ihn verfügbar sind, etc.
Die (interne und externe) Peripherie spielt eine wichtige Rolle: Wenn viel Float-Arithmetik zu machen ist, ist ein langsamerer µC, der eine FPU hat, durchaus einem merklich schnelleren überlegen, der das Float-Zeug per Software berechnen muss.
Weiterer Aspekt ist zB der Speicher. Daß man den Speicherinhalt direkt zur Verfügung hat wie auf AVR, ist auf 32-Bit Boliden nicht mehr unbedingt gegeben. Es ist durchaus möglich, daß eine Speicher-Operation so lange dauert wie 20 Ganzzahl-Additionen.
Auch Parallelisierung spielt eine Rolle. Wenn man einen Puffer per DMA an eine Schnittstelle geben kann und nicht für jedes einzelne Byte eine ISR bemühen muss, oder gar die Schnittstelle in Software realisieren muss, ist man deutlich schneller.
Zum Thema Parallelisierung gehören auch die Instruktions-Pipelines modernen µC, in denen mehrere Befehle quasi gleichzeitig ausgeführt werden, falls sie nicht leerläuft. Leerlaufen kann sie bei Sprüngen oder lahmen Speicherzugriffen, daher legen moderne Compiler auf solche Hardwareeigenheiten und die dafür benötigten Optimierungen viel Wert, indem sie zB Werte vorladen, damit sie zum Zeitpunkt der Verwendung schon geladen sind, oder indem sie Sprünge durch geschickte Arithmetik ersetzen.
Ein TriCore (wie er zB in PKW zum Einsartz kommt), kann bis 150 MHz getaktet werden. Solch hohe Taktraten werden üblicherweise aus einem externen Takt/Quarz via PLL erzeugt.
Last not least spielt die Software eine ganz entscheidende Rolle, und welche Algorithmen und Verfahren verwendet werden.
Insbesondere der effizienten Codeerzeugung durch einen Compiler kommt eine zentrale Bedeutung zu: der Compiler sortiert zB die Befehle so um, daß eine Pipiline optimal gefüllt wird und keine Lücken entstehen, und indem er viel andere, ausgefeilte Optimierungsstrategien anwendet.
Lesezeichen