A Quick Introduction to Smartphone Architecture
Published by Abhishek Singh Bailoo on 24th Jun 2019
This is a quick introduction to the anatomy of a smartphone handset aimed at beginners. A comprehensive but readable introduction to what goes behind the screen in making your smartphone what it is. If you find yourself burdened with fancy jargon and verbose explanations in your textbooks, this is a simple 5 minute blog post you can read, short and sweet. And, if you are just starting out with understanding smartphone architecture, then this is useful too.
We will cover the following topics about your smartphone:
- Hardware Architecture
- Communication Design
- User Application Execution
- Important peripheral devices
- Processors
Smartphone Hardware Architecture
Every modern smartphone today uses a System on a Chip (SoC) Architecture with the following 3 primary components:
- Application processor executing the user's application software with instructions from the middleware and the operating system (OS)
- A baseband (or modem) processor with its own OS components performing baseband radio transmission and reception of audio, video and data
- Various peripheral devices for the user interface
Smartphone Communication Design:
Receiver (RX)
- The RX hardware (part of the baseband processor) receives incoming signals and generates interrupts for the radio interface in OS (both the radio interface and the OS software run on a baseband or modem processor)
- After the reception, a physical layer handshake takes place. Then the incoming audio, video and data are processed by the modem processor
- The radio OS components talk to the peripheral device drivers to give the incoming data to the user through the device (display, speaker etc.)
- The device drivers write the data to be transmitted in the memory, from where the radio OS components collect them (For eg. audio from microphone, or image/video from camera, position from GPS)
- These data are then processed by the modem processor as per the transmission protocol
- Transmission initiated by the radio interface through transmitted hardware
- The Subscriber Identifier Module (SIM) plays an important role in reception and transmission
User Application execution in a Smartphone:
- Applications such as audio / video codec and players, games, image processing, speech processing, internet browser, text editor, etc
- Applications which are graphics intensive (the majority) are executed with help from the GPU
- Modern smartphone handsets have a large volatile memory (SDRAM) 1-2 GB and larger non-volatile storage, typically more than 10 GB
- Mostly a traditional OS (Linux) is used after being stripped down and optimized for smartphone
Important Peripheral Devices in a Smartphone
The peripherals are Input / Output (I/O) devices through which the end-user interacts with the handset. Of course, the OS needs driver software installed for each device. Typical peripheral devices are LCD, touchscreen, keyboard, camera, GPS, speaker, microphone, bluetooth, WiFi, HDTV
Processors in Smartphones
The processors used in a smartphone are quite different from those used in a PC or laptop because they have different design constraints. The trick is to balance power consumption against performance. This is the primary design trade-off. Using an Intel Core i7 will drain the battery in a few minutes flat while using something like an 8-bit microprocessor will not pack enough power to run your browser and YouTube.
The market is rules by Advances RISC Machines (ARM), a British fabless company which sells its smartphone processor designs to all major semiconductor manufacturers. ARM has won the game because its designs are optimized for battery life Vs performance and have a low area and transistor count. This is important to provide a small form factor and lower drain on the battery.
The Modem processor is a separate ARM processor or one extended by a DSP (the baseband encoding and decoding involves a lot of number crunching). Some architectures also use a modem accelerator along with the processor core.
A Typical ARM processor in a Modern Smartphone
A modern smartphone is likely to have multiple application processor cores (2, 4, or even 8). The Samsung Galaxy S4 i9500 comes in two possible configurations:
- 1.9 GHz quad-core ARM Krait + Qualcomm's Adreno GPU
- 1.6 GHz quad-core ARM Cortex A-15 + 1.2 GHz quad-core ARM Cortex-A7 + Imagination's PowerVR GPU (only 4 out of 8 are active at a time)
The Apple iPhone 5
- 1.3 GHz dual-core Swift (based on ARM v7) + PowerVR GPU
Nokia Lumia 920T
- 1.7 GHz dual-core Qualcomm Krait + Adreno GPU
Lenovo K900
- 2 GHz dual-core Intel Atom Z2580 + PowerVR GPU
Samsung Nexus 10
- 1.7 GHz dual-core ARM Cortex-A15 + ARM Mali-T604 GPU
Asus Nexus 7
- Nvidia Tegra 3 platform + 1.2 GHz quad-core ARM Cortex-A9 + ultra-low power Nvidia GeForce GPU
These multi-core processors do a good job at delivering powerful performance though they may still drain your battery more than you like.
Now, that we have come to the end of this quick introduction, I hope you have a good grasp of the basics. As you saw, it is not really rocket science!
1. Which smartphone do you have?
2. Which processors does it have? Is there a dedicated GPU?
3. What is the total storage? Both volatile and non-volatile
4. What are the peripheral devices?