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
|MSI's GP62 7REX Leopard Pro gaming laptop reviewedThe GeForce GTX 1050 Ti hits the road||19|
|AMD's Ryzen 5 2500U APU reviewedToward a more perfect fusion||166|
|Intel's Core i5-8250U CPU reviewedKaby Lake Refresh rides in on Acer's Swift 3||113|
|AMD's Ryzen 7 2700U and Ryzen 5 2500U APUs revealedInfinity Fabric ties Zen and Vega together||175|
|Intel's Core i7-8700K CPU reviewedSix shots of Coffee Lake, please||369|
|Intel's Core i9-7980XE and Core i9-7960X CPUs reviewedDid somebody say more cores?||176|
|Asus' Tinker Board single-board computer reviewedA new Raspberry Pi challenger appears||32|
|The Tech Report System Guide: September 2017 editionHog heaven at the high end||100|
|Aerocool's Project 7 P7-C1 Pro case reviewed||6|
|Google Project Tango is dead—long live ARCore||3|
|Thermaltake Sync box bridges RGB LED walled gardens||3|
|Intel tips off potential 960 GB and 1.5 TB Optane SSD 900Ps||6|
|Sapphire Nitro+ Radeon RX Vegas put a big chill on spicy-hot chips||15|
|Antec P110 Silent touts quiet looks and quiet operation||11|
|Updated LG Gram laptops put heavy-duty power into feathery bodies||15|
|Monkey Day Shortbread||11|
|Thursday deals: a nice Z370 mobo, a huge VA display, and more||6|
|His comment looks silly now that AMD has gone back and time to release a 16-core version of the Threadripper.||+18|