Today’s Smartphone ArchitectureMalik Wallace
Rafael Calderon
Agenda
History
What is a Smartphone?
Smartphone Innovations
Today’s Smartphones
Hardware
Internals of Smartphones - SoC
CPU Architecture
Supported ISA
Examples
Future
Future Technologies
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 The First Smartphone - IBM Simon
1996 Nokia’s First Smartphone
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
2007 The iPhone with iOS, first phone with multi-touch capabilities
2008 HTC Dream with Android 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
GPU
Memory
Busses and Channels
I/O
Networking
Anything extra
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)
Referenceshttp://cellphones.about.com/od/smartphonebasics/a/what_is_smart.htmhttp://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.phphttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/3738.htmlhttps://www.arm.com/products/processors/technologies/biglittleprocessing.phphttp://system-on-a-chip.specout.com/l/1172/Apple-A9-APL0898http://www.tomshardware.com/reviews/apple-iphone-6s-6s-plus,4437-6.htmlhttp://system-on-a-chip.specout.com/l/1170/Qualcomm-Snapdragon-820-MSM8996http://www.tomshardware.com/reviews/snapdragon-820-performance-preview,4389-2.htmlhttp://www.theverge.com/2015/1/6/7500743/ces-2015-internet-of-things-advanced-driver-assistancehttp://www.ubergizmo.com/2013/01/what-is-arm-big-little/http://www.slideshare.net/matungaolson/von-neumann-vs-harvard-architecture
Questions?