📌 Un plan mémoire doit être défini pour le contrôleur de bus, le réseau sur puce, le système comme le bootloader ou l’OS, et le programmeur.
📌 La RAM est généralement vive et rapide, tandis que la ROM ou la mémoire Flash sert au stockage persistant avec une lecture lente et une écriture très lente.
RAM vive et rapide, ROM persistante mais lente
★ À maîtriser
📌 L’architecture Von Neumann utilise un seul chemin matériel et un seul espace mémoire pour les instructions et les données.
📌 L’architecture Harvard utilise deux chemins matériels et deux espaces mémoire distincts, l’un pour les instructions et l’autre pour les données.
Compléments
Von Neumann partage le chemin ; Harvard sépare code et données
📌 Les processeurs disposent souvent d’un mode superviseur et d’un mode utilisateur, chaque mode possédant des ressources propres et permettant une protection utilisée par les systèmes d’exploitation.
📌 Une exception synchrone survient au même moment pour un même jeu de données et une même allocation mémoire, tandis qu’une exception asynchrone n’a pas de relation temporelle avec le programme courant.
Événement exceptionnel → handler → retour ou mode erreur
★ À maîtriser
📌 Un système bare-metal fonctionne sans système d’exploitation et comporte souvent un seul exécutable autocontenu chargé de gérer tout le système.
Compléments
Bare-metal gère tout seul ; hosted délègue à l’OS
📌 Les variables modifiables résident en RAM pendant l’exécution, les données initialisées étant recopiées de la ROM vers la RAM avant l’exécution.
Le code peut être exécuté directement depuis la ROM selon le mécanisme XIP ou être recopié en RAM pour optimiser la vitesse, tandis que les constantes peuvent rester en ROM ou être recopiées en RAM.
🔄 Avant main(), crt0.s peut :
ROM → RAM → crt0 → main()
★ À maîtriser
📌 La LMA est l’adresse d’un objet avant sa recopie, tandis que la VMA est son adresse après sa recopie.
Compléments
LMA avant recopie, VMA après recopie
★ À maîtriser
🔄 Une initialisation typique :
🔄 Lors d’un boot normal, le bootloader :
Compléments
Initialiser → préparer → charger → transférer
★ À maîtriser
📌 Un processeur exécute l’instruction située à l’adresse du compteur ordinal et ne se bloque généralement en mode erreur qu’après une double faute ; le problème vient donc du programme exécuté plutôt que d’un processeur qui plante.
📌 En débogage local, le debugger s’exécute sur le système cible et utilise ses ressources, tandis qu’en débogage distant il s’exécute sur une machine hôte qui communique avec la cible.
Compléments
Débogage local avec les ressources de la cible, distant depuis une machine hôte
★ À maîtriser
Compléments
📌 Un breakpoint matériel utilise des comparateurs sur le PC, les données, les adresses ou les signaux de contrôle, mais ses ressources sont limitées.
| Dimension | Bare-metal | Hosted |
|---|---|---|
| Système d’exploitation | Absent | Présent |
| Chargement | Bootloader ou programme | Loader de l’OS |
| Gestion du matériel | Programme principal | OS |
| Débogage | Souvent spécialisé | Debugger natif ou gdbserver |
| Dimension | Von Neumann | Harvard |
|---|---|---|
| Chemins matériels | Un seul | Deux chemins distincts |
| Espaces mémoire | Un seul espace | Deux espaces |
| Code et données | Partageables | Séparés |
| Problème principal | Goulot d’étranglement | Cohérence et manipulation des instructions |
Teste tes connaissances sur Structure des systèmes programmables avec 31 questions à choix multiples et corrections détaillées.
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) :
Mémorisez les concepts clés de Structure des systèmes programmables avec 61 flashcards interactives.
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).
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches