This isn't exactly overflowing with up to date numbers, but...
http://elinux.org/images/8/8a/Experiment_with_Linux_and_ARM_Thumb-2_ISA.pdf
Slides 14 and 15 say that across EEMBC Thumb-2 gives 98% of the performance of ARM 32 bit instructions (assume performance optimised) and binaries are 26% smaller (didn't catch what binary/binaries that was). These are numbers from 2007 and benchmarked on an ARM 11. I assume using ARMCC.
Slide 17 tells us that GCC 4.1 can shrink the kernel by 29% and common libraries by 20%.
None of these slides tell us about if Thumb 2 improves multitasking by a noticeable amount by reducing cache thrashing (well, as far as I know, none of the benchmarks used are multi-threaded). My guess is that this would help with user interaction and smoothing out multimedia playback, but not help with server tasks, which I wouldn't expect to be noticeably impacted by task switching speed.
The slides don't tell us about running a typical set of applications in limited RAM and how much benefit Thumb 2 can give in that situation - my old Android phone has 256MB of RAM and is, as far as I can tell, performance limited by its lack of RAM (rooting and deleting everything I didn't use helped quite a bit). It may be interesting to look at running Android in 256MB Vs 512MB and seeing how much difference the ISA choice makes.
Something that isn't mentioned at all is power draw. If a SoC can switch off RAM because it isn't in use then it can save power. If code is smaller, there is less bus activity to load instructions, again saving power.
On the subject of ISAs, is any work being done with Jazelle RCT to accelerate VMs? Searching around most talk of Jazelle with Android is talking about DBX (direct byte code execution), which (as I understand it) isn't much use to Dalvik, but RCT may be since it is designed to accelerate JIT generated code.
James
On 20 October 2011 18:41, Roger Teague Roger.Teague@arm.com wrote:
Hi Kiko,
These are all excellent questions and I for one would be keen to see a position on this.
How would it be captured and the output published?
Ta
Sent from yet another ARM powered device
On 20 Oct 2011, at 18:30, "Christian Robottom Reis" kiko@linaro.org wrote:
Hello there,
Coming back from Asia I've been putting a lot of thought about how we can make sure we spend our engineering cycles on the work that is most valuable to the current Linaro members, and part of that means reassessing assumptions that we've carried since our foundation.
The first point I want to raise is Thumb-2, the alternative ISA described by ARM like this:
For performance optimised code Thumb-2 technology uses 31 percent less memory to reduce system cost, while providing up to 38 percent higher performance than existing high density code, which can be used to prolong battery-life or to enrich the product feature set. Thumb-2 technology is featured in the processor, and in all ARMv7 architecture-based processors.
We've from the beginning set Thumb-2 in our standard configuration across platforms, but outside of Ubuntu, I think we're unique in that. So the questions I have are:
- Do we know how much better Thumb-2 actually is, in practice? It's easy for us to confirm this on Android; what do the numbers and feel of the system tell us?
- What are the downsides to using Thumb-2 in general? Do we have anecdotes or threads that talk about bad experiences or blockers in the transition?
- If it's so great, how could we lead a wide-ranging transition to Thumb2 becoming the standard ISA for modern v7 applications, including Android, Yocto and anything else relevant that runs on a Cortex A?
Thanks,
Christian Robottom Reis, Engineering VP Brazil (GMT-3) | [+55] 16 9112 6430 | [+1] 612 216 4935 Linaro.org: Open Source Software for ARM SoCs
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev