Architecture et Système: QCM

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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. (correct)
  • Un type de mémoire utilisée dans les ordinateurs modernes.
  • Un logiciel utilisé pour le développement de systèmes embarqués.

Quelle est la différence principale entre la mémoire RAM et ROM?

  • La RAM est utilisée pour le stockage à long terme et la ROM pour le stockage temporaire.
  • La ROM est plus rapide que la RAM.
  • La RAM est volatile et la ROM est non-volatile. (correct)
  • Il n'y a pas de différence significative.

Quel composant permet de faire des entrées-sorties dans almo1 (le SoC vu en cours)?

  • Le composant TTY. (correct)
  • Le composant ICU.
  • Le composant TIMER.
  • Le composant BUS.

Quel composant peut initier une requête de lecture et d'écriture sur le bus dans almo1?

<p>Uniquement le MIPS. (C)</p> Signup and view all the answers

Quel est le rôle de l'ICU (Interrupt Controller Unit) dans almo1?

<p>II combine les IRQ de tous les contrôleurs de périphérique. (A)</p> Signup and view all the answers

Qu'est-ce que le registre TTY_STATUS indique dans le contrôleur TTY?

<p>Si un caractère est en attente de lecture. (C)</p> Signup and view all the answers

Dans quel fichier se trouve la description de l'espace d'adressage du SoC?

<p>Dans le fichier kernel.ld. (B)</p> Signup and view all the answers

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?

<p>En utilisant l'éditeur de lien avec un fichier Idscript. (C)</p> Signup and view all the answers

Comment le vecteur de syscall est-il structuré dans le système d'exploitation ?

<p>Comme un tableau de pointeurs de fonctions. (B)</p> Signup and view all the answers

Quelle est la principale fonction de la fonction _start lors du démarrage d'un programme utilisateur ?

<p>Elle agit comme le premier point d'entrée du programme utilisateur. (D)</p> Signup and view all the answers

Que se passe-t-il avec l'exécution d'un programme utilisateur lorsqu'une interruption se produit ?

<p>L'exécution du programme utilisateur est temporairement suspendue. (C)</p> Signup and view all the answers

Comment une IRQ est-elle généralement déclenchée ?

<p>Par un contrôleur de périphérique lors d'un événement. (A)</p> Signup and view all the answers

Que se passe-t-il après qu'une interruption est traitée par le système d'exploitation ?

<p>Une routine d'interruption est exécutée pour gérer l'événement. (B)</p> Signup and view all the answers

Comment le noyau détermine-t-il quelle routine d'interruption appeler lors d'une IRQ ?

<p>Il utilise une table indexée par le numéro d'IRQ contenant les adresses des ISR. (C)</p> Signup and view all the answers

Quelle est la signification de masquer une IRQ dans le système d'exploitation ?

<p>Bloquer le signal entre sa source et sa destination. (C)</p> Signup and view all the answers

Qui a le pouvoir de demander le masquage d'une IRQ ?

<p>Seulement le noyau du système d'exploitation. (B)</p> Signup and view all the answers

Pourquoi utilise-t-on le mot clé volatile en C pour les registres de périphériques ?

<p>Pour indiquer que la valeur du registre peut changer à tout moment. (A)</p> Signup and view all the answers

Quel est le rôle de l'éditeur de liens (linker) dans la chaîne de compilation ?

<p>Fusionner différents fichiers objets et bibliothèques en un fichier exécutable. (A)</p> Signup and view all the answers

Qu'est-ce qu'un fichier objet dans la chaîne de compilation ?

<p>Un fichier contenant du code binaire pour le processeur généré par le compilateur. (A)</p> Signup and view all the answers

Qu'est-ce que la 'compilation croisée' ?

<p>Compiler un programme sur une plateforme pour qu'il s'exécute sur une autre. (B)</p> Signup and view all the answers

Quel est le rôle principal du système d'exploitation dans un ordinateur ?

<p>Gérer les ressources matérielles et logicielles et fournir des API pour les applications. (A)</p> Signup and view all the answers

Comment une application utilisateur utilise-t-elle les services du kernel ?

<p>Grâce aux appels syscall. (C)</p> Signup and view all the answers

Comment le kernel se protège-t-il des applications utilisateur dans un système MIPS ?

<p>Grâce au mode d'exécution du MIPS. (D)</p> Signup and view all the answers

Quel est le rôle principal de kentry dans un système d'exploitation ?

<p>Servir de point d'entrée principal pour le noyau quelles que soient les causes. (A)</p> Signup and view all the answers

Quelle instruction spécifique permet de sortir de kentry et de revenir à l'exécution normale après le traitement d'une interruption?

<p>eret (A)</p> Signup and view all the answers

Quelle est la syntaxe correcte des instructions mtc0 et mfc0 dans MIPS?

<p>mtc0 $GPR, $C0; mfc0 $GPR, $C0; oui, d'autres instructions peuvent être utilisées. (B)</p> Signup and view all the answers

Que contient le champ XCODE du registre c0_cause?

<p>Il contient un code correspondant à la cause d'appel du noyau. (C)</p> Signup and view all the answers

Quelle est la principale différence entre les modes kernel et user sur un processeur MIPS?

<p>Le mode kernel permet l'accès à tout l'espace d'adressage, le mode user n'accède qu'à une partie. (A)</p> Signup and view all the answers

Une adresse mappée en mémoire est-elle toujours accessible quel que soit le mode d'exécution du MIPS?

<p>Non, elle n'est accessible que si le MIPS est en mode kernel. (B)</p> Signup and view all the answers

Quel est le rôle des registres c0_sr, c0_cause et c0_epc dans le coprocesseur 0 du MIPS?

<p>Ils sont impliqués dans la gestion des modes d'exécution et des exceptions. (C)</p> Signup and view all the answers

Quel rôle joue l'instruction 'syscall' dans le traitement des interruptions MIPS?

<p>Elle appelle une fonction système pour exécuter des tâches variées. (D)</p> Signup and view all the answers

Comment les instructions mtc0 et mfc0 peuvent-elles être décrites par rapport aux autres instructions?

<p>Elles fournissent un accès direct aux registres spécifiques du coprocesseur 0. (A)</p> Signup and view all the answers

Flashcards

Mot clé volatile en C

Indique que la valeur du registre peut changer à tout moment, utile pour les registres de périphériques.

Rôle du linker

Le linker fusionne des fichiers objet et des bibliothèques pour créer un fichier exécutable.

Fichier objet

Un fichier contenant du code binaire pour le processeur, généré par le compilateur.

Compilation croisée

Compiler un programme sur une plateforme pour qu'il s'exécute sur une autre.

Signup and view all the flashcards

Fonctionnement du système d'exploitation

Le système d'exploitation gère les ressources matérielles et logicielles, et fournit des interfaces aux applications.

Signup and view all the flashcards

Communication application-kernel

Les applications communiquent avec le kernel via des appels système.

Signup and view all the flashcards

Protection du kernel (MIPS)

Le mode d'exécution du MIPS sépare le kernel des applications utilisateur.

Signup and view all the flashcards

Rôle de kentry

Kentry est le point d'entrée principal du kernel, quelle que soit la cause de l'activation.

Signup and view all the flashcards

Qu'est-ce qu'un SoC (System on Chip) ?

Un composant électronique intégrant un système complet, incluant un processeur, de la mémoire et des contrôleurs de périphériques, sur une seule puce.

Signup and view all the flashcards

Quelle est la différence entre la mémoire RAM et ROM ?

La RAM est une mémoire volatile, ce qui signifie que les données sont perdues lorsqu'elle est éteinte. La ROM est une mémoire non-volatile, les données sont conservées même sans alimentation.

Signup and view all the flashcards

Quel composant permet de faire des entrées-sorties dans almo1 (le SoC vu en cours)?

Le composant TTY permet la communication entre le SoC et le terminal TTY, ce qui fait référence à une interface de terminal texte. Il permet aux utilisateurs d'interagir avec le système via l'entrée-sortie texte.

Signup and view all the flashcards

Quel composant peut initier une requête de lecture et d'écriture sur le bus dans almo1 ?

Seul le MIPS peut initier des requêtes de lecture et d'écriture sur le bus dans almo1, car il est le processeur central qui gère la mémoire et les opérations d'entrée-sortie.

Signup and view all the flashcards

Quel est le rôle de l'ICU (Interrupt Controller Unit) dans almo1 ?

L'ICU centralise les interruptions provenant des différents contrôleurs de périphériques, agissant comme un gestionnaire d'interruptions central. Il combine les interruptions de chaque périphérique pour les traiter efficacement.

Signup and view all the flashcards

Qu'est-ce que le registre TTY_STATUS indique dans le contrôleur TTY ?

Le registre TTY_STATUS indique l'état du composant TTY, incluant notamment la présence d'interruptions, signalant ainsi si le terminal TTY est prêt à recevoir ou à envoyer des caractères.

Signup and view all the flashcards

Dans quel fichier se trouve la description de l'espace d'adressage du SoC ?

Le fichier kernel.ld définit l'espace d'adressage du SoC. Il contient les informations sur l'emplacement physique de chaque composant en mémoire.

Signup and view all the flashcards

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 ?

L'éditeur de lien, avec un fichier Idscript, permet de spécifier l'emplacement en mémoire de fonctions ou de variables lors de la création du programme exécutable.

Signup and view all the flashcards

Vecteur de syscall

Un tableau de pointeurs de fonctions permettant aux programmes utilisateurs d'exécuter des actions système en mode noyau.

Signup and view all the flashcards

Fonction _start

Le point d'entrée principal d'un programme utilisateur, exécuté après l'initialisation du processus.

Signup and view all the flashcards

Interruption

Suspend temporairement l'exécution d'un programme utilisateur pour permettre au noyau de gérer un événement.

Signup and view all the flashcards

IRQ (Interrupt ReQuest)

Un événement signalé par un périphérique matériel au noyau.

Signup and view all the flashcards

Routine d'interruption (ISR)

Une routine exécutée par le noyau en réponse à une interruption, traitant l'événement initial.

Signup and view all the flashcards

Table d'interruption

Table contenant les adresses des routines d'interruption, indexée par le numéro d'IRQ.

Signup and view all the flashcards

Masquer une IRQ

Bloquer la transmission d'un signal d'interruption vers le noyau, empêchant le traitement de l'événement.

Signup and view all the flashcards

Qui peut masquer une IRQ?

Seuls le noyau du système d'exploitation a le pouvoir de masquer des interruptions spécifiques.

Signup and view all the flashcards

eret

Instruction utilisée pour quitter le mode noyau (kentry) et revenir à l'exécution normale d'un programme après le traitement d'une interruption.

Signup and view all the flashcards

mtc0 & mfc0

Les instructions mtc0 et mfc0 permettent de manipuler les registres du coprocesseur 0. Leur syntaxe est: mtc0 $GPR, $C0 et mfc0 $C0, $GPR. Cependant, il n'est pas possible de manipuler ces registres avec d'autres instructions.

Signup and view all the flashcards

Champ XCODE de c0_cause

Le champ XCODE du registre c0_cause contient un code qui indique la raison de l'appel du noyau. Ce code permet d'identifier la cause de l'interruption.

Signup and view all the flashcards

Différence entre Kernel et User

Le mode kernel permet d'accéder à l'ensemble de l'espace d'adressage du processeur, tandis que le mode utilisateur est limité à une partie de cet espace. Le mode kernel offre des privilèges plus élevés.

Signup and view all the flashcards

Accès mémoire en Kernel et User

En mode kernel, le processeur MIPS peut accéder à n'importe quelle adresse mémoire. Cependant, en mode utilisateur, l'accès à la mémoire est restreint et dépend des privilèges associés à l'utilisateur.

Signup and view all the flashcards

Rôles des registres c0_sr, c0_cause et c0_epc

Les registres c0_sr, c0_cause et c0_epc sont utilisés pour gérer les modes d'exécution du processeur MIPS, ainsi que les interruptions et exceptions. Ils contrôlent le passage entre les modes kernel et utilisateur.

Signup and view all the flashcards

Study Notes

Architecture et Système

  • QCM: Single answer per question, clearly mark your choice.
    • 0 points for unanswered questions.
    • +0.5 points per correct answer.
    • -0.25 points per incorrect answer.
    • Avoid random guessing, as it can lead to a loss of points.
    • Negative scores are capped at 0.

Architecture Matérielle

  • SoC (System on Chip): A single circuit containing the processor, memory, and peripheral controllers.

  • RAM vs ROM:

    • RAM (Random Access Memory) is volatile memory, meaning data is lost when power is off.
    • ROM (Read-Only Memory) is non-volatile; data is retained without power.
    • RAM is used for short-term, temporary storage.
    • ROM is primarily for permanent storage, especially crucial instructions/data.
  • Input/Output (I/O) Component: The TTY component handles input/output operations within the SoC.

  • Bus Initiator: The MIPS component, among others, is capable of initiating read/write requests on the bus.

  • Interrupt Controller Unit (ICU): Combines interrupts from various peripherals to manage them efficiently.

  • TTY Status Register: Contains information about the terminal status (e.g., remaining character count.)

Chaîne de Compilation

  • SoC Description File: The kernel.ld file describes the SoC's memory map.

  • Memory Placement: Special compiler options or Idscript files can manipulate the memory location allocation, of functions or variables within a program.

  • Volatile Keywords: Used in C to indicate that a register/variable's value can change unexpectedly (during hardware interrupts).

  • Linker's Role: Combines object files and libraries into a single executable.

  • Object File: Contains compiled code ready for final linking.

  • Cross-Compilation: Compiling a program on one system to target a different architecture or platform.

Système d'Exploitation

  • Kernel's Role: Manages hardware and software resources, providing APIs for applications.

  • User Application Interaction: Applications communicate with the kernel through system calls.

  • Kernel Function start: Primarily controls the entry point for the user application program.

Gestionnaire d'Interruptions

  • Interrupt Handling: When an interrupt occurs, the program currently running is paused, and the kernel takes over to process the interrupt.

  • IRQ Initiation: Peripheral devices or hardware events trigger interrupts to alert the processor of a condition requiring attention/action.

  • Interrupt Service Routine (ISR): The kernel executes programmed code to respond to each interrupt event and handles the corresponding events appropriately.

  • Interrupt Masks: The kernel has the capability to disable or enable individual interrupts.

Mode d'exécution et registres spéciaux

  • Kernel Mode vs User Mode: Kernel mode allows full access, while user mode is restricted.

  • MIPS Registers (c0_sr, c0_cause, c0_epc): Involved in managing execution modes and exceptions in MIPS processors.

  • Exit Instructions From kentry: eret instruction is used for returning from exception handling back to normal execution.

  • Registers' content: The xcode field specifies the reason or cause of the current exception.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser