29.01.2013 Aufrufe

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2 Grundlagen 15<br />

Das genaue Funktionsprinzip kann aus Dokumentationen von der Webseite ARM Limited<br />

(www.arm.com) entnommen werden.<br />

Die gegebene CPU verfügt über eine 3-stufige Pipeline mit <strong>einer</strong> so genannten Loadand-Store<br />

Architektur. Die Besonderheit dabei ist, dass alle zum Berechnen benötigten<br />

Daten aus dem Speicher in Register kopiert (Load) und nach der Operation wieder in<br />

den Speicher zurück geschrieben (Store) werden (Abbildung 5). Dies bringt eine Steigerung<br />

der Performance mit sich, weil mit viel schnelleren Registern gearbeitet und deshalb<br />

nicht jedes Mal auf den langsamen Speicher zugegriffen wird.<br />

Register:<br />

Abbildung 5:Load-and-Store Prinzip [MAR06]<br />

Die ARM7TDMI-S CPU besitz eine Bank aus sechzehn 32-Bit langen Registers(Abbildung<br />

6) und einem Current Program Status Register(CPSR) (Abbildung 7). Die<br />

Register R0-R12 sind benutzerspezifische Register (User Register) und besitzen keine<br />

speziellen Funktionen. Die R13-R15 hingegen sind so genannte Special Function Register<br />

und haben bestimmte Funktionen zu erfüllen. Register R13 hat die Funktion des<br />

Stack Pointers, R14 des Link Registers. In R14 wird die Rücksprungadresse<br />

(siehe s. 20) gespeichert. R15 ist der Programmcounter.<br />

Das Current Program Status Register(CPSR) erfüllt folgende Funktionen:<br />

• In den Bits 28-31 des Registers stehen die Statusflags (Negative, Zero, Carry<br />

und Overflow). Die Statusflags-Bits werden benutzt, um logische und arithmetische<br />

Befehle unter bestimmten Bedienungen durchzuführen.<br />

• Mit Hilfe von Bit 6 und 7 werden Interrupts 5 ein- oder ausgeschaltet.<br />

• Mit Hilfe von Bits 0-4 wird zwischen den Benutzungsmodi umgeschaltet.<br />

5 IRQ(Interrupt Request) sowie FIQ(Fast Interrupt Request)

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!