Intel konnte sich fast ein Jahrzehnt ausruhen: Mit der Core-Mikroarchitektur hatte man 2006/7 den Erzrivalen AMD abgehängt. Dessen Marktanteil schrumpft seitdem laufend. Gleichzeitig gelang es durch immer stromsparende Prozessoren auch einen Fuß ins Segment der leichten Mobilgeräte zu fassen. Es gibt inzwischen Smartphones mit x86-Prozessoren und bei den Tabletts dominiert Intel sogar. Die Firma ruht sich nicht aus. Die derzeit in 14 nm gefertigten Broadwell-Prozessoren sind noch stromsparender als die 22 nm Generation und die nächste Generatio Skylake wird da sicher nicht schlechter sein. Inzwischen wildert Intel mit dem Galileo und Edison sogar im Arduino Markt. Kurzum: es läuft gut, die Umsätze sind konstant hoch und vor einem Quartal konnte man sogar den 15 Jahre alten Umsatzrekord brechen.
Doch immer wenn es toll läuft, gibt es Konkurrenten die auch ein Stück vom Kuchen abhaben wollen und in den letzten Monaten gab es zwei Ankündigungen die das Zeug haben, Intel in einigen Segmenten Marktanteile abzujagen. Die erste war die Ankündigung von ARM für einen Serverprozessor. ARM ist kein Prozessorhersteller, sondern entwickelt Prozessordesigns, die es dann an Hardwarehersteller verkauft, die diese dann meistens noch spezifisch anpassen z.B. bei Handys den Sende-/Empfangsteil an die verwendete Funkfrequenz und Kodierungsstandard anpassen. ARM bietet mehrere Generationen an, in 32- oder 64 Bit Architektur und mit Taktfrequenzen von einigen Zehn bis über 1000 MHz, die von dem einfachen Mikrocontroller für integrierte Geräte bis hin zum Tablett-PC Prozessor alles abdecken. Selbst Intel war einmal ARM Lizenznehmer und fertigte die XScale Prozessoren, das war zu einer Zeit als man selbst keine entsprechend stromsparenden Prozessoren im Portfolio hatte.
ARM hat einige besonders leistungsfähige Prozessoren schon füer den Servermarkt positioniert. Bisher hat er aber wenig Erfolg gehabt. Der Hauptvorteil der ARM-Architektur ist dass sie viel stärker aufs Stromsparen ausgelegt ist als Intels Prozessoren, besonders die Serverprozessoren der Xeon Linie. Die Leistung hinkt dagegen deutlich den Xeons hinterher. In einem kompletten Server in dem auch Speicher, Chipsatz, Festplatte Strom schlucken, ist der Vorteil deutlich geringer und in der Disziplin Rechenleistung/Watt konnte ARM nicht gegen Intel bestehen. Es gab einige Erfolge, die vor allem darauf beruhten, dass man mehr Prozessoren in eine Höheneinheit packen konnte und so pro Volumen mehr Rechenleistung erhielt, da man keine oder nur eine pasivre Kühlung brauchte.
Nun gibt es einen zweiten Anlauf. ARM bringt eine neue Architektur auf den Markt die nur zum Teil auf der bisherigen ARM-Architektur beruht. Diese wurde in den frühen Achtzigern entwickelt und war ursprünglich eine 32-Bit-Architektur, inzwischen gibt es auch einen 64 Bit Ableger. Der Befehlssatz wurde erweitert, doch im Prinzip könnte man immer noch die alten Programme aus den Achtzigern ausführen. Die neue setzt dies letzte ARM V8 Version ein, aber führt eine neue (Web-ARM, WARM genannt) zusätzlich ein, die nur 16 Bit Breite hat. Sie nutzt eine Untermenge der ARM-Befehle, führt aber neue ein, für die Verarbeitung von 8 und 16 Bit breiten Daten. Besonders auffällig sind die Stringbefehle, die man auch von der x86-Architektur kennt. ARM kannte als RISC-Architektur solche Spezialbefehle nicht. Die neue WARM Architektur verfügt dagegen über Befehle um Speicherblöcke zu kopieren, mit einem Wert zu überschreiben und einen Speicherblock nach einem String zu durchsuchen. Für den Datentyp String wurde das C++-Standardlib Format genutzt (vor dem String zwei Referenzfeldern mit Länge und Referenzzähler, nicht Nullterminiert).
ARM will den größten Teil des Servermarktes anpeilen, das sind nicht Server die in Rechenzentren viel rechnen, sondern die Webserver, Internetknoten, aber auch die Server von großen Internetanbietern und Suchmaschinenbetreiber. Für das Design will ARM z.B. Google, Facebook, Apple und Amazon konsultiert haben. 80% des Rechenzeit ihrer Server, das hat Google veröffentlich entfällt auf die Verarbeitung von Byte und 16-Bit Werten, vor allem Stringoperationen wie Verketten, Durchsuchen, Kopieren. Ein ähnliches Bild gilt bei Webservern, dei statische HTML-Seiten ausliefern aber auch bei aktiven Seiten dominieren Datenbankabfragen, die letztendlich auch Stringverarbeitung bedeuten. Daher hat man die Architektur auf Unicode (16-Bit Breite) und Zeichenkettenverarbeitung optimiert. Da im englischsprachigen Bereich aber auch noch die Byteweise Verarbeitung dominiert beherrscht der Prozessor auch dies. Die Adressierung erfolgt byteweise.
Doch damit alleine kann man sicher keinen Blumentopf gewinnen. Daher setzt ARM auf das schon verfügbare Big-Little Konzept. Dieses wurde für Mobilgeräte entworfen, um deren Batterielebensdauer zu erhöhen. Es wird ein sehr leistungsfähiger Kern mit einem weniger leistungsfähigeren kombiniert. Der erstere, mehr stromverbrauchende, kann bei geringer Last (z.B. telefonieren, MP3 Anhören komplett abgeschaltet werden. Wird er benötigt (Videos anschauen, Spielen) so kann er aktiviert werden. Hier kombiniert ARM allerdings einen 32 oder 64 Bit ARM Kern der neuesten Generation (v8) mit dem WARM (Web-ARM) 16 Bit Kern. Ein Die zerfällt in 4 Sektoren, die jeweils einen 64-Bit, zwei 32-Bit oder acht 16-Bit Kerne aufnehmen können. Der Hersteller kann so die Rechenleistung anpassen zwischen hoher Fließkomma und 32-Bit Integerperformance oder der schnellen Verarbeitung von Strings. Jede Sektion hat eigene Caches. Bei der WARM Sektion hat jeder Kern einen 32 KByte großen Codecache und einen gemeinsamen 2 MByte großen Datencache. Die Taktfrequenz ist auch unterschiedlich hoch. die WARM Kerne arbeiten mit 666, 800 oder 1066 MHz, den Standardfrequenzen für DDR3-RAM. Jede Sektion kann zwei DDR3- Kanäle ansprechen, zusammen bei vier Sektionen also acht. Die ARM-V8 Kerne sind höher getaktet und laufen mit 1,5 oder zweifachem Taktmultiplikator.
Was neu erstellt werden muss ist sie Software. Der Befehlssatz der ARM-Architektur wurde um zwei Befehle erweitert die den Beginn von Codeblöcken für den WARM-Teil und dessen Ende signalisieren. Mindestens ein konventioneller ARM-Kern muss im Die vorhanden sein, da er aktiv ist wenn der Rechner startet. er beinhaltet auch den Cachecontroller der jeweils in die Caches die Codesgemente lädt die zu dem jeweiligen Befehlssatz gehören.
ARM rechnet aufgrund der bisherigen Zusammenarbeit mit vielen Firmen damit einen signifikanten Anteil des Servermarktes zu erobern. Samsung und Qualcomm wollen im Frühling ernste Muster der WARM-Architektur ausliefern.
Deutlich weniger weiß man von dem neuen Kooperationsprojekt von NVidia und Via. Via hat Centaur Technologies übernommen, den einzigen X86-Konkurrenten der nach AMD noch verblieben ist. Ihr Via Namo Prozessor konnte sich jedoch mangels Rechenleistung nie durchsetzen. Auch der neueste Chip, der Via Eden ist nicht der große Renner. NVidia fertigt dagegen Grafikkarten deren pure Rechenleistung um ein vielfaches höher ist als die der leistungsfähigsten Intel-Prozessoren, deren Programmierung aber schwierig ist und besondere Bibliotheken benötigt. Via und NVidia wollen Ende des Jahres einen Prozessor vorstellen, der beides verbindet. Intern weist er sich als x86 Prozessor aus, intern verwendet er aber vom Via Eden nur die Bus-Interfache Unit, Speicherverwaltung und angehängte Einheiten wie den Prefetch. Der Befehlsdekoder übersetzt die x86-Befehle dagegen in Bündel von einfachen befehlen für die integrierte GPU welche die komplette Verarbeitung übernimmt. Deren Zahl ist hje nach Geschwindigkeit variabel. Das kleinste Modell hat 64 Einheiten, bis zu 1024 sollen in der ersten Generation möglich sein. Schon mit 64 Einheiten ist die noch namenlose CPU-GPU schneller als eine 6-Kern Core I7 CPU. Bei mehr als 256 Einheiten wil man auch die schnellsten Xeon CPUs abgehängt haben. Anvisierter Markt ist der von PCs, Notebooks, Tabletts. Hervorgehoben ist die breite Skalierbarkeit des Konzeptes. Anders eine zugesteckte Grafikkarte soll die neue CPU (noch ohne Namen) mehr Leistung auch in Alltagsaufgaben bringen.
Ob dies klappt wird sich zeigen, bisher konnte Via nämlich alle Performanceversprechen ihrer Chips nicht einlösen und die Programmierung von Grafikkarten-GPUs mit CUDA zeigte enorme Schwankungen in der nutzbaren Rechenleistung, stark abhängig vom Problem aber auch der Datenstruktur.