11.07.2015 Aufrufe

c't magazin für computer technik 24/2013 - since

c't magazin für computer technik 24/2013 - since

c't magazin für computer technik 24/2013 - since

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Know-how I ARMv8erheblich leistungsfähiger als diekonditionierten Ladeoperationenbei x86, können unter anderemteilweise auch gleich invertierenund inkrementieren.BankingDie vierte Uridee von ARM ist dasRegister-Banking. Schon die frühenARM-Prozessoren waren -im Vergleich zum spartanischen386er - recht luxuriös mit 1632-bittigen Allzweckregistern ausgestattet.Hinzu kamen nochspezielle Program Status Register.Und nicht nur das, für lnterrupts,Exceptions und Moduswechselzwischen User und Supervisorschaltete der Prozessorfür eine bestimmte Teilmengedes Registersatzes auf eine andereBank um. Die Vorteile etwa beilnterrupts liegen auf der Hand.Für hohe Echtzeitanforderungenkennt ARM einen Fast lnterruptMode (FIQ32), für den acht eigenegebankte Register zur Verfügungstehen. ln aller Regel kanndie Behandlungsroutine damitunverzüglich mit der lnterrupt­Behandlung loslegen.Bei x86 hingegen ist das mitunterein recht langwieriger Prozess.Hier muss man erst einmalabwarten, bis der möglicherweisegerade lang laufende Befehl aufdem zu unterbrechenden Prozessorbeendet ist, dann wird die lnterruptDescriptorTable (IDT) ausgelesenund ein Stack-Frame eingerichtet.Irgendwann bekommtdie in der IDT eingehängte Behandlungsroutinedie Kontrolle,doch sie muss sich für ihre Arbeiterst einmal Platz machen und allebenötigten Register auf den Stackretten. Dabei können Cache- undTLB-Misses auftreten, die die Gesamtlatenzauf viele 1 00 wennnicht gar auf 1 000 Prozessortakteausdehnen - ein Graus für jedeEchtzeitanforderung.Bei den anderen ARM-Betriebsmodiist es allerdings ähnlich.Auch hier muss die Behandlungsroutineebenfalls erst einmalRegister retten, denn die eigenenBänke beschränken sichauf zwei Prozessorregister, dieüblicherweise als Stack-Pointerund Link-Register vorbelegt sind,sowie auf zwei Status-Register.Insgesamt verfügt AArch32 mitdiesem gebankten Registerkonzeptüber 31 logische Prozessorregisterund 11 Status-Register.ARMv7 kennt darüber hinausnoch einen Monitor-Modus mitzwei weiteren Registern.Performance lmprovement vs. Cortex-A 15 (28nm)60% ,----• Cortex-A1 5(28nm)20%10%0%BrowsingSPECUnter AArch64 sieht das allesganz anders aus. Zunächst einmalersetzt ein für die Virtualisierungviel besser geeignetes vierstufigesRingkonzept die bis zuacht Betriebsmodi von AArch32.Ganze unten ist der Applikations-oder User-Modus (ELO).Darüber liegt der Modus für dasGast-Betriebssystem (EL 1 ). Demübergeordnet ist der HypervisorModus (EL2). Ganz oben wachtein TrustZone-Monitor (EL3).Fährt man ein Secure OS, könnenspezielle Trusted Apps mitdem TrustZone-Monitor in geschützterWeise korrespondieren.Im Non-Secure-Modus hältsich der TrustZone-Monitor ausdem Geschehen heraus, dieSicherheitsverantwortung trägtder untergeordnete Hypervisorauf EL2. Der Secure-Moduskennt indes keinen Hypervisor,hier kommt allein der TrustZone­Monitor auf EL3 zum Einsatz.Die erste Veröffentlichung derARMv8-Architektur umfasst nurdas sogenannte Applikationsprofil,gekennzeichnet mit einem angehängtem,A' als ARMv8-A. Danebenwird es wie beim VorgängerARMv7 später auch ein EchtzeitprofilARMv8-R geben, daseine für Echtzeitverarbeitungbesser geeignete Virtualisierungsowie weitere Besonderheitenbietet.Fast lnterruptsIm AArch64 von AMRv8-A gibtes jedenfalls keine Fast lnterruptsund keine gebanktenRegister mehr, dafür zahlreichelnterrupt-Kontrollregister unteranderem für eine 10-Virtualisie-StreamDhrystonerung, genau so, wie man es fürmoderne Serveraufgaben benötigt.Der Registersatz umfasst31 64-bittige Register, eins fehltbei der möglichen Kodierung:1111 b steht fix für Null. Register30 steht auch nicht wirklich zurVerfügung, es ist fest als Link­Register vorbelegt Im AArch32-Betrieb mappt ARMv8 geschicktdie vorhandenen 31 Register aufalle dort benötigten Bank-Register(ohne Monitor Mode). Dieoberen Hälften der 64-Bit-Registerbleiben dabei ungenutzt.Neu sind ferner die eingebautenKrypto-Engines mit AES undSHA und natürlich auch der weitausgrößere Adressbereich, denman unter AArch64 ansprechenkann. Smartphones werdenmehr als 4 GByte derzeit nochnicht unbedingt brauchen, aberfür Server der nächsten Generation,selbst für kleine Mikroserver,ist das unabdingbar.64 physische Adressbits sindallerdings nicht wirklich nötig,ARM beschränkt sich wie der Mitbewerbauch auf 48 Bit, also auf256 Terabyte Adressraum. DieUmrechnung aus den von denApplikationen verwendeten virtuellenAdressen zu den physischenist bei dieser AArch64etwas einfacher gestrickt undsomit schneller als bei x86.Neben den üblicherweise verwendetenSeitengrößen von4 KByte kann man bei AArch64auch 64-KByte-Einträge verwenden,ein guter Kompromiss zwischenden oft zu kleinen 4 K undden mit 2/4 M zu großen Einträgender x86-Welt. Bei Adressbereichenvon bis zu 4 Terabytekommt man so bei 64-K-Seiten-Ein lustiger Performancevergleichauf ARMs Website:Prozentual zu was? Undwelcher der gefühlt 50 SPEC­Benchmarks ist gemeint,SPECMail etwa?tabeilen mit einem schnellenzweistufigen Zugriffsschema aus.AusblickSpät kommt ARM mit 64 Bit,mehr als 20 Jahre nach MIPS64oder DEC-Aipha, die beide bereits32 64-bittige Integer undGleitkommaregister boten, abervielleicht ist auch jetzt erst dieZeit wirklich reif für 64 Bit.AArch64 ist jedenfalls ein sehrneuer Prozessor, eine sehr weitgehendeÜberarbeitung desalten ARM-Designs, viel weitergehenderals die vergleichsweisegeringen Änderungen, die AMDbeim Aufstieg auf AMD64 eingebrachthat. Kein Registerbanking,keine konditionieren Standardbefehle,komplett neue Opcodes,keine acht Betriebsmodi,sondern ein Konzept aus vierRingen, das dem bei x86 so unähnlichnicht ist.Ja, es ist fast schon eine Artltanium, mit dem großen Unterschied,dass hier das Schlüssel­Feature Kompatibilität zur bestehenden32-bittigen Software auchin Bezug auf Performance offenbarernst genommen wurde, woraufdie ersten Ergebnissen mitApples A7 schließen lassen. FürSmartphones und Tablets ist dasauch dringend geboten, bei Servernstartet man bei Null, hier istes durchaus denkbar, dass einigeLizenznehmer auf 32 Bit ganzverzichten, um Validierungskostenund Energie zu sparen.Genau in dieser Variabilität durchdie vielen Lizenznehmer dürftedie Stärke von ARM liegen, beiSmartphones und Tablet sowiesound mit recht guten Chancen beiden kleinen, energiesparendenServern. Und wenn man BroadcomsAnkündigung mit 3 GHzTakt und "Server-dass Performance"sieht, ahnt man, dass daeinige wohl bereits höhere Serversphärenanpeilen - Intel seigewarnt.Ende Oktober, leider erst nachRedaktionsschluss, tagt ARMsEntwickler-Konferenz Techcon<strong>2013</strong>, da wird man sicherlichnoch einiges mehr dazu erfahren.(as) c'l:<strong>c't</strong> <strong>2013</strong>, Heft <strong>24</strong>221

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!