The folks at ARM have a bit of a chicken-and-egg problem that any creator of a new CPU instruction set is likely to face. How exactly do they enable the creation of ARMv8-compatible chips, devices, drivers, and software without any functioning hardware available for testing? More acutely, how do they make sure the transition to the 64-bit ARMv8 instruction set happens quickly enough to keep up with the crazy-short design cycles of today's tech gear?
The answer, it turns out, is for ARM to build its very own reference platform, complete with a six-core custom SoC. That platform is dubbed Juno, and ARM says it's just now becoming available to customers who could make use of that sort of thing—think SoC makers, kernel and hypervisor developers, the creators of driver software, and the low-level programmers who build things like game engines.
The news of an ARMv8 reference platform's first availability in mid-2014 may seem surprising given the tremendous momentum ARM's 64-bit ISA already appears to have in multiple markets. After all, Apple has been shipping 64-bit hardware for some time now, and Google announced the Developer Preview of the 64-bit Android L release just last week at its I/O conference. Still, until Juno came along, the only ARMv8-compatible hardware out there was Apple's custom SoCs, which are closed off from the Android ecosystem, and an early server chip from Applied Micro that's not publicly available. Both use custom CPU cores. Juno, by contrast, is built from ARM's own licensable components, specifically those from the company's suite of mobile IP. Any firm with the wherewithal to pay the price of entry can now buy a Juno development board from ARM and test with working hardware.
Both the Juno motherboard, pictured above, and the SoC that powers it were created by ARM. They're intended to be functionally correct and a good representation of a potential mobile system, but like many development platforms, Juno isn't meant to deliver best-in-class performance or efficiency.
Still, it's interesting to see how ARM would go about building an SoC comprised of its own IP. In some respects, I think Juno's component mix may be more sensible than the one we'll see in end-product chips from ARM's partners. For instance, Juno combines two relatively large (for a phone or tablet) Cortex-A57 CPU cores with four lightweight Cortex-A53 cores. This contingent of big and little cores probably better fits consumer usage patterns than the eight-core configs currently on the market.
Juno also includes ARM's own Mali-T624 graphics processor, the mobile-focused CCI-400 uncore, dual DDR3 memory controllers, and a Cortex-M3 "system controller" block that handles SoC-level power management. Not shown in the diagram above is a low-bandwidth interface that can connect to an external FPGA logic tile. The FPGA can be programmed to emulate external devices, allowing another degree of hardware flexibility for testing.
One of the first fruits of Juno's existence comes from the the folks at Linaro, who help create much of the core open-source software for ARM-based devices. (Linaro is a not-for-profit organization supported by ARM and a range of ARM partners; Qualcomm and MediaTek are the most recent to sign on.) Linaro has had the Juno board in its hands for "a little over a month" and is today announcing the release of a port of Google's Android Open Source Project to the 64-bit ARM ISA. This port is essentially an early-access version of Android L for 64-bit hardware. Along with Juno, it should enable SoC and device makers to begin building and customizing their solutions right away, before their own SoCs are etched into silicon.
To give one example of the sort of thing Linaro contributes to the Android ecosystem, this first 64-bit release from Linaro already supports most optimal form of ARM's big.LITTLE power-management scheme, known as Global Task Scheduling. In theory, GTS is the most efficient means of distributing tasks to the appropriate cores in order to maximize power efficiency, but it's also a fairly sophisticated form of asymmetric multiprocessing that requires the explicit support of the Linux task scheduler. We're talking about modifying a low-level core Linux kernel component, so it's a non-trivial affair. Linaro has built GTS support into its first 64-bit release, and device makers can choose to adopt it if they wish. It's possible Linaro's changes could be incorporated to "upstream" projects like AOSP or even the core Linux kernel at some point in the future.
Linaro does monthly software releases, so this first 64-bit implementation of AOSP will be getting more refinements along the way as the developers get more time with Juno and the Android L preview. The folks at Linaro are eyeing OpenSSL and the cryptography instructions in ARMv8 as a potential target for optimizations. Adding hardware encryption support could boost performance and improve battery life across a broad swath of the Android ecosystem.
Meanwhile, ARM itself is using Juno in the development of drivers for its Mali series of GPUs.
I can't help but think Juno would also, ahem, be an interesting platform for, say, a hardware review site to use in testing ARM's 64-bit CPU cores against the competition. Just, you know, throwing that out there. Who knows what might happen next?
34 comments — Last by demani at 7:47 AM on 07/06/14
|AMD previews Carrizo APU, offers insights into power savingsExcavator cores and other innovations to help improve efficiency||115|
|Dell's Venue 8 7000 tablet reviewedx86 Android goes on a crash diet||44|
|The TR Podcast 169.5 bonus edition: Q&A intensifiesYou ask, we attempt to answer||5|
|Samsung's Galaxy Note 4 with the Exynos 5433 processorA Korean import gives us a look at ARM's latest tech||110|
|Samsung's Portable SSD T1 reviewedA pocketable 850 EVO||34|
|The TR Podcast 167.5 bonus edition: You guys ask us stuff!The chat channel hops into the driver's seat||6|
|Apple's iPhone 6 and 6 Plus smartphones reviewedSupersize me||206|
|TR's 2014 Christmas gift guideThe best techie-friendly items for under your tree||52|
|Nvidia's PhysX joins the open-source party||5|
|Intel announces Achievement Unlocked dev relations program||5|
|Intel partners with Raptr to optimize game settings for Iris graphics||12|
|Socketed Intel desktop Broadwell coming mid-year||19|
|Microsoft announces PC wireless adapter for Xbox One controller||23|
|Nvidia demos new Titan X graphics card at GDC||101|
|Valve's Source 2 engine will be free, too||19|
|FREAK vulnerability exploits old encryption export restrictions||17|
|And Samsung makes new phone with no sd slot lol whaw whaw whaw||+56|