So when i read this tread it gives me more or less the following options:
- MIPS structure with a conversion layer (highly doubt it)
- Cortex A5
- Modifyed cortex A5 (Like qualcomm did with Krait) So this way it could be part A9, part A5 but its highly doubtfull as it would take lots of effort and research to make something like this.
- it is A9 (doubt it)
Thanks for your contribution.
That's a good a summary of the possibilities there.
vfp v4 is not supported on Cortex A9 with ARM's spec. Actions may have decided to make a "modified" Cortex A9 chip which includes vfp v4. ie. Cortex A9 + vfpv4. In order for software to make use of vfp v4 instructions, Actions would have to change the chip ID to A5 (or A7) because A9 does not support vfp v4.
Yes, a modified A9 is possible, just like a modified A5. But as robertnl quoted, both are unlikely. Well, Qualcomm and Apple created their own Cortex A9 variants, does Actions play in the same league? They would certainly stand out in this list
However, Actions wouldn't have changed the CPU part number for that reason (to indicate the presence of vfpv4). That might have been done decades ago, but nowadays CPUs have CPUID
sort of commands or registers that indicate what features and capabilities are and are not supported (see MVFR1
in the ARM manuals).
Whether Cortex A9 or A5 is really kinda irrelevant. What really matters is the CPU performance in the benchmarks. Presently, ATM7029 has a very strong showing in Antutu RAM, INT & FLOAT. Though we "should" test with other CPU benchmarks to confirm those to be true and accurate.
I agree, the name is irrelevant, the performance counts. The performance in real world use, not synthetic benchmarks.
Still, they shouldn't lie to us customers. If it is a CPU based on ARM Cortex A5, then call it that (or "A5 plus" if you must) and point out that it doesn't have to hide behind A9s. But don't call it Cortex A9 if it isn't one.
My N80 (RK3066) 2 x 1.6 GHz A9s w/Antutu 3
Total CPU clock difference between Hero II & N80 = 50% (4.8 GHz VS 3.2 GHz)
We can see that ATM7029 scores very well against my N80. ie. does 43% better RAM score, 43% INT, 56% FLOAT. Notice that if you scale up my N80 results by 50% they would be very similar to ATM7029?
Take into account that Antutu is not super accurate either and chip design between RK3066 & ATM7029 are different too. ie. the results still seem "fairly" linear and are within acceptable differences
You're right, the ATM7029 really does score well in RAM, int and float. Whereas the Allwinner A31 disappoints, except in int maybe. But that could just mean that Allwinner's A7 implementation sucks. It'd be interesting to see benchmarks of A7s by other implementers.
Anyway, I did a quick test with my Aurora 2 (AML8726-MX Cortex A9 dual-core). Forced it to 800 MHz (actually 792 MHz) and ran the Antutu 3 CPU test, then again at 1320 MHz.
| 792MHz | 1320MHz || 792MHz * 1.67 || 792MHz * 2.02
RAM | 1023 | 1590 || 1708 || 2066
INT | 1258 | 2089 || 2101 || 2541
FLOAT | 881 | 1480 || 1471 || 1780
CPU integer and floating point scores really are proportional to the frequency. But the RAM score certainly is not, and that makes perfect sense - the RAM doesn't actually get faster, only the CPU instructions accessing it do, and maybe the CPU's caches.
And while the int and float "792MHz * 2.02" values are reasonably similar to your RK3066 values, that doesn't necessarily have to be the case. Again, a customized Cortex A9 implementation (Qualcomm and Apple) could yield significantly different results. But Amlogic's and Rockchip's implementations seem to be comparable vanilla Cortex A9s.
By the way, seeing "4.8 GHz VS 3.2 GHz" makes me cringe.
With a multi core CPU, you cannot simply do "number of cores" times "clock frequency" equals "virtual single core with equal performance". Because in reality, not everything is perfectly parallelizable and not every resource is actually multiplied (more on that here
It works here because the benchmarks of Antutu are highly parallelizable - well, for int and float at least. That's to be expected, they're probably just number crunching without any dependencies, so there's no need for the code running on the different cores to communicate and synchronize, as you would have in most real world applications.
Tested it on my AML8726-MX by deactivating one core:
| 1200MHz x1 | 1200MHz x2 || x1 * 2
RAM | 874 | 1444 || 1748
INT | 964 | 1934 || 1928
FLOAT | 668 | 1338 || 1336
PS, the biggest problem I have seen with ATM7029 is 3D performance because they went with GC1000. ATM7029 chip would have been a winner if it had Mali400MP4 GPU. I would strongly advise people to avoid this chip just because of the very weak 3D performance.
I'd second that, but only if you want to play many 3D games (not everybody does). The ATM7029's CPU performance looks good, A5 or not, and it apparently has a nice video decoder onboard (there's a demo of a Hero II playing several videos simultaneously).
Edited by Tzul, 10 January 2013 - 09:48 PM.