Today’s Smartphone Architecture
Malik Wallace Rafael Calderon Agenda
History Hardware Future
What is a Smartphone? Internals of Smartphones - SoC Future Technologies
Smartphone Innovations CPU Architecture
Today’s Smartphones Supported ISA
Examples What is a Smartphone?
It is a cellphone and PDA combined with additional computer-like features
Initially cellphones were only able to make calls, and PDAs were only able to store contact information and create to-do lists
Over time people wanted wireless connectivity, which was restricted to computers and laptops, integrated onto PDAs and cellphones thus came the smartphone Smartphone Innovations - Timeline
1993 2007 The First Smartphone - IBM Simon The iPhone with iOS, first phone with multi-touch capabilities 1996 Nokia’s First Smartphone 2008 HTC Dream with Android OS 1997 Ericsson GS88 - The first device labeled as a smartphone
2000 Symbian OS
2001 Windows CE Pocket PC OS
2002 Palm OS and Blackberry OS Today’s Smartphones
Dominated by Android and Apple
Features rich user interface with a variety of applications that integrate with the phone's architecture.
Utilizes specific mobile operating systems which combines the features of personal computers with those of mobile phones.
Built for efficiency, meant to use the least amount of power as possible (debatable!)
Let’s Talk about the Hardware System-on-Chip (SoC)
In order to maintain portability and lower power consumption system-on-chips were the chosen IC for smartphones
CPU I/O
GPU Networking
Memory Anything extra
Busses and Channels Harvard Architecture
Instructions and data are treated the same
Instructions are read and accessed just like data
However...
Each have a separate memory and bus system
Each can be accessed simultaneously ARM big.LITTLE
General concept: Pair a more powerful (big) core with a low powered, energy-efficient core (LITTLE).
The computer sees this thing as one multi-core system.
Any menial tasks sent to the bigger core will be processed by the low-powered core without spending any resources on the larger main core.
Both cores access the same memory system, but they retain their own memory caches.
The Global Task Scheduler (GTS) sends tasks to a specific core depending on the intensity of the power consumption of each core.
The cores are never both on at the same time, but ARM has left “an open door” to developers who wish to operate the system this way. ARMv8-A: Supporting 64-bits
Introduces 64-bit support
Maintains and enhances 32-bit support
Focuses on a power efficient implementation
Utilizes larger registers for general purpose and media instructions ARMv8-A: Details
ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes:
● 64-bit general purpose registers, SP (stack pointer) and PC (program counter) ● 64-bit data processing and extended virtual addressing
Two main execution states:
● AArch64 - The 64-bit execution state including exception model, memory model, programmers' model and instruction set support for that state ● AArch32 - The 32-bit execution state including exception model, memory model, programmers' model and instruction set support for that state Apple A9
“Twister” Processor
Dual Cores
ARM big.LITTLE
ARMv8-A Apple A9’s Cache
L1- Separate
L2- Unified
L3- Unified (Victim Cache) Qualcomm Snapdragon 820
Kryo Processor
Quad Cores (2 lower clocked, 2 higher clocked)
Harvard
ARMv8-A Qualcomm Snapdragon 820’s Cache
L1 - Separate
L2 - Unified Has the Smartphone Reached Its Peak? Future Technologies
Smartphones and their ecosystems are firmly established
Efforts are being focused on furthering the development of
- Wearables - Advanced Driver Assistance Systems (ADAS) - Internet of Things (IoT) References http://cellphones.about.com/od/smartphonebasics/a/what_is_smart.htm http://www.bitrebels.com/technology/the-evolution-of-smartphones-infographic/ http://www.ubergizmo.com/what-is/system-on-a-chip/ http://www.arm.com/products/processors/armv8-architecture.php http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/3738.html https://www.arm.com/products/processors/technologies/biglittleprocessing.php http://system-on-a-chip.specout.com/l/1172/Apple-A9-APL0898 http://www.tomshardware.com/reviews/apple-iphone-6s-6s-plus,4437-6.html http://system-on-a-chip.specout.com/l/1170/Qualcomm-Snapdragon-820-MSM8996 http://www.tomshardware.com/reviews/snapdragon-820-performance-preview,4389-2.html http://www.theverge.com/2015/1/6/7500743/ces-2015-internet-of-things-advanced-driver-assistance http://www.ubergizmo.com/2013/01/what-is-arm-big-little/ http://www.slideshare.net/matungaolson/von-neumann-vs-harvard-architecture Questions?