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).
Qu'est-ce qu'une mémoire selon sa définition ?
Un dispositif avec une interface mémoire et un comportement défini par la sémantique de ses accès.
Qu'est-ce qu'un périphérique mappé en mémoire ?
Un périphérique occupant des plages d'adresses accessibles par lectures ou écritures.
Comment le décodage d'adresse sélectionne-t-il un périphérique ?
À partir des bits de poids fort de l'adresse avec un chip select.
Pour qui un plan mémoire doit-il être défini ?
Pour le contrôleur de bus, le réseau sur puce, le système et le programmeur.
Quelle différence principale existe entre RAM et ROM ou Flash ?
La RAM est rapide et vive, la ROM/Flash est lente en lecture et écriture.
Quelles fonctions principales assure la MMU ?
La traduction d'adresses, la protection mémoire et le contrôle du cache.
Quelle architecture utilise un seul chemin matériel et un seul espace mémoire ?
L’architecture Von Neumann.
Combien de chemins matériels utilise l’architecture Harvard ?
Deux chemins matériels.
Comment sont organisés les espaces mémoire dans l’architecture Harvard ?
Deux espaces mémoire distincts pour instructions et données.
Quelle architecture combine les avantages de Von Neumann et Harvard ?
L’architecture Harvard unifiée ou modifiée.
Quelle est l’architecture la plus répandue aujourd’hui ?
L’architecture Harvard unifiée.
Quels sont les deux modes dont disposent souvent les processeurs ?
Le mode superviseur et le mode utilisateur.
Quel est le rôle des modes superviseur et utilisateur dans un processeur ?
Ils possèdent des ressources propres et permettent une protection utilisée par les systèmes d’exploitation.
Qu'est-ce qu'une exception en informatique ?
Une interruption temporaire du flot normal d’exécution pour traiter un événement particulier.
Par quels moyens une exception peut-elle être déclenchée ?
Par une instruction TRAP, une interruption matérielle IRQ, ou un dysfonctionnement.
Quelle différence temporelle distingue une exception synchrone d'une asynchrone ?
La synchrone survient au même moment pour un même jeu de données, l'asynchrone n’a pas de relation temporelle avec le programme.
Comment fonctionne un système bare-metal sans OS ?
Il fonctionne sans système d’exploitation avec un exécutable autocontenu unique.
Quels services fournit un système d’exploitation aux exécutables ?
Il fournit des services d’abstraction des périphériques, synchronisation, gestion du temps, tâches, mémoire et fichiers.
Que fait l’OS lors du démarrage du système ?
Il initialise le matériel, charge les exécutables en mémoire et contrôle leur exécution.
Quelles sont les sections principales d’un exécutable ?
TEXT, BSS, DATA et RODATA.
Où résident les variables modifiables pendant l’exécution ?
En RAM.
Que se passe-t-il avec les données initialisées avant l’exécution ?
Elles sont recopiées de la ROM vers la RAM.
Comment le code peut-il être exécuté selon le mécanisme XIP ?
Directement depuis la ROM.
Pourquoi le code est-il parfois recopié en RAM ?
Pour optimiser la vitesse d’exécution.
Que fait le code d’initialisation crt0.s avant main() ?
Il recopie code ou données en RAM, crée BSS et pile, puis lance main().
Quelles sont les notations des adresses de chargement et d'exécution d'un objet recopié ?
L'adresse de chargement est notée LMA et l'adresse d'exécution est notée VMA.
Quelle différence existe-t-il entre LMA et VMA ?
La LMA est l'adresse avant recopie, la VMA est l'adresse après recopie.
Qu'est-ce qu'un bootloader dans un système informatique ?
Le premier programme exécuté qui initialise le matériel et lance l'exécutable principal.
À quoi sert le bootloader en plus de lancer l'exécutable principal ?
Il peut permettre la mise à jour de l'exécutable principal.
Que prépare le bootloader avant de lancer l'exécutable principal ?
L'environnement d'exécution.
Quelles étapes inclut une initialisation typique du système ?
Désactivation des interruptions, configuration du processeur et RAM, préparation de la pile et BSS, initialisation des périphériques critiques, configuration des caches et MMU, puis réactivation des interruptions critiques.
Que configure une initialisation typique avant de réactiver les interruptions critiques ?
Les caches et la MMU éventuellement.
Que fait le bootloader lors d'un boot normal ?
Il initialise le système, attend une condition, puis transfère l'exécution au programme principal.
Quelles conditions le bootloader attend-il avant de transférer l'exécution au programme principal ?
Un caractère sur le port série ou un bouton poussoir.
Quelle instruction exécute un processeur selon le compteur ordinal ?
L'instruction située à l'adresse du compteur ordinal.
Pourquoi un processeur ne se bloque-t-il généralement qu'après une double faute ?
Parce que le problème vient du programme exécuté, pas du processeur.
Quelles méthodes utilise le débogage assembleur ?
L'exécution pas à pas, l'examen des registres et de la mémoire à chaque étape.
Où s'exécute le debugger en débogage local ?
Sur le système cible en utilisant ses ressources.
Où s'exécute le debugger en débogage distant ?
Sur une machine hôte qui communique avec la cible.
Qu'est-ce que JTAG en débogage ?
Un protocole fondé sur des registres à décalage avec interface TAP.
Quelle machine contrôle l'interface TAP dans JTAG ?
Une machine à 16 états.
Comment un breakpoint logiciel interrompt-il l'exécution ?
En remplaçant une instruction par une TRAP.
Que fait le handler d'une TRAP dans un breakpoint logiciel ?
Il rend la main au debugger et remet l'instruction originelle.
Quels éléments peuvent être accessibles par l’interface mémoire ?
Une mémoire réelle, des bancs de registres, des périphériques ou des fonctions virtuelles.
Que peut traiter l’architecture Von Neumann comme des données ?
Le code.
Quel problème crée l’architecture Von Neumann lors d’un accès mémoire ?
Un goulot d’étranglement pouvant imposer deux cycles.
Que regroupe une table des vecteurs ?
Les adresses des premières instructions des handlers associés aux exceptions.
Où peut être codée une table des vecteurs ?
En dur, en ROM ou en RAM.
Comment un OS peut-il être lié à une application ?
Il peut être lié comme une bibliothèque avec des appels de fonction normaux.
Comment un OS fonctionne-t-il indépendamment de l’application ?
Il fonctionne indépendamment et est appelé par des TRAP, les syscalls.
Que se passe-t-il avec LMA et VMA en système hosted avec MMU ?
La LMA est généralement égale à la VMA et aucune recopie n'est nécessaire.
Quelles fonctions spécifiques U-Boot prend-il en charge ?
RS232, Ethernet, reflashage et exécution au vol.
Par quels moyens le débogage distant peut-il fonctionner avec coopération ?
Par RS232, Ethernet, stubs, gdbserver ou un moniteur.
Quels moyens permettent un débogage distant sans coopération ?
JTAG, SWD, BDM, 1Wire ou AUD/HUDI.
Sur quoi un breakpoint matériel utilise-t-il des comparateurs ?
Sur le PC, les données, les adresses ou les signaux de contrôle.
Quelle limite caractérise les breakpoints matériels ?
Leurs ressources sont limitées.
Que contiennent les stubs dans le débogage avec GDB ?
Des handlers spécialisés et des routines de communication.
Quelles fonctions fournissent les stubs liés au programme à déboguer ?
set_debug_traps() et breakpoint().
Teste tes connaissances avec un QCM de 31 questions sur Structure des systèmes programmables.
1. Concernant la structure d’un système programmable, quelles sont les propositions exactes ?
2. À propos d’un accès mémoire, cochez la (les) proposition(s) exacte(s) :
Révisez le cours complet dans la fiche de révision de Structure des systèmes programmables.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards