Professional Documents
Culture Documents
Agenda
What do we mean by multicore? Benefiting from SMP
OS support Applications Existing software
Cortex-A8
Mali-400 MP
Cortex-M3
Interconnect
Memory
Cortex-A9
Cortex-A9
Power Manager
Coherency Logic
Mali-400 MP
Cortex-M3
Interconnect
Cortex-A5 MPCore, Cortex-A9 MPCore and Cortex-A15 MPCore Cortex-R5 MPCore, Cortex-R7 MPCore
Coherency
ARM MPCore processors provide:
Hardware maintained coherency between L1 data caches Broadcast of cache and TLB maintenance operations Inter-processor interrupt signalling using integrated interrupt controller Coherency with external un-cached masters using ACP
Cortex-A series I$ D$ Cortex-A series I$ D$ ACP
Coherency Logic
Agenda
What do we mean by multicore? Benefiting from SMP
OS support Applications Existing software
SMP OS
A symmetric multi-processing
(SMP) OS runs across multiple CPUs Each CPU sees the same memory
system
Task can be scheduled to any CPU A multi-threaded task may run on several CPUs at once
CPU SMP OS
CPU
MPCore Cluster
Multiple OS
It is also possible to run multiple different operating systems
RTOS
SMP OS
CPU
CPU
Applications
Applications can be written to take advantage of multicore
schedule to different CPUs
environment Work is split across multiple independent threads, which the OS can
CPU3
Buffer Store
Run-Length Compress
MPEG
9
Applications (cont)
Other examples of splitting across threads: Single frame divided
a different thread
Image Processing Application Thread Thread
10
11
Barriers in Action
STR DCCMVAU DSB ICIMVAU BPIMVA DSB STR ISB MOV P1-Pn WAIT ISB MOV r11, [r1] r1 r1 r1 r0, [r2] pc, r1 ; ; ; ; ; ; ; ; ; Save instruction to program memory clean D-$ so instruction visible to I-$ ensure clean completes on all CPUs discard stale data from I-$ and from Branch Predictor ensure I-$/BP invalidates complete for all set flag == 1 to signal completion synchronize context on this processor branch to new code
([r2] == 1) ; wait for flag signaling completion ; no barrier required here pc, r1 ; execute newly saved instruction
12
13
Case Study
Single threaded browser
Browser Performance 2 1 0
1 Core 2 Cores
saw a 1.54x performance improvement when run on a dual-core system No code changes required in
the browser
1.54x
14
0
1 Core (Browser only) 1 Core (Browser & 2 Cores (Browser and Web Radio) Web Radio) 2 Cores (Browser only)
Agenda
What do we mean by multicore? Benefiting from SMP
OS support Applications Existing software
16
Secure
Application
Vendor Specific Library
Trusted Service(s)
Privileged
Normal
Application
Application
Application
Application
SMP OS
Secure
TEE
18
Dedicated CPU
Alternative model is to dedicate one CPU to TrustZone
Application(s)
SMP OS
TEE
19
20
Multiple Clusters
The Cortex-A15 MPCore processor, together with AMBA4
ACE, supports multiple coherent clusters
Cortex-A15
Cortex-A15
Cortex-A15
Cortex-A15
Coherent Interconnect
SMP OS can be extended across multiple clusters of CPUs Expands the number of CPUs available to scheduler
21
Any Questions?
22