From WikiChip
Editing arm/a64

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 7: Line 7:
 
== Registers ==
 
== Registers ==
 
A64 has 31 [[general-purpose registers]], all of which are 64-bit wide. Depending on the instruction, the 32nd register is used to obtain a zero or the stack pointer. The almost doubling of the GPR count was done in order to improve both the performance and power of the implementations (designed to reduce cache accesses). Banking was eliminated altogether. Additionally, the stack pointer is no longer regarded as a GPR and the [[program counter]] is no longer treated as a normal directly accessible register.
 
A64 has 31 [[general-purpose registers]], all of which are 64-bit wide. Depending on the instruction, the 32nd register is used to obtain a zero or the stack pointer. The almost doubling of the GPR count was done in order to improve both the performance and power of the implementations (designed to reduce cache accesses). Banking was eliminated altogether. Additionally, the stack pointer is no longer regarded as a GPR and the [[program counter]] is no longer treated as a normal directly accessible register.
 
=== Packing ===
 
Compared to {{\\|A32}}, smaller registers no longer packed into the larger ones but are instead mapped one-to-one to the low-order bits of the bigger register.
 
 
Registers W0 through W30 are 32 bit and register X0 through X30 are 64 bits.
 
 
:[[File:arm a64 registers.svg|400px]]
 
  
 
== Instructions ==
 
== Instructions ==
Line 19: Line 12:
  
 
== Advanced SIMD ==
 
== Advanced SIMD ==
A64 Advanced SIMD ({{\\|NEON}}) shares the same register file as the {{\\|A32}} floating-point [[register file]] but is extended to 128-bit. A64 has 32 128-bit wide vector registers (this is double the amount from {{\\|A32}}). A64 advanced SIMD added support for [[double-precision floating point]] as well as [[IEE 754]] compliance. Additional instructions were also added to support the 2008 version of the standard (e.g., conversion, min/max).
+
A64 Advanced SIMD ({{\\|NEON}}) shares the same register file as the {{\\|A32}} floating-point [[register file]] but is extended to 128-bit. A64 has 32 128-bit wide vector registers (this is double the amount from {{\\|A32}}). Compared to {{\\|A32}}, smaller registers no longer packed into the larger ones but are isntead mapped one-to-one to the low-order bits of the 128-bit register. A64 advanced SIMD added support for [[double-precision floating point]] as well as [[IEE 754]] compliance. Additional instructions were also added to support the 2008 version fo the standard (e.g., conversion, min/max).  
 
 
Media registers are referred to ''Vn''. The 64-bit (''Dn'') and 32-bit (''Sn'') forms can also be accessed.
 
 
 
:[[File:arm a64 media registers.svg|650px]]
 
  
 
== Bibliography ==
 
== Bibliography ==
 
* Richard Grisenthwaite. (October 26, 2011). ''"Technology Preview: The ARM Architecture - a View of the Future "''.
 
* Richard Grisenthwaite. (October 26, 2011). ''"Technology Preview: The ARM Architecture - a View of the Future "''.
* ARM Architecture Group. "Armv8 instruction set overview." vol. PRD03-GENC-010197 (2011).
 

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)