Systèmes ordinés en temps réel

Documents pareils
Architecture des Ordinateurs. Partie II:

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 :

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

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

Chapitre 4 : Les mémoires

Rappels d architecture

Tests de performance du matériel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Logiciel de Télégestion

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

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

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A)

Leçon 1 : Les principaux composants d un ordinateur

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

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Fonctionnement et performance des processeurs

Concepts et systèmes de stockage

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Architecture des ordinateurs Introduction à l informatique

Logiciel REFERENCE pré-requis informatiques et techniques :

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

EL70x1 en mode position. Mise en œuvre rapide. VERSION : Beta / DATE : 31 Juillet 2011

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Les failles Format String

PIC 16F84. Philippe Hoppenot

Manuel d utilisation Enregistreur autonome de poche. Version 1.1 TRO-TR-BADL100C-03-F

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Vers du matériel libre

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Millenium3 Atelier de programmation

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

I00 Éléments d architecture

Votre Réseau est-il prêt?

Ordinateurs, Structure et Applications

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

Exécutif temps réel Pierre-Yves Duval (cppm)

Architecture des ordinateurs

Système de stockage IBM XIV Storage System Description technique

Solution IT Power Management Gérer la consommation électrique de toute votre infrastructure IT

Technologie 125 Khz pour une performance optimale en en environnement industriel. Création des badges. Programmation des badges

Intel Corporation Nicolas Biguet Business Development Manager Intel France

Parallélisme et Répartition

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Exécution des instructions machine

Unité centrale de commande Watts W24

Initiation au HPC - Généralités

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

ACTIVITÉ DE PROGRAMMATION

CAHIER DES CHARGES D IMPLANTATION

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

INSTALLATION MONOSITE

Serveur Lynx CALLEO Application 2240S Fiches Technique

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

1 Mesure de la performance d un système temps réel : la gigue

Compilation (INF 564)

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

Mode Opératoire Ciel Gestion commerciale V 12 et s (2006)

Politique de gestion de l'équipement informatique. Par l'exécutif de l'association des étudiants de Polytechnique (AEP)

Equipement. électronique

Limitations of the Playstation 3 for High Performance Cluster Computing

SIN-FPGA DESCRIPTION PAR SCHEMA

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

MATHÉMATIQUES ET SCIENCES HUMAINES

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Enregistreur sans papier avec écran TFT et carte Compact Flash. B Description des interfaces 07.07/

ASR1 TD7 : Un microprocesseur RISC 16 bits

CH.3 SYSTÈMES D'EXPLOITATION

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

VIII- Circuits séquentiels. Mémoires

//////////////////////////////////////////////////////////////////// Administration bases de données

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

HP 600PD TWR i G 4.0G 39 PC

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Fiche produit FUJITSU ETERNUS DX200F Baie de stockage Flash

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Table des matières. F-1 Manuel d utilisation

Vidyo : une maquette pour la visioconférence sur le poste de travail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Téléchargement du micrologiciel de téléviseur ACL AQUOS

Visiophone couleur 2 fils - V400 RTS. Manuel d installation et d utilisation A

COMPTAPL V2 sur clé USB 2

PIC : COURS ASSEMBLEUR

Scénario du consultant réseau

Contrôleur de communications réseau. Guide de configuration rapide DN

PROGRAMMATION D'UN MICROCONTRÔLEUR

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Transcription:

Département de génie électrique Professeur : Jean-Marc Beaulieu Systèmes ordinés en temps réel Exercices du Chapitre 5 Réponse aux évènements Question 1 Dans un système en temps réel, on sait que l instruction la plus longue prend 120 µs et que les interruptions ne sont jamais désarmées pour plus de 100 µs. De plus, le délai de propagation est de 100 ns pour tous les signaux. Donner une estimation de la latence d interruption (pire cas). Question 2 Donner une caractéristique des architectures RISC qui tend à réduire la latence d interruption par rapport au processeur CISC? Question 3 Vous concevez un système avec un processeur dont la fréquence d opération est de 100 MHz. En consultant les spécifications du processeur, vous obtenez les informations suivantes : Sauvegarde du contexte Récupération du contexte Traitement du vecteur d interruption 45 cycles 21 cycles 30 cycles Votre système doit traiter des interruptions qui se produisent à intervalle régulier de dix (10) µs, sans en manquer aucune. De plus, chaque macro-instruction (assembleur) prend quatre (4) cycles. a) Quel est le nombre maximal d instructions permis dans la fonction de traitement des interruptions? b) Supposons qu un programme d arrière-plan prend 50 % du temps du processeur. Quel est le nombre maximal d instructions permis? c) Vous déterminez que 40 instructions sont nécessaires. Toujours avec un programme d arrière-plan qui prend 50 % du temps du processeur, quel est le nombre maximum d interruptions possible dans une seconde?

Question 4 Nous avons le système avec quatre (4) périphériques utilisant le traitement par interrogation décrit par le diagramme suivant : Début Initialisation Q 1? Traitement 1 Q 2? Traitement 2 Q 3? Traitement 3 Q 4? Traitement 4 Non Fini? Terminaison Fin 2

Les temps de traitement sont donnés dans le tableau suivant : Opération Temps d exécution Initialisation 5 s Interrogation 1 (Q 1 ) 4 µs Traitement 1 5 ms Interrogation 2 (Q 2 ) 4 µs Traitement 2 20 ms Interrogation 3 (Q 3 ) 4 µs Traitement 3 1 ms Interrogation 4 (Q 4 ) 4 µs Traitement 4 5 ms Interrogation (Fin de la boucle) 4 µs Terminaison 100 ms a) Donner une estimation du temps de réponse maximum pour chacun des périphériques. b) Donner le temps minimum et le temps maximum d exécution d une boucle. c) Si le périphérique deux (2) est désactivé (exemple : le périphérique débranché), donner une estimation du temps de réponse maximum pour chacun des périphériques encore actifs. d) On ajoute au système un mécanisme d interruption. Il y a une seule interruption. Elle se produit de façon cyclique à chaque milliseconde. Le traitement complet d une interruption dure dix (10) µs. Dans ce cas, donner une estimation du temps de réponse maximum pour chacun des périphériques encore actifs (le périphérique deux (2) est encore désactivé). Question 5 Votre mandat est de concevoir un système pour une application en temps réel. Le système contient deux (2) liens de communication distincts : - Lien 1 : Un lien est utilisé pour la communication entre le processeur et une unité de lecture/écriture sur disquettes amovibles. Comme cette unité de disquette ne contient pas de mémoire cache, le temps de lecture et d écriture varie énormément selon la localisation de l information sur la disquette. - Lien 2 : Un deuxième lien est utilisé pour la communication entre le processeur et la mémoire centrale de type SDRAM. Pour chacun des deux (2) liens de communication, indiquer quelle est la meilleure méthode de communication (synchrone ou asynchrone) et justifier votre réponse [expliquer quel est l avantage de votre choix]. 3

Question 6 Vous avez obtenu un contrat pour concevoir un système informatique en temps réel, tel que présenté dans la figure ci-dessous. Un contrôleur d interruption est utilisé (8259). L interruption IRQ0 est la plus prioritaire. E / S US1 données IRQ1 CPU 586 état E / S US2 données IRQ4 INT INTA INTR INTA état À partir du diagramme précédent : Adresses + données a) On suppose que les signaux IRQ1 et IRQ4 sont activés en même temps. Supposer que le traitement associé à IRQ0, IRQ2 et IRQ3 est complété et qu il n y aura pas d autre interruption à ces niveaux pour la durée des traitements associés à IRQ1 et IRQ4. Indiquer clairement toutes les étapes du traitement de ces 2 IRQs. Illustrer, pour chaque étape : - le contenu des registres IRR et ISR du 8259; - l échange des signaux INT,INTA,INTR; - les actions du CPU; - les transferts d informations sur le bus de données; - les numéros de vecteurs utilisés. Note : IRQ Vecteur IRQ Vecteur IRQ0 0x08 IRQ4 0x0C IRQ1 0x09 IRQ5 0x0D IRQ2 0x0A IRQ6 0x0E IRQ3 0x0B IRQ7 0x0F b) Vous avez écrit une sous-routine pour l IRQ1 et une sous-routine pour l IRQ4. Identifier les adresses des deux (2) cases mémoire dans lesquelles vous devrez placer les pointeurs sur vos deux (2) sous-routines lorsque le processeur Intel fonctionne en mode réel. 4

Question 7 Un programme en temps réel fonctionne de la façon suivante : sur détection d'au moins un événement, le programme principal appelle le sous-programme correspondant identifié "fonction j"; les fonctions "fonction d'interruption i" sont exécutées à chaque activation respective d'une ligne d'interruption. Les temps de traitement du tableau ci-dessous ont été mesurés par chronométrage et incluent les délais de traitement d'exception des fonctions d'interruption. Pseudo-code /* Programme principal */ fonction d initialisation; /* Boucle d interrogation */ { Temps de traitement Période minimale T 10 s - Interrogation événement 1? 2 µs - fonction 1; 2 ms 40 ms Interrogation événement 2? 2 µs - fonction 2; 25 ms 200 ms Interrogation événement 3? 2 µs - fonction 3; 1 ms 10 ms Interrogation événement 4? 2 µs - fonction 4; 5 ms 50 ms Interrogation sortie? 2 µs - sortie; 100 ms - Va à boucle d interrogation 1 µs - /* Fin du programme principal */ fonction d interruption 1; 20 µs 100 µs fonction d interruption 2; 40 µs 125 µs fonction d interruption 3; 50 µs 1 ms Tableau Système en temps réel fictif % d'utilisation a) D'après les temps au tableau calculer le temps disponible (en % de CPU) qu'il reste. Conclure sur la capacité à ce système d'accommoder des fonctionnalités supplémentaires. b) Calculer le temps maximal qui s'écoulerait entre le début et la fin de la boucle d'interrogation du programme principal si toutes les fonctions d'interrogation et d'interruption sont actives. c) Dans un exercice d'optimalisation du code du logiciel du système, quelle fonction apparaît être la plus avantageuse au niveau de la réduction du temps de traitement? Expliquer. 5

Question 8 Vous concevez un système avec deux choix de modèle d interruption différents et dix périphériques. Le premier choix est un système avec interruption vectorisée selon les spécifications suivantes à une fréquence d opération de 84MHz : Interruption vectorisée : - Fréquence d opération : 84 MHz - Sauvegarde du contexte : 55 cycles - Récupération du contexte : 30 cycles - Traitement du vecteur d IRQ : 30 cycles (lecture + calcul de l adresse de la sous-routine + saut PC) Le deuxième système à évaluer est un système utilisant une interruption avec interrogation dont les spécifications sont : Interruption avec interrogation : - Fréquence d opération :? - Sauvegarde du contexte : 55 cycles - Récupération du contexte : 30 cycles - Temps pour détecter le périphérique : 52 cycles/périphérique (c est-à-dire que l interrogation des 10 périphériques demande 520 cycles) Les spécifications suivantes sont communes aux deux systèmes : - Nombre de périphériques : 10 - Le système doit traiter des IRQ à intervalle régulier de 8us et il n est pas permis d en manquer. - Chaque macro-instruction prend 4 cycles. a) Calculer le nombre d instructions permises pour le traitement de chaque interruption avec le système d interruption vectorisée. b) Calculer la fréquence d opération minimale du système d interruption avec interrogation pour avoir le même nombre d instructions dans la fonction de traitement d interruption que précédemment [même nombre qu au point en a) ] Question 9 Vous devez ajouter à un système en temps réel une fonction qui permettra de vérifier les températures provenant de 16 capteurs. Le bloc de capteurs génère 128 interruptions par secondes. L ordinateur sur lequel la fonction sera installée a une fréquence d opération de 1 MHz et un processus en arrière-plan occupe 90 % du temps du processeur. En sachant que : - Sauvegarde du contexte : 40 cycles - Récupération du contexte : 35 cycles - Traitement du vecteur d interruption : 50 cycles - Latence d interruption : 8 cycles Évaluez le nombre de cycles disponibles pour chaque interruption. 6