Assembling Pi

B.2 Erweiterungen der CPU-Funktionalität

2.3.9 VFP und NEON: Registeradressierung in NEON

In ARMv7 NEON bezieht sich die Adressierung von verschiedenen Elementen innerhalb der Register auf die Art und Weise, wie Daten in den Q-, D- und S-Registern organisiert und durch Instruktionen verarbeitet werden. NEON ist darauf ausgelegt, mehrere Datenoperationen gleichzeitig durchzuführen, indem es Register in kleinere Datenstücke unterteilt.

Adressierung in Instruktionen

1. Q-Register (128-Bit)

2. D-Register (64-Bit)

3. S-Register (32-Bit)

Umgang mit den verschiedenen Datenformaten in ARMv7 NEON

Die Art der Daten, die in den Registern gespeichert sind, wird durch die Instruktion bestimmt, nicht durch das Register selbst. Wenn eine Instruktion beispielsweise als .I8, .I16, .I32, oder .F32 definiert ist, wird das Register entsprechend als Sammlung von 8-Bit-, 16-Bit-, 32-Bit- oder 64-Bit-Werten betrachtet.

Beispiele für Instruktionssuffixe:

zurück Hauptmenü weiter
2.3 VFP und NEON
2.3.1 Intro
2.3.2 Gleitkommazahlen
2.3.3 Floating Point Format nach IEEE 754
2.3.4 VFP (Vector Floating Point) in der ARM-Architektur
2.3.5 VFP Data Conversion Befehle
2.3.6 Was ist NEON?
2.3.7 Überblick über die ARMv7 NEON-Register
2.3.8 Vektoren und Skalare
2.3.9 Registeradressierung in NEON
2.3.10 Das NEON und Floatingpoint Status Register
2.3.11 Steuerung und Statusübertragung zwischen ARM- und NEON/VFP-Statusregistern (VMSR und VMRS)
2.3.12 NEON Instruktionen
2.3.13 Datentransfer
2.3.14 NEON Load/Store Instruktionen
2.3.15 Arithmetische und logische NEON-Operationen
2.3.16 VTRN (Vector Transpose) Instruktionen
2.3.17 Implementierung von Trigonometrischen Funktionen
2.3.18 Implementierung einer 4x4-Matrixmultiplikationsfunktion mit NEON