0% ont trouvé ce document utile (0 vote)
174 vues22 pages

Guide du processeur Cortex-M4

Transféré par

Marwen Sellami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
174 vues22 pages

Guide du processeur Cortex-M4

Transféré par

Marwen Sellami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 1: Architecture ARM

Version: 1.0
Date: 4-09-2016

1
Plan
I. Introduction

II. Le processeur Cortex-M4

III. Gestion de la mémoire

IV. Gestion des interruptions

V. Gestion de l’énergie

2
ARM (Advanced Risc Machines)

 Une agence d’architecture fondée en Novembre 1990

 Conçoit la gamme des processeurs ARM

 ARM ne fabrique pas elle-même le silicium

3
Pourquoi ARM ?

4
Les utilisateurs de ARM

5
Les familles des processeurs ARM

More Than 40 company


ST, NXP, Atmel, Samsung…

Cortex-A : processeurs d’applications pour les applications complexes .


Cortex-R : systèmes temps réel
6
Cortex-M : Profil de microcontrôleur optimisé pour les applications sensibles aux coûts .
Les familles des processeurs ARM
CORTEX-M4 : jeu d’instructions

Jeu d’instruction
RISC 32-bit

8
CORTEX-M4 : Performance du CPU

Le temps total utilisé par un CPU pour exécuter un programme

CPU Time = N * CPI * CC

• N : Nombre d’instructions par programme

• CPI : Cycle Par Instruction

• CC : Clock Cycle

9
CORTEX-M4 : Architecture HARVARD

10
CORTEX-M4 : Gestion de la mémoire

 Cortex-M4 comprend deux technologies pour réduire les besoins en mémoire de données:

• Unaligned Data Support


• Atomic Bit Banding

 Ces technologies peuvent considérablement améliorer l'utilisation des données de la


mémoire (SRAM).

11
CORTEX-M4 : Gestion de la mémoire
Unaligned Data :

Processeur qui ne
supporte pas la ARM Cortex-M4
technologie supporte la technologie
“unaligned data” “unaligned data”
Long (32) Long (32)
Long (32) Long (32)
short (16) short (16) short (16)
short (16) Char Char Char Char
Données Char
alignées Char
Char
Char

Espace Perdu Espace libre

12
CORTEX-M4 : Gestion de la mémoire
Bit Banding :

Méthode traditionelle Implémentation du Cortex-M4

Disable external events

Read byte (RAM, register) 32bit


Mémoire
0 1 0 0 1 0 1 1 @Rbase+N b31 b0
REELLE
example: 20000000h to 200FFFFFh
Mask and modify bit element
X X X X X 1 X X
b31
Mémoire
Write byte (RAM, register) VIRTUALLE

0 1 0 0 1 1 1 1
b0
Enable external events

13
CORTEX-M4 : Gestion de la mémoire
Bit Banding :

 Chaque bit de la région « bit band » (1MB) est mappé à une adresse de 32 bits (région d’alias : Zone virtuelle)

 Chaque bit dans la région « bit band » peut être consulté séparément par les 32 bits correspondants dans la région
d'alias.

14
CORTEX-M4 : Pipeline
• Les instructions du processeur nécessitent généralement plusieurs activités consécutives:

FETCH
Instruction extraite de la mémoire

DECODE Instruction décodée

EXECUTE Exécution de l’instruction

15
CORTEX-M4 : Pipeline
Cycle 1 2 3 4 5 6 7 8 9
Operation
ADD F D E
SUB F D E
ORR F D E
AND F D E
ORR F D E
EOR F D E

F- Fetch D - Decode E - Execute

 Dans cet exemple, il faut 6 cycles pour exécuter des instructions 6.


 cycles d'horloge par instruction (CPI) = 1
16
CORTEX-M4 : Pipeline

Cycle 1 2 3 4 5 6 7 8 9
Address Operation
0x8000 B 0x8FEC F D E
0x8002 SUB F D
0x8004 ORR F
0x8FEC AND F D E
0x8FEE ORR F D E
0x8FF0 EOR F D E

F- Fetch D - Decode E - Execute


17
CORTEX-M4 : Manipulation des interruptions
 Le processeur Cortex-M4 intègre un registre pour la gestion des interruptions appelé : «
Nested Vectored Interrupt Controller » (NVIC)

 Le NVIC prend en charge jusqu'à 240 ligne d’interruptions chacune avec jusqu'à 256
niveaux de priorité

 Le processeur Cortex-M4 Prend en charge des fonctionnalités avancées pour les


applications en temps réel :
• Gestion des interruptions en attente.
• Préemption.
• Gestion des arrivées tardives.

18
CORTEX-M4 : Registres

Contains return address after ISR

Contains next instruction address


CORTEX-M4 : Gestion de l’énergie
les différents modes de faible puissance dans le processeur Cortex-M4 :
 Mode Sommeil (Sleep mode)
Dans ce mode, seulement l'horloge du processeur Cortex-M4 est arrêtée et les
périphériques sont conservés en mode actif. La consommation de courant augmente avec la
fréquence d'horloge.

 Mode d'Arrêt (Stop mode)


Dans ce mode, le noyau Cortex-M4 est arrêté et les différentes horloges sont éteintes. Le
contenu des registres et de la mémoire sont conservés. Tous les broches d'entrée/sortie
gardent le même état que le mode "Actif".

 Mode Veille (Standby mode)


Dans ce mode, le noyau Cortex-M4 est arrêté et les horloges sont éteintes. Le régulateur de
tension est désactivé. Le contenu de la mémoire et des registres sont perdus à l'exception
des registres dans le domaine de sauvegarde. Ce mode a la consommation de courant la
plus basse. 20
CORTEX-M4 : Architecture
Interrupt controller: CM4 Core:
Harvard (Separate Busses)
32 Bits Register & ALUs.

WIC

Multi layer Bus Matrix


(Parallel transfers between
core, memory, & peripherals
21
Pourquoi CORTEX-M4?

Performance Temps réel

5 raisons
pour choisir
Cortex-M4
Mémoire Gestion de
optimisée l’énergie

Debuggage

22

Vous aimerez peut-être aussi