Podcast
Questions and Answers
Quel type de circuit est mentionné comme faisant partie du matériel étudié dans le module Archi-1?
Quel type de circuit est mentionné comme faisant partie du matériel étudié dans le module Archi-1?
- Filtre actif
- Amplificateur opérationnel
- Transformateur de puissance
- Multiplexeur (correct)
Quel est le principe d'exécution des instructions étudié dans le cadre du matériel pour le module Archi-1?
Quel est le principe d'exécution des instructions étudié dans le cadre du matériel pour le module Archi-1?
- Processeur RISC (correct)
- Processeur multicœur
- Processeur CISC
- Processeur vectoriel
Quel type d'architecture de SoC est étudiée dans le module Archi-1?
Quel type d'architecture de SoC est étudiée dans le module Archi-1?
- SoC hétérogène avec GPU intégré
- SoC multi-cœurs avec périphériques initiateurs
- SoC reconfigurable avec FPGA
- SoC mono-cœur avec périphériques non-initiateurs (passifs) (correct)
Concernant le logiciel, quel type de programmation est abordée dans la formation Archi-1?
Concernant le logiciel, quel type de programmation est abordée dans la formation Archi-1?
Parmi les éléments suivants, lequel fait partie des objectifs du module Archi-2 concernant le matériel?
Parmi les éléments suivants, lequel fait partie des objectifs du module Archi-2 concernant le matériel?
Quel concept relatif à la mémoire est étudié dans le module Archi-2 concernant le logiciel?
Quel concept relatif à la mémoire est étudié dans le module Archi-2 concernant le logiciel?
Quel est le but principal de l'API HAL (Hardware Abstraction Layer)?
Quel est le but principal de l'API HAL (Hardware Abstraction Layer)?
Dans le contexte du système d'exploitation, quel est le rôle des bibliothèques système?
Dans le contexte du système d'exploitation, quel est le rôle des bibliothèques système?
Quel est le rôle du noyau (kernel) dans un système d'exploitation?
Quel est le rôle du noyau (kernel) dans un système d'exploitation?
Quelle est la fonction de kinit()
dans le contexte du noyau?
Quelle est la fonction de kinit()
dans le contexte du noyau?
Quel type d'erreur le gestionnaire d'exceptions gère-t-il?
Quel type d'erreur le gestionnaire d'exceptions gère-t-il?
Comment le DMA réalise-t-il une copie en mémoire?
Comment le DMA réalise-t-il une copie en mémoire?
Pour quelles raisons le noyau est-il appelé à la base ?
Pour quelles raisons le noyau est-il appelé à la base ?
Quelles sont les commandes à exécuter avant de faire 'LEN', lors d'une copie en mémoire par DMA?
Quelles sont les commandes à exécuter avant de faire 'LEN', lors d'une copie en mémoire par DMA?
Lorsqu'une application tente d'accéder aux ressources protégées, que se passe-t-il?
Lorsqu'une application tente d'accéder aux ressources protégées, que se passe-t-il?
Quelle est la signification du terme 'mappés' dans le contexte de l'espace d'adressage partagé d'un SoC?
Quelle est la signification du terme 'mappés' dans le contexte de l'espace d'adressage partagé d'un SoC?
Quel est le format du code de démarrage d'application créé après la chaine de compilation?
Quel est le format du code de démarrage d'application créé après la chaine de compilation?
Parmi les propositions suivantes, laquelle décrit le mieux une section dans un fichier objet?
Parmi les propositions suivantes, laquelle décrit le mieux une section dans un fichier objet?
Quel est le rôle de l'éditeur de liens?
Quel est le rôle de l'éditeur de liens?
Pourquoi l'éditeur de lien a-t-il besoin du fichier ldscript
?
Pourquoi l'éditeur de lien a-t-il besoin du fichier ldscript
?
Dans le contexte du simulateur almo1.x, que permet de faire l'option '-NTTYS 2'?
Dans le contexte du simulateur almo1.x, que permet de faire l'option '-NTTYS 2'?
Quelle est l'utilité des registres systèmes dans le MIPS?
Quelle est l'utilité des registres systèmes dans le MIPS?
Quelle est la différence entre le code en mode 'kernel' et celui en mode 'user'?
Quelle est la différence entre le code en mode 'kernel' et celui en mode 'user'?
Quelle est la première étape lors d'une entrée ou une sortie du noyau?
Quelle est la première étape lors d'une entrée ou une sortie du noyau?
Qu'est-ce qu'un 'Device Driver' (Pilote de périphérique)?
Qu'est-ce qu'un 'Device Driver' (Pilote de périphérique)?
Où se trouve les registres des périphériques qui font une requête d'interruption au CPU?
Où se trouve les registres des périphériques qui font une requête d'interruption au CPU?
Quelles sont les trois composantes du nom associées au nombre de bits tag
, index
et offset.
du cache?
Quelles sont les trois composantes du nom associées au nombre de bits tag
, index
et offset.
du cache?
Quel est l'inconvénient majeure d'un cache à correspondance directe?
Quel est l'inconvénient majeure d'un cache à correspondance directe?
Comment le code à accès privilégié accède-t-il au code non-privilégié?
Comment le code à accès privilégié accède-t-il au code non-privilégié?
Vrai ou faux : Les registres GPR et ceux du Coprocesseur sont les mêmes.
Vrai ou faux : Les registres GPR et ceux du Coprocesseur sont les mêmes.
Le programmeur ou architecte a un certain choix à faire concernant l'implémentation du périphérique. Lequel de ces choix est possible?
Le programmeur ou architecte a un certain choix à faire concernant l'implémentation du périphérique. Lequel de ces choix est possible?
Comment s'appelle une ligne qui a été remplacée?
Comment s'appelle une ligne qui a été remplacée?
Il y a un choix à faire concernant les configurations d'écritures. Un des choix permet toujours d'écrire en mémoire vive et mettre à jour, s'il exite, la ligne de cache. Comment il est nommé?
Il y a un choix à faire concernant les configurations d'écritures. Un des choix permet toujours d'écrire en mémoire vive et mettre à jour, s'il exite, la ligne de cache. Comment il est nommé?
Dans un soucis d'optimisation, quel composant du cache n'est pas nécessaire d'enregistrer dans un cache correspondance directe?
Dans un soucis d'optimisation, quel composant du cache n'est pas nécessaire d'enregistrer dans un cache correspondance directe?
Dans un algorithme par cache ou non, concernant le DMA, quelle est la première commande à exécuter?
Dans un algorithme par cache ou non, concernant le DMA, quelle est la première commande à exécuter?
Laquelle description est fausse?
Laquelle description est fausse?
Comment kO6 gère-t-il les interruptions et les exceptions? Cet fonction est, tout simplement, responsable des appels syscall,
Comment kO6 gère-t-il les interruptions et les exceptions? Cet fonction est, tout simplement, responsable des appels syscall,
Comment nomme-t-on, généralement, la routine utilisée pour servir l'interruption?
Comment nomme-t-on, généralement, la routine utilisée pour servir l'interruption?
Comment appelle-t-on la technique des mémoires en cascadre de niveau 1 et de niveau 2?
Comment appelle-t-on la technique des mémoires en cascadre de niveau 1 et de niveau 2?
Flashcards
Circuiterie numérique
Circuiterie numérique
Circuits numériques simples comme les multiplexeurs, additionneurs et shifters.
Principe d'exécution RISC
Principe d'exécution RISC
Exécution séquentielle des instructions par un processeur RISC.
Architecture d'un SoC Mono-Cœur
Architecture d'un SoC Mono-Cœur
Structure d'un système sur une puce avec un cœur et des périphériques passifs.
Espace d'Adressage du MIPS
Espace d'Adressage du MIPS
Signup and view all the flashcards
Modes d'exécution du MIPS
Modes d'exécution du MIPS
Signup and view all the flashcards
Gestion des Requêtes d'Interruption
Gestion des Requêtes d'Interruption
Signup and view all the flashcards
Programmation Assembleur MIPS
Programmation Assembleur MIPS
Signup and view all the flashcards
Convention des Appels de Fonctions MIPS
Convention des Appels de Fonctions MIPS
Signup and view all the flashcards
Partitionnement du Système d'Exploitation
Partitionnement du Système d'Exploitation
Signup and view all the flashcards
Démarrage du SoC
Démarrage du SoC
Signup and view all the flashcards
Gestionnaire des Appels Système
Gestionnaire des Appels Système
Signup and view all the flashcards
Gestionnaire des Interruptions
Gestionnaire des Interruptions
Signup and view all the flashcards
Micro-architecture des Opérateurs
Micro-architecture des Opérateurs
Signup and view all the flashcards
Micro-Instructions
Micro-Instructions
Signup and view all the flashcards
SoC Multi-MIPS
SoC Multi-MIPS
Signup and view all the flashcards
Architecture d'un Cache de Premier Niveau
Architecture d'un Cache de Premier Niveau
Signup and view all the flashcards
Contrôleur de périphériques initiateurs
Contrôleur de périphériques initiateurs
Signup and view all the flashcards
Gestion propre des pilotes de périphériques
Gestion propre des pilotes de périphériques
Signup and view all the flashcards
Mécanismes de communications / synchronisation des threads
Mécanismes de communications / synchronisation des threads
Signup and view all the flashcards
API Graphique
API Graphique
Signup and view all the flashcards
System-on-Chip (SoC)
System-on-Chip (SoC)
Signup and view all the flashcards
Rôle d'un Système d'Exploitation
Rôle d'un Système d'Exploitation
Signup and view all the flashcards
Compilation et placement du code
Compilation et placement du code
Signup and view all the flashcards
Exécution du simulateur du prototype virtuel du SoC
Exécution du simulateur du prototype virtuel du SoC
Signup and view all the flashcards
Modes d'exécution du MIPS du point de vue du matériel
Modes d'exécution du MIPS du point de vue du matériel
Signup and view all the flashcards
Passage noyau application
Passage noyau application
Signup and view all the flashcards
ROM de Boot
ROM de Boot
Signup and view all the flashcards
SoC
SoC
Signup and view all the flashcards
Multi-ICU
Multi-ICU
Signup and view all the flashcards
Bus système
Bus système
Signup and view all the flashcards
Accès à l'espace d'adressage
Accès à l'espace d'adressage
Signup and view all the flashcards
Frame Buffer
Frame Buffer
Signup and view all the flashcards
Espace d'adressage
Espace d'adressage
Signup and view all the flashcards
TTY
TTY
Signup and view all the flashcards
DMA
DMA
Signup and view all the flashcards
API POSIX
API POSIX
Signup and view all the flashcards
Bibliothèque système
Bibliothèque système
Signup and view all the flashcards
Mode utilisateur
Mode utilisateur
Signup and view all the flashcards
Study Notes
Voici les notes d'étude :
Objectifs du Module Archi-1
- Concerne le matériel et les circuits numériques simples : multiplexeur, additionneur et shifter.
- Explique le principe d’exécution des instructions dans un processeur RISC.
- Traite de l’architecture d’un SoC monocœur ainsi que des périphériques non-initiateurs.
- Décrit le concept d’espace d’adressage du MIPS.
- Examine les modes d’exécution et comment gérer les requêtes d’interruption dans le MIPS.
Objectifs du Module Archi-2
- Explique la micro-architecture des opérateurs pour évaluer leur performance.
- Décrit l’architecture interne d’un MIPS, en mettant l’accent sur le concept des micro-instructions.
- Examine l’architecture d’un SoC avec plusieurs MIPS partageant le même espace d’adressage.
- Aborde l’architecture d’un cache de premier niveau et les problèmes de cohérence en multi-MIPS.
- Explore le fonctionnement d’un contrôleur de périphériques initiateurs capable d’accéder à l’espace d’adressage et d'un contrôleur vidéo ou contrôleur de disque.
- Gère la mémoire dynamique nécessaire pour la création et la destruction des variables.
- Met en place une API de gestion simplifiée pour les listes doublement chaînées dans les structures du noyau.
- Gère les états des threads et les listes d’attentes sur les ressources partagées, pilotes de périphériques, de communication/synchronisation des threads, et API graphique ou du système de fichiers.
Plan de la séance
- Présente un System-on-Chip (SoC) et son espace d’adressage.
- Examine le rôle et la constitution d’un système d’exploitation.
- Discute de la compilation et du placement du code dans l’espace d’adressage.
- Étudie l’exécution du simulateur du prototype virtuel du SoC.
- Décrit les modes d’exécution du MIPS du point de vue du matériel.
- Explique le passage entre le noyau et une application du point de vue du logiciel.
SoC
- Un System-on-Chip (SoC) est une ordinateur constitué sur un circuit intégré.
- Il a souvent plusieurs cœurs MIPS, des caches et périphériques.
- Les initiateurs lisent les données et les instructions dans un espace d'adressage partagé.
- Cet espace est partagé par tous les initiateurs, y compris MIPS.
- L'espace d'adressage est composé de différents segments.
- Les segments jaunes et verts sont utilisés pour accéder à la mémoire, tandis que les segments orange sont destinés aux périphériques.
Contrôleur Termianux TTY
- Tous les registres sont alignés sur des mots, et chaque terminal utilise un segment de 4 mots.
- Chaque terminal a 4 terminaux (TTY) avec des adresses d'octets :
- TTY_CONFIG
- TTY_READ
- TTY_STATUS,
- TTY_WRITE
- Chaque TTY lève une IRQ si un caractère est reçu.
Initiateur DMA (Direct Memory Access)
- DMA réalise une copie de mémoire d'une adresse source vers une adresse de destination.
- 5 opérations DMA sont écrits :
- DMA_IRQ_DISABLE,
- DMA_RESET,
- DMA_LEN,
- DMA_DST,
- DMA_SRC.
- Le DMA soulève une interruption et LEN contient le nombre d'octet non écrits.
Système d'exploitation
- Les applications utilisent les services d'un système d'exploitation à travers d'une API qui virtualise le matériel.
- Bibliothèque de fonctions, création et destruction des applications, communication et gestion de signaux.
- Le système d'exploitation doit assurer la sécurité intégrale et la confidentialité des données.
Bibliothèques système - Noyau - Boot
- Le système d'exploitation est composé de système les bibliothèques et du noyau.
- La sécurité s'appuie sur les modes d'exécution du processeur en tant que «utilisateur» ou «kernel».
- Le processus d'amorçage démarre la machine, gère la mémoire persistante, et configure le chargeur de noyau.
Les appels faits au noyau
- Le noyau du système d'exploitation est appelé afin de maintenir 4 raisons distinctes :
- kinit()
- Le gestionnaire syscall
- Le gestionnaire d'exception
- gestionnaire d'interruption.
Le code du noyau
- Le noyau implémente les services proposés aux applications, tels que : la gestion des applications, la gestion des exécutions des applications, la gestion de l'allocation de mémoire, la gestion des ports de communication réseau.
- Le code des services doit être indépendant des détails du matériel de l'architecture.
- Cet API HAL n'est pas standard, mais permette le portage du le kernel sur plusieurs machines.
En résumé
- Une API définit une interface standard de services.
- Le système d'exploitation utilise l'API qui gère les ressources matérielles telles que la mémoire, le processeur et la gestion.
- Une application utilise les API pour s'exécuter en mode «utilisateur».
- L'environnement système utilise les ressources en mode protégé.
- Différente architectures de noyau existe (micro-noyau, exo-noyau, noyau hybride).
- Pour utiliser la méthode, il est nécessaire d'utiliser des gestionnaires de syscall, d'exception et d'interruption.
- Une fois démarré, le processeur exécutera le code de démarrage et ses propres structures de données dans HAL.
Compilation
- Pour lancer la commande compilation :
- Binaire exécutable
- code source.
Fichier objet
- Met le code et les données globales dans des sections typées du fichier objet.
- Une section des adresses contient une catégorie d'information et des variables.
- Il n'y a pas de sections pour les variables locales.
Edition de liens
- L'éditeur de liens permet de combiner tous les fichiers objets en un seul fichier exécutable complet.
- Cela permet de grouper dans un unique fichier «Archive» qui sont les bibliothèques.
Edition de lien : fichier Idscript
- Fichier-Objet contient tous les jeux caractères(définition).
- Section de sortie.
- L'ensemble des sections en bleue remplissent la section en rouge.
- La région déplace la zone de remplissage.
Espace d'adressage du kernel
- Déclaration des adresses et des tailles des segments dans l'espace d'adressage. Ces variables sont utilisées mais sont aussi accessibles par le code c.
- Détermine la remplissage des espaces de mémoire.
Compilation les sources
- C’est les commandes dont les appels hiérarchiques à :
- Système d’exploitation du Noyau
- Les bibliothèques système
- Application.
Simulateur du SoC
- Permet de charger les mémoires ou d’exécuter :
- les fichiers binaires MIPS du noyau et de l’application
- les paramètres du matériel
- le nombre de cycles à simuler
- La demande de trace d'exécution des instructions.
- Ce lecteur remplit les segments en les trouvant.
Exécution des applications
- Détermine le chargement et cycles dont la fréquence doit être d’environ 1GHz
- Charger la première instruction et l’exécuter.
Trace d’exécution du simulateur
- S’assurer que tous les MIPS aient un code assembleur.
Modes d'exécution du MIPS
- Partitioner en se réservant une parties du noyau des :
- Données
- Codes Partir pour l'application :
- Des Piles
- registres
- Codes
Registres système : Status, Cause, EPC
- Etat des IRQ du MPS et le contrôle d'accès.
Comportement du registre. sr
- Interrompre lorsqu'il y a une erreur ou lorsqu'une partie de l'appareil dysfonctionne.
Comprotement du registret cause
- Agir et adresser légalement les situations d'erreurs et les problèmes matériels ou logiciels.
Entrée et sortie du noyau
- Différencier lorsque les exceptions sont faites.
Passage kernel > Application
- 2 types en fonctions du démarrage de l'application.
- Initialise les variables et vérifie les adresses.
Passage Application > Kernel
- Dans tous les cas, le MIPS saute kentry.
- Il existe 3 gestionnaires d'appel du noyau : - Syscall, exception et interruption.
Gestionnaire de Syscall
- code du système d'exploitation pour interagir avec l'ordinateur.
Interruptions du vue du matériel
- Consiste a répondre et traiter rapidement, efficacement, les éléments de contrôles liés à la réception de l'interruption.
Les terminaux
- Allouer autant de signaux et de ligne TTy pour communiquer
Architecture des contrôles et interruption
- Alloue les modes et données de gestion de ces lignes de code
Le processeur
- Envoie des instruction vers le registres qui les lances.
Conclusions
- Architecture micro contrôleur
- Le rôle d'un logiciel de bibliothèque permet au système de fonctionner pour l'exploitation.
Ce document fournit une vue d’ensemble de l’architecture des ordinateurs, en abordant les aspects matériels et logiciels et en détaillant le fonctionnement des systèmes d’exploitation et la gestion des interruptions.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.