Login

ARM The Architecture For The Digital World  

ARM Community: Software Enablement - ARM Community

Jump to content

Using ARM NEON to accelerate Scalable Vector Graphics in webkit by up to 4x

Introduction
In the information era with its increased use of mobile devices to communicate and access information, web browsers constitute the central component to navigate through the vast amount of information as they are able to fetch and visualize content spread across the world-wide data network known as the Internet. Over the last decade, visualization capabilities of web browsers have been greatly enhanced by the increase in processing power of general purpose CPUs and graphics accelerators. Most mobile platforms include general-purpose SIMD engine, such as ARM NEON which can be used to efficiently process multimedia formats and help enhance user experience – up to a 4x improvement as discussed in this article.

Background
The web browser group at the ...

Software Debuggers: What next?

Great leaps in human knowledge are linked to advancements in tools. For software engineers the debugger is a cornerstone tool to create reliable products. We engage in a running battle fighting both the problem and the tool because each debug situation is unique.

This is a major challenge for debugger designers, i.e. how do we build a debugger with a balance of flexibility and simplicity with enough usefulness? With the rate of hardware change increasing – along with improvements in Operating Systems and Programming Languages, debugging and optimizing software becomes paramount i.e. improving performance, code-size and energy-efficiency.

As we transition towards more hardware parallelism the pressure grows to keep the time-to-market at least constant which in turn means new debugging strategies. From my perspective it is always good to draw from the current technology landscape and view how we can use these technologies in the future. For instance, Cover Flow UI could be used to improve multi-processor viewing, Microsoft Kinect to navigate the debug UI, and further more expert systems running in the cloud to help a...

ARM technology software newbie? Try the Cortex A-Series Programmer's Guide

The ARM architecture has been used for many years in mobile phones and electronic devices, but it is only relatively recently that the architecture has diversified into being used in laptops, tablets and smartphones. There are now many companies that have adopted the ARM architecture as the basis for their next world-beating technology product. This is great, but the problem is that if you are new to the ARM architecture and want to start writing programs for an ARM processor, where do you start? What document do you need to read first before you dive into the library of technical information that is available on the ARM InfoCenter?

My choice would be the recently released Cortex A-Series Programmer's Guide. This guide provides a gentle in...

Getting Started with Android Development

This blog is aimed at getting you started quickly in the world of Android development. I've included links to some golden tutorials and programs I found useful.. I've also included solutions to the annoying time-wasting problems I encountered when first starting out. I hope they will be helpful and will save you from the frustration I went through.

Setting up your Development environment

To get up and running quickly, follow the instructions from the Android developers site to set up your software development environment. If you don’t have an Android phone, don’t worry, the SDK contains an Android emulator.

I definitely recommend using the Android development tool plug-in for Eclipse. For someone like me who makes lots of common mistakes, such as missing imports of libraries and not putting the right parameters into a method, Eclipse is great because it easily spots common errors and offers quick fixes. There are many versions of Eclipse and it can be confusing which one you need to download. I use Eclipse Gali...

ARM系统预引导固件的新机遇- UEFI

ARM处理器已经在智能手机市场占主导地位,并越来越成为整个嵌入式领域的主流。最近,ARM处理器也进军服务器领域,追求计算连续性。

然而,历史上,ARM系统没有一个预引导固件的标准。这使得每个设计都有自己独特的与所引导的操作系统紧密结合的模式。这种传统的方法意味着固件开发者必须保持完全不同的代码库,即使系统可能使用的外围设备(网络,SATA接口,USB控制器等)和整个设计功能集是相同的。传统的ARM设计依赖诸如UBootRedboot,或专有软件启动软件包。

如何有效地开发生产这些产品来满足快捷上市需求已成为一个挑战。很有必要用某种形式的融合固件基础设施来实现代码重用的最大化,使这些产品可在有限的工程资源条件下实现更快推上市场,并同时添...

UEFI – A New Opportunity for Preboot Firmware on ARM-based Systems

ARM processors have been predominant in the smartphone market and are becoming increasingly mainstream in the overall embedded space. More recently, ARM processors are targeting servers as well, pursuing the computing continuum with solutions.

However, historically ARM systems did not have a preboot firmware standard. This led each design have its own distinct firmware model that is tightly coupled to the operating system being booted. This traditional approach means the firmware developers would need to maintain completely different codebases even though the systems may use many of the same types of peripheral devices (Network, SATA, USB controllers, etc.) and feature sets across the designs. Generations of ARM cores relied on boot packages such as UBoot, Redboot, or proprietary software.

How to efficiently develop and ship these products and meet time to market demands becomes a challenge. Some form of converged firmware infrastructure is necessary to maximize proper code re...

RISC versus CISC Wars in the PostPC Eras - Part 2

In my first blog, we examined gave the historical context of the instruction set battles of ARM and x86, covering the RISC-CISC Wars in the PrePC Era and the PC Era. This blog covers Round 3, the PostPC Era [1].

Round 3: RISC vs. CISC in the PostPC Era
The importance of maintaining the sequential programming model combined with the increasingly abundant number of transistors from Moore’s Law led, in my view, to wretched excess in computer design. Measured by performance per transistor or by performance per watt, the designs of the late 1990s and early 2000s were some of the least efficient microprocessors ever built. This lavishness was acceptable for PCs, where binary compatibility was paramount and cost and battery life were less important, but performance was delivered more by brute force than by elegance.

However, these excessive designs are not a good match to the smartphones and tablets of the PostPC era. RISC dominates thes...

RISC versus CISC Wars in the PrePC and PC Eras - Part 1

This two-part blog gives a historical perspective on the ARM vs. 80x86 instruction set competition for three eras: PrePC (late 1970s/early 1980s), PC (mid 1980s to mid 2000s), and PostPC (late 2000s onward).

Round 1: The Beginning of Reduced vs. Complex Instruction Set Computers
The first round of the RISC-CISC Wars started 30 years ago with the publication of “The Case for the Reduced Instruction Set Computer” [1] and the companion piece “Comments on "The Case for the Reduced Instruction Set Computer"[2]. We argued then that an instruction set made up of simple or reduced instructions using easy-to-decode instruction formats and lots of registers was a better match to integrated circuits and compiler technology than the instructions sets of the 1970s that featured complex instructions and formats. Our counterexamples were the Digital VAX-11/780, the Intel iAPX-432, and the Intel 8086 architectures, which we labeled Complex Instruction Set Computers (CISC).

I recently found an old set of hand-drawn slides from 1981, one of which shows the simple instructions and formats of the Berkeley RISC architecture.

Attached Image
...

Android 2.3 (Gingerbread) NDK now close to pure Native Development

With the recent release of Gingerbread and the number of daily Android on ARM activations up to 300,000 (see James Bruce’s blog), the opportunity for developers has never been better. The tools developers have to work with have also never been better. The Gingerbread update brings a strong focus on enabling the developer to create premium content for a rapidly growing consumer market.

Android has long since included a Native Development Kit (NDK) alongside their Software Development Kit (SDK). The NDK enables the creation of native functions in C and/or ARM assembly code. These functions can then be called by Java applications via the Java Native Interface (JNI). A principle software engineer at ARM, under the pen name ARM_DaveB, has written a ...

Travels of ARM Rubik’s Cube Lego Speedcuber: 0 to Solved in15 seconds

So I can’t turn down a challenge. How was I going to improve the speed of the solver? Lights, camera, action! Yes I did it. I improved the Rubik Speedcuber from 25 to 15 seconds. And it only took travel, lights, camera, image analysis, native Android coding, a new phone and food. Intrigued? Check out the new demo at the ARM Technology Conference (ARM Techcon) in Santa Clara, California on Thursday Nov 11.

Challenge: How much faster can you make the Speedcuber?
Some people consider me to be a perfectionist. My view on this is just that I like to do things to the best of my ability and am always ready to accept a challenge. So when Ian Pilkington, Applied Systems Engineering Manager at ARM, asked, “How much faster can you make your Speedcuber?” I just had to try…

For those of you who are new to my blogs, you should be aware that I have a passion for LEGO, Rubik’s Cubes and software programming (on ...

Cortex-A15 to A5: Software compatibility from Superphone to Feature phone

It was always about the code (and where it would be used!)

When I was a software developer I would often find that the project team I was in would try to guess how many devices the code would eventually run on. So at the launch of the Cortex-A15 last week one of the main points that hit home for me was just how wide the spectrum of power and performance points the Cortex-A family of processors could cover - from feature phone to superphone, tablet to DTV, home server to web server etc. This means that a developer could now find their software running across a huge range of devices in the future.

So is it the same software?

Absolutely. Cortex-A15 is based on the same ARMv7A architecture that the other Cortex-A processors use, therefore allowing the exact same application code to run on all of them, from a ...

Computex: Windows Embedded Compact 7 Highlights Investment in ARM

Yesterday at Computex, the Microsoft Windows Embedded team announced the availability of the latest version of Windows Embedded CE – officially known Windows Embedded Compact 7. The release is a Community Technology Preview (CTP) which is a fancy way to say public beta. The CTP can be downloaded from the Microsoft website.

Windows Embedded Compact 7 includes a list of cool features to help OEMs develop smart, connected, service oriented devices with custom user-interfaces. But, if you take a closer at the code you’ll notice an engineering investment and significant improvement – Compact 7 now includes support for more ARM architectures including ARMv7, ARMv7 NEON™ and SMP.

The added ARM architectures provide OEMs working with Windows Embedded competitive performance in the segments proliferated by ARM and our ARM Partners – ...

Support for VP8 and WebM on ARM

It continues to be an exciting time for the development of web technologies on the ARM architecture; allowing the Internet to reach the maximum number of devices. Today sees an advancement in video for the web with the WebM project that has been announced at Google I/O 2010 (Google’s annual developer’s conference). A key part of this announcement was the contribution of the VP8 video codec, free of royalties to Google.

So why is this good for ARM and our Partners? Well ultimately the delivery of the full web drives the development of great devices, and video in particular makes up an ever increasing proportion of data being consumed: in other words consumers want video, and an efficiently designed, open video codec helps.

There is already a huge amount of video being delivered on the Internet: Cisco’s Visual Networking ...

Why is Open Source Important?

Sitting in the airport at the end of a week’s business trip to the US, I reflected back on the week. It turned out that my colleague on this trip has an even worse sense of direction than myself…Potentially disastrous, especially when you’re driving between airports, hotels and meetings in cities that you’ve never visited. This is where Google Maps becomes utterly indispensable. Installed on my Nokia E71 it makes use of the built in GPS and 3G and Edge networks to provide a running view of where we are, driving or walking. Without it we wouldn’t have found the wonderful Boulderado hotel or the Boulder Bookstore with its impressive converted ballroom. Actually, we’d probably still be driving around somewhere near Dallas.

Life changing and mind boggling as the online, always connected life of a sometime digital nomad is, w...

Android inspiring innovation for the home at CCBN

Android is fast becoming a ubiquitous solution for connected devices. We’ve all seen the successful handsets, like the Motorola Droid and the Nexus One. We are now also starting to see large screen Android tablets and netbook devices, and a few lucky folks have even seen the Android powered washing machine and microwave oven showcased at the CES 2010! The merits of Android in these far reaching peripheral categories are endlessly debatable. One thing is clear, the connectivity, application and content frameworks and low power technologies pioneered by the mobile industry and delivered through the Android platform on ARM, are equally relevant across a wider range of product categories, and none more so than the home marke...
  • (9 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.