PILE ENTREES / SORTIES INTERRUPTIONS

Documents pareils
Ordinateurs, Structure et Applications

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Architecture des ordinateurs

GPA770 Microélectronique appliquée Exercices série A

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Fonctionnement et performance des processeurs

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Temps Réel. Jérôme Pouiller Septembre 2011

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Cours Informatique 1. Monsieur SADOUNI Salheddine

ASR1 TD7 : Un microprocesseur RISC 16 bits

Exécution des instructions machine

Architecture des ordinateurs

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Transmissions série et parallèle

Licence Sciences et Technologies Examen janvier 2010

Rappels d architecture

Conception de circuits numériques et architecture des ordinateurs

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

IV- Comment fonctionne un ordinateur?

Jeu d instructions NIOS II

IFT1215 Introduction aux systèmes informatiques

PIC : COURS ASSEMBLEUR

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Ordinateurs, Structure et Applications

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Une version javascript sera disponible directement dans le cours prochainement.

Structure d un programme

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Cours de Systèmes d Exploitation

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

PIC 16F84. Philippe Hoppenot

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Le bus USB. I) Introduction : II) Architecture du bus USB :

UE Programmation Impérative Licence 2ème Année

Leçon 1 : Les principaux composants d un ordinateur

Conception de circuits numériques et architecture des ordinateurs

Support de cours système d exploitation

Architecture des ordinateurs Introduction à l informatique

La mémoire. Un ordinateur. L'octet. Le bit

La programmation des PIC en C. Les fonctions, les interruptions.

QUESTION 1 {2 points}

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Chapitre 4 : Les mémoires

SUR MODULE CAMÉRA C38A (OV7620)

RÉPUBLIQUE ET CANTON DE GENÈVE Echelle des traitements 2015 Valable dès le Office du personnel de l'etat Indexation de 0.

Éléments d'architecture des ordinateurs

LOGICIEL DC4D MONITOR

Chapitre 4 : Outils de communication centralisés entre processus

La haute disponibilité

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES

Module M1 Elément 2 : Informatique 1 (I1)

2. Ispro nuclear electronics symposium. Sfesa (Italy), May 1975 CONTROLEUR AUTONOME JCAM-10 POUR CHASSIS CAÎ1AC

Architecture des Ordinateurs. Partie II:

Microprocesseur + Logiciel

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Programmation C. Apprendre à développer des programmes simples dans le langage C

Cours 3 : L'ordinateur

Manipulations du laboratoire

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

Programmation assembleur : aperçu

Fiche technique CPU 314SC/DPM (314-6CG13)

Informatique Générale

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

3. Structure des ordinateurs. 3.1 L' Unité Centrale (UC) ou processeur (Central Processing Unit CPU)

Structure de base d un ordinateur

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Depuis votre ordinateur de bureau

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

FlatBox. Système d Alarme de Sécurité GSM / Sans Fil

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Sage Déclarations Sociales

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile


Configuration de plusieurs serveurs en Load Balancing

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Les fonctions logiques

SD1+ SD1+ SD1+ ENT ESC

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

SRS DAY: Problématique liée à la virtualisation

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Architecture matérielle des systèmes informatiques

CH.3 SYSTÈMES D'EXPLOITATION

Contrôle d accès UTIL TP N 1 découverte

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Transcription:

PILE ENTREES / SORTIES INTERRUPTIONS Rappels de cours Le processeur dialogue avec les unités d'échanges via un circuit d'interface ou unité d'échange. A. Constitution et adressage des unités d'échanges Une unité d'échange est entre autres constituée par : - des registres de données (RD) sui contiennent les données à écrire vers les périphériques ou les données lues depuis les périphériques - un registre d'état (RE) qui indique la disponibilité de chaque registre de données (prêt / non prêt) - un registre de commande (RC) qui indique les caractéristiques de l'échange lié à chaque registre de données (lecture / écriture) commande état Logique de contrôle données Les registres des unités d'échanges peuvent être adressés selon deux manières : - adressage selon un espace d'adressage unique : les adresses de la mémoire centrale sont réparties entre cases mémoires et registres des unités d'échanges. Les instructions d'adressage mémoire sont utilisées pour adresser les registres des unités d'échanges. - adressage selon un espace d'adressage séparé : les registres des unités d'échanges disposent d'un espace d'adressage séparé accessible par des instructions d'entrées/sorties spécialisées (IN / OUT). B. Mécanisme des interruptions Une interruption est un événement externe provoquant l'arrêt du traitement courant du processeur en vue d'exécuter un autre traitement. Le traitement interrompu est repris ultérieurement là où il avait été arrêté. 1

La prise en compte des interruptions peut être interdite : c'est le masquage des interruptions. Deux instructions machine sont liées à cette opération : - EI : Enable Interrupt : autorise la prise en compte des interruptions en positionnant le bit I du registre PSW à 0 - DI : Desable Interrupt : n'autorise pas la prise en compte des interruptions en positionnant le bit I du registre PSW à 1 La prise en compte d'une interruption s'effectue avant le commencement d'un nouveau cycle d'instruction. Le traitement d'une interruption comporte les phases suivantes : 1/ Acquittement de l'interruption, masquage des interruptions, sauvegarde de CO, PSW et éventuellement des registres généraux, démasquage des interruptions 2/ Calcul de l'adresse de la routine d'interruption, branchement à cette adresse.e et exécution de la routine d'interruption 3/ Retour de la routine d'interruption par le biais de l'instruction RTI qui restaure le contexte sauvegardé à l'étape 1. C. Gestion des transferts entre le processeur et les unités d'échanges Il existe trois modes de gestion de ces transferts : - entrées/sorties programmées : le processeur interroge en permanence l'unité d'échange pour savoir si elle est prête ou non pour un nouveau transfert de donnée.* - entrées/sorties par interruption : l'unité d'échange signale par une interruption qu'elle est prête à accepter un nouveau transfert. - entrées/sorties par DMA : l'unité DMA (Direct Memory Access) permet à l'unité d'échange d'accéder seule à la mémoire centrale. Une opération d'entrées/sorties CPU s'effectue alors selon les étapes suivantes : AdM Mémoire centrale nbo octets - initialisation du Dma par le processeur pour décrire l'opération d'entrées/sorties à effectuer - transfert des données par le Dma DMA nbo @p - émission d'une interruption par le Dma en fin d'opération AdM sens. @p 2

Exercice 1 Exercices Adresse Contenu Registre Contenu 10 12 RB 50 11 12 100 13 α CO 400 14 127 15 Rsp 102 100 44 PSW 0000xxxxxxx 101 10 102 Soient les opérations suivantes; pour chacune d elles, représentez l évolution des registres du processeur ainsi que celle de la mémoire et de la pile. Chaque opération reprend l état de la mémoire centrale et des registres du processeur résultant de l opération précédente. Les nombres signés sont représentés sur 16 bits, selon le format du complément à 2. LOAD I R1 10 POP Rg1 R2 ADD Rg2 R1 R2 STORE D R1 15 PUSH Rg1 R1 LOAD Im RB 10 ADD B R1 5 PUSH Rg1 R1 Exercice 2 Soit l architecture 3 bus ci-dessous. Le format des microcommandes est : - entrée du contenu d'un bus vers un registre : nombusnomregistreen (exemple CR0En) - sortie du contenu d'un registre vers un bus : nombusnomregistresor (exemple BROSor ou AR0Sor) - entrée sur une entrée de l'ual : nombusentréeualen (exemple AUALaEn) - sortie de l UAL : nombusualssor (exemple CUALsSor) 3

Le passage du bus A ou du bus B vers le bus C s'effectue en activant une opération Nop sur l'unité Arithmétique et Logique (UAL), ce qui a pour effet de copier le contenu de l entrée a de l UAL sur la sortie de l'ual. Ainsi pour passer le contenu du bus A au bus C, les étapes sont : - mettre le contenu du bus A dans l entrée a de l UAL : AUALaEn ; - activer l opération Nop : Nop ; - sortir la sortie de l Ual sur le bus C : CUALsSor. L opération de lecture et écriture est déclenchée par une micro-commande LEC ou ECR. La micro-commande INCRSP incrémente le contenu du RSP. La micro-commande DECRSP décrémente le contenu du RSP. La micro-commande INCO incrémente le contenu du CO. La micro-commande AXSor permet de sortir sur le bus A la partie basse du registre RI. R.I bus A bus B registres généraux R0 R15 RSP Nop add a UAL s b CO RB a b INCO UAL @ INCRSP s DECRSP add RDO RAD b u s m é m o i r e bus C QUESTION 1 Donnez la suite de microcommandes correspondant à l exécution de l instruction suivante : POP Rg1 R0 QUESTION 2 Soit la séquence d instructions suivantes : DI POP Rg1 R0 ADD Im R0 10 STORE B R0 100 4

EI A/ Explicitez ce que fait chaque instruction en une phrase. B/ Indiquez la réponse correcte parmi les trois suivantes, si l on suppose que la valeur 50 est en sommet de pile et que le registre RB contient la valeur 100. 1. la case 200 contient la valeur 60 à l issue de l exécution 2. la case 100 contient la valeur 60 à l issue de l exécution 3. le sommet de pile contient la valeur 40 à l issue de l exécution C/ L interruption IRQ2 est délivrée au processeur durant l exécution de cette séquence d instruction. Que se passe-t-il? Pourquoi? Exercice 3 On considère une machine admettant 8 niveaux d interruptions matérielles numérotées de 0 à 7, le niveau d interruptions 0 étant le plus prioritaire et le niveau 7 le moins prioritaire. Le processeur dispose de deux broches, une broche INT sur laquelle lui parvient le signal d interruption, une broche INTA avec laquelle il acquitte les interruptions. Les 8 niveaux d interruptions sont gérés par un contrôleur d interruptions de type circuit 8259A qui possède deux registres de 8 bits chacun, lui permettant de gérer les requêtes d interruptions et leurs priorités. Le premier registre appelé registre ISR mémorise le niveau d interruption en cours de traitement en positionnant à 1 le bit correspondant à l interruption en cours de traitement. Le second registre IRR mémorise les interruptions reçues par le contrôleur en positionnant à 1 le bit correspondant à l interruption reçue, cette mémorisation durant jusqu à ce que l interruption ait été traitée par le processeur. Les priorités sur les interruptions fonctionnent de la manière suivante : lorsque le processeur traite une interruption de niveau i (le bit i du registre ISR est alors à 1), toutes les interruptions de priorité inférieure ou égale à i parvenant au contrôleur sont mémorisées dans le registre IRR, mais elles ne sont pas délivrées au processeur. Elles seront délivrées selon leur ordre de priorité, ultérieurement, dès que le traitement de l interruption i aura été achevé. Une interruption de priorité supérieure au niveau i est au contraire délivrée au processeur et interrompt le traitement de l interruption i en cours qui est repris ultérieurement, une fois le traitement de l interruption plus prioritaire achevé. 1. Considérez l état courant du contrôleur et du processeur donné sur le figure cidessous. Que se passe-t-il? Que va faire le processeur? 2. En partant de l état précédent, décrivez la suite des opérations tant au niveau du contrôleur (évolution des registres ISR et IRR) que du processeur si l on considère que surviennent simultanément au contrôleur les interruptions 1 et 5. 5

Mémoire Centrale Processeur ecr 100 170 1023 ROUTINES D INTERRUPTIONS Programme utilisateur Table des vecteurs d interruptions 0 1 2 3 4 5 6 7 100 110 120 130 140 150 160 170 lec IRQ 2 bus de données Co 1023 INTA INT bus d adresses Unité d échange 0 0 0 0 0 1 0 0 ISR 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 IRR 7 6 5 4 3 2 1 0 Contrôleur d interruptions IRQ 2 Unité d échange Unité d échange Exercice 3 On considère que MAP32 dispose d'un espace d'adressage unique. Une unité périphérique de type imprimante est considérée. ETAIMP est l adresse du registre d'état de l'imprimante tel que le bit de poids fort de ETAIMP est à 0 si l'imprimante est non prête et à 1 sinon. SORIMP est l adresse du registre de données de l'imprimante. Question 1 L'instruction suivante permet de tester le signe du contenu d'un registre : TESTS Rg1 Reg. TESTS positionne le bit S du registre d'état PSW. Que réalise le programme ci-dessous? Initialisation des registres RB et R1 LOAD D RB EMPL LOAD Im R1 80 ATTENTE : LOAD D R2 ETATIMP TESTS Rg1 R2 JMPN ATTENTE LOAD B R3, 0 STORE D R3 SORIMP ADD Im RB, 1 ADD Im R1-1 6

JMPZ FIN JMP ATTENTE FIN : STOP Question 2 On suppose à présent que la fin de transfert de chaque caractère par l'unité d'échange vers l'imprimante est signalée par une interruption. Commentez le code ci-dessous en expliquant son rôle. DI ADD Im R1-1 JMPZ FIN LOAD B R3 0 STORE D R3 SORIMP ADD Im RB,1 FIN : RTI 7