One of the trickiest aspects to launching a major new platform update is the chicken and egg problem. Without any hardware to test on or take advantage of, developers are leery of committing to supporting new hardware features. Without software that takes advantage of new hardware capabilities, customers aren't willing to pay for new equipment. We normally think about this problem as strictly an end-user issue, but it actually pops up in multiple contexts -- it's tougher to sell chip designers on a major microarchitecture update if they can't experiment with the product first. Today, ARM is tackling the issue at the manufacturer and design level with a new development platform, codenamed Juno.
The Juno development platform combines several of ARM's most advanced technologies, including the ARMv8 instruction set, all on a single board. The product supports big.Little in an asymmetric configuration; each board ships with two Cortex-A57s, four Cortex-A53s, and a modest Mali T-624 core. The entire chip is tied together by a CCN-400 bus -- this isn't the most advanced interconnect block in ARM's stable, but it's a well-known and popular choice for connecting the various cores, GPU, and on-die functionality.
All this hardware needs an OS to run on -- which is why ARM is announcing a 64-bit port of Android as part of this new development board. By including AOSP
support as well as additional hooks and features from Linaro, ARM wants Juno to be a sort-of one-stop shopping product for anyone who needs to test, prototype, or design a 64-bit product for the ARM ecosystem. The Android flavor that's coming over isn't an ancient port -- it's based on Linaro
Stable Kernel 3.10 and compiled with GCC 4.9. 32-bit ports and OpenEmbedded ports will also be available.
At launch, Juno will support OpenGL-ES
3.0, on-chip thermal and power management, up to 8GB of RAM (12.8GB/s of bandwidth), an optional FPGA, and USB 2.0. OpenCL 1.1 will be added in a future product update. The project is positioned as a joint ARM / Linaro launch with ARM handling the hardware and Linaro taking responsibility for the software stack -- including rolling out further optimizations and capabilities down the road. With Google having just announced Android L, ARM thinks its ahead of the curve on offering support for that initiative as well.
ARM's Juno Development Board
Why Does Anyone Need A Dev Board?
One thing I want to clarify is that these kinds of products don't come cheap. Nvidia turned heads earlier this year when they announced a Tegra K1
development board for just $192, but the vast majority of these types of specialty products are expensive
So why buy a chip from ARM
when you could buy a device from Samsung
, or Qualcomm
and develop on that?
In some cases, in fact, that's exactly what you want to do -- but the point of buying into ARM's own product stack is that it gives you a neutral base point from which to work. Many ARM vendors do their own custom work, whether that means Qualcomm's custom CPU cores, Samsung's broken big.LITTLE
functionality in the Exynos
5410, or Nvidia's unique Companion Core design. Toss in variations in I/O capability and onboard GPU, and it's difficult for any single SoC to offer a completely dependable standard ARM platform.
That's where Juno comes in. ARM
hopes that by partnering with Linaro for software tools and heavy lifting it'll be able to offer developers and designers a robust product stack and a firm baseline for testing ARM-based products.