QCM Architecture et Système PDF
Document Details
Uploaded by Deleted User
Sorbonne Université
Tags
Related
- Le système de transport en milieu urbain -Licence 1 Architecture PDF
- Introduction à l'Architecture des Systèmes d'Information (SI) - PDF
- Système Embarqué - Séance 2 PDF
- ARCHITECTURE COURS COMPLET PDF
- TD9: Boot et Premier Programme En Mode Kernel (PDF)
- TD10 Application simple en mode utilisateur en MIPS PDF
Summary
This document is a past paper from Sorbonne Université, covering topics in computer architecture and systems, specifically focusing on MIPS processors. The questions are multiple-choice questions (QCM) and test students' understanding on different aspects of the subject. Key topics include system on chip (SoC), memory types, interrupts, and the system's role (Kernel and processes).
Full Transcript
## Architecture et Système (15 points) QCM: une seule réponse juste par question, cocher lisiblement. Pour chaque question: - Vous aurez 0 point en cas d'absence de réponse. - + 0,5 points par réponse juste. - - 0,25 points par réponse fausse. Ne répondez pas au hasard, vous risquez de perdre des...
## Architecture et Système (15 points) QCM: une seule réponse juste par question, cocher lisiblement. Pour chaque question: - Vous aurez 0 point en cas d'absence de réponse. - + 0,5 points par réponse juste. - - 0,25 points par réponse fausse. Ne répondez pas au hasard, vous risquez de perdre des points. Si la note est négative pour cet exercice, elle est ramenée à 0. ## Architecture matérielle 1. Qu'est-ce qu'un SoC (System on Chip)? - Un processeur spécialisé pour les opérations graphiques. - **☑ Un circuit contenant un système entier, le processeur, la mémoire et les contrôleurs de périphériques.** - Un type de mémoire utilisée dans les ordinateurs modernes. - Un logiciel utilisé pour le développement de systèmes embarqués. 2. Quelle est la différence entre la mémoire RAM et ROM? - La RAM est volatile et la ROM est non-volatile. - La RAM est utilisée pour le stockage à long terme et la ROM pour le stockage temporaire. - Il n'y a pas de différence significative. - La ROM est plus rapide que la RAM. 3. Quel composant permet de faire des entrées-sorties dans almo1 (le SoC vu en cours)? - **☑ Le composant TTY.** - Le composant TIMER. - Le composant ICU. - Le composant BUS. 4. Quel composant peut initier une requête de lecture et d'écriture sur le bus dans almo1? - **✔ Uniquement le MIPS.** - Les mémoires RAM et ROM. - Les contrôleurs d'entrées/sorties. - L'ICU qui gère déjà les requêtes d'interruption. 5. Quel est le rôle de l'ICU (Interrupt Controller Unit) dans almo1? - Il sert à préparer les interruptions pour les applications. - **☑ II combine les IRQ de tous les contrôleurs de périphérique.** - II stocke les données utilisateur. - Il contrôle les interruptions provoquées par le MIPS. 6. Qu'est-ce que le registre TTY_STATUS indique dans le contrôleur TTY? - Le nombre de caractères restants dans la mémoire. - Si un caractère est en attente de lecture. - **Les interruptions du terminal TTY.** - La couleur de l'écran du terminal TTY. ## Chaîne de compilation 7. Dans quel fichier se trouve la description de l'espace d'adressage du SoC? - Dans le fichier hcpua.S. - **☑ Dans le fichier kernel.ld.** - Dans le fichier Makefile. - Dans le fichier kinit.c. 8. Comment imposer le placement d'adresse d'une fonction ou d'une variable en mémoire lors de la production d'un programme exécutable? - En utilisant le compilateur avec des options spéciales. - En modifiant le code source de la fonction ou de la variable. - En utilisant l'éditeur de lien avec un fichier Idscript. - En reprogrammant le système d'exploitation. 9. Pourquoi utilise-t-on le mot clé volatile en C pour les registres de périphériques? - Pour indiquer que la valeur du registre peut changer à tout moment. - Pour augmenter la vitesse de traitement du registre. - Pour rendre le registre invisible. - C'est juste une indication pour le debug, mais ce n'est pas obligatoire. 10. Quel est le rôle de l'éditeur de liens (linker) dans la chaîne de compilation? - Convertir le code source en code objet. - Exécuter le programme compilé. - **✔ Fusionner différents fichiers objets et bibliothèques en un fichier exécutable.** - Vérifier la syntaxe du code source. 11. Qu'est-ce qu'un fichier objet dans la chaîne de compilation? - Un fichier contenant le code source du programme. - Un fichier exécutable prêt à être lancé. - **✔ Un fichier contenant du code binaire pour le processeur généré par le compilateur.** - Un script utilisé pour automatiser la compilation. 12. Qu'est-ce que la 'compilation croisée'? - **☑ Compiler un programme sur une plateforme pour qu'il s'exécute sur une autre.** - Compiler un programme en utilisant plusieurs langages de programmation. - Compiler un programme pour qu'il fonctionne sur toutes les plateformes sans modification. - Une technique pour réduire le temps de compilation en utilisant plusieurs processeurs. ## Système d'exploitation 13. Quel est le rôle principal du système d'exploitation dans un ordinateur? - **☑ Gérer les ressources matérielles et logicielles et fournir des API pour les applications.** - Stocker des données de manière permanente. - Exécuter des applications de traitement de texte et de tableur. - Connecter différents ordinateurs en réseau. 14. Comment une application utilisateur utilise-t-elle les services du kernel? - Par des interruptions matérielles. - **Grâce aux appels syscall.** - En accédant directement à la mémoire du kernel. - Via des appels de fonctions directes. 15. Comment le kernel se protège-t-il des applications utilisateur dans un système MIPS? - En utilisant des mécanismes de chiffrement. - Par le contrôle d'accès basé sur les rôles. - **✔ Grâce au mode d'exécution du MIPS.** - En isolant l'application dans un environnement virtuel. 16. Quel est le rôle principal de kentry dans un système d'exploitation? - Gérer la communication entre les applications utilisateur. - **Servir de point d'entrée principal pour le noyau quelles que soient les causes.** - Allouer de la mémoire pour les processus. - Exécuter des commandes utilisateur. 17. Comment le vecteur de syscall est-il implémenté ? - Comme un ensemble de fonctions dans le noyau. - **☑ Comme un tableau de pointeurs de fonctions.** - Comme une liste chaînée de commandes. - Comme un registre spécial dans le CPU. 18. Quel est le rôle de la fonction_start dans le démarrage d'une application utilisateur? - Elle initialise le système d'exploitation. - **Elle agit comme le premier point d'entrée du programme utilisateur.** - Elle configure les périphériques externes. - Elle crée un environnement d'exécution pour le kernel. ## Gestionnaire d'interruptions 19. Qu'arrive-t-il à l'exécution du programme utilisateur lorsqu'une interruption se produit et que le contrôle est transféré à kentry? - Le programme utilisateur est terminé. - **☑ L'exécution du programme utilisateur est temporairement suspendue.** - Le programme utilisateur continue à s'exécuter en parallèle. - Le programme utilisateur redémarre. 20. Comment une IRQ (Interrupt ReQuest) est-elle initiée ? - Par un utilisateur via une interface graphique. - Par un programme lorsqu'il rencontre une erreur. - **✔ Par un contrôleur de périphérique lorsqu'un événement se produit.** - Automatiquement à intervalles réguliers par le système d'exploitation. 21. Que se passe-t-il lorsqu'une interruption est traitée ? - Le système d'exploitation arrête toutes les autres opérations. - L'application en cours est fermée immédiatement. - **Une routine d'interruption (ISR) est exécutée pour gérer l'événement.** - Le processeur augmente sa vitesse pour traiter l'interruption. 22. Comment le noyau du système d'exploitation identifie-t-il la routine d'interruption appropriée à appeler lorsqu'une IRQ se produit ? - Il sélectionne la routine suivante dans le vecteur d'interruption. - **Il utilise une table indexée par le numéro d'IRQ contenant les adresses des ISR.** - Il demande à l'utilisateur de choisir la routine appropriée. - Il exécute toujours la même routine quelle que soit l'IRQ. 23. Que signifie masquer une IRQ? - Supprimer I'IRQ - Ignorer I'IRQ. - **✔ Bloquer le signal entre sa source et sa destination.** - Envoyer l'IRQ à un autre périphérique. 24. Qui peut demander le masquage d'une IRQ? - N'importe quelle application. - **☑ Seulement le noyau du système d'exploitation.** - Le contrôleur de périphérique lui-même. - L'utilisateur via une interface graphique. ## Mode d'exécution et registres spéciaux 25. Quelle instruction spécifique est utilisée pour sortir de kentry et retourner à l'exécution normale après le traitement d'une interruption? - jr c0_epc - syscall - **✔ eret** - return 26. Quelle est la syntaxe des instructions mtc0 et mfc0 dans le MIPS et peut-on manipuler les registres du coprocesseur 0 avec d'autres instructions ? - ☐ mtc0 $C0, $GPR et mfc0 $C0, $GPR; oui, on peut utiliser d'autres instructions. - mtc0 $GPR, $C0 et mfc0 $GPR, $C0; non, on ne peut pas utiliser d'autres instructions. - mtc0 $C0, $GPR et mfc0 $GPR, $C0; non, on ne peut pas utiliser d'autres instructions. - ☐ mtc0 $GPR, $C0 et mfc0 $C0, $GPR; oui, on peut utiliser d'autres instructions. 27. Que contient le champ XCODE du registre c0_cause ? - Il contient le code des instructions en binaire avant exécution. - **☑ II contient un code correspondant à la cause d'appel du noyau.** - Il contient le code de la coordonnée X du curseur de terminal. - Ce champ n'existe pas. 28. Quelle est la principale différence entre les modes kernel et user sur un processeur MIPS? - Le mode kernel permet l'accès à tout l'espace d'adressage, le mode user n'accède qu'à une partie. - Le mode kernel exécute uniquement le code de boot, le mode user exécute toutes les applications. - Le mode kernel est utilisé pour les opérations graphiques, le mode user gère les lignes de commande. - Il n'y a pas de différence significative entre les deux modes. 29. Une adresse mappée en mémoire est toujours accessible quel que soit le mode d'exécution du MIPS? - Oui, elle est toujours accessible en lecture et en écriture. - **✔ Non, elle n'est toujours accessible que si le MIPS est en mode kernel.** - Oui, mais seulement en mode utilisateur. - Non, elle n'est jamais accessible, peu importe le mode. 30. Quel est le rôle des registres c0_sr, c0_cause et c0_epc dans le coprocesseur 0 du MIPS ? - Ils contrôlent les opérations arithmétiques du processeur. - Ils sont utilisés pour la gestion de l'espace d'adressage. - **☑ Ils sont impliqués dans la gestion des modes d'exécution et des exceptions.** - Ils stockent les données de calcul temporaires pour les applications utilisateur.