ARM-processors: nVidia, Samsung, Apple, TI en Qualcomm

19 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Lego'en
  3. 3. nVidia
  4. 4. nVidia (tabel)
  5. 5. Samsung
  6. 6. Samsung (tabel)
  7. 7. Apple
  8. 8. Apple (tabel)
  9. 9. Texas Instruments
  10. 10. Texas Instruments (tabel)
  11. 11. Qualcomm
  12. 12. Qualcomm (tabel)
  13. 13. Conclusie
  14. 19 reacties

Lego'en

Voordat we naar de verschillende ARM-chips gaan kijken, eerst nog een korte herhaling van wat basiskennis uit ons eerdere ARM achtergrondartikel. Destijds schreven we al dat ontwikkelaars van ARM-chips in feite twee opties hebben: ze kunnen ofwel alleen op  op de architectuur een licentie nemen (en dus zelf een daarop gebaseerde processor ontwerpen), ofwel een compleet ontworpen ARM-core licenseren. Vrijwel alle chipontwikkelaars kiezen voor die tweede optie. Vergis je niet: het volledig from scratch ontwerpen van de CPU-implementatie is echt wat Amerikanen noemen rocket science. Je moet van goeden huize komen om een implementatie te bedenken die sneller of efficiënter werkt dan die van ARM zelf. De enige grote speler die tegenwoordig die uitdaging nog aan gaat is Qualcomm.

Dat betekent dus dat we in de ARM-chips van nVidia, Samsung, Apple en Texas Instrument identieke, door ARM-ontworpen cores tegenkomen. Zoals in het eerder genoemde artikel al besproken zijn de meeste moderne en dus ook meest populaire ARM-cores van dit moment de Cortex-A8 en Cortex-A9. Beide zijn gebaseerde op de zevende versie van de ARM-architectuur, ARMv7 in jargon. Beide werken met pipelining om op hoge klokfrequenties te kunnen werken. De Cortex-A9 is de eerste ARM-core die out-of-order werkt, wat betekent dat instructies niet noodzakelijkerwijs worden uitgevoerd in de volgorde waarin ze worden aangeleverd, maar dat de volgorde telkens wordt geoptimaliseerd. Verder is de Cortex-A9 superscalar, een term die aangeeft dat een CPU dankzij parallelle verwerking van instructies gemiddeld meer dan één afgeronde instructie per klokslag kan afleveren. Het belangrijkste verschil tussen de A8 en A9: bij de nieuwste variant kunnen tot maximaal 4 cores gecombineerd worden, om zo dual-core en quad-core ARM-chips te maken.

De Cortex-A8 en -A9 kunnen beide optioneel voorzien worden van ondersteuning van de NEON-instructieset, een uitbreiding op ARMv7. NEON biedt de mogelijkheid om Single Instruction Multiple Data (SIMD) instructie te gebruiken: de CPU kan dan dezelfde handeling heel snel tegelijk of achter elkaar op verschillende data uitvoeren. SIMD kennen we in de PC-wereld van de verschillende SSE-instructiesetuitbreidingen van moderne CPU's. SSE staat dan ook voor Streaming SIMD Extensions. Net als SSE kan ook NEON de verwerking van multimedia taken flink versnellen.

ARM-chips bestaan uit meer dan alleen één of meerdere CPU-cores. Vrijwel zonder uitzondering zijn ARM-chips zogenaamde SoC's ofwel System-On-a-Chip, wat betekent dat alle vitale functionalteit voor een apparaat op één chip is geplaatst: CPU, geheugencontroller, storagecontroller, eventuele 3G-interface, en zo verder. Een zeer belangrijke bouwsteen voor zo'n SoC is natuurlijk ook een GPU, een grafische controller. Ook bij smartphones en tablets is 3D-gaming en HD-video tegenwoordig van groot belang en dus speelt de GPU een belangrijke rol.

Aangezien ARM-chips eigenlijk in elkaar ge-Lego'd worden van verschillende onderdelen, kunnen chipontwikkelaars kiezen uit verschillende GPU-blokken om te integreren. Een bekende toeleverancier is PowerVR (nog een oude bekende uit de PC-wereld!), maar ook ARM zélf ontwikkelt GPU's, onder de naam Mali. Chipontwikkelaars kunnen er ook bij de GPU voor kiezen om er zelf een te ontwerpen: uiteraard doet nVidia dat, maar ook Qualcomm ontwerpt naast eigen ARM CPU-cores ook eigen GPU's.

De grote vraag bij de verschillende ARM-chips is dan ook: welke CPU-core(s) en welke GPU-core zijn gebruikt. Samen met de klokfrequentie weet je dan de belangrijkste zaken.

0
*