ARM Security Technology Building a Secure System using ...
ARM Security Technology Building a Secure System using ...
ARM Security Technology Building a Secure System using ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TrustZone Hardware Architecture<br />
These multiprocessor systems may implement the <strong>ARM</strong> <strong>Security</strong> Extensions, giving<br />
each processor in the cluster the programmer’s model features described earlier in this<br />
chapter. The <strong>ARM</strong> processor which currently implements both the multiprocessor<br />
features and the security features is the Cortex-A9 MPCore processor<br />
Note<br />
Multiprocessor systems often include an Accelerator Coherency Port which allows an<br />
external bus master to access the same physical memory view as the processor cluster.<br />
See page 3-10 for further details.<br />
Two worlds per processor<br />
Each of the processors within the multiprocessor cluster has a Normal world and a<br />
<strong>Secure</strong> world. This gives a four processor cluster a total of eight virtual processors, each<br />
with independent control over their MMU configuration.<br />
Normal<br />
world<br />
CPU0 CPU1 CPU2 CPU3<br />
Monitor<br />
<strong>Secure</strong><br />
world<br />
Normal<br />
world<br />
Monitor<br />
Figure 3-4 <strong>ARM</strong> multiprocessor cluster<br />
3-14 Copyright © 2005-2009 <strong>ARM</strong> Limited. All rights reserved. PRD29-GENC-009492C<br />
Non-Confidential Unrestricted Access<br />
<strong>Secure</strong><br />
world<br />
Normal<br />
world<br />
Monitor<br />
<strong>Secure</strong><br />
world<br />
Normal<br />
world<br />
Monitor<br />
<strong>Secure</strong><br />
world<br />
L1 D L1 I L1 D L1 I L1 D L1 I L1 D L1 I<br />
Snoop Control Unit<br />
ACP Main AXI<br />
External<br />
Coherent Masters<br />
L2 Cache<br />
Multiprocessor cluster<br />
Integrated Peripherals<br />
Integrated Interrupt<br />
Controller + Distributor<br />
nIRQ[0-3] nFIQ[0-3] Peripheral<br />
Interrupt<br />
Lines