Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > ARM cores > ARM11 implementation
Télécharger le catalogue
Télécharger le catalogue
Télécharger la page
Télécharger la page
Ecrivez nous
Ecrivez nous
Version imprimable
Version imprimable
 

R2 ARM11 implementation

This course covers ARM1136 and ARM1176 CPUs


formateur
Objectives
bullet_jaune_1 This course is split into 3 important parts:
bullet_jaune_2 ARM11 architecture
bullet_jaune_2 ARM11 software implementation and debug
bullet_jaune_2 ARM11 hardware implementation.
bullet_jaune_1 MMU operation under Linux is described.
bullet_jaune_1 Interaction between level 1 caches, level 2 cache and main memory is studied through sequences.
bullet_jaune_1 The exception mechanism is detailed, particularly the utilization of the VIC port.
bullet_jaune_1 The course also details the hardware implementation and provides some guidelines to design a SoC based on ARM1136/76.
bullet_jaune_1 An overview of the Coresight specification is provided prior to describing the debug related units.
bullet_jaune_1 ACSYS has developed FFTs optimized for ARM11 coded in assembler language
bullet_jaune_2 performance for 1024 complex floating point single precision samples is 220_000 core clock cycles for VFP11 (ARM11)
bullet_jaune_2 performance for 1024 complex fixed point 16-bit samples is 206_000 core clock cycles (ARM SIMD V6 instructions)
bullet_jaune_2 for any information contact guillaume.peron@ac6.fr
Labs are run under RVDS

A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Knowledge of ARM7/9 or having attended the ARM fundamentals course.
bullet_jaune_2 This course does not include chapters on low level programming.
bullet_jaune_3 ACSYS offers a large set of tutorials to become familiar with RVDS, assembly level programming, compiler hints and tips.
bullet_jaune_2 More than 12 correct answers to ARM11 prerequisites questionnaire.

Plan
First day
ARM BASICS
bullet_jaune_2 States and modes
bullet_jaune_2 Exception mechanism
bullet_jaune_2 Instruction sets
bullet_jaune_2 Purpose of CP15
INTRODUCTION TO ARM1136JF-2 AND ARM1176JZF-S
bullet_jaune_2 Block diagram
bullet_jaune_2 Highlighting the instruction path and the data path
bullet_jaune_2 Clarifying the usage of the 4 AHB / AXI ports
bullet_jaune_2 Typical architecture of a SoC based on ARM1136/76
ARM11 CORE PIPELINE
bullet_jaune_2 Pipeline stages
bullet_jaune_2 Branch prediction
bullet_jaune_2 Return stack
bullet_jaune_2 Instruction memory barrier, use case
TRUSTZONE
bullet_jaune_2 Objectives
bullet_jaune_2 Clarifying the transitions between NS OS – Secure Monitor – Secure OS
bullet_jaune_2 Consequences on caches and TLBs
bullet_jaune_2 Secure boot, boot sequence
bullet_jaune_2 Distinguishing the Secure vector table from the NS vector table
bullet_jaune_2 Enabling / disabling invasive and non-invasive secure debug
V6 MMU
bullet_jaune_2 Memory types
bullet_jaune_2 Inner and outer cache attributes
bullet_jaune_2 Data memory barrier, data synchronization barrier, use cases
bullet_jaune_2 Objectives of the MMU
bullet_jaune_2 Page descriptors
bullet_jaune_2 Highlighting the new features of the V6 architecture regarding the MMU
bullet_jaune_2 Locking entries in TLB
bullet_jaune_2 Abort status, imprecise abort
Second day
LEVEL 1 CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 4-way set associative caches, virtual indexing, page coloring
bullet_jaune_2 Hit under miss capability
bullet_jaune_2 Maintenance operations
TCM AND DMA CHANNELS
bullet_jaune_2 TCM, address decoding
bullet_jaune_2 DMA channels
bullet_jaune_2 DMA state machine, interrupts
bullet_jaune_2 DMA programming, using virtual addresses
AHB PROTOCOL (ARM1136 specific, on request)
bullet_jaune_2 Centralized address decoding
bullet_jaune_2 Address gating logic
bullet_jaune_2 Arbitration, bus parking
bullet_jaune_2 Address pipelining
bullet_jaune_2 Retry response
bullet_jaune_2 Split response
AXI PROTOCOL
bullet_jaune_2 AMBA 3
bullet_jaune_2 AXI protocol, the 5 communication channels
bullet_jaune_2 Channel handshake mechanism
bullet_jaune_2 Basic transactions, read burst, write burst
bullet_jaune_2 Protection attributes
bullet_jaune_2 Data buses, utilization of byte write strobes
bullet_jaune_2 Unaligned transfers
bullet_jaune_2 Response signalling, requirement of a default slave
bullet_jaune_2 Atomic access, exclusive vs locked transfers
bullet_jaune_2 ARMv6 load / store exclusive instructions
bullet_jaune_2 Ordering model
bullet_jaune_2 Slave parameters
bullet_jaune_2 AXI interconnection architectures
HARDWARE IMPLEMENTATION
bullet_jaune_2 Reset sequence, power on reset and warm reset timing diagrams
bullet_jaune_2 Power management, run, standby and shutdown modes
bullet_jaune_2 New dormant mode
bullet_jaune_2 Interface to power manager
Third day
L220 / L210 CACHE
bullet_jaune_2 Indicating the purpose of internal buffers
bullet_jaune_2 Write allocate policies
bullet_jaune_2 Write merging
bullet_jaune_2 Event monitoring
bullet_jaune_2 Cache maintenance operations
bullet_jaune_2 Low power interface
bullet_jaune_2 Register block
EXCEPTION MANAGEMENT
bullet_jaune_2 The 3 interrupt controller models: simple controller, vectored controller and controller using the VIC port
bullet_jaune_2 Benefit of the VIC port interface
bullet_jaune_2 New feature regarding exceptions: low latency mode
ARM11 DEBUG
bullet_jaune_2 Performance monitor
bullet_jaune_2 Instruction breakpoints and data watchpoints
bullet_jaune_2 Vector catch hardware
bullet_jaune_2 Thread aware debug
bullet_jaune_2 Halt mode vs monitor mode
bullet_jaune_2 Debug communication channel
ARM11 REAL-TIME TRACE
bullet_jaune_2 Coresight ETM11
bullet_jaune_2 AMBA Trace Bus, trace port and Embedded Trace Buffer
bullet_jaune_2 Instruction tracing
bullet_jaune_2 Data tracing
bullet_jaune_2 Programming ETM11CS