Gestion des événements, systémes d'interruptions

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Introduction au langage C
TECHNOLOGIE DES ORDINATEURS
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
GEF 435 Principes des systèmes d’exploitation
auxiliaires ou mémoires de masse ou alors secondaire).
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
C.
Le Concept du programme enregistré
Les pointeurs Manipulation d'adresses et de ce qui est contenu dans ces adresses Très important, fondamental même en C mauvaise réputation : 'dur à comprendre',
INTRODUCTION.
Les microprocesseurs A. Objectifs de la séquence:
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Active Directory Windows 2003 Server
Chapitre n°2 : Architecture d'un ordinateur
Structures de données linéaires
Problemes du P C.
Récursivité.
Architecture de base d’un ordinateur
Les piles Djamal Rebaïne.
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
TRANSMISSION DES DONNEES.
Architecture des Ordinateurs
INTRODUCTION AU Février 2008
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
LES SYSTEMES AUTOMATISES
Architecture et technologie des ordinateurs II
Module 3 : Analyse des performances du serveur
ΜP David Saint-Mellion.
Mécanismes d'exécution et de communication
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Systèmes d'exploitations Processus
Le langage C Rappel Pointeurs & Allocation de mémoire.
INTRODUCTION.
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Module 8 : Surveillance des performances de SQL Server
Chapitre 9 : La machine MIASM
GESTION ET TRAITEMENT DES ERREURS
Les interruptions – Ph. Hoppenot Les interruptions I.Notion d'interruption II.Exemple du 8051 III.Exemple du
3-Présentation d’un µP simple
Structure de Base d’un ordinateur Matière : Informatique
Exemple de mise en oeuvre
Chapitre 4 Interruptions
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
18/09/2013JC LP MD1 Cours_2. 18/09/2013JC LP MD2 Mapping de configuration.
Simulateur de microcontrôleur Intel 80C51
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Chapitre 4 La représentation des nombres.
1.1: notions de bases de l’informatique
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Architecture d’un ordinateur
Les bascules et registres
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Architecture d'un automate programmable
Transcription de la présentation:

Gestion des événements, systémes d'interruptions Les ordinateurs doivent réagir à des sollicitations externes et internes nommées généralement interruptions ou événements. Ce chapitre contient : .un glossaire des termes propres aux interruptions, .les systémes d'interruptions de trois microprocesseurs simples (§ 7.2), .quelques codeurs de priorités, .un complément relatif aux interruptions logicielles. GLOSSAIRE COMMENTE EN GUISE D'INTRODUCTION Demande d'interruption : C'est la manifestation d'un périphérique, d'un organe interne, d'un processus. Elle a pour cause immédiate : · l'apparition d'un signal venant d'un périphérique informatique ou industriel, · l'exécution d'une instruction ad hoc, · la tentative d'exécution d'une instruction fautive ou d'une instruction inconnue ou encore d'une erreur de calcul, · l'apparition d'un signal interne : détection d'anomalie de fonctionnement, débordement d'adresse, · un appel du processus au systéme d'exploitation, · une opération d'entrée ou sortie,

Cette demande est refusée ou acceptée. · un garde temps par la fin d'un intervalle de temps programmé, · un message re₤u d'un autre processeur dans certains multiprocesseurs. Cette demande est refusée ou acceptée. Interruption : En conséquence de l'acceptation d'une demande, le processus en cours est interrompu. Une sauvegarde plus ou moins compléte de son contexte est faite par les mécanismes câblés, elle est complétée éventuellement par une sauvegarde programmée. Masquage : Le systéme, en tant qu'exécutant un processus, peut interdire la prise en compte d'une demande. Ceci se fait déjà systématiquement et universellement pendant l'exécution d'une instruction et peut ₨tre fait à la demande selon la capacité du matériel. Exception : Cette variante de vocabulaire désigne une interruption logicielle liée à une exécution fautive (par exemple division impossible, adressage hors segment etc.). Hiérarchie et Priorité : Une interruption cause une perte de temps, il est donc utile de n'accepter une demande d'interruption que si sa cause est prioritaire par rapport à celle qui a donné vie au processus en cours d'exécution. On utilise en général le mot priorité pour qualifier les causes, et hiérarchie pour désigner l'organisation des acceptations et des refus, vue par le processeur.

Invalidation : Une invalidation fait disparaître la demande qui devra ₨tre émise à nouveau. Masquage : Le masquage rend la demande d'interruption inefficace mais la maintient. Point d'entrée : C'est le moyen d'introduire une demande d'interruption dans un circuit. Initialement, il s'agissait d'un fil sur le processeur, ce peut ₨tre une configuration de bits sur plusieurs broches, ou m₨me des broches et des configurations présentes sur un autre circuit dit contrôleur d'interruption. Contexte (contexte d'une tâche ou d'un processus) : La tâche ou le processus ont besoin de données pour reprendre son exécution aprés suspension, à tout le moins le compteur ordinal et le registre d'état, plus généralement tout ou partie des registres, de mémoires spécialisées comme la ram vidéo et de segments de mémoire si leur contenu peut ₨tre recouvert pendant la suspension. Sauvegarde (du contexte) : Cette opération toujours partiellement câblée place le contexte dans une pile (rapide), une zone de mémoire réservée (plus lent) ou encore sur support externe (trés lent). Contrôleur d'interruption : C'est un processeur hautement spécialisé dans la manipulation de registres relatifs aux interruptions : demandes et acceptations. Les contrôleurs sont internes au processeur ou externes sous la forme d'un boîtier additionnel.

Codeur de priorité : Il est utilisé en cas de sources multiples externes. Il re₤oit les demandes dans des registres. Il délivre la demande la plus prioritaire du stock. Il augmente le nombre d'entrées possibles. Cascade : Cette technique générale consiste à relier, s'ils ont été prévus pour cela, des codeurs de priorités identiques, chacun opérant un filtrage propre. Vecteur d'interruption : Traditionnellement, c'est un contenu logé dans un registre défini, spécial, général, compteur ordinal, ou un mot de mémoire. Ce contenu est associé à une ou à des demandes d'interruptions par des positions de bits ou des configurations. Il fait l'objet d'un traitement interprétatif. Ce peut ₨tre un simple pointeur. Par exemple : si le contenant est le compteur ordinal, le résultat sera un branchement inconditionnel, si c'est un autre registre, un programme analysera ce contenu. Scrutation : Ce mot est employé dans deux sens : En temps réel industriel, il s'agit d'une interrogation des sources d'information externes par lecture périodique. Elle est faite par une tâche trés prioritaire. En systéme d'exploitation, il s'agit d'une tâche à trés haute priorité non interruptible par une classe de demandeurs. Elle contient un processus d'examen de ces demandes pour les prendre en compte sur décision calculée par elle-m₨me. Tâche : Ce terme désigne un programme, généralement court, activé par une interruption pour réaliser le traitement associé.

DESCRIPTION et COMPARAISON de SYSTEMES D'INTERRUPTIONS SIMPLES Les systémes d'interruption sont devenus trés complexes. On a choisi trois processeurs de la m₨me génération dite des 8 bits. Ils présentent à eux tous la quasi totalité des types d'interruptions et des solutions existant pour les interruptions matérielles d'origine externe. Microprocesseur Intel 8085 C'est un microprocesseur de 1976, à 8 bits de données, en technique N-MOS. Il posséde cinq points d'entrée physiques hiérarchisés, sous la forme de cinq broches sur le circuit. TRAP priorité la plus haute RST7.5 RST6.5 RST5.5 INTR priorité la plus basse On note deux types de fonctionnement différents relatifs : a) au groupe TRAP, RST7.5, RST6.5, RST5.5 b) à l'entrée INTR.

Dans le groupe a), lorsqu'un organe périphérique émet une interruption en portant simplement au niveau haut la ligne désirée, une tâche est exécutée par le chargement d'une adresse dans le compteur ordinal. Cette adresse de départ est fixée ne varietur : Pour TRAP adresse de départ : 24H Pour RST7.5 adresse de départ : 2CH Pour RST6.5 adresse de départ : 34H Pour RST5.5 adresse de départ : 3CH Dans le groupe b), entrée INTR, le microprocesseur ne fait pas seul le branchement à une adresse. Un autre circuit doit forcer sur le bus de données une des deux instructions dont les mnémoniques sont : · RST (ne pas la confondre avec les noms des interruptions RSTX.Y), · CALL. L'instruction RST a le format suivant : Son décodage placer le mot suivant de 16 bits : dans le compteur ordinal. L'effet est de lancer la recherche de l'instruction exécutable à cette adresse. Cette instruction donne donc accés à huit adresses. On peut dire que ces huit adresses, non consécutives, constituent une table de vecteurs d'interruption.

L'instruction CALL a le format suivant : Le décodage du code d'opération a pour effet de faire lire deux octets successifs sur le bus de données, de les placer dans le compteur ordinal et de lancer la recherche d'instruction à cette adresse. Ces deux octets sont l'adresse de départ de la tâche d'interruption. Dans les deux types de fonctionnement, le compteur ordinal est préalablement sauvegardé par câblage, il est placé en mémoire au sommet de la pile pointée en permanence par le registre STACK POINTER. La gestion de cette pile nécessite beaucoup d'attention car la restitution correcte du contexte nécessite que tout empilement fait pendant la gestion de l'interruption soit dépilé. Les instructions CALL, CC, CM, CNC, CNZ, CP, CPE, CPO, CZ, PUSH utilisées pour la sauvegarde du contexte chargent la pile, Les instructions RET, RC, RM, RNC, RNZ, RP, RPE, RPO, RZ, POP la déchargent.

Microprocesseur Motorola 6800 C'est un microprocesseur de 1975, à 8 bits de données, en technique NMOS. Son systéme d'interruption a 3 points d'entrée nommés RES, NMI, IRQ. La prise en compte d'une interruption provoque l'arr₨t du programme courant et le branchement à l'adresse contenue dans des paires d'octets de mémoire d'emplacement fixe. pour l'interruption RES le contenu de FFFE et FFFF pour l'interruption NMI le contenu de FFFC et FFFD pour l'interruption IRQ le contenu de FFF8 et FFF9 Ces trois paires d'octets constituent la table des vecteurs d'interruptions. Aprés l'achévement de l'instruction en cours, une interruption est prise en compte en 12µs. Point d'entrée RES : reset Cette interruption provoque l'initialisation du processeur. Lorsque le niveau RES devient bas, le bus d'adresse est positionné avec FFFE. Lorsque le niveau RES redevient haut, le compteur ordinal est chargé avec le contenu des adresses FFFE et FFFF. Cette interruption est utilisée comme séquence de redémarrage aprés un défaut d'alimentation. Pour cette raison, il n'y a aucune sauvegarde de l'état du programme et du compteur ordinal. Cette interruption n'est pas masquable.

Point d'entrée NMI : non-maskable interrupt. Comme son nom l'indique, elle non plus n'est pas masquable. Elle est reconnue lorsque la ligne passe au niveau logique zéro. Elle est utilisée pour la détection d'un défaut d'alimentation ou par un périphérique exigeant un traitement urgent de l'interruption. Hormis le fait qu'elle ne peut ₨tre masquée, cette interruption a un fonctionnement similaire à celui de IRQ. A la fin de l'instruction en cours, le processeur sauvegarde le compteur ordinal, les registres d'état et les accumulateurs dans la pile, puis positionne le masque d'interruption à "1" et lance la tâche à l'adresse contenue dans les octets d'adresses FFFC et FFFD. Point d'entrée IRQ : interrupt request. C'est le point d'entrée principal du systéme d'interruption. Les différentes sources d'interruption doivent ₨tre reliées en OU câblé sur IRQ. Les entrées proviennent généralement des circuits PIA (interfaces paralléles) ou ACIA (interfaces pour transmission asynchrones en série), mais peuvent aussi provenir de toute autre source définie par l'utilisateur. Interruption logicielle (SWI) Le fonctionnement de cette interruption est analogue à celui de l'interruption IRQ, si ce n'est qu'elle est déclenchée par logiciel, c'est-à-dire par l'exécution de l'instruction SWI. Le contenu du compteur ordinal, le registre d'état et les accumulateurs sont rangés dans la pile. Le masque d'interruption est mis à 1. Le programme d'interruption est exécuté, il est à l'adresse pointée par le contenu de [FFFA FFFB].

Microprocesseur Zilog Z80 C'est un microprocesseur de 1976, à données sur 8 bits, en technique N-MOS. Son systéme d'interruption a deux points d'entrée: NMI et INT hiérarchisés. Point d'entrée NMI : non maskable interrupt. Comme son nom l'indique, ce niveau n'est pas masquable, il a la plus haute priorité et il est toujours reconnu à la fin de l'instruction en cours d'exécution indépendamment de l'état du registre de validation d'interruption. Cette interruption provoque automatiquement le redémarrage à l'adresse 0066 H. Le compteur ordinal est sauvegardé dans la pile située dans une zone de mémoire quelconque pointée par le registre SP (stack pointer). Point d'entrée INT : interrupt request Ce niveau est reconnu à la fin de l'instruction en cours si le systéme d'interruption est validé. Les instructions DI et EI invalident et valident respectivement le systéme d'interruption. Elles positionnent les bascules IFF1 et IFF2 à 0 pour DI et à 1 pour EI. Sur ce point d'entrée INT, on définit par programme trois modes différents de fonctionnement des interruptions : - Mode 0 : celui d'INTR du 8085 - Mode 1 : branchement en 0038 H - Mode 2 : appel indirect

La sélection du mode de fonctionnement est faite par les instructions IM0, IM1 et IM2 qui forcent respectivement le mode 0, le mode 1 et le mode 2. Au démarrage, le mode est 0. · Mode 0, le systéme d'interruption fonctionne exactement comme INTR de l'INTEL 8085. · Mode 1, l'unité centrale redémarre à l'adresse 0038H en réponse à une demande d'interruption si le systéme est validé. Dans ce mode, le fonctionnement est identique à celui de la ligne NMI excepté que l'adresse de redémarrage est 0038H au lieu de 0066H. · Mode 2, le périphérique demandeur doit forcer un octet dont le bit de poids faible est à 0, sur les lignes de données.

DESCRIPTION SUCCINCTE DE CONTROLEURS (ou codeurs) DE PRIORITES Contrôleur de priorité Intel 8214 Ce circuit de la m₨me génération que les microprocesseurs précédents. Le circuit accepte huit demandes d'interruption, tient compte du niveau en cours. Les huit niveaux doivent ₨tre connectés au 8214 dans l'ordre de priorité défini par l'utilisateur. Cascade de contrôleurs 8214. Quand on a besoin de plus de huit interruptions, on met plusieurs 8214 en cascade. Des signaux réservés sont prévus pour cela. Chacun de ces circuits posséde une priorité par rapport aux autres, suivant leur ordre dans la cascade. Ceci forme des groupes de priorités.

Contrôleur de priorité programmable Intel 8259 Ce circuit a été con₤u pour le microprocesseur 8085. Sa version 8259A a été utilisée dans les PC qui n'avaient que 8 entrées d'interruptions physiques numérotées de 0 à 7. La cascade a été prévue pour augmenter le nombre de sources d'interruption sans modifier le nombre d'entrées sur le processeur. L'organisation en cascade est faite en prenant pour entrée n°2 (IRQ 9) la sortie d'un deuxiéme 8259 et ainsi de suite jusqu'à 64 au plus.