Where would this be needed?
Where would this be needed?
These's a bunch of affordable Cyclone V SoC development boards: http://www.terasic.com.tw/attachment/archive/836/image/compa...
Stratix 10 SX SoCs feature hard processor system with 64 bit quad-core ARM Cortex-A53 processor available in all densities in addition to all the features of Stratix 10 GX devices.
You can get affordable Cyclone V FPGA/ARM boards though, which are more comparable to the traditional "Zynq" series (dual ~1ghz 32bit cores, some DDR3, etc).
In powered up mode it would operate like a normal x86_64 chip, full power and full speed. But in low power or standby mode it could switch to an ARM chip or core and maintain access to RAM and disks to let it run updates and downloads in the background.
For example, right now to update Windows or Steam games or other software, I have to leave my computer running at full power. Generally depending on what I'm doing I want to throttle or stop the downloads so it doesn't interfere with my normal use. But I also hate leaving my desktop on at full power and with the fans running just so it can do downloads and background tasks.
Or an ARM core could run a simple file server, letting me access files and information stored on my desktop without leaving it on all the time.
TL;DR: I wish I could have an ARM core in my desktop to run background tasks like downloads and other things Raspberry Pi-ish levels of performance.
And the fileserver concept is pretty neat. Rather than having a separate low power machine that you send files to, your main PC could act as a fileserver using separate software while fully powered or in low-power mode. I'd buy that, if only for the novelty.
To some extent, I would be surprised if there aren't teams at Microsoft exploring such crazy hybrid notions already, if at least for options for future Xbox or Surface hardware. Recalls to mind Microsoft already experimented with a notification platform of a low power CPU screen coupled to a Windows device way back in the Vista timeframe [1].
While you could definitely allow apps to run arbitrary ARM code on it, I also think it would be quite feasible for the hardware or the OS to expose a simpler API as well with basic functions like 'queue download' that would simply take a protocol, a URL, and a disk location.
The obvious solution to these sort of problems problems is to send programs in some intermediate or high level form, with compilers for local CPUs being part of the loading process. While some successful environments have already done this (notably OS/400, and the ever-up-and-coming Mill CPU), there's just still too much momentum in the popular OSes for the "simpler" binary model.
This recipe led to a hard-to-debug condition that the Mono team wrote about [1] (posted on HN [2]).
[1] http://www.mono-project.com/news/2016/09/12/arm64-icache/ [2] https://news.ycombinator.com/item?id=12481700
AMD uses ARM for power management inside the chip.
It was a complete unmitigated disaster. The GPU was slow and had endless driver bugs, and it was made worse by Intel having to negotiate with ImaginationTech for driver support... Not at all surprising Intel stepped up their own GPU game in response.