Section courante

A propos

Section administrative du site

Interruption 15h: Gestionnaire d'extension d'Entrée/Sortie

Le gestionnaire d'extension d'entrée/sortie est une interruption offrant tous les services complémentaire du BIOS pour accéder à des fonctions particulières, délai, manette de jeux, mémoires,...

Fondements et rôle architectural dans les systèmes PC

L'interruption 15h occupe une place fondamentale dans l'architecture des ordinateurs personnels, servant d'interface privilégiée entre les logiciels et diverses fonctionnalités matérielles spécialisées non couvertes par les interruptions BIOS standard. Conçue comme un véritable "gestionnaire d'extension d'entrée/sortie", cette interruption représente un mécanisme d'extensibilité essentiel au sein de l'architecture PC, permettant d'accommoder l'évolution constante des capacités matérielles sans nécessiter de refonte complète du BIOS. Son organisation sous forme de fonctions identifiées par le registre AH (et éventuellement de sous-fonctions via d'autres registres) lui confère une structure modulaire et extensible, capable d'intégrer progressivement de nouvelles fonctionnalités au fil des générations de matériel. Cette approche architecturale s'est avérée particulièrement visionnaire, permettant à l'interruption 15h d'évoluer depuis les fonctions rudimentaires de gestion de cassettes des premiers IBM PC jusqu'aux mécanismes sophistiqués de gestion d'énergie et de mémoire étendue des systèmes modernes, tout en maintenant une compatibilité ascendante remarquable. La diversité des fonctions supportées par cette interruption témoigne de son rôle central dans l'écosystème PC, couvrant des domaines aussi variés que le contrôle des périphériques spécialisés, la gestion temporelle, l'accès à la mémoire étendue et les interactions avec les dispositifs de pointage.

Évolution historique et adaptabilité aux générations successives de matériel

L'histoire de l'interruption 15h reflète fidèlement l'évolution technologique des ordinateurs personnels depuis les premiers IBM PC jusqu'aux architectures modernes. Les fonctions 00h à 03h, dédiées à la gestion du lecteur de cassettes des PC et PC Junior, témoignent des origines modestes de cette interruption dans les premiers systèmes où les cassettes constituaient encore un moyen d'entreposage viable. L'évolution vers les systèmes AT et PS/2 s'accompagne d'un enrichissement considérable des capacités, avec l'introduction de fonctions sophistiquées comme la 83h pour l'attente d'événements temporisés, la 86h pour les délais de précision, ou encore la 87h pour la copie de blocs mémoire en mémoire étendue. La spécialisation progressive des machines IBM se manifeste à travers des fonctions dédiées à des modèles spécifiques, comme les fonctions 43h et 44h pour l'IBM Convertible, premier ordinateur portable à clapet de la marque. Particulièrement révélatrice est l'évolution vers la gestion des périphériques de pointage avec la fonction C2h et ses nombreuses sous-fonctions, reflétant l'importance croissante de la souris dans les interfaces utilisateur des années 1990. Cette remarquable adaptabilité a permis à l'interruption 15h de traverser plus de quatre décennies d'évolution informatique en restant pertinente, constituant un exemple exceptionnel de conception extensible dans l'histoire des architectures informatiques.

Gestion de la mémoire et accès aux ressources matérielles avancées

Le rôle de l'interruption 15h dans la gestion de la mémoire constitue l'une de ses contributions les plus significatives à l'écosystème PC, particulièrement dans le contexte des limitations de l'architecture x86 en mode réel. La fonction 87h représente une innovation cruciale, permettant de copier des blocs de mémoire vers ou depuis la mémoire étendue (au-delà du premier mégaoctet), contournant ainsi élégamment la limitation fondamentale des adresses à 20 bits du mode réel. Complémentaire à celle-ci, la fonction 88h permet de déterminer dynamiquement la taille de la mémoire étendue disponible, information essentielle pour les systèmes d'exploitation et applications cherchant à exploiter efficacement les ressources matérielles. La gestion de l'adresse A20, avec les sous-fonctions 00h à 03h de la fonction 24h, illustre l'implication de l'interruption 15h dans les mécanismes complexes nécessaires à la transition entre le mode réel et le mode protégé. Ces fonctionnalités, bien que techniques et souvent invisibles pour l'utilisateur final, ont joué un rôle déterminant dans l'évolution des systèmes d'exploitation comme DOS, Windows et OS/2, leur permettant de transcender progressivement les limitations initiales de l'architecture x86 tout en maintenant la compatibilité avec le parc logiciel existant. L'importance stratégique de ces fonctions explique leur présence continue à travers les générations successives de matériel, des premiers AT jusqu'aux PS/2 et au-delà.

Contrôle temporel et synchronisation système

Les capacités de gestion temporelle offertes par l'interruption 15h constituent un aspect fondamental de son utilité dans l'écosystème PC, fournissant aux logiciels des mécanismes précis pour la synchronisation et les délais d'exécution. La fonction 86h, disponible sur les systèmes AT et PS/2, représente une avancée majeure en permettant aux programmes d'implémenter des délais précis mesurés en microsecondes, une granularité bien supérieure à celle offerte par les méthodes traditionnelles basées sur l'horloge système à 18,2 Hz. Cette précision accrue s'avère cruciale pour de nombreuses applications temps réel, communications série à haute vitesse, ou encore pour la synchronisation fine avec des périphériques externes. La fonction 83h complète ces capacités en permettant l'attente d'événements temporisés, offrant un mécanisme d'interruption après un délai spécifié qui peut fonctionner même lorsque le processeur est en mode d'économie d'énergie. Ces fonctionnalités ont rapidement transcendé leur usage initial pour devenir des composants essentiels de nombreuses applications exigeant une précision temporelle élevée, des jeux aux logiciels de communication, en passant par les environnements multitâches rudimentaires. La fiabilité et la précision de ces mécanismes temporels ont contribué à établir l'interruption 15h comme un service système incontournable, bien au-delà de son rôle initial de simple extension pour périphériques spécialisés.

Support des périphériques de pointage et évolution des interfaces utilisateur

L'évolution des interfaces utilisateur vers des paradigmes graphiques a trouvé dans l'interruption 15h un allié précieux, particulièrement à travers la fonction C2h et ses multiples sous-fonctions dédiées à la gestion des périphériques de pointage. Introduite avec les systèmes PS/2, cette fonction établit une couche d'abstraction essentielle entre le matériel de pointage (principalement la souris PS/2) et les logiciels qui l'utilisent. Les sous-fonctions couvrent l'ensemble des opérations nécessaires, de l'activation du périphérique (00h) à la définition de sa résolution (03h), en passant par la configuration du taux d'échantillonnage (02h) et l'identification du type de dispositif (04h). Cette architecture modulaire a permis l'intégration transparente de périphériques de pointage de plus en plus sophistiqués, tout en maintenant une compatibilité ascendante avec les applications existantes. L'importance de ces fonctions s'est considérablement accrue avec la démocratisation des interfaces graphiques comme Windows, où la précision et la réactivité du pointage deviennent des éléments critiques de l'expérience utilisateur. La fonction 84h, permettant la lecture des manettes de jeux sur les systèmes XT/286 et AT, témoigne également de cette évolution vers des modalités d'interaction plus intuitives et directes, participant à l'émergence des jeux comme catégorie majeure d'applications PC.

Gestion avancée de l'alimentation et innovations système

L'interruption 15h a joué un rôle pionnier dans l'introduction de la gestion avancée de l'alimentation sur les systèmes PC, notamment à travers la fonction 53h et ses sous-fonctions associées à l'API APM (Advanced Power Management). Cette intégration, initiée bien avant que la gestion énergétique ne devienne une préoccupation centrale, témoigne de la vision prospective qui a guidé l'évolution de cette interruption. La sous-fonction 07h, permettant de définir l'état d'alimentation du système, constitue l'une des premières implémentations standardisées des mécanismes de mise en veille et d'économie d'énergie dans l'écosystème PC. Parallèlement, des fonctions comme C3h pour la configuration du "chien de garde" (watchdog timer) sur les systèmes PS/2 illustrent l'implication de l'interruption 15h dans les mécanismes de fiabilité système avancés. La fonction C0h, offrant un accès standardisé aux informations de configuration matérielle, préfigure les systèmes modernes de découverte automatique des composants, tandis que C1h facilite l'accès aux extensions BIOS, permettant l'évolution des capacités système sans compromettre la compatibilité. Ces innovations, souvent méconnues mais fondamentales, ont établi les bases conceptuelles de nombreuses technologies système contemporaines, démontrant l'influence durable de l'architecture initiée avec l'interruption 15h sur l'évolution des ordinateurs personnels.

Héritage et pertinence contemporaine

Malgré l'évolution considérable des architectures matérielles et logicielles depuis les premiers IBM PC, l'héritage de l'interruption 15h demeure remarquablement présent dans les systèmes informatiques contemporains. Bien que les microprocesseurs modernes opèrent principalement en mode protégé ou long, où les interruptions BIOS traditionnelles ne sont pas directement accessibles, les concepts et structures introduits par l'interruption 15h continuent d'influencer la conception des interfaces matérielles et logicielles. Les mécanismes ACPI (Advanced Configuration and Power Interface) ayant succédé à APM conservent de nombreux principes architecturaux introduits via la fonction 53h. De même, l'UEFI (Unified Extensible Firmware Interface), remplaçant progressivement le BIOS traditionnel, maintient des services équivalents à ceux historiquement fournis par l'interruption 15h, préservant ainsi la continuité fonctionnelle tout en modernisant l'implémentation technique. Dans les environnements de virtualisation et d'émulation permettant l'exécution de logiciels historiques, l'implémentation fidèle du comportement de l'interruption 15h reste cruciale pour garantir la compatibilité avec des décennies de logiciels. Cette persistance témoigne de la solidité conceptuelle de cette architecture d'extension, qui a su transcender sa mise en ouvre technique spécifique pour s'établir comme un modèle durable d'interface système extensible et adaptable.

Fonction d'accès aux extensions d'Entrée/Sortie:

Fonction Description Prérequis
Interruption 15h, Fonction 00h Cette fonction permet l'allumage du moteur de cassette. PC, PC Junior
Interruption 15h, Fonction 00h Cette fonction permet de demander et réinitialiser le compteur de souris. Amstrad PC1512
Interruption 15h, Fonction 01h Cette fonction permet d'éteindre le moteur de cassette. PC, PC Junior
Interruption 15h, Fonction 01h Cette fonction permet d'effectuer l'écriture dans la RAM non-volatile. Amstrad PC1512
Interruption 15h, Fonction 02h Cette fonction permet d'effectuer la lecture de la cassette. PC, PC Junior
Interruption 15h, Fonction 02h Cette fonction permet d'effectuer la lecture dans la RAM non-volatile. Amstrad PC1512
Interruption 15h, Fonction 03h Cette fonction permet d'effectuer l'écriture sur la cassette. PC, PC Junior
Interruption 15h, Fonction 04h Cette fonction permet d'appeler des fonctions de contrôles de vitesses. Amdek System/88
Interruption 15h, Fonction 0Fh Cette fonction permet de provoquer l'enclenchement d'une interruption périodique lors du formatage ESDI. PS/2
Interruption 15h, Fonction 10h Cette fonction permet d'accéder aux gestionnaire principal du TopView. TopView, DesqView
Interruption 15h, Fonction 21h, Sous-Fonction 00h Cette fonction permet d'effectuer la lecture du compte rendu du test de démarrage. PS/2
Interruption 15h, Fonction 21h, Sous-Fonction 01h Cette fonction permet d'effectuer l'écriture d'une erreur dans la file lors du démarrage. PS/2
Interruption 15h, Fonction 22h Cette fonction permet d'effectuer la localisation du BASIC en ROM. Vieux PS/2
Interruption 15h, Fonction 24h, Sous-Fonction 00h Cette fonction permet d'invalider le gardien de l'adresse A20. Vieux PS/2
Interruption 15h, Fonction 24h, Sous-Fonction 01h Cette fonction permet de valider le gardien de l'adresse A20. Vieux PS/2
Interruption 15h, Fonction 24h, Sous-Fonction 02h Cette fonction permet de demander l'état du gardien de l'adresse A20. Vieux PS/2
Interruption 15h, Fonction 24h, Sous-Fonction 03h Cette fonction permet de demander si la ligne d'adressage A20 est supportée. Vieux PS/2
Interruption 15h, Fonction 43h Cette fonction permet d'effectuer la lecture de l'état du système. Convertible
Interruption 15h, Fonction 44h Cette fonction permet d'activer/désactiver la tension du modem interne. Convertible
Interruption 15h, Fonction 4Dh, Sous-Fonction 0D4h Cette fonction permet d'effectuer la vérification de l'installation. HP 95LX
Interruption 15h, Fonction 4Fh Cette fonction permet d'effectuer l'interception du clavier. AT modèle 3x9, XT2, XT286, Convertible, PS/2
Interruption 15h, Fonction 53h, Sous-Fonction 07h Cette fonction permet de fixer l'état de l'alimentation. APM
Interruption 15h, Fonction 80h Cette fonction permet d'effectuer l'ouverture d'un périphérique. XT/286, AT, PS/2
Interruption 15h, Fonction 81h Cette fonction permet d'effectuer la fermeture d'un périphérique. XT/286, AT, PS/2
Interruption 15h, Fonction 82h Cette fonction permet de provoquer la fin d'un processus. XT/286, AT, PS/2
Interruption 15h, Fonction 83h Cette fonction permet d'effectuer l'attente d'un événement. AT, PS/2
Interruption 15h, Fonction 84h, Sous-Fonction 00h Cette fonction permet d'effectuer la lecture de l'état des boutons de tire des manettes de jeux. XT/286, AT
Interruption 15h, Fonction 84h, Sous-Fonction 01h Cette fonction permet d'effectuer un test de la position des manettes de jeux. XT/286, AT
Interruption 15h, Fonction 85h Cette fonction permet de demander l'état de la touche SysRq. AT, PS/2
Interruption 15h, Fonction 86h Cette fonction permet d'effectuer l'action d'attendre. AT, PS/2
Interruption 15h, Fonction 87h Cette fonction permet d'effectuer le copier un bloc de mémoire en mémoire étendue. AT, PS/2
Interruption 15h, Fonction 88h Cette fonction permet de demander la taille de la mémoire étendue. AT, PS/2
Interruption 15h, Fonction 89h Cette fonction permet d'entrée en mode protégé. AT, PS/2
Interruption 15h, Fonction 90h Cette fonction permet d'être en attente d'un périphérique. AT, PS/2
Interruption 15h, Fonction 91h Cette fonction permet d'indiquer la fin d'une entrée/sortie de périphérique. AT, PS/2
Interruption 15h, Fonction C0h Cette fonction permet de demander la configuration du système. XT/286, AT, PS/2
Interruption 15h, Fonction C1h Cette fonction permet de demander l'adresse de la zone étendue du BIOS. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 00h Cette fonction permet d'autoriser/interdire la périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 01h Cette fonction permet de réinitialiser la périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 02h Cette fonction permet de définir le taux d'échantillonnage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 03h Cette fonction permet de définir la résolution du périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 04h Cette fonction permet de demander le type de périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 05h Cette fonction permet d'initialiser l'interface du périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 06h Cette fonction permet de demander le facteur d'échelle ou l'état du périphérique de pointage. PS/2
Interruption 15h, Fonction C2h, Sous-Fonction 07h Cette fonction permet de définir le gestionnaire de la périphérique de pointage. PS/2
Interruption 15h, Fonction C3h Cette fonction permet de fixer la définition du temps du «chien de garde». PS/2
Interruption 15h, Fonction C4h Cette fonction permet de fixer la sélection des options programmables. PS/2


Dernière mise à jour : Jeudi, le 3 mars 2016