QCM : Structure des systèmes programmables (31 questions)

Questions et réponses du QCM

1. Concernant la structure d’un système programmable, quelles sont les propositions exactes ?

Un système programmable associe un processeur, des entrées-sorties et une interface mémoire.
L’interface mémoire relie le processeur à un seul type de mémoire interne.
L’interface mémoire donne accès à différentes mémoires ou à des périphériques.
Les entrées-sorties font partie des éléments associés au processeur dans un système programmable.
Un accès mémoire est défini par le triplet composé du type d’accès, de l’adresse et du périphérique.

Un système programmable associe un processeur, des entrées-sorties et une interface mémoire. · L’interface mémoire donne accès à différentes mémoires ou à des périphériques. · Les entrées-sorties font partie des éléments associés au processeur dans un système programmable.

Explication

Un système programmable associe bien un processeur, des entrées-sorties et une interface mémoire. Cette interface peut donner accès à différentes mémoires ou à des périphériques, et les entrées-sorties font partie des éléments associés au processeur. Un accès mémoire est défini par un type d’accès, une adresse et une valeur, et non par un périphérique dans ce triplet.

2. À propos d’un accès mémoire, cochez la (les) proposition(s) exacte(s) :

L’adresse et la valeur suffisent à définir complètement un accès mémoire.
Une écriture mémoire est généralement appelée store.
Le type d’accès correspond généralement à une instruction de branchement ou d’interruption.
Une lecture mémoire est généralement appelée load.
Un accès mémoire est décrit par un type d’accès, une adresse et une valeur.

Une écriture mémoire est généralement appelée store. · Une lecture mémoire est généralement appelée load. · Un accès mémoire est décrit par un type d’accès, une adresse et une valeur.

Explication

Un accès mémoire est défini par le triplet formé du type, de l’adresse et de la valeur. Une lecture correspond généralement à load et une écriture à store. Les branchements et les interruptions ne constituent pas les types habituels d’accès mémoire, et l’adresse et la valeur seules ne suffisent pas.

3. Les caractéristiques d’une mémoire comprennent :

Les périphériques peuvent être considérés comme des mémoires lorsqu’ils présentent une interface appropriée.
Une mémoire est un dispositif possédant une interface comparable à celle d’une mémoire.
Une mémoire est définie par sa capacité physique, indépendamment de ses accès.
La sémantique des accès ne participe pas à la définition d’une mémoire.
Le comportement d’une mémoire est défini par la sémantique de ses accès.

Les périphériques peuvent être considérés comme des mémoires lorsqu’ils présentent une interface appropriée. · Une mémoire est un dispositif possédant une interface comparable à celle d’une mémoire. · Le comportement d’une mémoire est défini par la sémantique de ses accès.

Explication

Une mémoire est définie comme un dispositif présentant une interface similaire à celle d’une mémoire. Son comportement dépend de la sémantique de ses accès, et certains périphériques peuvent donc être considérés comme des mémoires. La capacité physique seule ne suffit pas, tandis que la sémantique des accès est essentielle.

4. Parmi les propositions suivantes concernant un périphérique mappé en mémoire, la(les)quelle(s) est(sont) exacte(s) ?

Les lectures et les écritures permettent d’accéder aux registres du périphérique mappé.
Un périphérique mappé en mémoire utilise une adresse indépendante de celle du processeur.
Ce périphérique est accessible par des lectures ou des écritures de mots.
Un périphérique mappé en mémoire est accessible par des opérations réservées aux instructions.
Un périphérique mappé en mémoire occupe une ou plusieurs plages d’adresses du processeur.

Les lectures et les écritures permettent d’accéder aux registres du périphérique mappé. · Ce périphérique est accessible par des lectures ou des écritures de mots. · Un périphérique mappé en mémoire occupe une ou plusieurs plages d’adresses du processeur.

Explication

Un périphérique mappé en mémoire occupe une ou plusieurs plages d’adresses du processeur. Il est accessible par des lectures ou des écritures de mots, notamment vers ses registres. Il n’utilise donc pas une adresse indépendante du processeur et son accès ne se limite pas aux instructions.

5. Concernant le décodage d’adresse, quelles sont les réponses exactes au sujet de sa fonction ?

La sélection du périphérique repose généralement sur les bits de poids faible.
Un bus peut contribuer au décodage et à la sélection d’un périphérique.
Le décodage d’adresse sélectionne les périphériques selon leur vitesse de fonctionnement.
Le décodage d’adresse sélectionne le périphérique correspondant à une adresse.
Un contrôleur de bus peut utiliser un signal chip select pour sélectionner un périphérique.

Un bus peut contribuer au décodage et à la sélection d’un périphérique. · Le décodage d’adresse sélectionne le périphérique correspondant à une adresse. · Un contrôleur de bus peut utiliser un signal chip select pour sélectionner un périphérique.

Explication

Le décodage d’adresse sélectionne le périphérique correspondant. Il s’appuie généralement sur les bits de poids fort, avec l’aide possible d’un bus, d’un réseau sur puce ou d’un contrôleur utilisant chip select. Les bits de poids faible et la vitesse de fonctionnement ne définissent pas cette sélection.

6. À propos des acteurs concernés par un plan mémoire, cochez la (les) proposition(s) exacte(s) :

Un plan mémoire doit être défini pour le contrôleur de bus.
Le plan mémoire est inutile pour le fonctionnement d’un contrôleur de bus.
Le système, notamment le bootloader ou le système d’exploitation, doit connaître le plan mémoire.
Le plan mémoire concerne exclusivement le programmeur de l’application.
Le réseau sur puce doit disposer d’un plan mémoire.

Un plan mémoire doit être défini pour le contrôleur de bus. · Le système, notamment le bootloader ou le système d’exploitation, doit connaître le plan mémoire. · Le réseau sur puce doit disposer d’un plan mémoire.

Explication

Le plan mémoire doit être défini pour le contrôleur de bus et le réseau sur puce. Il concerne également le système, comme le bootloader ou le système d’exploitation, ainsi que le programmeur. Il ne concerne donc pas exclusivement le programmeur et reste nécessaire au contrôleur de bus.

7. Les différences entre RAM, ROM et mémoire Flash comprennent :

L’écriture en mémoire Flash est généralement plus lente que sa lecture.
La ROM ou la mémoire Flash sert principalement aux données temporaires rapidement modifiables.
La RAM est principalement destinée au stockage persistant du programme.
La RAM est généralement vive et rapide pour les données modifiables.
La ROM ou la mémoire Flash conserve principalement un contenu persistant.

L’écriture en mémoire Flash est généralement plus lente que sa lecture. · La RAM est généralement vive et rapide pour les données modifiables. · La ROM ou la mémoire Flash conserve principalement un contenu persistant.

Explication

La RAM est généralement vive et rapide et convient aux données modifiables. La ROM ou la Flash conserve principalement un contenu persistant, avec une lecture lente et une écriture très lente. Les données temporaires et le stockage persistant du programme ne correspondent donc pas respectivement aux rôles décrits.

8. Concernant l’architecture Von Neumann, cochez la (les) proposition(s) exacte(s) :

Elle repose sur un espace mémoire commun aux instructions et aux données.
L’architecture Von Neumann utilise un seul chemin matériel pour instructions et données.
L’architecture Von Neumann peut traiter le code comme des données.
L’architecture Von Neumann peut subir un goulot d’étranglement lors des accès mémoire.
Le code et les données partagent les ressources matérielles d’accès mémoire.

Elle repose sur un espace mémoire commun aux instructions et aux données. · L’architecture Von Neumann utilise un seul chemin matériel pour instructions et données. · L’architecture Von Neumann peut traiter le code comme des données. · L’architecture Von Neumann peut subir un goulot d’étranglement lors des accès mémoire. · Le code et les données partagent les ressources matérielles d’accès mémoire.

Explication

L’architecture Von Neumann utilise un seul chemin matériel et un seul espace mémoire pour les instructions et les données. Le code peut être traité comme des données, mais le partage des ressources crée un goulot d’étranglement lors des accès mémoire.

9. Parmi les propositions suivantes concernant l’architecture Harvard, la(les)quelle(s) est(sont) exacte(s) ?

L’architecture Harvard utilise deux chemins matériels distincts.
Les instructions et les données sont séparées matériellement dans cette architecture.
L’architecture Harvard impose un espace mémoire commun au code et aux données.
Elle possède deux espaces mémoire séparés pour instructions et données.
Le chemin matériel des instructions est partagé avec celui des données.

L’architecture Harvard utilise deux chemins matériels distincts. · Les instructions et les données sont séparées matériellement dans cette architecture. · Elle possède deux espaces mémoire séparés pour instructions et données.

Explication

L’architecture Harvard utilise deux chemins matériels et deux espaces mémoire distincts. Elle sépare donc matériellement les instructions et les données. L’espace mémoire et le chemin matériel ne sont pas communs comme dans l’architecture Von Neumann.

10. À propos des architectures Harvard et Von Neumann, quelles sont les propositions exactes ?

Elle correspond à une séparation intégrale et inchangée des mémoires d’instructions et de données.
L’architecture Harvard unifiée est aussi appelée Harvard modifiée.
L’architecture Harvard unifiée constitue l’architecture de loin la plus répandue.
L’architecture Harvard unifiée est devenue moins répandue que l’architecture Von Neumann.
Elle combine des avantages des architectures Harvard et Von Neumann.

L’architecture Harvard unifiée est aussi appelée Harvard modifiée. · L’architecture Harvard unifiée constitue l’architecture de loin la plus répandue. · Elle combine des avantages des architectures Harvard et Von Neumann.

Explication

L’architecture Harvard unifiée, ou Harvard modifiée, combine les avantages des architectures Harvard et Von Neumann. Elle est de loin la plus répandue. Elle ne se caractérise donc pas par une séparation intégrale et inchangée, et elle n’est pas moins répandue que l’architecture Von Neumann.

11. Concernant les modes d’exécution d’un processeur, cochez la (les) proposition(s) exacte(s) :

Les systèmes d’exploitation utilisent cette protection pour contrôler les accès.
La séparation des modes contribue à protéger les ressources du système.
Le mode utilisateur possède généralement davantage de privilèges que le mode superviseur.
Les ressources du mode superviseur sont accessibles sans contrôle depuis le mode utilisateur.
Le mode superviseur et le mode utilisateur peuvent disposer de ressources propres.

Les systèmes d’exploitation utilisent cette protection pour contrôler les accès. · La séparation des modes contribue à protéger les ressources du système. · Le mode superviseur et le mode utilisateur peuvent disposer de ressources propres.

Explication

Le processeur peut distinguer un mode superviseur et un mode utilisateur, avec des ressources et des droits propres. Cette séparation protège les ressources et permet au système d’exploitation de contrôler les accès. Le mode utilisateur n’est pas plus privilégié, et les ressources du mode superviseur ne sont pas accessibles sans contrôle depuis le mode utilisateur.

12. Une exception processeur correspond à quel phénomène ?

Elle remplace définitivement le programme en cours d’exécution.
Elle intervient après la fin normale du programme courant.
Elle concerne uniquement les erreurs matérielles externes.
Elle suspend temporairement le flot normal d’exécution.
Elle permet au processeur de traiter un événement particulier.

Elle suspend temporairement le flot normal d’exécution. · Elle permet au processeur de traiter un événement particulier.

Explication

Une exception interrompt temporairement le flot normal afin de traiter un événement particulier. Elle ne remplace pas définitivement le programme, ne concerne pas uniquement les erreurs externes et peut survenir pendant l’exécution.

13. Parmi les événements suivants, lesquels peuvent déclencher une exception ?

L’exécution d’une instruction TRAP peut déclencher une exception.
Une interruption matérielle IRQ provenant d’un périphérique peut déclencher une exception.
Une lecture normale d’une donnée valide déclenche une exception matérielle.
Une instruction reconnue et correctement exécutée déclenche une exception.
Un accès mémoire impossible peut déclencher une exception.

L’exécution d’une instruction TRAP peut déclencher une exception. · Une interruption matérielle IRQ provenant d’un périphérique peut déclencher une exception. · Un accès mémoire impossible peut déclencher une exception.

Explication

Une exception peut être provoquée par une instruction TRAP, une interruption matérielle IRQ ou un dysfonctionnement tel qu’un accès mémoire impossible. Une lecture valide et une instruction correctement reconnue ne correspondent pas aux déclencheurs indiqués.

14. Concernant la distinction entre exceptions synchrones et asynchrones :

Une exception synchrone est déclenchée par une interruption matérielle IRQ.
Une exception asynchrone n’a pas de relation temporelle avec le programme courant.
Une exception synchrone dépend du contexte d’exécution et de l’allocation mémoire considérés.
Une exception asynchrone est directement liée temporellement à l’instruction courante.
Une exception synchrone survient au même moment pour un même jeu de données.

Une exception asynchrone n’a pas de relation temporelle avec le programme courant. · Une exception synchrone dépend du contexte d’exécution et de l’allocation mémoire considérés. · Une exception synchrone survient au même moment pour un même jeu de données.

Explication

L’exception synchrone survient au même moment pour un même jeu de données et une même allocation mémoire. L’exception asynchrone n’est pas temporellement liée au programme courant. Une exception synchrone dépend donc du contexte d’exécution considéré et n’est pas déclenchée par une interruption matérielle IRQ.

15. Concernant les systèmes bare-metal, quelles propositions sont exactes ?

Un système bare-metal nécessite plusieurs processus fournis par un noyau généraliste.
Il comporte souvent un exécutable autocontenu chargé de gérer le système.
Le programme bare-metal peut prendre en charge directement les fonctions du système.
Un système bare-metal délègue habituellement la gestion matérielle à un hyperviseur.
Un système bare-metal fonctionne sans système d’exploitation.

Il comporte souvent un exécutable autocontenu chargé de gérer le système. · Le programme bare-metal peut prendre en charge directement les fonctions du système. · Un système bare-metal fonctionne sans système d’exploitation.

Explication

Un système bare-metal fonctionne sans système d’exploitation et comporte souvent un exécutable autocontenu. Ce programme gère directement le système, contrairement à un fonctionnement délégué à un noyau généraliste ou à un hyperviseur.

16. Un système d’exploitation fournit notamment quels services aux exécutables ?

Il limite ses services à l’allocation de mémoire.
Il remplace les exécutables par des routines matérielles intégrées.
Il fournit une abstraction des périphériques.
Il gère notamment les tâches, la mémoire et les fichiers.
Il propose des services de synchronisation et de gestion du temps.

Il fournit une abstraction des périphériques. · Il gère notamment les tâches, la mémoire et les fichiers. · Il propose des services de synchronisation et de gestion du temps.

Explication

Les services d’un système d’exploitation comprennent l’abstraction des périphériques, la synchronisation, la gestion du temps, des tâches, de la mémoire et des fichiers. Il ne remplace pas les exécutables et ses fonctions ne se limitent pas à la mémoire.

17. Lorsqu’un système d’exploitation prend en charge le lancement d’un exécutable, quelles actions réalise-t-il ?

Il initialise complètement le matériel avant l’exécution.
Il exécute le programme sans préparation de la mémoire.
Il laisse habituellement le programme initialiser seul tous les périphériques.
Il charge l’exécutable en mémoire.
Il contrôle l’exécution du programme chargé.

Il initialise complètement le matériel avant l’exécution. · Il charge l’exécutable en mémoire. · Il contrôle l’exécution du programme chargé.

Explication

L’OS initialise complètement le matériel, charge les exécutables en mémoire et contrôle leur exécution. Il prépare donc le matériel et la mémoire avant le lancement, au lieu de laisser habituellement le programme initialiser seul tous les périphériques.

18. Concernant les principales sections d’un exécutable :

La section DATA contient les constantes non modifiables.
La section TEXT contient le code exécutable.
La section BSS contient exclusivement les instructions du programme.
La section TEXT regroupe les variables non initialisées.
La section RODATA contient les variables modifiables initialisées.

La section TEXT contient le code exécutable.

Explication

La section TEXT contient le code exécutable. DATA contient les variables modifiables initialisées, BSS les variables non initialisées ou initialisées à zéro, et RODATA les constantes non modifiables.

19. Concernant le placement des variables modifiables lors de l’exécution :

La copie préalable des données initialisées intervient avant l’exécution.
Les données initialisées sont recopiées de la ROM vers la RAM.
La RAM accueille les variables modifiables nécessaires au fonctionnement courant.
La ROM peut contenir l’image initiale des données avant leur copie.
Les variables modifiables résident en RAM pendant l’exécution.

La copie préalable des données initialisées intervient avant l’exécution. · Les données initialisées sont recopiées de la ROM vers la RAM. · La RAM accueille les variables modifiables nécessaires au fonctionnement courant. · La ROM peut contenir l’image initiale des données avant leur copie. · Les variables modifiables résident en RAM pendant l’exécution.

Explication

Les variables modifiables résident en RAM pendant l’exécution. Les données initialisées disposent d’une image en ROM, puis sont recopiées en RAM avant le démarrage effectif du programme.

20. Quelles affirmations décrivent correctement les possibilités d’exécution du code et de stockage des constantes ?

Les constantes modifiables sont nécessairement stockées dans la section DATA.
Le mécanisme XIP permet d’exécuter du code directement depuis la ROM.
Les constantes peuvent rester en ROM ou être recopiées en RAM.
Le code doit être recopié en RAM avant toute exécution.
La copie du code en RAM peut améliorer la vitesse d’exécution.

Le mécanisme XIP permet d’exécuter du code directement depuis la ROM. · Les constantes peuvent rester en ROM ou être recopiées en RAM. · La copie du code en RAM peut améliorer la vitesse d’exécution.

Explication

Le code peut être exécuté directement depuis la ROM grâce au mécanisme XIP ou être recopié en RAM pour optimiser la vitesse. Les constantes peuvent rester en ROM ou être recopiées en RAM. Elles ne sont pas définies comme des données modifiables de la section DATA.

21. Avant l’appel de main(), quelles opérations peuvent être réalisées par le code crt0.s ?

Il laisse la BSS dans son état initial sans préparation.
Il intervient après l’entrée dans main() pour charger les données.
Il peut préparer l’environnement d’exécution avant main().
Il contient le fonctionnement principal de l’application après main().
Il transfère l’exécution à main() avant de créer la pile.

Il peut préparer l’environnement d’exécution avant main().

Explication

Avant main(), crt0.s peut recopier le code ou les données en RAM, créer la BSS et la pile, puis transférer l’exécution à main(). Le fonctionnement principal relève de main(), et les opérations de préparation précèdent son appel.

22. Concernant les adresses LMA et VMA, cochez la (les) proposition(s) exacte(s) :

La VMA correspond à l’emplacement occupé par l’objet après sa recopie.
La LMA désigne l’adresse virtuelle produite par la MMU pendant l’exécution.
La LMA correspond à l’emplacement occupé par l’objet avant sa recopie.
LMA et VMA désignent deux adresses associées à un objet recopié.
La différence entre LMA et VMA traduit le déplacement de l’objet en mémoire.

La VMA correspond à l’emplacement occupé par l’objet après sa recopie. · La LMA correspond à l’emplacement occupé par l’objet avant sa recopie. · LMA et VMA désignent deux adresses associées à un objet recopié. · La différence entre LMA et VMA traduit le déplacement de l’objet en mémoire.

Explication

La LMA et la VMA sont les adresses de chargement et d’exécution d’un objet recopié. La LMA précède la recopie, tandis que la VMA lui correspond après déplacement. La MMU et ses adresses virtuelles relèvent d’un mécanisme distinct.

23. Parmi les propositions suivantes concernant les systèmes hosted avec MMU, la(les)quelle(s) est(sont) exacte(s) ?

Un fichier peut être directement mappé en mémoire dans ce type de système.
L’absence de recopie peut résulter d’un mappage direct du fichier en mémoire.
Un système hosted avec MMU doit recopier chaque fichier avant son exécution.
La présence d’une MMU impose une adresse LMA différente de l’adresse VMA.
La LMA est généralement égale à la VMA lorsqu’aucune recopie n’est nécessaire.

Un fichier peut être directement mappé en mémoire dans ce type de système. · L’absence de recopie peut résulter d’un mappage direct du fichier en mémoire. · La LMA est généralement égale à la VMA lorsqu’aucune recopie n’est nécessaire.

Explication

Dans un système hosted doté d’une MMU, le fichier peut être mappé directement en mémoire. La LMA et la VMA sont alors généralement identiques, car aucune recopie n’est nécessaire. La MMU n’impose donc ni une différence d’adresses ni une recopie systématique.

24. Concernant le rôle d’un bootloader :

Il peut lancer l’exécutable principal et contribuer à sa mise à jour.
Il prépare l’environnement nécessaire à l’exécution de l’application.
Le bootloader est le premier programme exécuté lors du démarrage.
Il initialise le matériel avant le fonctionnement normal du programme principal.
Le bootloader assure le fonctionnement normal de l’application après son lancement.

Il peut lancer l’exécutable principal et contribuer à sa mise à jour. · Il prépare l’environnement nécessaire à l’exécution de l’application. · Le bootloader est le premier programme exécuté lors du démarrage. · Il initialise le matériel avant le fonctionnement normal du programme principal.

Explication

Le bootloader est exécuté en premier, initialise le matériel et prépare l’environnement d’exécution. Il lance l’exécutable principal et peut aussi permettre sa mise à jour. Le fonctionnement normal de l’application relève ensuite de l’exécutable principal.

25. Les étapes d’une initialisation typique comprennent :

La pile et la section BSS sont préparées avant la poursuite du fonctionnement.
Les périphériques critiques sont configurés après la réactivation des interruptions.
La désactivation initiale des interruptions fait partie de la séquence d’initialisation.
La configuration du processeur et de la mémoire RAM intervient pendant l’initialisation.
Les interruptions critiques sont réactivées avant la configuration du processeur.

La pile et la section BSS sont préparées avant la poursuite du fonctionnement. · La désactivation initiale des interruptions fait partie de la séquence d’initialisation. · La configuration du processeur et de la mémoire RAM intervient pendant l’initialisation.

Explication

Une initialisation typique commence par la désactivation des interruptions, puis configure le processeur et la RAM. Elle prépare également la pile et la BSS avant d’initialiser les périphériques critiques. Les interruptions critiques sont réactivées en fin de séquence, et non avant ces configurations.

26. Un système démarre normalement, attend un bouton poussoir, puis lance le programme déjà présent. Quelles propositions sont exactes ?

Le démarrage normal récupère un nouveau programme avant de transférer son exécution.
Lors du démarrage normal, le bootloader attend un caractère sur le port série avant de transférer l’exécution.
Le transfert d’exécution s’effectue vers un programme absent du système.
Le bootloader attend une condition avant de transférer l’exécution au programme principal.
Le programme principal s’exécute avant l’initialisation réalisée par le bootloader.

Le bootloader attend une condition avant de transférer l’exécution au programme principal.

Explication

Lors d’un boot normal, le bootloader initialise le système, attend une condition telle qu’un bouton poussoir, puis lance le programme principal déjà présent. La récupération d’un nouveau programme concerne la mise à jour, et non ce scénario. Ici, la condition attendue est le bouton poussoir, et le programme principal s’exécute après l’initialisation du bootloader.

27. Au sujet de l’exécution d’un programme par un processeur :

Le processeur choisit les instructions selon l’intention du développeur.
Une instruction incorrecte indique nécessairement une défaillance matérielle.
Une double faute peut conduire le processeur à se bloquer en mode erreur.
Une panne apparente du processeur provient généralement du programme exécuté.
Le processeur exécute l’instruction située à l’adresse du compteur ordinal.

Une double faute peut conduire le processeur à se bloquer en mode erreur. · Une panne apparente du processeur provient généralement du programme exécuté. · Le processeur exécute l’instruction située à l’adresse du compteur ordinal.

Explication

Le compteur ordinal fournit l’adresse de l’instruction exécutée par le processeur. Un blocage en mode erreur survient généralement après une double faute. Le problème vient donc souvent du programme réellement exécuté plutôt que d’un processeur qui aurait cessé de fonctionner; le processeur ne connaît pas l’intention du développeur.

28. Concernant le débogage d’un programme assembleur, quelle(s) est(sont) la(les) proposition(s) exacte(s) ?

L’exécution continue sans observation suffit pour contrôler un programme assembleur.
L’exécution pas à pas permet de contrôler le déroulement des instructions.
L’examen des registres permet de suivre l’état interne du processeur.
L’analyse des registres remplace l’examen de la mémoire pendant le débogage.
L’examen de la mémoire doit être réalisé à chaque étape du débogage.

L’exécution pas à pas permet de contrôler le déroulement des instructions. · L’examen des registres permet de suivre l’état interne du processeur. · L’examen de la mémoire doit être réalisé à chaque étape du débogage.

Explication

Le débogage assembleur repose sur l’exécution pas à pas, l’examen des registres et l’examen de la mémoire à chaque étape. Le pas à pas contrôle le déroulement, tandis que les registres et la mémoire renseignent sur l’état du système. Une exécution continue ou l’examen des seuls registres ne suffit donc pas.

29. Concernant la distinction entre débogage local et débogage distant :

En débogage distant, une machine hôte communique avec le système cible.
Le débogage local exige une machine hôte séparée pour piloter la cible.
En débogage distant, la communication passe par Ethernet.
Le débogage local utilise les ressources de la cible pour exécuter le debugger.
En débogage local, le debugger s’exécute directement sur le système cible.

En débogage distant, une machine hôte communique avec le système cible. · Le débogage local utilise les ressources de la cible pour exécuter le debugger. · En débogage local, le debugger s’exécute directement sur le système cible.

Explication

En débogage local, le debugger s’exécute directement sur la cible et utilise ses ressources. En débogage distant, il s’exécute sur une machine hôte qui communique avec le système cible. Cette communication peut utiliser RS232 ou Ethernet, ou s’effectuer sans coopération par JTAG, SWD, BDM, 1Wire ou AUD/HUDI.

30. Concernant JTAG, cochez la (les) proposition(s) exacte(s) :

JTAG repose principalement sur une coopération logicielle fournie par des stubs.
L’interface de JTAG est fondée sur un contrôleur TAP à seize états.
L’interface TAP de JTAG est contrôlée par une machine comportant huit états.
JTAG s’appuie sur des registres à décalage pour assurer le débogage.
Le protocole JTAG fournit une interface matérielle dédiée au débogage.

L’interface de JTAG est fondée sur un contrôleur TAP à seize états. · JTAG s’appuie sur des registres à décalage pour assurer le débogage. · Le protocole JTAG fournit une interface matérielle dédiée au débogage.

Explication

JTAG utilise des registres à décalage, une interface TAP et une machine de contrôle à seize états. Il fournit une interface matérielle de débogage, contrairement aux stubs fondés sur une coopération logicielle ; l’interface TAP ne comporte pas huit états.

31. Lorsqu’un breakpoint logiciel est rencontré, quelles propositions décrivent correctement son fonctionnement ?

Le handler rend la main au débogueur après le déclenchement de la TRAP.
L’instruction assembleur visée est remplacée par une instruction TRAP.
Le handler du breakpoint transmet directement le contrôle au matériel JTAG.
Le mécanisme modifie temporairement le code pour provoquer l’arrêt demandé.
L’instruction originelle peut être remise après l’intervention du débogueur.

Le handler rend la main au débogueur après le déclenchement de la TRAP. · L’instruction assembleur visée est remplacée par une instruction TRAP. · Le mécanisme modifie temporairement le code pour provoquer l’arrêt demandé. · L’instruction originelle peut être remise après l’intervention du débogueur.

Explication

Un breakpoint logiciel remplace temporairement une instruction assembleur par une TRAP, ce qui déclenche un handler. Celui-ci rend la main au débogueur, puis l’instruction originelle peut être restaurée ; le fonctionnement ne repose pas sur un transfert direct au matériel JTAG.

Révisez avec les flashcards

Mémorisez les réponses avec 61 flashcards sur Structure des systèmes programmables.

Qu'associe un système programmable ?

Un processeur, des entrées-sorties et une interface mémoire.

Quels éléments composent un accès mémoire ?

Le type d’accès, l’adresse et la valeur.

Quels types d'accès mémoire sont généralement utilisés ?

La lecture (load) et l’écriture (store).

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Structure des systèmes programmables.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM