Arm architecture hierarchy
AppliedMicro X-Gene architecture
X-Gene peripherals and mSlim
X-Gene FPGA development board
Arm has been talking about its 64-bit ARMv8 processor architecure (Fig. 1) for awhile. It is now a step closer to hardware with Applied Micro Circuits' (AppliedMicro) announcement of its X-Gene (Fig. 2) chip architecture. This multicore Server-on-a-Chip architecture will incorporate multiple ARMv8 cores along with interfaces such as PCI Express, SATA and Gigabit Ethernet. Intel has been moving towards a single chip platform but its server solutions are still multichip configurations.
AppliedMicro has a range of single core and multicore chips System-on-Chip solutions based on the Power architecture. Many come with built-in RAID hardware support and these are targeted at storage applications (see New NAS Is More Than Storage). Some, like the 32-bit dual core APM86290, include AppliedMicro's Scalable Lightweight Intelligent Management Processor (SLIMpro). SLIMpro addresses security and power management as an independent compute engine (see Multicore Server Processor Slims Down Secure Networking). The new chips will include multiple security engines called mSLIM (Fig. 3).
These new 64-bit chips will target server applications requiring low power. This ranges from the SOHO NAS server to racks of cloud servers. Arm chips are starting to move into the rack space already. Mobile Integration Workgroup's ARMblock16 is a 2U systems that delivers 48 32-bit cores via 16 Marvell AP510 processors. It only draws 100W.
The ARMv8 architecture is compatible with its 32-bit counterpart. It is based on a quad issue, out-of-order superscalar pipeline. The architecture brings 64-bit addressing to the mix as well as 64-bit registers. Physical addressing uses up to 48-bits and the upper 8-bits of an address can be configured as tagged pointers that can be interpreted by software. 4Kbyte and 64 Kbyte translation granules are supported.
It uses the new A64 instruction set with 32-bit instructions with 5-bit register specifiers to access the 32 64-/128-bit registers. A dedicated zero register is available via most instructions. The stack pointer and program counter are not part of the register group.
The new instructions support 32- and 64-bit arguments. There are no arbitrary length load/store multiple instructions in the A64 set. New types of instructions include load-acquire/store-release designed to work with C++11/C1x Sequential Consistency (SC) atomic operations. The SIMD and floating point support is similar to the ARMv7 support. Software encryption is enhanced by two pairs of instructions for AES support plus SHA-1 and SHA-256 support. These do not replace hardware accelerators but are useful to software-only security processing. The instruction set also has improvements for IEEE754-2008 floating point support.
The ARMv8 architecture employs a 4 level privilege hierarchy (EL0-EL3). EL3 supports ARM's TrustZone technology. The system supports a variety of 32- and 64-bit secure virtualization configurations.
Arm implemented support for two types of debugging: self-hosted and target debug mode. The self hosted mode is similar to the ARMv7 debug support. This mode is integrated with the ARMv8 exception mechanism.
The Embedded Trace Mode 4 (ETM4) has been added to the ARMv8 architecture. ETM4 widens addresses to 64-bits. It is designed to show "waypoints" of instructions which is more efficienct than providing address information.
The X-Gene architecture that is based on ARMv8 looks impressive. AppliedMicro runs the cores up to 3 GHz and supports up to 128 cores using an 80 Gbyte/s, low latency fabric. As noted, the X-Gene will including multiple SLIMpro modules. SLIMpro provides fine grain power management from 200mW and up. It implements secure boot and incorporates the Trusted Management Module including its own crypto engine. In addition to secure boot, SLIMpro handles secure debugging. It also provides concurrent secure domain protection including secure peripheral management.
Initially AppliedMicro will be providing X-Gene developers with a board based on Xilinx Virtex FPGAs (Fig. 4) that implement the X-Gene architecture. This will be shrunk to a single chip when it is delivered next year. AppliedMicro will be using 40nm and 28nm technology.
It will take a while to determine what kind of dent Arm's 64-bit platform will make to the existing 64-bit solutions but given its past track record it will be an architecture to watch. AppliedMicro is only the first to adopt ARMv8.