Fastest or Best ARM CPU?
Glen Walker (2585) 469 posts |
OK so this is my second attempt at writing a post based on this subject and you will just have to trust me that the first one was a wonderful work of literary brilliance (right up to the point I accidentally refreshed the page)… I have cracked open a copy of Mousepad to complete this second attempt. Anyway, I make no apologies for rambling on this subject because my thoughts are not entirely clear so I am sort-of dumping them on the forum and hoping that some of you kind people will help me sort them out. Also its quite long…but thats only because I can type crazily fast and still have half a cup of cocoa to finish before my tea-break is over! (or should that be “cocoa-break”?) As some of you are probably aware I have a desire to port RISC OS to a new platform. This is mostly due to having to move to another employer (because the old one was basically out of business) and the fact that my new job doesn’t have anything much to do with ARM programming (its more like technical publishing). So I can keep some of my brain cells interested in computers I have decided to move all of my ARM/C programming to my spare time…which I will now get quite a bit more of because I wont be working to 3am trying to rescue a doomed company! Right, I’ve lost track again… Basically to make the project more interesting I decided to find the highest performing ARM CPU that I could. I know from previous experience that the Nvidia Tegra line are quite good and that a Swiss company called Toradex provide some neat little development packages. I have used them before and they are generally quite helpful people. A bit more digging, though, and I found that Qualcomm make a Snapdragon processor that clocks as high as 2.7GHz and there is at least one company (Inforce) who make a development board based on that chip. Thus far I have not managed to get a response from Inforce, but I have not pursued them in any earnest because I have also found that Qualcomm are replacing that Snapdragon chip (the Krait) with a new one (the Kyro) which clocks at a little bit slower 2.2GHz (but is 64bit…which isn’t of much use to us…). I have also found that Gigabyte are doing a 2.5GHz ARM µATX board and AMD are also pursuing ARM based systems…but I am unsure what level of documentation or support they will provide because they are simply offering as a finished device rather than a development platform. All that aside, I was wondering – why hasn’t anyone released a 3GHz+ ARM CPU yet? Is it just that they are mostly aimed at low-power devices, or are there physical barriers that will get in the way? Also – where would my efforts be best served:
Hmm…I guess it comes down to ARMv7 vs. ARMv8 because the choice of which company to go with will depend on the level of documentation and the availability of decent development boards? Longevity will likely also be quite important because I’m doing this by myself it will probably take a long time and I would hate to have finished a port to a CPU the day before the company that makes it decides its obsolete! I am quite drawn to the Inforce Snapdragon Kyro…although I have no rational idea why! Maybe its because I have fond memories of growing snapdragon plants as a child… |
David Feugey (2125) 2709 posts |
Inforce Snapdragon Kyro seems to be the fastest offer for MIPS/core on the market today. |
Jeffrey Lee (213) 6048 posts |
Both. ARM’s designs are optimised for low power consumption (both when under load and when idle), so that will place limits on how fast they can run before you start hitting the limits of the design. If people want to get more speed/power then they’ll have to adjust the design or come up with their own implementation, which obviously requires time + money + expertise. At which point you’re likely to go “stuff it” and just use an x86 chip.
Yeah, documentation (or lack of) will be the main thing holding you back with any hardware port.
Well, I guess that will all depend on whether you’re expecting other people to use the port :-) If it’s just something you’re doing yourself for fun then it doesn’t really matter. But if you want other people to use it then you need to look at whether the port gives people what they want – do people just want faster CPUs, or do they want other things like fast IO (SATA, USB3, gigabit networking), high-res/multi-monitor displays, ATX-compatible form factors, >2GB of RAM, etc. David Feugey keeps asking for a version of RISC OS which can be run under a standard hypervisor, which will (in theory) make the OS hardware agnostic and allow it to run on many recent ARM devices (and non-ARM devices via e.g. QEMU). Maybe that will float your boat? |
Rick Murray (539) 13840 posts |
Do you have JTAG? I have, for a while, wanted to port RISC OS to run on my PVR (ARM926 based) as the TRM I have seems reasonably detailed, though I wonder how RISC OS will cope with a device that can only run at 640×480? ;-) One day, maybe… |
Steffen Huber (91) 1953 posts |
I think the most important thing is: do something that is interesting and fun. Maybe porting RISC OS to a completely new platform is a bit ambitious for a first project? So how about targetting the BeagleBoard-X15 first, which is a Cortex-A15 platform similar to the IGEPv5 and the Titanium. The Samsung ArndaleOcta would be an interesting target, but docs are very thin on the ground. Globalscale currently does a Kickstarter campaign (well, it ends in a few minutes…) to finance a Marvell-based board named ESPRESSObin. It has the advantage of not having any video stuff, so to get good RISC OS performance you would be forced to implement USB3 support to connect the latest DisplayLink stuff :-) |
Glen Walker (2585) 469 posts |
True and that would be nice…but I guess most people would already be well served by whats out there so I’d likely give away anything I created…I do have a recurring mad idea about selling small micro computers that would be the spiritual successor to Acorns but this idea usually only surfaces after a good slug of wine.
Used to have a few in the last two jobs, but used SWD more – I will have to buy a new JTAG/SWD programmer because it wasn’t one of the things I was allowed to take away with me! There seems to be a decent selection of options out there though. Also we had the luxury of designing and building our own boards so could implement the necessary programming headers and connections as we needed to!
Yes you are correct – I’ve got to still be motivated after it doesn’t work for a week or more!
Yes I suppose so…in that same vein I was thinking about the SolidRun Hummingboard SOM which uses an iMX6 processor (also the boards a bit cheaper)…and I think I could re-use a Pi case? Is there anyone actually selling the Beagleboard X15…? |
Steve Pampling (1551) 8170 posts |
There’s a certain element of re-inventing the wheel there since the iMX6 has been done (Wandboard) but you don’t have access to the source for that port to be able to tweak into your variant. |
Steffen Huber (91) 1953 posts |
RS Components have it “in stock”. |
Steve Pampling (1551) 8170 posts |
Can they actually use that kind of phrase without a “cease and desist” winging its way from CJE towers? :) |
John Hogg (3893) 40 posts |
Wouldn’t the fastest have been the AMD arm server opteron chips running at 2ghz and having ddr3/4 capability have been the fastest possible (maybe still is) hardware risc OS could conciveably run on? Probs far from easiest but I’d reckon very fast indeed |
Rick Murray (539) 13840 posts |
Anything with ARM32 and an MMU is technically capable of running RISC OS. But, as always, the big sticking point is not the speed of the processor, but simple documentation. RISC OS, on the other hand, has a lot of the hardware interfacing built right into the OS, not just in the HAL, but various hardware support modules (OMAPvideo, BCMVideo…) so RISC OS needs to be targeted to the hardware, not just a fairly standard build with drivers blob… So my standard response when anybody mentions a cool board for RISC OS is: where’s the documentation? What kind of documentation? Something like this! |