|
|
|
|
| First day |
| OVERVIEW OF CORTEX-A15MP |
 |
Cortex-A15 architecture |
 |
Organization of a SoC based on Cortex-A15MP |
 |
AMBA4 coherent interconnect capabilities |
 |
Inner Shareable vs Outer Shareable attribute |
 |
I/O MMU |
 |
64-Byte cacheline size, integrated L2 cache |
 |
VFPv4 and SIMDv2 |
 |
Highlighting differences between Cortex-A9 and Cortex-A15 |
| INSTRUCTION PIPELINE |
 |
Global organization, triple issue capability |
 |
Fetch / decode / rename / dispatch stages |
 |
Loop mode |
 |
Execution clusters |
 |
Out-of-order execution, 40-entry dispatch queue |
 |
Branch accelerators |
| INTRODUCTION TO HYPERVISOR STATE |
 |
Processor privilege levels state machine, user, guest OS, hypervisor |
 |
Detailing the various operation modes (Bare-Metal, Hypervisor kernel and user task, Hypervisor with Guest partition) |
 |
Asymmetric approach, no support for Virtualization of Secure state functionality |
 |
SVC, HVC and SMC instructions |
 |
Objective of the Hypervisor |
 |
Hypervisor related instructions and registers |
 |
List of registers that have to be saved / restored to be able to suspend / resume a guest partition |
 |
Accessing banked registers or any Non-Secure mode while running in Hypervisor mode |
| EXCEPTION MECHANISM |
 |
Hypervisor vector table |
 |
Utilization of Vector #5 to trap Guest partition events |
 |
System Call into Hypervisor mode |
 |
Asynchronous exceptions |
 |
Virtual Interrupt and Abort bits control, IRQ, FIQ, external abort routing control |
 |
Hypervisor exception return |
 |
Taking exceptions into Hypervisor mode |
| GENERIC INTERRUPT CONTROLLER (GICv2) |
 |
Integration in a SoC based on Cortex-A15MP and Cortex-A7MP |
 |
Highlighting the new features with regard to Cortex-A9MP |
 |
Steering interrupts to guest OS or Hypervisor |
 |
Virtual CPU interface |
 |
Split EOI functionality |
 |
Deactivating an interrupt source from the Virtual CPU interface |
 |
Front-end interface accessed by the Guest Kernel |
 |
Back-end interface accessed by the Hypervisor |
| Second day |
| VIRTUALIZATION EXTENSIONS |
 |
New Intermediate Physical Address, 2-stage address translation |
 |
Memory translation system |
 |
Memory management when running in hypervisor mode |
 |
Virtual Machine Identification |
 |
Exposing the MMU to Other Masters, IO MMU |
 |
Emulation support, trapping load and store and executing them in Hypervisor state |
 |
Second-stage access permissions and attributes |
| LARGE PHYSICAL ADDRESS EXTENSIONS SPECIFICATION (LPAE) |
 |
Need to introduce support for a second stage of translation as part of the Virtualization Extensions |
 |
New 3-level translation |
 |
Level-1 table descriptor format |
 |
Level-2 table descriptor format |
 |
Attribute and Permission fields in the translation tables |
 |
Improving the caching of translation entries by providing contiguous hints |
 |
complete set of cache allocation hints |
 |
Handling of the ASID in the LPAE |
 |
New cache and TLB maintenance operations |
| MMU IMPLEMENTATION |
 |
TLB organization, L1-TLB, L2-TLB |
 |
TLB match process |
 |
Coherent table walk |
 |
Determining the exact cause of aborts through status registers |
 |
Behavior when MMU is disabled |
| OS SUPPORT – SYNCHRONIZATION OVERVIEW |
 |
Inter-Processor Interrupts |
 |
Barriers |
 |
Cluster ID |
 |
Exclusive access monitor, implementing Boolean semaphores |
 |
Global monitor |
 |
Spin-lock implementation |
 |
Using events |
 |
Indicating the effect of Multi Core on debug interfaces |
| Third day |