151 | | == 4.3 == |
| 151 | La plate-forme matérielle du TP3 utilisait une technique de scrutation (polling) pour lire des caractères en provenance du terminal TTY. Cette technique d'attente active n'est pas très efficace dans les applications logicielles où un seul processeur |
| 152 | doit exécuter plusieurs tâches en pseudo parallélisme, grâce à des techniques de multiplexage temporel. |
| 153 | On souhaite donc remplacer ce mécanisme de scrutation par un mécanisme d'interruption, en utilisant |
| 154 | la capacité du contrôleur TTY à générer une interruption lorsque qu'un caractère est frappé sur le clavier. |
| 155 | Ceci nécessite d'introduire un nouveau composant matériel dans l'architecture : Le composant '''vci_icu''' est contrôleur d'interruption vectorisé. C'est une cible VCI dont vous trouverez la spécification fonctionnelle [ici]. |
| 156 | |
| 157 | On en profite pour introduire un autre périphérique : Le composant '''vci_multi_timer''' est également une cible VCI |
| 158 | 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 |
| 159 | |
| 160 | Modifiez le fichier '''tp3_top.cpp''' pour instancier et connecter ces deux nouveaux composants, et renommez |
| 161 | '''tp4_top.cpp''' le fichier ainsi modifié. Modifiez également le fichier '''tp3_desc''' et renommez le '''tp4_desc''' |
| 162 | |
| 163 | == 4.3 architecture clusterisée == |