Vous êtes sur la page 1sur 4

TD1 : Processeur ARM et Application

Exercice 1 :
Pour chaque question préciser son numéro (Qi) et indiquer la ou les réponses correctes (a,b,…) :
Q1. Un processeur avec une architecture Von-Newman contient :
a. Un bus adresse et un bus data pour les données et les instructions,
b. Un bus adresse data, un bus data, un bus adresse program et un bus instructions,
c. Un bus adresse data, un bus adresse instruction et un bus donnée.
Q2. Un processeur avec une architecture RISC est :
a. Un processeur dont l’architecture est dite de Harvard,
b. Un processeur dont le jeu d’instruction est Complexe,
c. Un processeur dont les opérations sur le contenu de la mémoire se fait à travers des registres.
Q3. Le registre « Program Counter » (PC) contient :
a. Le code opération de l’instruction en cours d’exécution,
b. Les bits d’état (Z, N,V,C,Q) du programme en exécution,
c. L’adresse de la prochaine instruction.
Q4. Un microprocesseur avec un pipeline de profondeur trois (fetch, decode, exec) permet :
a. D’avoir une latence de trois cycles puis une moyenne d'exécution d’une instruction par cycle,
b. D’avoir une exécution de trois instructions par cycle,
c. Une latence de trois cycles et une exécution de trois instructions par cycle
Q5. Dans un processeur ARM Cortex-M4 le « Nested Vector Interrup Controller » permet de :
a. Contrôler des interruptions imbriquées du « Core »,
b. Activer, désactiver, changer la priorité des interruptions à l’entrée du « Core »,
c. Contrôler le « Core » par le vecteur des interruptions.
Q6. Un cortex-M4 dont la taille de ses registres est de 32bits a un espace mémoire adressable de
a. 4 Gbytes,
b. 1 Mbytes,
c. 512 Kbytes.
Q7. L’adresse de début de l’espace mémoire « Flash on Chip » allouée aux instructions dans
CortexM4 est :
a. 0x00000000,
b. 0x10000000,
c. 0x20000000.
Q8. Observer le schéma suivant et choisir la bonne réponse :

a. Stockage de données en « Little endian »,


b. Stockage de données en « Big endian »,
c. Stockage de données en « Bit banding »
Q9. Lire l’instruction suivante et donner le bon résultat : LDR R0, [R1] ;
a. R0 contient le contenu de la mémoire pointée par le registre R1,
b. La mémoire pointée par le registre R1 contient le contenu de R0,
c. R0 contient la valeur de R1.

1
Q10. Le suffixe S à une instruction, exemple « MOVS R0, 0x11 », permet de :
a. Indiquer que l’opération est signée,
b. Indiquer que le registre d’état sera mis à jour,
c. Indiquer que le registre « Stack Pointer » sera incrémenté à la fin de l’instruction.
Q11. En utilisant un Cortex-M4 comme cible, le mot clé « const » qui précède une déclaration
de variable en langage C, exemple « const char X », permet de :
a. Indiquer que l’espace mémoire alloué à la variable X sera dans la ROM,
b. Indiquer que la variable X ne peut être modifiée durant l’exécution du programme,
c. Indiquer que l’espace mémoire alloué à la variable X sera dans la ROM et quelle est visible
par toutes les fonctions du programme.
Q12. En utilisant un Cortex-M4 comme cible, le mot clé « volatile » qui précède une déclaration
de variable en langage C, exemple « volatile char X », permet de :
a. Indiquer que l’espace mémoire alloué à la variable X sera dans la SRAM,
b. Indiquer que la variable X peut être modifiée durant l’exécution du programme par des
interruptions,
c. Indiquer que l’espace mémoire alloué à la variable X sera dans la SRAM et quelle est peut-
être changée par toutes les fonctions du programme
Q13. Observer le schéma suivant et choisir la configuration GPIO adéquate des pins LED1,
LED2:

a. Mode output push-pull,


b. Mode output open drain,
c. Mode Input.
Q14. Le cœur du microcontrôleur ARM7TDMI est
a. Processeur d’architecture RISC 32 bits
b .Basé sur l'architecture Von Neumann
c. Basé sur l’architecture Harvard
d. Utilise un pipeline à 3 étages pour augmenter la vitesse du flot d’instructions dans le
microprocesseur.
Q15.La version de l'architecture ARM l'ARM7TDMI met en œuvre
a. Version 7
b. Version 4
c. Version 3
Q16. Le mode Thumb :
a. Un jeu d’instructions codé sur 16 bits
b. Un jeu d’instructions codé sur 32 bits
c. Un sous ensemble des fonctionnalités du jeu d’instructions ARM
Q17. La famille de processeur ARM Cortex-M :
a. Destinée au marché des microcontrôleurs
b. Destinée au marché des Smartphones et des tablettes
c. Destinée au marché des systèmes temps réel
d. D'architecture Harvard et de processeur RISC
e. D'architecture Harvard et de processeur CISC

2
Exercice 2 :
1. Lister les trois constituants de base d’un processeur ainsi que les interfaces associées.
2. Quelle est la différence majeure entre un Microprocesseur et un Microcontrôleur ?
3. Donner la différence entre le mode Thumb1 et Thumb2 pour un calculateur ARM-Cortex.
4. Quelle est la taille de l’espace mémoire adressable du processeur CORTEX-M4 ?
5. Dessiner un pipeline de profondeur trois et donner sa latence en termes de cycles ainsi que le
nombre d’instructions par cycle une fois le pipeline rempli.
6. Dans une architecture ARM Cortex-M quel est le rôle du « Link register » ?
7. Soit une donnée sur 32 bits X=X31…X0 stocke en mémoire à partir de l’adresse 0x20000000
(Mode Little Endian), En utilisant le « Bit banding » qu’elle est l’adresse qui manipule le bit
X3 ?
8. Quel est le rôle du suffixe ‘S’qu’on ajoute aux instructions assembleurs (exemple : ADDS
R0, R0, R1).
Exercice 3 :
Dans une usine de produits agro-alimentaires une partie de processus de traitement d’un
produit consiste à doser une quantité d’un liquide visqueux pour la porter à une température
de 100°C. Ce système comporte :
- un bac de dosage
- une citerne de chauffage

L’action sur le bouton poussoir de mise en marche MA déclenche le cycle suivant :


- Dosage du liquide : l’électrovanne KA1 autorise le remplissage du bac doseur jusqu’à la
détection de la quantité souhaitée par le capteur P1.
- Lorsque P1 est actionné, KA1 interrompe le remplissage et autorise l’écoulement du liquide
du bac vers la citerne de chauffage par l’intermédiaire de l’électrovanne KA2.
La fin de l’écoulement du liquide détectée par le capteur P0 entraîne à la fois :
- Le chauffage du liquide par la résistance RC.
- Le brassage du liquide par la rotation des hélices entraînées par le moteur M ; le moteur tourne
à vitesse constante de 75% de sa valeur maximale.
Lorsque la température de chauffage atteint 100°C, le chauffage et le brassage seront arrêtés.
La circulation du liquide vers la suite du processus est autorisée par l’électrovanne KA3 pendant
une durée de 20s. Le système est commandé par un microcontrôleur STM32F207. Le capteur
de température LM35 délivre une tension Vmes comprise entre 0 et 1,5V pour des températures
allant de 0 à 150ºC. Le schéma de connexion de l’interrupteur MA et les capteurs fin de course
est donné par la figure suivante :

3
1. Quel est le niveau logique en PC5 lorsque MA est fermé ?
2. Quel est le niveau logique en PC5 lorsque MA est ouvert ?
3. Faites les configurations nécessaires des lignes PC5, PC13 et PC12.
4. Faites les configurations nécessaires des lignes PG6, PG8, PC11 et PC15.
5. Ecrire le pseudocode qui commande les électrovannes KA1 et KA2 lorsque P1 est
actionné.
Exercice 4 :
On se propose d’analyser le code Assembleur ARM suivant. On suppose que le code source après
compilation sera stocké à partir de l’adresse : 0x00008000.
1. Lister les différentes DIRECTIVES et donner la définition de chacune d’elle.
2. Commenter chaque ligne de code.
3. Quels sont les rôles des registres : R4 et R6 ?
4. Quelle est la fonction du programme dans la boucle “Repeat2” ?
5. Donner le contenu de la table “Tab3” après exécution de toutes les instructions.
6. Déduire la fonction de ce programme