ARM adopts 64-bit architecture
ARM has disclosed technical details about its new v8 architecture - the first to include a 64-bit instruction set - at ARM TechCon 2011 in Santa Clara, California.
The next-gen architecture will expand the reach of ARM processors in the consumer and enterprise markets where extended virtual addressing and 64-bit data processing are required.
According to ARM CTO Mike Muller, ARMv8 architecture consists of two main execution states: AArch64 and AArch32.
The AArch64 execution state introduces a new instruction set, A64 for 64-bit processing, while the AArch32 state supports the existing ARM instruction set.
As expected, the key features of the current ARMv7 architecture, including TrustZone, virtualization and NEON advanced SIMD, are either maintained or extended with ARMv8 architecture.
"ARMv8 will enable the development of ARM architecture compatible devices that can be designed to maximize the benefits across both 32-bit and 64-bit application areas," explained ARM CTO Mike Muller.
"This will bring the advantages of energy-efficient 64-bit computing to new applications such as high-end servers and computing, as well as offering backwards compatibility and migration for existing software through a consistent architecture."
Unsurprisingly, ARMv8 has already been endorsed by a number of industry heavyweights, including Microsoft and Nvidia.
"ARM is an important partner for Microsoft," said Redmond exec KD Hallman. "The evolution of ARM to support a 64-bit architecture is a significant development for ARM and for the ARM ecosystem."
Nvidia's Dan Vivoli expressed similar sentiments.
"The combination of Nvidia's leadership in energy-efficient, high-performance processing and the new ARMv8 architecture will enable game-shifting breakthroughs in devices across the full range of computing - from smartphones through to supercomputers."
Processors based on ARMv8 will be announced during 2012, with consumer and enterprise prototype systems expected in 2014.
While writing asset management code...Programmer 1: Can I name my variable ass?Programmer 2: Is it a private variable?Programmer 1: YesProgrammer 2: Then name it - myAss