Embedded Processor Forum: ARM mit mehr Instruktionen und neuem Bus

ARM hat die bewährte Thumb-Technik der ARM-Prozessoren um neue Instruktionen und den internen Bus AMBA um ein neues Protokoll erweitert.

In Pocket speichern vorlesen Druckansicht 38 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Andreas Stiller

Die britische Chip-Design-Firma ARM hat die bewährte Thumb-Technik ihrer Prozessoren um neue Instruktionen und den internen Bus AMBA um ein neues Protokoll erweitert. Thumb wird immer als 16-Bit-Instruktionssatz der ansonsten 32-bittigen ARM-Prozessoren umschrieben, de facto handelt es aber mehr um eine Art Code-Kompressionstechnik. Zwar sind die Befehle nur 16 Bit lang, sie werden intern aber wieder auf 32 Bit aufgeblasen und arbeiten dann ganz normal mit dem 32-Bit-Kern. Für pure RISC-Ideologen war Thumb ein Abschied vom Dogma der konstanten Codelängen -- so wie es beim häufig kritisierten CISC von vornherein der Fall war. Bei x86 beispielsweise beanspruchen wichtige 32-Bit-Befehle gar nur eine Codelänge von 8 Bit.

Im Embedded-Bereich ist die Codelänge und -Effizienz sehr wichtig, kann man doch kostbaren Flash-Speicher damit einsparen´(kleiner memory footprint) und auch die Anforderungen an die nötige Bandbreite senken. Thumb ist ferner optimal zum Anschluss an 16-Bit-Speicher, denn 32-Bit-Instruktionen würden hier ohnehin zwei Zugriffe erfordern. Thumb 2 ist nun noch "CISCiger" geworden, denn es führt einen Mischbetrieb von 16- und 32-Bit-Instruktionen ein. Damit hat es der Programmier in der Hand, flexibel auf Performance- oder Codedichte-Anforderungen einzugehen.

AMBA, die Advanced Microcontroller Bus Architecture, legt verschiedene Bus-Protokolle auf dem Chip fest: AHB ist der Advanced High Performance Bus, APB der genauso als "advanced" bezeichnete Periphiebus und so weiter. Mit AXI kommt jetzt ein neues Bus-Protokoll hinzu, das noch höhere Performance erlaubt, etwa dank Out-of-order Burst-Transactions. Konkurrent National hat ein ähnliches On-Chip-Bus-Konzept namens GeoLink im Angebot, das ebenfalls auf einem Transaktions-Bus beruht. Dank AMBA oder GeoLink können verschiedene Hersteller ihre Einheiten auf dem Chip miteinander verbinden - so wie es etwa auf dem Motherboard eines PCs üblich ist. Und hier sind so genannten Transaction-Busse auch schon geraume Zeit verbreitet, bei Intel beispielsweise ab dem P6-Bus des Pentium Pro. (as)