Posts Tagged ‘code density’

I attended this event recently. It was a whole-day event at Le Meridien, Bangalore. Registration was free. Apparently, ARM has been organising this every year for the last 2-3 years. This year it was held in three places in India: Bangalore, Hyderabad and Noida. It had no direct relevance to me because I am more into telecom software which is not what ARM does. Nonetheless, I found it extremely useful because the divide between software and hardware is not B&W these days. Things done in software could be done better in hardware. Things done in DSP could be done better in the MCU. Some factors influencing such decisions include the processing power, parallelism, multiple core architecture and others which are shaping the future generation of ARM processors.

Briefly, ARM operates in four key market segments: embedded, enterprise, home and mobile. Across these, there are four verticals: Processor IP, Physical IP, System Design, Media Processing and Services. This was enlightening for me as I learnt that ARM does a lot more than what I had previously known. They are not just an IP provider for RTL but provide a whole ecosystem of IP and services to realize System-on-Chip (SoC) quickly. They provide system IP around the ARM core. They provide software IP in terms of libraries. They provide a whole suite of integrated tools to reduce the time to market.

Just as importantly, they have initiated and manage the ARM connected community. Just like open communities on the Web, developers share knowledge, problems and solutions. Technical symposiums as this are regularly organized across the globe. ARM presence in India started in 1996 and it has grown substantially in the last three years. In the next 4-5 years, ARM intends to grow to over 1400 employees in India and 50% of their R&D will be done from India.

In the mobile space, there is plenty of growth potential for ARM. ARM processor architecture is one of the main components in many mobile systems. As an example, Nokia N95 uses two ARM processors: ARM1136 and ARM9. This phone is deemed to be one of the best selling phones in Europe and ARM sees it as the first great success story for ARM11. The market for smart phones is expected to triple by 2010. Another example: Apple’s iPod Nano uses Dual ARM7TDMI processor.

For long ARM7TDMI has been popular. Although ARM9 has been around for sometime now, only recently it has overtaken ARM7 in terms of number of licenses. ARM11 is just taking off; it is likely to be the chosen core for multimedia processing. The next generation of processors are already out – the Cortex family. Figure 1 illustrates these.

Figure 1
ARM Families

What this means is that processors and their platforms are trend setters. Every new generation of processors spawns a new generation of interfaces, tools, operating systems, applications, and user expectations. If today we were still using Intel 8086, the evolution of Windows OS might have been quite different. If ARM’s best processor core were still ARM7TDMI, Nokia N95 would have designed very differently with different power consumption and real-time performance. Being ahead of the race, processors define what’s possible. Everything around it tries to “upgrade itself”.

The next thing I found interesting was Thumb-2. I remember the time when engineers needed to decide what code should be compiled to Thumb and what else to ARM instruction set. What these engineers were attempting to do was to get a balance between code density and performance. This trade-off was linear. Thumb-2 breaks this linearity. It achieves a performance comparable to ARM and a code density comparable to Thumb. It is difficult to explain how this has been achieved without going into the instructions themselves. Hopefully, I will make a separate post. Briefly, Thumb-2 uses Thumb’s 16-bit instructions and extends to 32-bit Thumb-2 instructions. Figure 2 is a summary of what has been described.

Figure 2
Thumb-2 performance vs code density

There were lots more stuff at the Symposium. Some briefs are below:

  • Long ago I used ARMulator to do some profiling. RealView is infinitely better.
  • The future will see multiple wireless standards implemented on a single chip. For example, WiFi, WiMax, Bluetooth could all be on the same SoC. My own take on this is that software radio is a formidable competitor.
  • ARM was thought unsuitable for Internet browsing. ARM was benchmarked against Intel. A presentation slide showed comparable performance.
  • For MCU, 32-bit architectures are set to grow rapidly in the coming years.
  • In ARM, 30% of their turnover goes into R&D.
  • For microcontrollers, Cortex-M3 is likely to take over from ARM7TDMI.
  • AMBA4 is currently in design stage.

Relevant stuff (which you could search online & which I need to research):

  • Movial: open source stack to enable applications on mobile platforms
  • SOI Industry Consortium
  • ARM forum
  • Mali Graphics Processor and OpenGLES
  • NXP Software: founded by Philips: has access to Philips’ patents: claims that its software has been included in more than 250 million phones: they gave excellent review for ARM’s RealView profiler
  • EEMBC: a non-standard guideline for benchmarking processors
  • CELF
  • LiPS: Linux for mobiles

Two ways in which you can contribute on the above items:

  1. You may add your comments to this post.
  2. If you want to write a detailed article, you can post your views here on Mobile & Wireless. I will add you to my blog either as an author (you write the complete article) or as a contributor (we collaborate on the article). You will need to be registered within WordPress.com

Read Full Post »