This article introduces the shifting operations provided by NEON, and shows how they can be used to convert image data between commonly used color depths. Previous articles in this series: Part 1: Loads and Stores, Part 2: Dealing with Leftovers and Part 3: Matrix Multiplication. Shifting Vectors A shift on NEON is very similar to shifts you may have used in scalar ARM code. The shift moves the bits in each element of a vector left or right. Bit... [read more]
2010 has boldly been declared the “year of the tablet,” but as our own Bob Morris mentioned just last week, it’s not just general purpose tablets but eReaders are “the real thing that stuck with consumers.” It’s slowly coming to light that casual reading is not the only use that consumers may have for both of these devices. A growing number of companies like Inkling and Kno are developing software to provide students with textbooks, m... [read more]
The semiconductor IP industry is truly fascinating…Being the world’s leading semiconductor IP vendor, ARM is in the unique position of developing technology that shapes the future of electronics that surrounds us. The decisions we make today drive the incredible range of possibilities for the industry over the next few years. When we were developing the Cortex-M4, we would talk everyday about the kinds of cool products it would enable one day... [read more]
This week is turning out to be a truly “memorable” week.. Smart mobile devices that capture my memories and the thought leadership at Flash Memory Summit collided to bring me some interesting insight. It started off for me with a bout of wedding planning as my niece is getting married this Saturday. Indian weddings are designed to be memorable, not only because they are colorful, chaotic and noisy, but because they tend to last for days. So y... [read more]
Detecting Overflow from Arithmetic Operations I discussed in a previous blog post that it is possible to set some condition flags based on the result of an arithmetic operation. Consider the following code: adds r0, r0, r1 bvs The above code adds r1 to r0, then branches somewhere if a (signed) overflow was detected. This technique is used frequently in JIT-compilers for dynamic languages. In such contexts, the type and size of a variable is often... [read more]
There’s been a lot of discussion last week over the state of the Web lately – most of which was generated by WIRED Editor-in-Chief, Chris Anderson and his declaration that the “Web is Dead.” It’s hard to imagine how something that’s engrained in almost all aspects of society could even be on the decline. Nonetheless, it’s certainly a topic that’s been generating significant buzz among tech evangelists, bloggers and the folks here at ... [read more]
Fantastic! Here is a university group that has poked around, found one of ARM’s Mali graphics patents and taken the idea for a spin! Yes, I’ve been cited and it feels good.Chih-Chieh Hsiao et al at the National Chiao-Tung University in Taiwan published the paper “A Hierarchical Primitive Lists Structure for Tile-based Rendering” at the 12th IEEE International Conference on Computational Science and Engineering in which they take a look at... [read more]
According to some industry pundits Silicon on Insulator (SOI) technology clearly enables more power efficient SoC designs. But is this advanced manufacturing technology the Holy Grail solution for addressing the power gap between performance and battery life in advanced SoC designs? What are the factors behind the power gap? Well, let’s start with the obvious – design complexity. You don’t have to look very far to see that consumer and embedded d... [read more]
Recently, I watched a video covering the ARM DS-5 development tool. The video shows how to use a Virtual File System (VFS) to enable the target machine to mount directories on the host machine. The VFS is one of my favorite features of virtual machines. I use this feature every day when working on my laptop running Windows and using VirtualBox to run Ubuntu Linux in a Virtual Machine. The VirtualBox file system driver is called vboxsf, but the co... [read more]
Recently, a lot of airline miles have been flown between my team and ARM partners to engage in conversations about the latest and future uses of GPUs. Mostly, I have been discussing our graphics roadmap which I still can’t tell you about publicly, but I also got a chance to see some of the latest cool demos on our current GPUs. I also got a chance to hear from our partners – about the slew of consumer products that are coming out soon based on ... [read more]
Netbooks, smartbooks, tablets ... Lots of buzz but where is the beef? I for one thought they would be here sooner. Until recently, netbooks and eReaders were the real things that stuck with the consumer, but it came after the UMPC and MIDs which were misses. In addition, when it comes to tablets, there were many attempts over the years that, to be kind, were not very successful. For tablets, it took Apple to break the code and deploy a product th... [read more]
The number of Android based devices continues to explode in the smartphone market. As more Android smartphones are introduced into the market the ability to differentiate continues to be a challenge for many mobile device manufactures. This blog articulates how using an OpenMAX compliant Media framework as the foundation for building versatile multimedia applications can enable device manufacturers to differentiate their smart mobile devices. Mob... [read more]
Nielsen has claimed that China has passed US on mobile internet usage, according to China Passes U.S. in Mobile Web by James Kendrick from jkOnThe Run. I really believe this is happening, just by seeing the market change in the past 5 years in China.It is reported that the number of internet users in China is 420 million as of June 2010, of which 277 million are mobile internet users at the same time. 11.7% of the mobile internet users only use a... [read more]
Recently we released a major update to the Linux drivers for the Mali-200 and Mali-400 MP GPUs. Like many software projects we time-box our driver development, with two major releases each year. This release (r2p0) contains a bunch of exciting new features including Android support, full SMP support, performance optimizations and some important EGL extensions. We'll talk about some of these in future blog posts, but for today I wanted to tell you... [read more]
It’s no surprise that consumers have fallen in love with tablet computing. Thanks to devices like the iPad and upcoming Android tablets, users have come to learn that mobile computing is more than just looking up directions on GoogleMaps or finding the nearest lunch spot on Yelp. New mobile computing trends have created a shift in the way that we’re connecting and consuming information on a daily basis. One of the hottest trends we’re seeing mo... [read more]
What is the killer app for OpenCL? It's a question we get asked all the time. Recently, I figured out the answer. The killer app for OpenCL, and for GPU computing in general, is… are you ready? are you sitting down? It’s graphics.Open C-What?Let’s back up a bit. OpenCL, if you hadn’t heard, is the latest API for general-purpose computing on GPUs. That is, it lets you use the graphics chip in your laptop / tablet / cell phone to run all kinds of c... [read more]
Last week the 37th SIGGRAPH conference was held in Los Angeles. It’s the annual gathering of computer graphics professionals from all the disciplines that the field touches. Given the current global economy, it was a smaller show than in the past. I sadly expected that, but was pleasantly surprised that it was a much better show than I had expected.Colors and meshes – my take on the cerebral part of the conferenceI had the luxury of just attendin... [read more]
I've been in marketing for a long time and one of the big questions is "how do you know you have been successful". The classic way is to look at TAM\SOM, design wins, share of voice etc which is great but in this new world of social media, the Internet and real time news we need to make sure we have some live measurements of how we are doing. It's not just a case of putting press releases out but measuring the effect and reach of them.So if you a... [read more]
We’ve been talking a lot at ARM about secure mobile banking. ARM’s TrustZone technology is already an integral part of the ARM Cortex™-A series processors which are currently being deployed in smartphones by many of the industry’s leading handset manufacturers, and earlier this year we announced a partnership with Giesecke & Devrient to take that one step further by integrating G&D’s Mobicore operating system.So, while the technology to p... [read more]
Revisiting if/else in Assembly In my previous post ("Condition Codes 1"), I explained that some instructions can set some global condition codes, and that these codes can be used to conditionally execute code. I gave some examples of usage. One such example was an assembly implementation of C's if/else construct: cmp r0, #20 bhi do_something_else do_something: @ This code runs if (r0 <= 20). b continue @ Prevent do_something_else from executing... [read more]
Last week I wrote about my visits to Shanghai and Beijing as part of the 2010 ARM Embedded Development Seminar road show highlighting ARM’s Cortex-M microcontroller processor family, our Partners’ ARM-based products and ARM’s tools for Linux. I left you as a tornado was heading towards Shenzhen. Thankfully the tornado wasn’t so bad in the area I was staying and here I am to tell you about the final stops in China with record attendance and ... [read more]
ARM is a 32-bit CPU architecture where every instruction is 32 bits long. Any constants which are part of an instruction must be encoded within the 32 bits of the given instruction and this naturally limits the range of constants that can be represented in one instruction. This post will show you how we can deal with these limitations and how the latest revision of the ARM architecture (ARMv7) provides a simple and efficient solution. Most arithm... [read more]
It’s July 2010 and this week (and next) I’m travelling with a few of my ARM colleagues as we visit some of the hot beds of ARM embedded design in China with the four city 2010 ARM Embedded Development Seminar road show highlighting ARM’s Cortex-M microcontroller processor family, our Partners’ ARM-based products and ARM’s tools for Linux. This blog and the next will detail the events as well as my experiences in China, including my typi... [read more]
Software Developers are changing their development strategy to take advantage of the latest embedded hardware architecture and core processors. As system-on-chip technology becomes more complex and IC design cycle time decreases, software engineers are starting development before any hardware development platform or RTL is available for software development. ARM "Fast Models" provide the ability to run software on the latest ARM "application" and... [read more]
After the video of my most recent ARM Powered Android LEGO Speedcuber robot became so popular on ARMflix, I thought that it would be a while before I was involved in creating another. I should have learned from previous experience that this might not be the case... however, this time I only have myself to blame for the idea! See the new 7x7x7 “MultiCuber” solver video and read about how I achieved it.Youtube VideoFrom 3x3x3 to 4x4x4 LEGO Rubi... [read more]
Audio is increasingly becoming a mandatory feature in every range of consumer appliances seen of late. Audio centric features like voice instructions, compressed music playback provide for an enhanced user interaction. Such features are now expected in every application segment, even in the low cost applications based on microcontrollers without DSPs. The solution for low cost, efficient audio processing lies in the upcoming microcontrollers base... [read more]
It’s summertime and that means it’s getting hot outside. My roses are in full bloom and though they love the heat, I don’t much care for it. It’s the time of year I try to travel lighter than ever in an attempt to beat the heat. One of the ways I do that is by streamlining the number and size of mobile devices I carry around with me. The innovations provided by the semiconductor industry enable smart mobile devices that bring seemingly ne... [read more]
Every practical general-purpose computing architecture has a mechanism of conditionally executing some code. Such mechanisms are used to implement the if construct in C, for example, in addition to several other cases that are less obvious. ARM, like many other architectures, implements conditional execution using a set of flags which store state information about a previous operation. I intend, in this post, to shed some light on the operation ... [read more]
The telecom and IT industries have for decades made much of technology convergence. Convergence of wireless and terrestrial. Convergence of voice and data. And most recently, convergence of mobile and desktop computing. Mobile-desktop convergence has led to new form factors, like netbooks and now the iPad, offering intriguing hybrids of mostly existing capabilities. So far, it has created new categories of devices, without eliminating laptops and... [read more]
My favorite annual pavilion panel at DAC is High School Panel: You Don’t Know Jack where 4 teenagers (this year 3 students who had just graduated and 1 student entering her final year in high school) were asked about their technology preferences. While their answers themselves are interesting, comparing the answers over the last four years reveal changing trends for smart mobile devices. The teens want better user experience, more integrated so... [read more]
坐了12个小时的飞机,从剑桥赶到深圳的我站在集成电路应用展(China IC EXPO)的展板前,试图找到ARM中国区总经理兼销售副总裁吴雄昂在高峰论坛上演讲的时间。一个观众来到我身旁,问我论坛演讲的议程安排。我指了指正在看的展板。他眯着眼睛看了半天,嘀咕了一句,怎么全是ARM阵营的。没错。要不是提前查过这个展会,我可能会以为这是ARM和合作伙伴联办的一个专题讨论会。10个演讲,有7个是ARM的客户或者... [read more]





