![Page 1: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/1.jpg)
Today’s Smartphone ArchitectureMalik Wallace
Rafael Calderon
![Page 2: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/2.jpg)
Agenda
History
What is a Smartphone?
Smartphone Innovations
Today’s Smartphones
Hardware
Internals of Smartphones - SoC
CPU Architecture
Supported ISA
Examples
Future
Future Technologies
![Page 3: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/3.jpg)
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
![Page 4: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/4.jpg)
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
![Page 5: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/5.jpg)
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!)
![Page 6: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/6.jpg)
![Page 7: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/7.jpg)
![Page 8: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/8.jpg)
![Page 9: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/9.jpg)
Let’s Talk about the Hardware
![Page 10: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/10.jpg)
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
![Page 11: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/11.jpg)
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
![Page 12: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/12.jpg)
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.
![Page 13: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/13.jpg)
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
![Page 14: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/14.jpg)
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
![Page 15: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/15.jpg)
Apple A9
“Twister” Processor
Dual Cores
ARM big.LITTLE
ARMv8-A
![Page 16: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/16.jpg)
Apple A9’s Cache
L1- Separate
L2- Unified
L3- Unified (Victim Cache)
![Page 17: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/17.jpg)
Qualcomm Snapdragon 820
Kryo Processor
Quad Cores (2 lower clocked, 2 higher clocked)
Harvard
ARMv8-A
![Page 18: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/18.jpg)
Qualcomm Snapdragon 820’s Cache
L1 - Separate
L2 - Unified
![Page 19: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/19.jpg)
Has the Smartphone Reached Its Peak?
![Page 20: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/20.jpg)
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)
![Page 21: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/21.jpg)
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
![Page 22: Today’s Smartphone Architecturemeseec.ce.rit.edu/551-projects/spring2016/2-6.pdf · ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes: 64-bit general](https://reader036.vdocument.in/reader036/viewer/2022081607/5ed075231db0b9530e73c3eb/html5/thumbnails/22.jpg)
Questions?