# Samsung S5L

Samsung S5L ist eine Reihe von Systems-on-a-Chip (SoC), die von Samsung primär für Apple hergestellt werden. Sie kombinieren einen ARM-Hauptprozessor und ggf. PowerVR-Grafikprozessor, Speicher und einige Controller für z. B. NAND-Speicher und Audio auf einem Chip. Sie wurden 2006 von Apple mit dem iPod nano der 2. Generation eingeführt. Sie kommen überwiegend in Apple-Geräten wie dem iPod, dem iPhone und dem iPad vor. Das Design der S5L-Reihe wird von Samsung auch für eigene SoCs verwendet. S5L-SoCs sind auch unter den Namen „APL“ und „Apple A4“ bis „Apple A7“ bekannt. Als Vorgänger der S5L87er-Chips waren PortalPlayer-SoCs im Einsatz, als Vorgänger der S5L89er-Chips kann die Freescale i.MX-Serie gesehen werden, die im Jahr 2005 in einem iPhone-Prototyp Verwendung fand. Nachfolger sind die von TSMC gefertigten APL1011-SoCs.

## Geschichte

Im Jahr 2006 wurden von Apple der iPod nano der 2. Generation sowie der iPod Classic eingeführt. Ebenfalls in Entwicklung befand sich das intern „Project Purple“ genannte iPhone. Apple benötigte neue SoCs für diese geplante Erweiterung des Produktspektrums, so entstanden die S5L87-SoCs für die weniger leistungshungrige iPod-Familie, und – nach anfänglichen Versuchen mit einem Freescale i.MX31-SoC für das erste iPhone – die S5L89-SoCs für die leistungsstärkeren Apple-Geräte iPhone, iPod touch und iPad. Die S5L87-SoCs lösten die bis dahin im iPod verwendeten PortalPlayer-Prozessoren ab. Anfänglich war nicht geplant, Software von Drittanbietern auf S5L89-Socs auszuführen – die Grafikprozessoren waren dementsprechend eher auf Stromersparnis ausgelegt. Mit der Einführung des App Stores änderte sich dies. Daraufhin kaufte Apple im Jahr 2008 die Chipdesign-Firma P.A. Semi und entwickelte aus dem S5L8920 die annähernd identischen SoCs S5L8922 und S5L8930, um den gestiegenen Anforderungen gerecht zu werden. Seit 2010 vermarktet Apple die S5L89-Serie als „Apple A“-Chip. Das erste so beworbene SoC war der S5L8930 unter dem Namen „Apple A4“. 2013 führte Apple parallel zum A7-Chip den M7-Koprozessor zur Berechnung von Bewegungsdaten ein. Dieser wird jedoch von NXP Semiconductors gefertigt und teilt sich mit der „Apple A“-Serie nur die Herkunft der Verkaufsbezeichnung. Die S5L87-Serie wird nicht konkret beworben.

### Namensherkunft

„S5L“ ist die interne Bezeichnung Apples für die SoCs. Sie taucht im Sourcecode von iOS auf. Seit der Übernahme von P.A. Semi lautet die Bezeichnung auf den Chips „APL“. Im Sourcecode von iOS heißen die Chips jedoch weiterhin S5L. Die Marketing-Bezeichnung von Apple lautet „Apple A“, so werden die S5L8960 und S5L8965 beide als „Apple A7“ vermarktet, obwohl es sich um zwei verschiedene SoCs handelt.

#### Beschriftung

Während die ersten Chips nur die Nummer nach dem „S5L“ aufgedruckt bekamen (z. B. 8701 beim S5L8701, siehe Bild rechts), wurde nach dem Kauf von P.A. Semi die Bezeichnung als Anagramm der Ziffernfolge mit der führenden Buchstabenkombination „APL“ aufgedruckt – so wird aus der Typbezeichnung S5L8940 der Aufdruck „APL0498“. Mit der Einführung des S5L8930 rückte die Bezeichnung „APL0398“ an den Rand, während die Marketingbezeichnung „A4“ zentral angeordnet wurde. Erste Prototypen des A4-Chips hattewn diese Beschriftung noch nicht aufgewiesen.

## Technik
### Allgemein

Samsung S5L-Systems on a Chip stellen den wichtigsten Chip der iPods, iPhones und iPads dar. All diese Geräte sind tragbare, mit Lithium-Ionen-Akkumulator betriebene Computer zur Wiedergabe von elektronischen Medien und weisen deshalb die zentralen Bauteile eines Computers auf: Zentrale Recheneinheit (CPU), Speicher, Bus, Eingabe- und Ausgabe-Einheit. Die S5L-Chips vereinen all diese Bauteile. Dadurch müssen weniger Bauteile verbaut werden, sodass die Produktionskosten bei steigender Effizienz sinken.
Im Wettbewerb stehende Architekturen ähnlicher Produkte sind Qualcomms Snapdragon, Texas Instruments’ OMAP 4, Nvidias Tegra 2 und Samsung Exynos.

### Bauweise

Ein S5L-Chip besteht aus mehreren übereinander angeordneten Lagen mit Dies in Multi-Chip-Modul-Bauweise. Die obersten Dies sind in der Regel der Speicher des Chips, der unterste Die enthält die Prozessoren, wie Hauptprozessor, Grafikprozessor und Speichercontroller.

### Hauptprozessor, Speicher und Grafik

Der Hauptprozessor in einem S5L-SoC ist ein ARM-kompatibler Mikroprozessor. Dieser ist an die Anforderungen des Geräts angepasst. Während ein einfacher iPod primär der Wiedergabe von Musik dient, bietet ein iPad verglichen damit anspruchsvollere Funktionen. Dementsprechend muss die Leistungsfähigkeit des Prozessors erhöht werden. Somit reichen die unterstützten Befehlssätze vom recht einfachen ARM9 bis hin zu von Apple speziell entwickelten Derivaten der leistungsstarken 64-Bit-ARMv8-Architektur und die Coretakt-Frequenzen von einigen hundert Megahertz bis hin zu 1,4 Gigahertz. Ebenso gibt es unterschiedliche Herstellungsverfahren, welche sich ebenfalls auf die Effizienz auswirken. Die Anzahl der Prozessorkerne liegt zwischen einem oder zwei. Während die einfacheren SoCs nur Level-1-Cache besitzen, hat beispielsweise der S5L8965 auch Level-2 und -3-Cache.
Der Speicher eines S5L-SoCs reicht von DRAM- bis hin zu LPDDR3-Speicher, die Speichergröße von 32 bis zu 1024 MB. Die Speichertaktung ist mit Frequenzen von einigen hundert Hertz bis hin zu 1333 MHz realisiert. Es kommt teilweise vor, dass sich nicht nur verschiedene SoCs der S5L-Reihe in der Speichergröße unterscheiden, sondern ein SoC mit verschiedenen Speichergrößen produziert wird, so beispielsweise der S5L8720 mit 32 und 116 MB, oder der S5L8930 mit 254 und 504 MB. Da Samsung Hersteller von Speichermodulen ist, stammt der Speicher in S5L-SoCs oftmals von Samsung, aber auch anderen Herstellern.
Einen Grafikprozessor haben nur die S5L89er-SoCs und einige der stärkeren S5L87er-SoCs. Der iPod nano der 2. Generation beispielsweise ist nicht in der Lage, Videos abzuspielen, ein fehlender Grafikprozessor ist hier der Grund. Das iPhone sollte ursprünglich nur Videos wiedergeben und Fotos aufzeichnen, Anwendungen wie z. B. Spiele waren nicht geplant. Deswegen ist der Grafikprozessor des iPhones auch ein PowerVR MBX Lite, welcher primär auf Energieeffizienz ausgelegt ist. Mit der Einführung des iPhone 3GS wechselte Apple zu PowerVR-SGX-Grafikprozessoren, diese sind leistungsfähiger. Mit dem iPhone 5s wechselte Apple erneut, diesmal zur PowerVR-G64-Serie. Die Anzahl der Grafikprozessoren variiert ebenfalls, während bis zum iPhone 4 nur einer verwendet wurde, hat das iPad Air gleich vier Grafikprozessoren. Alle S5L-Grafikprozessoren sind Imagination-PowerVR-GPUs.

### Mikroarchitektur

Alle S5L-Chips bis einschließlich zum Apple A5 verwenden die jeweilige Mikroarchitektur des ARM-Hauptprozessors, der dem SoC zugrunde liegt. Apple verwendete ARM926, ARM1176, Cortex-A8 und Cortex-A9. Ab dem A6-Chip begann Apple in Eigenregie, die Mikroarchitektur zu entwickeln. Die Prozessorkerne werden seitens Apple dabei nicht direkt von ARM lizenziert, sondern mittels einer sogenannten ARM-Architekturlizenz, die u. a. auch der Chiphersteller Qualcomm für seine Snapdragon-SoCs nutzt, selbst entwickelt. Da Apple selbst keinerlei technische Informationen herausgibt, gibt es keine gesicherten Informationen über die Mikroarchitekturen. Bislang entwickelte Apple Swift, Cyclone, Twister, Hurricane und Zephyr.
* Blockschaltbild des Cortex A8
* Blockschaltbild des Cortex A9
* Blockschaltbild von Apples Mikroarchitektur Swift, wie es am 9. Juli 2013 auf der Konferenz für ARM-Systementwicklung präsentiert wurde.
* Blockschaltbild von Apples 64-bit-Mikroarchitektur Cyclone

## Designfehler

Durch einen Designfehler lässt sich mithilfe des sogenannten „limera1n“-Exploit auf jedem S5L-SoC bis einschließlich zum S5L8930 beliebiger Code ausführen, was vor allem von Jailbreaks genutzt wurde. Dieser nicht durch Software-Updates patchbare Fehler erlaubt es unter anderem auch, die Codesperre des iPhones durch das Ausführen eines Bruteforce-Programms innerhalb weniger Minuten ohne großen Aufwand auszulesen. Dieser Fehler wurde mit dem S5L8940 behoben.

## Liste der S5L SoCs
### S5L87er Serie

* S5L8700 (2006)
* S5L8701 (2006)
* S5L8702 (2007)
* S5L8720 (2008)
* S5L8730 (2009)
* S5L8723 (2010)

### S5L89er Serie

* S5L8900 (2007)
* S5L8920 (2009)
* S5L8922 (2009)
* S5L8930 (2010)
* S5L8940 (2011)
* S5L8942 (2012)
* S5L8945 (2012)
* S5L8947 (2013)
* S5L8950 (2012)
* S5L8955 (2012)
* S5L8960 (2013)
* S5L8965 (2013)

## Technische Details der S5L87xx SoCs

| S5L89xx | S5L89xx | S5L8700 | S5L8701 | S5L8702 | S5L8720 | S5L8723 | S5L8730 |
| Illustration | Illustration | | | | | | |
| Hauptprozessor | CPU-Bezeichnung | ARM926EJ-S | ARM926EJ-S | ARM926EJ-S | ARM1176 | ARM1176 | ARM1176 |
| Hauptprozessor | Anzahl an Kernen | 1 | 1 | 1 | 1 | 1 | 1 |
| Hauptprozessor | Befehlssatz | ARM9 (32 Bit) | ARM9 (32 Bit) | ARM9 (32 Bit) | ARMv6 (32 Bit) | ARMv6 (32 Bit) | ARMv6 (32 Bit) |
| Hauptprozessor | FSB | 100 MHz (Schätzung) | 100 MHz (Schätzung) | 100 MHz (Schätzung) | 133 MHz | 133 MHz | 133 MHz |
| Hauptprozessor | Multiplikator | 1x | 1x | 1x | 4x | keine Angabe | keine Angabe |
| Hauptprozessor | Taktfrequenz | 100 MHz (Schätzung) | 100 MHz (Schätzung) | 100 MHz (Schätzung) | 533 MHz | keine Angabe | keine Angabe |
| Hauptprozessor | Technologieknoten | 90nm | 90nm | 90nm | 65nm | 65nm | 65nm |
| Hauptprozessor | Level 1 Cache | 16KiB | 16KiB | 16KiB | 16KiB | 16KiB | 16KiB |
| Grafikprozessor | GPU-Bezeichnung | N/A | N/A | PowerVR | PowerVR MBX Lite | N/A | PowerVR |
| Grafikprozessor | Grafik-Taktfrequenz | N/A | N/A | N/A | 60 MHz | N/A | N/A |
| Arbeitsspeicher | Arbeitsspeicher | 8 MB | 8 MB | 32 MB | 32 MB (iPod nano 4G) 128 MB (iPod touch 2G) | 64 MB | 32 MB |

## Technische Details der S5L89xx SoCs

| S5L89xx | S5L89xx | S5L8900 | S5L8920 | S5L8922 | S5L8930 | S5L8940 | S5L8942 | S5L8945 | S5L8947 | S5L8950 | S5L8955 | S5L8960 | S5L8965 |
| Illustration | Illustration | | | | | | | | | | | | |
| Verkaufsbezeichnung | Verkaufsbezeichnung | keine | keine | keine | Apple A4 | Apple A5 | Apple A5 | Apple A5X | Apple A5 | Apple A6 | Apple A6X | Apple A7 | Apple A7 |
| Hauptprozessor | CPU-Bezeichnung | ARM 1176 | ARM-Cortex-A8 | ARM-Cortex-A8 | ARM-Cortex-A8 | ARM-Cortex A9 | ARM-Cortex A9 | ARM-Cortex A9 | ARM-Cortex A9 | ARM v7-kompatibel (Swift) | ARM v7-kompatibel (Swift) | ARM v8-kompatibel (Cyclone) | ARM v8-kompatibel (Cyclone) |
| Hauptprozessor | Anzahl an Kernen | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 |
| Hauptprozessor | Befehlssatz | ARM11 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv7 (32 Bit) | ARMv8 (64 Bit) | ARMv8 (64 Bit) |
| Hauptprozessor | FSB | 100 – 103 MHz | 100 MHz | 100 MHz | 100 MHz | 250 MHz | 250 MHz | 250 MHz | 250 MHz | 333 – 350 MHz (Schätzung) | 333 – 350 MHz (Schätzung) | 333 – 350 MHz (Schätzung) | 333 – 350 MHz (Schätzung) |
| Hauptprozessor | Multiplikator | 4x | 6x | 6x | 8x - 10x | 4x | 4x | 4x | 4x | 4x | 4x | 4x | 4x |
| Hauptprozessor | Taktfrequenz | 400 – 412 MHz | 600 MHz | 600 MHz | 800 – 1000 MHz | 1000 MHz | 1000 MHz | 1000 MHz | 1000 MHz | 1333 MHz | 1400 MHz | 1333 MHz | 1400 MHz |
| Hauptprozessor | Technologieknoten | 90nm | 65nm | 45nm | 45nm | 45nm | 32nm | 45nm | 32nm | 32nm | 32nm | 28nm | 28nm |
| Hauptprozessor | Level 1 Cache | 16KiB | 32KiB | 32KiB | 32KiB | 32KiB | 32KiB | 32KiB | 32KiB | 32KiB | 32KiB | 64KiB | 64KiB |
| Hauptprozessor | Level 2 Cache | N/A | 256KiB | 256KiB | 512KiB | 1024KiB | 1024KiB | 1024KiB | 1024KiB | 1024KiB | 1024KiB | 1024KiB | 1024KiB |
| Hauptprozessor | Level 3 Cache | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | 4096KiB | 4096KiB |
| Grafikprozessor | GPU-Bezeichnung | PowerVR MBX Lite | PowerVR SGX535 | PowerVR SGX535 | PowerVR SGX535 | PowerVR SGX543 | PowerVR SGX543 | PowerVR SGX543 | PowerVR SGX543 | PowerVR SGX543 | PowerVR SGX554 | PowerVR G6430 | PowerVR G6430 |
| Grafikprozessor | Anzahl an Grafikprozessoren | 1 | 1 | 1 | 1 | 2 | 2 | 4 | 2 | 3 | 4 | 4 | 4 |
| Grafikprozessor | Grafik-Taktfrequenz | 60 MHz | 150 MHz | 150 MHz | 200 MHz | 200 MHz | 200 MHz | 200 MHz | 200 MHz | 266 MHz | 266 MHz | 266 MHz | 266 MHz |
| Arbeitsspeicher | Arbeitsspeicher | 128 MB | 256 MB | 256 MB | 256 MB (iPad, ATV 2G und iPod touch 4G) 512 MB (iPhone 4) | 512 MB | 512 MB | 1024 MB | 512 MB | 1024 MB | 1024 MB | 1024 MB | 1024 MB |
* ↑ Ist zu ARM11 abwärtskompatibel.
* ↑ Ist zu ARM11 und ARMv7 abwärtskompatibel.

## Trivia

Bei der Präsentation des iPad 2 zeigte Steve Jobs ein Bild des Apple-A5-SoCs. Dieses Bild war jedoch eine Fotomontage, welche fälschlicherweise mit APL0398 bedruckt war, der Bezeichnung des Apple A4.