Examen Final. Directives. 0 Nom et prénom (1 point de bonus) IFT avril Final - ift1215 Nom: Code:

Documents pareils
Partie 7 : Gestion de la mémoire

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Systemes d'exploitation des ordinateurs

Éléments d'architecture des ordinateurs

ASR1 TD7 : Un microprocesseur RISC 16 bits

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

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

Architecture des ordinateurs

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

QUESTION 1 {2 points}

IV- Comment fonctionne un ordinateur?

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Structure fonctionnelle d un SGBD

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

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

Système binaire. Algèbre booléenne

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Chapitre 4 : Les mémoires

SYSTÈME DE GESTION DE FICHIERS

Analyse de PRESENT avec peu de données

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

IFT1215 Introduction aux systèmes informatiques

Le chiffre est le signe, le nombre est la valeur.

Algorithme. Table des matières

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

Chapitre 1 : Introduction aux bases de données

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Tests de performance du matériel

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Conception de circuits numériques et architecture des ordinateurs

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Concept de machine virtuelle

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

la virtualisation pour quoi faire?

Organisation des Ordinateurs

Conversion d un entier. Méthode par soustraction

1 Description générale de VISFIELD

Exécution des instructions machine

Une version javascript sera disponible directement dans le cours prochainement.

PG208, Projet n 3 : Serveur HTTP évolué

Cours 1 : Qu est-ce que la programmation?

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Logiciel Libre Cours 3 Fondements: Génie Logiciel

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Logiciel EV3 LEGO MINDSTORMS Education

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Logiciel de Base. I. Représentation des nombres

Lecteur de carte à puce LCPM1 SOMMAIRE

CATALOGUE DES FORMATIONS

Cours Informatique 1. Monsieur SADOUNI Salheddine

Architecture Matérielle et Logicielle (LIF6) Cahier d'exercices, automne 2014

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

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Compte-rendu de projet de Système de gestion de base de données

NOTIONS DE RESEAUX INFORMATIQUES

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

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

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

Chapitre 1 I:\ Soyez courageux!

Analyse de la bande passante

TD : Codage des images

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Le poids et la taille des fichiers

Présentation du PL/SQL

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

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

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

Cours 3 : L'ordinateur

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Instruments de mesure

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

CAHIER DES CHARGES D IMPLANTATION

Sécuriser les données 1

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

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

Étude de l application DNS (Domain Name System)

Guide de configuration de SQL Server pour BusinessObjects Planning

Initiation à LabView : Les exemples d applications :

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

Les arbres binaires de recherche

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

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

Rappels d architecture

Technologie SDS (Software-Defined Storage) de DataCore

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Comment installer la configuration des salles sur son ordinateur personnel?

Présentation du système DNS

1 LE L S S ERV R EURS Si 5

Licence Sciences et Technologies Examen janvier 2010

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Informatique Générale

Création d'étiquettes de disques à l'aide de LightScribe

Transcription:

Examen Final IFT-1215 14 avril 2014 Directives Documentation autorisée : une page manuscrite recto. Pas de calculatrice, téléphone, ou autre appareil électronique autorisé. Répondre sur le questionnaire dans l'espace libre qui suit chaque question. Utiliser le verso de la page si nécessaire. Ne faire que 5 des 6 questions (à choix). Chaque question vaut 5 points pour un total maximum de 25 points. Les questions ne sont pas placées par ordre de diculté. 0 Nom et prénom (1 point de bonus) Écrire son nom et prénom et son code permanent en haut de chaque page. 1

1 Circuits logiques Mettre au point un compteur sur 2 bits. Le circuit a 2 entrées, une horloge ck et une ligne I, et deux sorties C 0 et C 1. Si l'entrée I a une valeur de 0 lors du coup d'horloge, C 0 C 1 ne change pas, et si elle a une valeur de 1 lors du coup d'horloge le nombre binaire 2-bit représenté par C 0 C 1 augmente de 1 (avec un wraparound de 11 vers 00). 1. Donner la table de vérité de la partie combinatoire du circuit (entrées I, C 0 et C 1 ; et sorties C 0 et C 1 ). 2. Dessiner le circuit avec ses portes logiques et ses deux registres. 2

2 LMC Rappel : l'encodage des instructions LMC est comme suit HLT 000 IN 901 OUT 902 ADD SUB STO LDA 1xx 2xx 3xx 5xx BR BRZ BRP 6xx 7xx 8xx On veut créer le LMC-16, une version légèrement modernisée du LMC : au lieu de manipuler des mots de 3 chires décimaux, le LMC-16 manipule des mots binaires de 16bit. 1. Au lieu d'un chire décimal, combien de bits faut-il réserver dans l'encodage des instructions pour encoder le code de chaque instruction (i.e. l'opcode). 2. Combien de bits d'adressage peut-on donc utiliser? Combien d'adresses (ou tiroirs) le LMC-16 aura-t-il? 3. Pourrait-on utiliser un bit de moins pour l'opcode? Si oui, comment et quels seraient les inconvénients? Si non, pourquoi, et quel serait l'avantage d'utiliser un bit de plus? Montrer l'encodage en langage machine LMC-16 (en binaire ou hexadécimal) du code assembleur suivant : loop loopdone (LDA size) (SUB i) (BRZ loopdone) (BR loop) (OUT) (HLT) size (DAT 10) i (DAT 0) 3

3 Mémoires caches Un programme contient deux boucles imbriquées : une petite boucle interne et une boucle externe. La structure générale du programme est : 0: 512: 767: BRP 512 1535: BRP 0 2047: HALT Les adresses ci-dessus sont en décimal. Toutes les instructions sauf deux instructions de branchement (adresses 767 et 1535) sont exécutées successivement en commençant à l'adresse 0. La boucle externe est exécutée 2 fois, et à chaque itération, la boucle interne est exécutée 10 fois. Chaque adresse contient une instruction. Le programme est exécuté sur un ordinateur avec une mémoire cache d'instructions de type direct-mapped (à correspondance directe) avec les paramètres suivants : Taille de la mémoire totale Taille de la mémoire cache Taille de bloc (i.e. ligne de cache) Temps d'accès à la mémoire principale Temps d'accès au cache 16 millions de mots 1024 mots 32 mots 100 ns 1 ns 1. Déterminer le nombre de bits dans les champs étiquette, index et offset de l'adresse de la mémoire principale. 2. Calculer le temps total nécessaire pour la recherche (fetch) des instructions pendant l'exécution du programme. Le faire morceau par morceau : 0-511 au premier passage, 512-767 au premier passage, 512-767 pendant les 9 passages suivants, 4

4 Performance des disques Soit un disque dur divisé en 1000 secteurs, 50000 cylindres et 6 plateaux et où chaque bloc contient 512 bytes. Le disque tourne à une vitesse de 5400tpm et son temps moyen de recherche (seek time) est de 10ms. 1. Quelle est la capacité totale du disque? 2. Quel est le taux de transfert maximum en megabytes par seconde (MB/s)? 3. Quelle est la latence minimum et maximum? Latence moyenne? 4. Soit un processus P1 qui lit séquentiellement un chier de 100MB placé de manière optimale sur le disque. Combien de temps faudra-t-il approximativement pour lire tout le chier? 5. Soit un processus P2 qui lit un autre chier dont les blocs, au lieu d'être bien contigus, sont répartis de manière complètement aléatoire sur l'ensemble du disque. Combien de temps faudra-t-il approximativement pour lire tout le chier? 6. Imaginons que le disque contient un cache et chaque fois qu'un bloc est lu, tous les blocs de la piste correspondante sont placés dans le cache. De plus, pendant que le disque est en train de chercher un bloc sur le disque, il peut répondre à d'autres requêtes (à conditions que le bloc correspondant soit dans le cache). Si P1 et P2 sont lancés au même moment, combien de temps leur faudra-t-il approximativement pour lire leur chier respectif? 5

5 Ordonnancement Soit un système d'exploitation de style Unix utilisé pour une ordinateur de bureau. L'ordonnanceur utilise un système de priorités dynamiques, où chaque niveau de priorité a sa propre queue. Chaque niveau de priorité utilise un quantum de temps qui est le double de celui de la priorité antérieure et le noyau change la priorité des processus en observant leur comportement. 1. Donner les 2 plus importants critères de performance que l'ordonnanceur aimerait optimiser. 2. Quand l'ordonnanceur diminue-t-il la priorité d'un processus? Quand l'ordonnanceur augmente-t-il la priorité d'un processus? 3. Si tout se passe bien, quel genre de processus devrait obtenir une priorité élevée, et quel genre obtiendra une priorité basse? 4. Soit un processus de simulation de qualité de l'air qui prend beaucoup de temps et de mémoire, et que l'utilisateur laisse tourner pendant qu'il développe frénétiquement la version suivante dans son éditeur préféré (Emacs, bien sûr). Ce processus de simulation utilise (très activement) deux fois plus de mémoire virtuelle que la mémoire physique disponible. Quel niveau de priorité le noyau va-t-il donner à ce processus et pourquoi? 5. On ajoute un concept de priorité statique souple qui ne xe pas un processus dans un niveau de priorité, mais qui doit inuencer l'algorithme de priorité dynamique pour augmenter/diminuer la priorité dynamique que le noyau aectera au processus. Comment le noyau peut-il utiliser une telle priorité statique pour qu'elle aie l'eet désiré? 6

6 Mémoire virtuelle Soit un CPU avec un adressage (logique et physique) sur 32bits avec des pages de 4KB. La table des pages est organisée en hiérarchie de sous-tables, ou chaque sous-table tient dans une case (frame) de 4KB. Chaque entrée de la table occupe 32bits qui combinent le numéro de case avec quelques bits qui contrôlent les permissions d'accès. 1. Combien de niveaux y a-t-il dans cette table des pages hiérarchiques? 2. Mentionner 1 avantage et 1 inconvénient de l'utilisation de tables hiérarchiques plutôt qu'une table à un seul niveau. 3. Décomposer les 32bits d'une adresse pour montrer quels bits sont utilisés pour le déplacement (oset) et pour l'index de chaque niveau. 4. Décrire de manière concise et précise (i.e. une formule mathématique ou du pseudo-code) comment obtenir l'adresse physique qui correspond à une adresse logique. Utiliser par exemple une notation comme mem[n] pour lire le mot à l'adresse N et M.case pour extraire la partie numéro de case d'un mot N qui contient une entrée de table des pages. 5. Dans quelles conditions est-il préférable de lire la table des pages sans passer par le cache? 7