ARM1136 - Conception système

(ref.004802A)

4 jours - 28 heures

Objectifs

  • Cette formation traite en détails les particularités des cœurs ARM, aussi bien logiciel que matériel dans le but de facilité la mise en oeuvre de cœur ARM1136.
  • Elle est destiné aux :
    • Ingénieurs logiciel qui veulent non seulement obtenir des détails sur la façon d’écrire un logiciel pour processeur ARM, mais qui souhaitent également comprendre l’implémentation matériel des cœurs au sein d’un microcontrôleur
    • Ingénieurs matériel qui ont besoin de comprendre comment concevoir des systèmes basés sur ARM mais également être capable de comprendre les bases de la programmation logicielle sur ces plates-formes

Partenaires

ARM ATC

Prérequis

  • Une compréhension de base des microprocesseurs et microcontrôleurs est utile mais non indispensable
  • Une compréhension de base de la logique numérique est utile mais non indispensable
  • Une compréhension de base de la programmation en assembleur ou en langage C est utile mais non indispensable
  • Des notions sur les cœurs ARM sont utiles mais non indispensables

Configurations

  • Pour les formations sur site, les travaux pratiques peuvent etre effectués sous les environnements suivants : Keil DS-5, Keil μVision, GNU/Lauterbach simulator, or IAR Workbench
  • Pour les formations inter-entreprises, les travaux pratiques se font sous Keil µVision

Contenu

Présentation de ARM

Modes de fonctionnement ARM

Jeux de registres

Program Status Register

Gestion d'exception, table de vecteurs

Jeux d'instructions

Pipeline super-scalaire

Prédiction de branchement dynamique et statique

Execution dans le désordre

Pile de retours

Principes des mémoires caches

Hit Under Miss et ses conséquences

Instructions spécifiques des ARM11

Mise en avant des flots de données entre mémoire principale, cache L1 et L2

Tightly Coupled Memories

Configuration et controle via le CP15

Introduction à la pagination

Architecture de mémoire virtuelle v6

Endianness v6

Alignement de données

Barrières mémoires

Nouvelles classes d'instructions

Extension de multiplicaiton

Multiplicaiton longue

Données packed

Instruction NOP32 d'entrée en sommeil

Controleurs d'interruption

Primecell VICs

Reduction du temps de latence via vecteur

Interface VIC

Priorité et masquage des interruptions

Présentation de TrustZone

Transitions de sécurisé vers non-sécurisé

Registres CP15 associés

Intérêt de la spécification

Exemple typique de système basé sur l’interconnexion AMBA

Différences entre AMBA 2.0 et AMBA 3.0

Décodage d’adresse centralise

Address gating logic

Arbitrage de bus, parcage de bus

Transactions data simple

Transferts séquentiels

Réponse de type retry

Réponse de type split

Spécification AHB-Lite

Topologie: connexion directe, multi-maitre, multi-couche

Interconnexion PL300

Canaux AXI, protocole

Transferts non alignés

Ordre de transactions, complétion dans le désordre

Chronogrammes de lecture et écriture, rafales

Chronogramme de lecture

Chronogramme d’écriture

Interconnexion AHB vers APB

Nouvelles fonctionnalités de l’APB 3.0

Eléments de debug

Debug d'un coeur embarqué

Interface DBGTAP

Motivation pour la trace temps réel

CoreSight ETM11

Trace ETM11

Buffer de trace embarqué

Diagram block

Interfaces AXI

Exemple de système à base de ARM1176

Reset et horloges

Démarrage

Interfaces de gestion de consommation

Notes

  • Les supports de cours seront fournis sur papier à chaque participant pendant la formation.