View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > ARM cores > ARM11 implementation

R2 ARM11 implementation

This course covers ARM1136 and ARM1176 CPUs

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.

Outline
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