Erik Romijn

Appsterdam lecture: chips: the engine beneath your apps

This Appsterdam lunchtime lecture was on Chips: the engine beneath your apps, by Marco Jacobs

This was a live summary and has not been reviewed by the speakers. Opinions reflected are the speakers’, not necessarily matching those of the author.

Chips: the engine beneath your apps

Marco has a software background, but has been working in silicon chips for many years. He shows a disassembled Nexus 5, showing plastic casing, PCBs, optics, battery, and so on, but most importantly, the chips.

A brief history of chips

The first transistor made by Bell Labs in 1947, was rather large. About ten years later, someone at Texas Instruments built the first integrated circuit prototype. They are now rather smaller, but still based on the same technique.

Silicon sand is mined and then processed in various factories around the world. The factories often cost billions of dollars, and are only up to date for a few years. Inside the factories are large machines, of which about 85% is made by the Dutch ASML. The process is lithographic, so there’s basically a big projector that projects specific light onto a wafer, which can then be etched. Then they are cut by lasers.

The cost of the design is between ten and two hundred million dollars, and once in production wafers cost around $0.10 per square millimeter. As the size of chips decreases, the yield increases continuously.

Moore’s law dictates that the number of transistors per chip doubles approximately every 1.5 years. This still holds up today.

The semiconductor value chain

The value chain of semiconductors starts with the consumer. These are built by the systems developers, like Apple or HTC. They buy their chips from the chip manufacturers, like Qaullcomm or Samsung. Most of them currently source their chips from third party fabs. Design is (partially) licensed from companies like ARM — 97% of all mobile devices currently have ARM processors. Curious is that the little plastic cover on a new phone often has about the same cost as the revenue ARM got from the device.

In Marco’s view, the phone is the big driver behind the consumer electronics industry, mostly because of the massive volume. This is in part because of the loan-based purchases that are quite typical for phones. In addition, a lot of popular products from the past are now already integrated into smartphones. This is also expanding into other markets, like cars.

When comparing the most expensive laptop Marco could find ($5400) to a $99 phone, it’s not a simple question which one is more powerful. The laptop has better specs, but in terms of use for the customer, the phone has a lot more to offer.

Let’s go inside

Looking at the iFixit iPhone 5S teardown. The center are the Apple’s A7 chip, and the flash memory. The M7, the low-power motion processor, was designed by the Dutch NXP. It’s surprisingly small, easily overlooked.

Most tasks are performed by the apps processor, in the iPhone case the A7. Then there are numerous other chips for other purposes, like a GSM radio, touch controllers, battery monitoring or display.

There are fundamentally three kinds of chips, often built in different factories:

  • Digital chips, which can do computations and logic, and typically have a very small amount of very fast memory.
  • Memory chips, usually DRAM (cheap and fast but needs power) or flash (cheap, slower, keeps data without power)
  • Analog / mixed signal chips, which process radio waves, interact with sensors, process audio, etc.

Apps processors mostly interact with other digital chips, which then connect to the analog chips. Sometimes tasks which are currently in separate digital chips get absorbed into the apps processor.

Closer look at the apps processor

Looking closer at the Apple A7, it’s about 102 square millimeter. The CPU forms about 17 mm2 of that. Other major parts are the integrated GPU (four cores), and supporting interfaces. It’s difficult to figure out exactly how it works, because reverse engineering chips in detail is very difficult.

Marco shows us a diagram of the components in a Texas Instruments OMAP 5, which is very extensive. It’s somewhat similar to the A7. It contains numerous specialised components for e.g. MP3 playing or video handling. These could be handled by the main ARM cores, but this would take a lot more power. There are also processors for digital signals, or face detection. This is why they are often called “system on a chip”, because there’s much more than an ARM processor.

All these subsystems are connected to a single bus, which they also use to connect to the main memory. The subsystems themselves have a few kilobytes of cache at most. This bus is one of the main bottlenecks, so it’s an active focus of innovation. Marco’s employer, Videantis, focuses on imaging related system design, like video compression and decompression for chips like these. Their part in a design like this is about one square millimeter.

Software design

Source code, like C, is usually compiled for a specific instruction set, resulting in an executable. The compiler knows which instructions and registers exist.

Hardware design is actually rather similar. There are standard languages. From that, you can run a synthesis tool, that will combine standard libraries of segments to generate the chip design. This can take up to 24 hours, as the synthesis process looks for the optimal design based on the clock speed requirements. That results in a GDS II file, which can be used to manufacture the chips. Some companies further customise this. The design cycle for a chip is about two years.

Processors and logic

It’s important to choose the right chip design for the right purposes. Typically, all consumer devices contain a large general purpose CPU. For graphics, a GPU has become common. But for digital processing, there are usually specific chip designs, for handling video for example, which are hardwired for a specific task. System on a chip devices sometimes have a few very small ARM cores as well, for minor tasks like battery managements. The specific purpose processors, like DSP or up to some extend the GPU, are usually abstracted behind APIs for the developers.

A new development is ARM’s big.LITTLE. It allows a design to have two processors, one optimised for performance, the other for power efficiency. With this new design, code can automatically migrate between the two cores, without the programmer noticing. This trend will continue in the future. The driving factor is that, according to Moore’s law, we have twice as many transistors, but the power usage per transistor does not decrease as quickly. This means that in modern chips, there is much more dark silicon: parts of the chip that are only switched on when needed.

Exciting things

In the future, Marco expects to see more depth sensors in cameras, like the Xbox Kinect. These will evolve further, and eventually end up in phones as well. Marco expects to find this in phones in the next two years. There’s also a lot of activity in gesture interfaces, like Kinect.

Another new development are drones. These could become more of a companion to take photos, or help with navigation. Some can even already do automatic panoramas.