SoC: Back and forth!


Because all PNDs and the full OS is softfloat...?
Want to create an OS where all the software we have doesn't work anymore...?
Seriously? Of course the PNDs are all compiled for softfloat, BECAUSE the whole OS is compiled for softfloat. It not the other way around.
Except the Pandora system uses the softfp ABI, which is not softfloat - the floating point hardware is very well used. Not that it makes a difference when switching the ABI for a new system (because neither softfp nor plain softfloat binaries won't work then, unless a compatibility layer is provided).
 
The Allwinner was announced after we already had secured the OMAP5...

I checked them before, but they didn't have any information about that yet.

They might have a distributor in Germany as well.
 
Last edited by a moderator:
The Allwinner was announced after we already had secured the OMAP5...

I checked them before, but they didn't have any information about that yet.

They might have a distributor in Germany as well.
Checked them? As in, you talk to them already?
Well, according to the video, you have to least wait two months.
 
Checked them? As in, you talk to them already?
Seems to me that he means that he looked on the Internet/asked distributors rather than the company themselves as to what was currently available/forthcoming.

Could be wrong of course. :)
 
Last edited by a moderator:
Ed, if it is still possible for you to look in to them, the allwinner board certainly sounds cool :) If we are already locked into OMAP5, however, then that is all good as well ^_^
 
Okay, I'm reading through this thread for the first time since it got split or whatever and I'm reading a lot of comments that I feel like remarking on. I'm just going to shoot off a big bullet list of remarks, hope no one minds this.

- The Snapdragon S4 NEON test (http://www.openssl.org/~appro/Snapdragon-S4.html) needs to specify what NEON operations it's doing, as it is now close to useless. There are NEON ops A15 can't dual issue too. From my limited testing and talks with a couple other people, it looks like A15 can generally do one 128-bit + one 64-bit arithmetic op, and it can do vtbls a lot faster than A8/A9.

- Doubtful that picking one SoC over another is going to make the difference between totally unplayable and fullspeed for Saturn emulators today. New Saturn emulators are needed.

- Before commenting on A8 vs A15 FPU perf (http://boards.openpandora.org/topic/15560-soc-back-and-forth/page-7#entry312000) I'd like to be certain the A8 version was using NEON, because VFPU is so slow on it (actually, would like to see the assembly in general). I'd also comment that FPU doesn't tend to monopolize mobile app time, including with emulators and even games. For the ones that use it much at all.

- perf/W isn't linear, it's a curve, it also includes static + dynamic elements and varies a ton with implementation. It's totally possible for some Cortex-A15 SoC to give better perf/W than Cortex-A9 at some perf level and worse at some other level. Note that all Cortex-A15s I'm aware of today are on 32nm or 28nm processes, many of which with HKMG, while that's not true for older Cortex-A9 SoCs, so they get that advantage. Comparing peak levels when one can get much higher performance than the other isn't valid, especially considering that some SoCs are applying huge voltage increases to get the last couple 100MHz.

- The SoC vendor, like TI or nVidia, actually has a big influence on the efficiency of a licensed Cortex-A15 outside of the manufacturing process, because they usually implement a soft-macro from ARM (they get it in some kind of RTL), they are responsible for "hardening" the design (implementing the physical layout) and that affects things like perf/W and max clocks. Also, ARM has added power-saving improvements to later revisions of A15 anyway, so the revision used matters (no idea what TI uses)

- The Cortex-M4's are not an alternative to big.LITTLE, nowhere even close. All software could transparently be executed on "little" cores, almost no software will use the M4 cores. The comment that the little cores only save something when the big cores aren't being used isn't really right either - if you use one big core and one little core (as many loads are asynchronous) you'll use less power than 2 big cores (bear in mind both cores have to be clocked at the same speed)

- The Cortex-M4s on OMAP5 do however have an MMU (external to the CPU, unified between the two - also, they have an external cache) and can share address space with normal apps. I bet you anything that this pretty heavily limits their clock speed, although I'm still trying to find out what they can be clocked to. TI doesn't seem to advertise this.

- The comments about various emulators being GPU limited instead of CPU limited needs to be demonstrated with some evidence, especially with Gamecube emulation.

- Qualcomm SoCs don't have big.LITTLE. They do have the ability to clock the CPU cores independently, which ARM-designed CPUs don't. Except you can clock clusters of CPUs independently, ie the A15s vs the A7s in big.LITTLE.

- I'm not part of the Pandora team and I don't really matter compared to notaz. I'll port DraStic whatever is chosen and whatever other emulators I work on in the future, if that's where the concern it. Also, I don't prefer x86, if all other parts of the SoC are equal, that's just not always the case. I'd rather the thing stayed with ARM too if it meant avoiding losing notaz, because there's a much bigger risk that this won't work without him.

Since some people wanted me to post here, I can answer specific questions. If someone has them.

Mentioned A80 in the other thread, ED clearly knows about it now so I guess we'll see if he's interested in getting more information. I do know they should have dev boards available really soon and would probably make one available to him.
 
Last edited by a moderator:
At last!  Welcome Exophase!  :)
fwiw, I didn't see this thread because it wasn't in my new threads filter. Which I had to use several months ago when the Pandora 2 Spam forum was kicked off the general new posts list because of whiners. That's also why I never saw any of the posts in the other new forums like NEON/DSP....
 
At last!  Welcome Exophase!  :)
fwiw, I didn't see this thread because it wasn't in my new threads filter. Which I had to use several months ago when the Pandora 2 Spam forum was kicked off the general new posts list because of whiners. That's also why I never saw any of the posts in the other new forums like NEON/DSP....
Oh - that WAS the Spam Forum before, so I should probably fix that!

Thanks for the information!

And thanks A LOT for your helpful answers :D
 
- Qualcomm SoCs don't have big.LITTLE. They do have the ability to clock the CPU cores independently, which ARM-designed CPUs don't. Except you can clock clusters of CPUs independently, ie the A15s vs the A7s in big.LITTLE.
That's actually pretty interesting.

Does that mean a Quad-Core A15 SoC will most probably use MORE CPU Power when running something simple like a SNES emulator than a Dual-Core A15 SoC, simply because all SoCs run at the same clock (and 4 is more than 2)

Or is Linux able to share one task between all four cores, so that the four-core system would need less clock for the same process as a dual-core system?

If that's the case, DualCore A15 or Qualcomm seems to be the better choice for us (battery-wise)

Mentioned A80 in the other thread, ED clearly knows about it now so I guess we'll see if he's interested in getting more information. I do know they should have dev boards available really soon and would probably make one available to him.
Do you have any contact with them?

That might be helpful.
 
That's actually pretty interesting.

Does that mean a Quad-Core A15 SoC will most probably use MORE CPU Power when running something simple like a SNES emulator than a Dual-Core A15 SoC, simply because all SoCs run at the same clock (and 4 is more than 2)
All of the cores must run at the same clock speed only when active. When active the individual cores can be turned off either through power gating (actually shut off) or clock gating (clock is turned off, the logic in the chip is basically "waiting.") With power gating virtually zero power is consumed. With clock gating, the gates consume static non-switching power via leakage. The reason why you have both is because with clock gating you can usually retain state, for example of registers and cache, so long as they don't have dynamic elements (like DRAM). With power gating you lose everything and therefore you have to save and restore it to somewhere else, which takes a lot of extra time and adds a lot of complexity. You don't want power gating if there's something you turn on and off again constantly, you will waste time and energy in all of the transitions. But in the case where two cores are basically never being used they shouldn't be powered on.

So normally you don't really pay anything for cores you don't use, not on any modern SoCs. The most recent glaring exception I can think of was Tegra 2 where you could only power gate both cores together, probably a big reason why this SoC was a flop for phones.

Or is Linux able to share one task between all four cores, so that the four-core system would need less clock for the same process as a dual-core system?
If the workload is well distributed among four threads then it can be scheduled to use them. Whether or not it clocks those cores at a lower speed than it would with two active depends on the demands of the CPU. The preferred clock speed is estimated based on how much the thread traditionally wants to go to sleep. Clock speed should ideally minimize the time spent sleeping, up to a point where you hit a minimum clock speed and it doesn't make sense to lower it further because you can't reduce the voltage anymore.

Thermal limits or power management settings may also dictate lower max clock speeds if more cores are active.

Do you have any contact with them?

That might be helpful.
Sorry, I don't. But that lkcl guy probably does, maybe you should contact him..
 
It's possible Olimex will sell A80, since they sell all other Allwinner SoCs currently: https://www.olimex.com/Products/Components/IC/

Maybe they should be contacted to see if they have any plans for carrying it, and/or are working on their own eval board? Olimex says they make open hardware and use open source software, so you should be able to get drawings, schematics, BOM, etc for their boards.
 
Last edited by a moderator:
The A80 sounds interesting, however I'm having trouble finding specs for this outside of the type and number of ARM cores and the fact that it uses a 6 series PowerVR GPU. If you could point me to where there are more detailed specs, I'd love to read up on this SoC more. (All I can seem to find are people talking about the specs of the OptimusBoard rather than the SoC)

-God Ginrai
 
^ where did you find the GPU spec for it.  I looked for it , but couldn't find anything re: the GPU except a suggestion that it used Mali becuase of their ARM license
 
The A80 sounds interesting, however I'm having trouble finding specs for this outside of the type and number of ARM cores and the fact that it uses a 6 series PowerVR GPU. If you could point me to where there are more detailed specs, I'd love to read up on this SoC more. (All I can seem to find are people talking about the specs of the OptimusBoard rather than the SoC)

-God Ginrai
It's still too early I guess, it's not even listed on their product page yet. But if they're really shipping the eval board within a month or so they'll probably have datasheets to go with it.
 
- Qualcomm SoCs don't have big.LITTLE. They do have the ability to clock the CPU cores independently, which ARM-designed CPUs don't. Except you can clock clusters of CPUs independently, ie the A15s vs the A7s in big.LITTLE.
That's actually pretty interesting.


Does that mean a Quad-Core A15 SoC will most probably use MORE CPU Power when running something simple like a SNES emulator than a Dual-Core A15 SoC, simply because all SoCs run at the same clock (and 4 is more than 2)


Or is Linux able to share one task between all four cores, so that the four-core system would need less clock for the same process as a dual-core system?


If that's the case, DualCore A15 or Qualcomm seems to be the better choice for us (battery-wise)
I did read somewhere that it's one of the features of 805 to clock the cores differently.

Don't have the source any more.

Would be careful if we only can get the 800.
 
Back
Top