Changes between Version 52 and Version 53 of SoclibCourseTp4


Ignore:
Timestamp:
Dec 4, 2010, 5:08:12 PM (14 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp4

    v52 v53  
    1717= 2 Architecture mono-processeur avec interruptions =
    1818
    19 Tous les périphériques utilisent les interruptions, mais il existe deux types de périphériques:
     19Il existe deux types de périphériques:
    2020
    2121 * Un contrôleur TTY est un périphérique ''caractère'' car il supporte des requêtes de lecture ou d'écriture d'un seul caractère. Ce type de périphérique se comporte comme une cible sur le bus, puisqu'il ne peut que recevoir des commandes provenant d'un processeur, et qu'il n'a pas la possibilité de lire ou d'écrire lui-même  en mémoire.
     
    2727Lorsque le nombre de périphériques augmente, le nombre de lignes d'interruption augmente également,
    2828et il faut un mécanisme permettant de concentrer plusieurs dizaines de requêtes d'interruption vers un seul signal
    29 connecté au processeur. Ceci nécessite d'introduire un nouveau composant matériel dans l'architecture : Le composant '''vci_icu''' est  contrôleur d'interruptions vectorisées. C'est une cible VCI dont vous trouverez  la spécification fonctionnelle [https://www.soclib.fr/trac/dev/wiki/Component/VciIcu ici].
     29connecté au processeur.
    3030
    31 On en profite pour introduire d'autres périphériques : Le composant '''vci_multi_timer''' est également une cible VCI
    32 contenant un nombre queconque de timers programmables capables de générer des interruptions périodiques à destination du processeur. Vous trouverez la spécification fonctionnelle de ce composant
     31Ceci nécessite d'introduire un nouveau composant matériel dans l'architecture : Le composant '''vci_icu''' est
     32un contrôleur d'interruptions vectorisées. C'est une cible VCI dont vous trouverez  la spécification fonctionnelle [https://www.soclib.fr/trac/dev/wiki/Component/VciIcu ici].
     33
     34Le composant '''vci_multi_timer''' est également une cible VCI
     35contenant un nombre queconque de timers programmables capables de générer des interruptions périodiques à destination du processeur. On trouvera la spécification fonctionnelle de ce composant
    3336[https://www.soclib.fr/trac/dev/wiki/Component/VciMultiTimer ici].
    3437
    35 Le composant '''vci_block_device'''...
     38Le composant '''vci_block_device''' est un contrôleur de disque simplifié. Ce composant FBF est à la fois un initiateur VCI, capable de lire et d'écrire dans la mémoire, et une cible qui peut recevoir des commandes de configuration.
     39Le GIET ne gérant pas un véritable système de fichier, ce composant IOC ne gère qu'un unique fichier, stocké sur le disque de la station de travail qui exécute le simulateur. Le nom de ce fichier est un argument du constructeur. On trouvera la spécification fonctionnelle de ce composant [https://www.soclib.fr/trac/dev/wiki/Component/VciBlockDevice ici].
    3640
    37 Le composant '''vci_frame_buffer'''...
     41Le composant '''vci_frame_buffer''' est un contrôleur d'écran graphique. C'est une cible VCI qui est vue
     42comme un tampon mémoire directement adressable de M lignes de N pixels, dans lequel le logiciel peut lire ou écrire.
     43Le contenu de ce buffer est parcouru périodiquement à la fréquence video, et son contenu est affiché sur l'écran graphique externe. On trouvera la spécification fonctionnelle de ce composant [https://www.soclib.fr/trac/dev/wiki/Component/VciFrameBuffer ici].
    3844
    39 Le composant '''vci_dma'''...
     45Le composant '''vci_dma''' est un composant matériel qui peut être programmé par le système d'exploitation pour éffectuer
     46de gros transferts de données, tel que la copie d'une image d'un tampon mémoire situé dans l'espace utilisateur vers le
     47tampon mémoire du composant FBF. On trouvera la spécification fonctionnelle de ce composant DMA [https://www.soclib.fr/trac/dev/wiki/Component/VciDma ici].
    4048
    4149Les deux composants IOC et DMA étant à la fois initiateur et cible, on obtient finalement une architecture possédant
     
    4654 * La ligne d'interruption du TIMER est connectée au port '''p_irq_in[0]''' du composant ICU
    4755 * la ligne d'interruption du TTY est connectée au port '''p_irq_in[1]''' du composant ICU.
    48  * la ligne d'interruption du contrôleur de disque est connectée au port '''p_irq_in[5]''' du composant ICU.
    49  * la ligne d'interruption du contrôleur DMA est connectée au port '''p_irq_in[1]''' du composant ICU.
     56 * la ligne d'interruption du contrôleur de disque IOC est connectée au port '''p_irq_in[5]''' du composant ICU.
     57 * la ligne d'interruption du contrôleur DMA est connectée au port '''p_irq_in[6]''' du composant ICU.
    5058
    5159== 2.2 Interruptions vectorisées ==