SlideShare a Scribd company logo
1 of 4
Download to read offline
Overview on iPhone Architecture
Abdelrahman H. Ibrahim Huda M. Aldosari Raed A. Alotaibi
CSE 5095 – Computer Architecture – Spring 2015
University of Connecticut
Storrs, CT, USA
[Emails: abdelrahman@engr.uconn.edu , huda.aldosari@uconn.edu , raed.alotaibi@uconn.edu ]
Abstract
Smartphones architecture is generally different from
common desktop architectures. It is limited by power, size and
cost of manufacturing with the goal to provide the best
experience for users in a minimum cost. Stemming from this
fact, modern micro-processors are designed with an
architecture that has three main components: an application
processor that executes the end user’s applications, a modem
responding to baseband radio activities, and peripheral devices
for interacting with the end user.
In this paper, we are discussing the architecture of the
application processor of Apple iPhone. Specifically, Apple
iPhone uses ARM Cortex generation of processors as their
core. The following sections discusses this architecture in terms
of Instruction Set Architecture, Memory Hierarchy and
Parallelism.
Index Terms – iPhone, Architecture, ARM Cortex
I. Introduction
Apple has started a new generation of iPhone with the launch
of iPhone 5s. This release announces the start of 64-bit architecture
in smartphones. It is shipped with a custom ARMv7-based
processor. The chip has 64-bit desktop-class architecture, modern
instruction set, 2x general purpose registers, 2x floating-point
registers and over 1 billion transistors [1].
Let’s have a closer look at ARM Cortex A7 processor. The
following diagram shows a view of the component of the processor
[2].
The chip is designed to meet the demands of smartphones
energy restrictions. At the same time, it incorporates all the
features of the high-performance other Cortex processors. It
includes virtualization support in hardware, Large Physical
Address Extension (LPAE), NEON Engine (used for SIMD
instructions), and 128-bit AMBA Coherent Bus Interface which
maximizes the efficiency of data movement and storage.
II. Parallelism
Multicores:
The Cortex A7 MPCore processor implements the ARMv7-A
architecture. The Cortex A7 MPCore processor has one to
four processors in a single multi-processor device. The
following figure shows an example configuration with four
processors [3].
Figure 2 - photo courtesy inforcenter.arm.com
Let’s have a closer look at the each processor and how they
coordinate.
Figure 3 - photo courtesy - infocenter.arm.com
The Data Processing Unit (DPU) holds most of the
program-visible state of the processor, such as general-
purpose registers, status registers and control registers. It
decodes and executes instructions, operating on data held in
Figure 1 - photo courtesy - www.arm.com
the registers in accordance with the ARM architecture
(discussed in the next section).
The Prefetch Unit (PFU) obtains instructions from the
instruction cache or from external memory and predicts the
outcome of branches in the instruction stream, then passes
the instruction to the DPU for processing. In any given cycle,
up to a maximum of four instructions can be fetched and two
can be passed to the DPU.
The Snoop Control Unit (SCU), connecting up to four
processors within a cluster. It maintains coherency between
the individual data caches in the processor. It also contains
buffers that can handle direct cache-to-cache transfers
between processors without having to read or write any data
to the external memory system.
Pipelining:
Now, let’s have a closer look inside the execution unit.
Cortex-A7 is an in-order, non-symmetric dual issue processor
with a pipeline length of between 8-stages and 10-stages [4].
Figure 4 - photo courtesy - www.arm.com
SIMD Support:
Cortex-A7 comes shipped with the ARM NEON™ general-
purpose SIMD engine efficiently processes current and future
multimedia formats, enhancing the user experience. It can
accelerate multimedia and signal processing algorithm such a
video encode/decode, 2D/3D graphics, gaming, audio and
speech processing, image processing, telephony, and sound
synthesis. It works with its own pipeline and register file.
NEON technology is a 128-bit SIMD (Single Instruction,
Multiple Data) architecture designed to provide flexible and
powerful acceleration of the mentioned applications [5].
- Registers are considered as vectors of elements of the
same data type.
- Data types can be signed/unsigned 8-bit, 16-bit, 32-bit,
64-bit or single precision floating-point.
- Instructions perform the same operation in all lanes.
Figure 5 – NEON
So, in summary, ARM Cortex-A7 processing module
enhances parallelism through multi-cores, pipelining as well
as SIMD support. It provides great performance with less
power consumption suitable for the iPhone users.
III. Instruction Set Architecture (ISA)
The Instruction Set Architecture (ISA) is a segment of the
architecture responsible for programming and includes native data
types, registers, memory, and addressing modes. Apple, the
manufacturer of iPhone, is a heavy user of Instruction Set
Architectures that allow complete functionality of the iPhone
operating systems. The most frequently used Instruction Set
Architecture in iPhone devices is the ARM architecture developed
by ARM Holdings [6].
ARM is based on reduced instruction set computing (RISC)
architecture which means ARM processors require fewer
transistors than CISC X86 processors. By using RISC will reduce
costs, heat and power use. In smartphones such as iphone,
ARMv7-A architecture is the most widely used. ARMv7 contains
two main instruction sets, the ARM and Thumb-2 instruction sets.
Thumb-2 introduces 32-bit instructions that are intermixed
with the 16-bit instructions. The Thumb-2 instruction set does
almost all the functionality of the ARM instruction set. Thumb-2
instruction set and the ARM instruction set have some differences
is that most Thumb-2 instructions are unconditional, whereas
almost all ARM instructions can be conditional. However, Thumb-
2 introduces a new conditional execution instruction, IT, that is a
logical if-then-else function. Thumb-2 has the performance close
to or better than that of the ARM instruction set and has the code
density of the original Thumb ISA.
ARMv7-A architecture consists of the divide instructions.
The instructions might not be implemented, or implemented only
in the Thumb instruction set, or implemented in both the Thumb
and ARM instruction sets, or implemented if the Virtualization
Extensions are included. The 32-bit ARM Thumb-2 instruction
format is shown in:
31 16 15 0
Half-word 1 Half-word 2
The instruction length and functionality is determined by (hw1). If
the instruction is decoded as being 32-bits long, (hw2) of the
instruction is fetched from the instruction address plus two.
VFP (Vector Floating Point) technology is
an FPU coprocessor extension to the ARM architecture that
provides low-cost -point computation. The VFP architecture was
intended to support execution of short "vector mode" instructions
but these operated on each vector element sequentially and thus did
not offer the performance of true single instruction multiple data
(SIMD) vector parallelism. This vector mode was therefore
removed shortly after its introduction to be replaced with the much
more powerful NEON Advanced SIMD unit.
The Advanced SIMD extension is SIMD instruction set that
provides standardized acceleration for media and signal processing
applications. NEON is able to execute MP3 audio decoding on
CPUs running at 10 MHz. NEON supports all 8-, 16-, 32- and 64-
bit integer and single-precision (32-bit) floating-point data and
SIMD operations for handling audio and video processing as well
as graphics and gaming processing. In NEON, the SIMD execute
operations up to 16 operations simultaneously. The floating-point
registers that used by the NEON are the same floating-point
registers as used in VFP [7].
The Security Extensions, TrustZone Technology, provides a
low-cost alternative to adding another dedicated security core to an
SoC, by providing two virtual processors backed by hardware
based access control. This feature gives the application core
abilities to switch between two states, referred to as worlds in order
to avoid information from leaking from the more trusted world to
the less trusted world. Each world either trusted or untrusted world
can operate independently of the other while using the same core
[7].
Figure 6 - Security TrustZone System
IV. Memory Hierarchy
The Cortex-A7 has an integrated L1 and L2 cache, which
allows lower transaction latencies and ultimately improved
memory system performance.
Memory close to a processor has very low latency, but is
limited in size and expensive to implement. Further from the
processor it is easier to implement larger blocks of memory but
these have increased latency. To optimize overall performance, an
ARMv7 memory system can include multiple levels of cache in a
hierarchical memory system. The following figure shows such a
system, in an ARMv7-A implementation of a VMSA, supporting
virtual addressing [8].
Figure 7 - Memory Hierarchy
Optimized Level-1 Cache:
Performance and power optimized L1 caches combine minimal
access latency techniques to maximize performance and minimize
power consumption. Cache size is configurable from 8KB-64KB
for instruction and data. There is also the option of cache
coherence for enhanced inter-processor communication, or support
of a rich SMP capable OS for simplified multicore software
development [2]. The L1 memory system has a store buffer that
has four 64-bit slots with data merging capability. It handles writes
to Device, Strongly-ordered, Cacheable and Non-cacheable
memory [9]. The L1 instruction memory system has the following
features:
- Instruction side cache line length of 32-bytes
- Virtually indexed and physically tagged instruction
cache.
- Pseudo random cache replacement policy.
- 2-way set-associative instruction cache.
- Support for four sizes of memory page.
- Export of memory attributes for external memory
systems.
- Support for Security Extensions.
- Xan be disabled independently, using the system
control coprocessor.
- On a cache miss, critical word first filling of the cache
is performed
The L1 data memory system has the following features:
- Data side cache line length of 64-bytes.
- Physically indexed and physically tagged data cache.
- Pseudo random cache replacement policy
- 4-way set-associative data cache.
- Two 32-byte line-fill buffers and one 64-byte eviction
buffer.
- A 4-entry, 64-bit merging store buffer.
- Can be disabled independently, using the system
control coprocessor.
- On a cache miss, critical word first filling of the cache
is performed.
Integrated Level 2 Cache:
Provides low-latency and high-bandwidth access to up to 1MB of
cached memory in high-frequency designs, or designs needing to
reduce the power consumption associated with off-chip memory
access. The L2 cache is optional on Cortex-A7 [2].
The L2 memory system consists of an:
 Integrated Snoop Control Unit (SCU), connecting up to
four processors within a cluster. The SCU also has
duplicate copies of the L1 data cache directories for
coherency support.
 Optional tightly-coupled L2 cache that includes:
o Configurable L2 cache size of 128KB,
256KB, 512KB, and 1MB.
o Fixed line length of 64 bytes.
o Physically indexed and tagged cache.
o 8-way set-associative cache structure.
o Pseudo-random cache replacement policy.
The L2 memory system has a synchronous abort mechanism and
an asynchronous abort mechanism.
Memory Management:
Memory Management in Cortex-A7 Processor is ARMv7 Memory
Management Unit (MMU). The MMU works with the L1 and L2
memory system to translate virtual addresses to physical addresses.
It also controls accesses to and from external memory. The
ARMv7-A memory system incorporates a Memory Management
Unit (MMU), controlled by CP15 registers. The memory system
supports virtual addressing, with the MMU performing virtual to
physical address translation, in hardware, as part of program
execution.
The MMU features in each processor of the multiprocessor device
include the following [10]:
- 10-entry fully-associative micro instruction TLB.
- 10-entry fully-associative micro data TLB.
- 2-way set-associative 256-entry unified main TLB.
- 2-way set-associative 64-entry walk cache.
- 2-way set-associative 64-entry IPA cache.
- The TLB entries include global and application specific
identifiers to prevent context switch TLB flushes.
- Virtual Machine Identifier (VMID) to prevent TLB
flushes on virtual machine switches by the hypervisor.
V. References
[1] iPhone 5s and Apple A7’s 64-bit architecture: What does it
mean?, by Anupam Saxena, Sept. 11, 2013.
http://gadgets.ndtv.com/mobiles/news/iphone-5s-and-apple-a7s-
64-bit-architecture-what-does-it-mean-417340
[2] Arm official website
http://www.arm.com/products/processors/cortex-a/cortex-a7.php
[3] Cortex-A7 MPCore
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464f/DDI04
64F_cortex_a7_mpcore_r0p5_trm.pdf
[4] big.LITTLE Processing with ARM Cortex-A7
http://www.arm.com/files/downloads/big_LITTLE_Final_Final.pd
f
[5] NEON
http://www.arm.com/products/processors/technologies/neon.php
[6] (Lettner, Tschernuth, & Mayrhofer, 2012)
http://www.c-sharpcorner.com/UploadFile/d49768/iphone-
operating-system-architecture/
[7] ARM Info Center
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0
338g/ch01s02s01.html
[8] ARM® Architecture Reference Manual ARM® v7-A and
ARM® v7-R edition
http://www.club.cc.cmu.edu/~mjrosenb/ARM%20v7%20Architect
ure%20Reference%20Manual.pdf
[9] Cortex-A7 MPCore Technical Reference Manual
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464d/DDI0
464D_cortex_a7_mpcore_r0p3_trm.pdf
[10] ARM Info Center
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0
388f/Cihcjfjc.html

More Related Content

What's hot

What's hot (11)

Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9
 
Om net++
Om net++Om net++
Om net++
 
Introduction to Eclipse IDE
Introduction to Eclipse IDEIntroduction to Eclipse IDE
Introduction to Eclipse IDE
 
chameleon chip
chameleon chipchameleon chip
chameleon chip
 
Building Blocks for IoT
Building Blocks for IoTBuilding Blocks for IoT
Building Blocks for IoT
 
ECI UTC Webinar MPLS-TP Value for Utilities-dec 2015
ECI UTC Webinar MPLS-TP Value for Utilities-dec 2015ECI UTC Webinar MPLS-TP Value for Utilities-dec 2015
ECI UTC Webinar MPLS-TP Value for Utilities-dec 2015
 
Use of artificial neural networks to identify fake profiles
Use of artificial neural networks to identify fake profilesUse of artificial neural networks to identify fake profiles
Use of artificial neural networks to identify fake profiles
 
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
 
Unit I Testing
Unit I TestingUnit I Testing
Unit I Testing
 
Lamp technology
Lamp technologyLamp technology
Lamp technology
 
8255 programable io
8255  programable io8255  programable io
8255 programable io
 

Viewers also liked

property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled PresentationAurora Lopez
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 
Lesson 4 multiple bets
Lesson 4   multiple betsLesson 4   multiple bets
Lesson 4 multiple betsdescross
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 

Viewers also liked (8)

property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 
The pets book
The pets bookThe pets book
The pets book
 
Lesson 4 multiple bets
Lesson 4   multiple betsLesson 4   multiple bets
Lesson 4 multiple bets
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 

Similar to iPhone Architecture - Review

18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptxKokilaK25
 
AMulti-coreSoftwareHardwareCo-DebugPlatform_Final
AMulti-coreSoftwareHardwareCo-DebugPlatform_FinalAMulti-coreSoftwareHardwareCo-DebugPlatform_Final
AMulti-coreSoftwareHardwareCo-DebugPlatform_FinalAlan Su
 
Microcontroller(18CS44) module 1
Microcontroller(18CS44)  module 1Microcontroller(18CS44)  module 1
Microcontroller(18CS44) module 1Swetha A
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesFatih Özlü
 
Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...IAEME Publication
 
Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...IAEME Publication
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionanand hd
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?Hannes Tschofenig
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors ArchitecturesMohammed Hilal
 
The Basics of Cell Computing Technology
The Basics of Cell Computing TechnologyThe Basics of Cell Computing Technology
The Basics of Cell Computing TechnologySlide_N
 
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 MicroprocessorArchitecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 MicroprocessorAneesh Raveendran
 
Performance of State-of-the-Art Cryptography on ARM-based Microprocessors
Performance of State-of-the-Art Cryptography on ARM-based MicroprocessorsPerformance of State-of-the-Art Cryptography on ARM-based Microprocessors
Performance of State-of-the-Art Cryptography on ARM-based MicroprocessorsHannes Tschofenig
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationJason J Pulikkottil
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.pptzahixdd
 

Similar to iPhone Architecture - Review (20)

18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
 
Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
 
AMulti-coreSoftwareHardwareCo-DebugPlatform_Final
AMulti-coreSoftwareHardwareCo-DebugPlatform_FinalAMulti-coreSoftwareHardwareCo-DebugPlatform_Final
AMulti-coreSoftwareHardwareCo-DebugPlatform_Final
 
Microcontroller(18CS44) module 1
Microcontroller(18CS44)  module 1Microcontroller(18CS44)  module 1
Microcontroller(18CS44) module 1
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
 
Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...
 
Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...Designing of telecommand system using system on chip soc for spacecraft contr...
Designing of telecommand system using system on chip soc for spacecraft contr...
 
arm-cortex-a8
arm-cortex-a8arm-cortex-a8
arm-cortex-a8
 
ARM.pdf
ARM.pdfARM.pdf
ARM.pdf
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors Architectures
 
The Basics of Cell Computing Technology
The Basics of Cell Computing TechnologyThe Basics of Cell Computing Technology
The Basics of Cell Computing Technology
 
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 MicroprocessorArchitecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
 
Training report on embedded sys_AVR
Training report on embedded sys_AVRTraining report on embedded sys_AVR
Training report on embedded sys_AVR
 
Unit vi (1)
Unit vi (1)Unit vi (1)
Unit vi (1)
 
A42060105
A42060105A42060105
A42060105
 
Performance of State-of-the-Art Cryptography on ARM-based Microprocessors
Performance of State-of-the-Art Cryptography on ARM-based MicroprocessorsPerformance of State-of-the-Art Cryptography on ARM-based Microprocessors
Performance of State-of-the-Art Cryptography on ARM-based Microprocessors
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture Illustration
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.ppt
 

More from Abdelrahman Hosny

Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Abdelrahman Hosny
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerAbdelrahman Hosny
 
Microsoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewMicrosoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewAbdelrahman Hosny
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineAbdelrahman Hosny
 
3.0 Introduction to .NET Framework
3.0 Introduction to .NET Framework3.0 Introduction to .NET Framework
3.0 Introduction to .NET FrameworkAbdelrahman Hosny
 
1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer ArchitectureAbdelrahman Hosny
 
2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and ProgrammingAbdelrahman Hosny
 

More from Abdelrahman Hosny (17)

Teaching Philosophy
Teaching PhilosophyTeaching Philosophy
Teaching Philosophy
 
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
 
A Study On Deep Learning
A Study On Deep LearningA Study On Deep Learning
A Study On Deep Learning
 
My Teaching Philosophy
My Teaching PhilosophyMy Teaching Philosophy
My Teaching Philosophy
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy Server
 
A Servant Leader
A Servant LeaderA Servant Leader
A Servant Leader
 
Microsoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewMicrosoft SharePoint 2010 Overview
Microsoft SharePoint 2010 Overview
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual Machine
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Office365
Office365Office365
Office365
 
The Silent Presentation
The Silent PresentationThe Silent Presentation
The Silent Presentation
 
Team Building
Team BuildingTeam Building
Team Building
 
Introduction to Marketing
Introduction to MarketingIntroduction to Marketing
Introduction to Marketing
 
Interviewing
InterviewingInterviewing
Interviewing
 
3.0 Introduction to .NET Framework
3.0 Introduction to .NET Framework3.0 Introduction to .NET Framework
3.0 Introduction to .NET Framework
 
1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture
 
2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming
 

Recently uploaded

Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 

Recently uploaded (20)

Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 

iPhone Architecture - Review

  • 1. Overview on iPhone Architecture Abdelrahman H. Ibrahim Huda M. Aldosari Raed A. Alotaibi CSE 5095 – Computer Architecture – Spring 2015 University of Connecticut Storrs, CT, USA [Emails: abdelrahman@engr.uconn.edu , huda.aldosari@uconn.edu , raed.alotaibi@uconn.edu ] Abstract Smartphones architecture is generally different from common desktop architectures. It is limited by power, size and cost of manufacturing with the goal to provide the best experience for users in a minimum cost. Stemming from this fact, modern micro-processors are designed with an architecture that has three main components: an application processor that executes the end user’s applications, a modem responding to baseband radio activities, and peripheral devices for interacting with the end user. In this paper, we are discussing the architecture of the application processor of Apple iPhone. Specifically, Apple iPhone uses ARM Cortex generation of processors as their core. The following sections discusses this architecture in terms of Instruction Set Architecture, Memory Hierarchy and Parallelism. Index Terms – iPhone, Architecture, ARM Cortex I. Introduction Apple has started a new generation of iPhone with the launch of iPhone 5s. This release announces the start of 64-bit architecture in smartphones. It is shipped with a custom ARMv7-based processor. The chip has 64-bit desktop-class architecture, modern instruction set, 2x general purpose registers, 2x floating-point registers and over 1 billion transistors [1]. Let’s have a closer look at ARM Cortex A7 processor. The following diagram shows a view of the component of the processor [2]. The chip is designed to meet the demands of smartphones energy restrictions. At the same time, it incorporates all the features of the high-performance other Cortex processors. It includes virtualization support in hardware, Large Physical Address Extension (LPAE), NEON Engine (used for SIMD instructions), and 128-bit AMBA Coherent Bus Interface which maximizes the efficiency of data movement and storage. II. Parallelism Multicores: The Cortex A7 MPCore processor implements the ARMv7-A architecture. The Cortex A7 MPCore processor has one to four processors in a single multi-processor device. The following figure shows an example configuration with four processors [3]. Figure 2 - photo courtesy inforcenter.arm.com Let’s have a closer look at the each processor and how they coordinate. Figure 3 - photo courtesy - infocenter.arm.com The Data Processing Unit (DPU) holds most of the program-visible state of the processor, such as general- purpose registers, status registers and control registers. It decodes and executes instructions, operating on data held in Figure 1 - photo courtesy - www.arm.com
  • 2. the registers in accordance with the ARM architecture (discussed in the next section). The Prefetch Unit (PFU) obtains instructions from the instruction cache or from external memory and predicts the outcome of branches in the instruction stream, then passes the instruction to the DPU for processing. In any given cycle, up to a maximum of four instructions can be fetched and two can be passed to the DPU. The Snoop Control Unit (SCU), connecting up to four processors within a cluster. It maintains coherency between the individual data caches in the processor. It also contains buffers that can handle direct cache-to-cache transfers between processors without having to read or write any data to the external memory system. Pipelining: Now, let’s have a closer look inside the execution unit. Cortex-A7 is an in-order, non-symmetric dual issue processor with a pipeline length of between 8-stages and 10-stages [4]. Figure 4 - photo courtesy - www.arm.com SIMD Support: Cortex-A7 comes shipped with the ARM NEON™ general- purpose SIMD engine efficiently processes current and future multimedia formats, enhancing the user experience. It can accelerate multimedia and signal processing algorithm such a video encode/decode, 2D/3D graphics, gaming, audio and speech processing, image processing, telephony, and sound synthesis. It works with its own pipeline and register file. NEON technology is a 128-bit SIMD (Single Instruction, Multiple Data) architecture designed to provide flexible and powerful acceleration of the mentioned applications [5]. - Registers are considered as vectors of elements of the same data type. - Data types can be signed/unsigned 8-bit, 16-bit, 32-bit, 64-bit or single precision floating-point. - Instructions perform the same operation in all lanes. Figure 5 – NEON So, in summary, ARM Cortex-A7 processing module enhances parallelism through multi-cores, pipelining as well as SIMD support. It provides great performance with less power consumption suitable for the iPhone users. III. Instruction Set Architecture (ISA) The Instruction Set Architecture (ISA) is a segment of the architecture responsible for programming and includes native data types, registers, memory, and addressing modes. Apple, the manufacturer of iPhone, is a heavy user of Instruction Set Architectures that allow complete functionality of the iPhone operating systems. The most frequently used Instruction Set Architecture in iPhone devices is the ARM architecture developed by ARM Holdings [6]. ARM is based on reduced instruction set computing (RISC) architecture which means ARM processors require fewer transistors than CISC X86 processors. By using RISC will reduce costs, heat and power use. In smartphones such as iphone, ARMv7-A architecture is the most widely used. ARMv7 contains two main instruction sets, the ARM and Thumb-2 instruction sets. Thumb-2 introduces 32-bit instructions that are intermixed with the 16-bit instructions. The Thumb-2 instruction set does almost all the functionality of the ARM instruction set. Thumb-2 instruction set and the ARM instruction set have some differences is that most Thumb-2 instructions are unconditional, whereas almost all ARM instructions can be conditional. However, Thumb- 2 introduces a new conditional execution instruction, IT, that is a logical if-then-else function. Thumb-2 has the performance close to or better than that of the ARM instruction set and has the code density of the original Thumb ISA. ARMv7-A architecture consists of the divide instructions. The instructions might not be implemented, or implemented only in the Thumb instruction set, or implemented in both the Thumb and ARM instruction sets, or implemented if the Virtualization Extensions are included. The 32-bit ARM Thumb-2 instruction format is shown in: 31 16 15 0 Half-word 1 Half-word 2 The instruction length and functionality is determined by (hw1). If the instruction is decoded as being 32-bits long, (hw2) of the instruction is fetched from the instruction address plus two. VFP (Vector Floating Point) technology is an FPU coprocessor extension to the ARM architecture that provides low-cost -point computation. The VFP architecture was intended to support execution of short "vector mode" instructions but these operated on each vector element sequentially and thus did not offer the performance of true single instruction multiple data (SIMD) vector parallelism. This vector mode was therefore removed shortly after its introduction to be replaced with the much more powerful NEON Advanced SIMD unit. The Advanced SIMD extension is SIMD instruction set that provides standardized acceleration for media and signal processing applications. NEON is able to execute MP3 audio decoding on CPUs running at 10 MHz. NEON supports all 8-, 16-, 32- and 64- bit integer and single-precision (32-bit) floating-point data and SIMD operations for handling audio and video processing as well as graphics and gaming processing. In NEON, the SIMD execute
  • 3. operations up to 16 operations simultaneously. The floating-point registers that used by the NEON are the same floating-point registers as used in VFP [7]. The Security Extensions, TrustZone Technology, provides a low-cost alternative to adding another dedicated security core to an SoC, by providing two virtual processors backed by hardware based access control. This feature gives the application core abilities to switch between two states, referred to as worlds in order to avoid information from leaking from the more trusted world to the less trusted world. Each world either trusted or untrusted world can operate independently of the other while using the same core [7]. Figure 6 - Security TrustZone System IV. Memory Hierarchy The Cortex-A7 has an integrated L1 and L2 cache, which allows lower transaction latencies and ultimately improved memory system performance. Memory close to a processor has very low latency, but is limited in size and expensive to implement. Further from the processor it is easier to implement larger blocks of memory but these have increased latency. To optimize overall performance, an ARMv7 memory system can include multiple levels of cache in a hierarchical memory system. The following figure shows such a system, in an ARMv7-A implementation of a VMSA, supporting virtual addressing [8]. Figure 7 - Memory Hierarchy Optimized Level-1 Cache: Performance and power optimized L1 caches combine minimal access latency techniques to maximize performance and minimize power consumption. Cache size is configurable from 8KB-64KB for instruction and data. There is also the option of cache coherence for enhanced inter-processor communication, or support of a rich SMP capable OS for simplified multicore software development [2]. The L1 memory system has a store buffer that has four 64-bit slots with data merging capability. It handles writes to Device, Strongly-ordered, Cacheable and Non-cacheable memory [9]. The L1 instruction memory system has the following features: - Instruction side cache line length of 32-bytes - Virtually indexed and physically tagged instruction cache. - Pseudo random cache replacement policy. - 2-way set-associative instruction cache. - Support for four sizes of memory page. - Export of memory attributes for external memory systems. - Support for Security Extensions. - Xan be disabled independently, using the system control coprocessor. - On a cache miss, critical word first filling of the cache is performed The L1 data memory system has the following features: - Data side cache line length of 64-bytes. - Physically indexed and physically tagged data cache. - Pseudo random cache replacement policy - 4-way set-associative data cache. - Two 32-byte line-fill buffers and one 64-byte eviction buffer. - A 4-entry, 64-bit merging store buffer. - Can be disabled independently, using the system control coprocessor. - On a cache miss, critical word first filling of the cache is performed. Integrated Level 2 Cache: Provides low-latency and high-bandwidth access to up to 1MB of cached memory in high-frequency designs, or designs needing to reduce the power consumption associated with off-chip memory access. The L2 cache is optional on Cortex-A7 [2]. The L2 memory system consists of an:  Integrated Snoop Control Unit (SCU), connecting up to four processors within a cluster. The SCU also has duplicate copies of the L1 data cache directories for coherency support.  Optional tightly-coupled L2 cache that includes: o Configurable L2 cache size of 128KB, 256KB, 512KB, and 1MB. o Fixed line length of 64 bytes. o Physically indexed and tagged cache. o 8-way set-associative cache structure. o Pseudo-random cache replacement policy. The L2 memory system has a synchronous abort mechanism and an asynchronous abort mechanism. Memory Management: Memory Management in Cortex-A7 Processor is ARMv7 Memory Management Unit (MMU). The MMU works with the L1 and L2 memory system to translate virtual addresses to physical addresses. It also controls accesses to and from external memory. The ARMv7-A memory system incorporates a Memory Management Unit (MMU), controlled by CP15 registers. The memory system supports virtual addressing, with the MMU performing virtual to physical address translation, in hardware, as part of program execution.
  • 4. The MMU features in each processor of the multiprocessor device include the following [10]: - 10-entry fully-associative micro instruction TLB. - 10-entry fully-associative micro data TLB. - 2-way set-associative 256-entry unified main TLB. - 2-way set-associative 64-entry walk cache. - 2-way set-associative 64-entry IPA cache. - The TLB entries include global and application specific identifiers to prevent context switch TLB flushes. - Virtual Machine Identifier (VMID) to prevent TLB flushes on virtual machine switches by the hypervisor. V. References [1] iPhone 5s and Apple A7’s 64-bit architecture: What does it mean?, by Anupam Saxena, Sept. 11, 2013. http://gadgets.ndtv.com/mobiles/news/iphone-5s-and-apple-a7s- 64-bit-architecture-what-does-it-mean-417340 [2] Arm official website http://www.arm.com/products/processors/cortex-a/cortex-a7.php [3] Cortex-A7 MPCore http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464f/DDI04 64F_cortex_a7_mpcore_r0p5_trm.pdf [4] big.LITTLE Processing with ARM Cortex-A7 http://www.arm.com/files/downloads/big_LITTLE_Final_Final.pd f [5] NEON http://www.arm.com/products/processors/technologies/neon.php [6] (Lettner, Tschernuth, & Mayrhofer, 2012) http://www.c-sharpcorner.com/UploadFile/d49768/iphone- operating-system-architecture/ [7] ARM Info Center http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0 338g/ch01s02s01.html [8] ARM® Architecture Reference Manual ARM® v7-A and ARM® v7-R edition http://www.club.cc.cmu.edu/~mjrosenb/ARM%20v7%20Architect ure%20Reference%20Manual.pdf [9] Cortex-A7 MPCore Technical Reference Manual http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464d/DDI0 464D_cortex_a7_mpcore_r0p3_trm.pdf [10] ARM Info Center http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0 388f/Cihcjfjc.html