Télécom 2A, Examen d'architecture Cours de F. Pétrot, 3 heures, tout documents autorisés.



Documents pareils
Conception de circuits numériques et architecture des ordinateurs

Exécution des instructions machine

Fonctionnement et performance des processeurs

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

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

Compilation (INF 564)

Conception de circuits numériques et architecture des ordinateurs

Tout savoir sur le matériel informatique

GESTION DE LA MEMOIRE

Rappels d architecture

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Une méthode de conception de systèmes sur puce

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Programmation assembleur : aperçu

Partie 7 : Gestion de la mémoire

Initiation à la programmation en Python

QUELQUES CONSEILS POUR LA MAINTENANCE DE VOTRE ORDINATEUR

Architecture des ordinateurs

Cours 3 : L'ordinateur

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.

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

Tutoriel - flux de facturation

CM2 L architecture MIPS32

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Logiciel SCRATCH FICHE 02

IFT1215 Introduction aux systèmes informatiques

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/ / 15

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

Travail collaboratif à distance

QUESTION 1 {2 points}

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Maîtriser l'utilisation des outils bureautiques. Maîtriser le logiciel de traitement de texte - Word. Maitriser le logiciel tableur - Excel

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Concept de machine virtuelle

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Cours de Génie Logiciel

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.

Logique séquentielle

PIC 16F84. Philippe Hoppenot

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Chapitre 4 : Les mémoires

Licence Sciences et Technologies Examen janvier 2010

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

Architecture des calculateurs

Qu'est-ce que le BPM?

1 Repérer les paramètres d installation (.exe ou.msi).

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

L annuaire et le Service DNS

En vue de l'obtention du

CATALOGUE Parcours de Formations E-Learning BILAN FORMATION STAGE. e-learning

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

PL7 Micro/Junior/Pro Métiers communication Tome 1. TLXDSCOMPL7xxfre

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

Chapitre 4 Pierre, papier, ciseaux

INTERNET & RESEAUX. Dino LOPEZ PACHECO lopezpac@i3s.unice.fr

Architecture matérielle des systèmes informatiques

Limitations of the Playstation 3 for High Performance Cluster Computing

Configuration d'un annuaire LDAP

Initiation au binaire

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

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

Dispositions relatives à l'installation :

Organisation des Ordinateurs

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

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

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

Manuel d installation De la Cryptolib CPS Dans un environnement client/serveur TSE/CITRIX

VIII- Circuits séquentiels. Mémoires

Annexe : La Programmation Informatique

Artica. La déduplication. Révision Du 08 Février 2011 version

Éléments d'architecture des ordinateurs

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

Parcours FOAD Formation EXCEL 2010

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

Guide Mémoire NETRAM

SYSTÈME DE GESTION DE FICHIERS

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Architecture des ordinateurs

Une version javascript sera disponible directement dans le cours prochainement.

Transmissions série et parallèle

Initiation au HPC - Généralités

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

Guide d'installation de l'amplificateur de signal Wi-Fi WN1000RP pour périphériques mobiles

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

Bernard HAMM, Évelyne LAVOISIER

Architecture : Circuits numériques et éléments d architecture

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

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Télécom Nancy Année

Fonctions pour la France

Transcription:

Télécom, Examen d'architecture Cours de F. Pétrot, 3 heures, tout documents autorisés. 1 Exercice 1 : Multiprocesseur (2pts) Soit un système constitué de 2 processeurs avec des caches de données sans gestion de la cohérence, ayant une politique d'écriture write-through, et une mémoire. Question 1 (1pt) Illustrez le problème de la cohérence des données entre ces différentes éléments à l'aide de quelques instruction (en assembleur MIPS ou MicroBlaze) tournant sur les 2 processeurs. On suppose maintenant que l'instruction MIPS inval $2 peut invalider la ligne de cache cachant l'adresse contenue dans le registre $2 (elle est sans action si la ligne n'est pas cachée). Question 2 (1pt) Toujours en l'absence de cohérence matérielle, modi ez votre code a n qu'il garantisse que la dernière donnée lue est bien la dernière donnée écrite. 2 Exercice 2 : Analyse quantitative (3pts) Soit les hypothèses suivantes : un processeur exécute une instruction RISC par cycle ; la latence de lecture d'une ligne de cache est de l = 12 cycles ; les écritures sont non-bloquantes ; pour une application donnée, le pourcentage d'instructions de lecture est de 20%, que nous notons r = 0:20. le taux de miss m est de 8% pour le cache de données, et on considère qu'il n'y a pas de miss sur les instructions. Question 3 (0,5pt) Donnez la formule générale du CPI(l; r; m) dans ces conditions. Faites l'application numérique avec les valeurs fournies. On ajoute la gestion de la mémoire virtuelle. Un miss dans la TLB coûte tl = 10 cycles, avec un taux de miss tm de 0:2%. Question 4 (1pt) Donnez la formule générale du CPI(l; r; m; tl; tm) dans ces conditions. Faites l'application numérique avec les valeurs fournies. Une faute de page coûte fl = 10 6 cycles, et le taux d'échec de pagination est de fm = 3 10 4 %. Question 5 (1.5pt) Donnez la formule générale du CPI(l; r; m; tl; tm; fl; fm) dans ces conditions. Faites l'application numérique avec les valeurs fournies. Examen d'architecture - 1S page - 1

3 Exercice 3 : Invalidation logicielle d'une ligne de cache (4pts) On suppose que le processeur MIPS possède une nouvelle instruction permettant d'acceder directement à son cache de donnée a n d'en invalider le contenu. Cette instruction s'appelle inval et prend comme argument un registre contenant une adresse. Cette adresse est émise sur le bus d'adresse en direction du cache (bus ADDR[31 :0] sur le schéma du cache). Cette instruction va nécessiter l'ajout d'un peu de matériel (au moins une petite machine à état) dans le cache. FRZ A[31:2] ADDR[31:0] DATAOUT[31:0] D[31:0] DATAIN[31:0] tag index ADDR[m 1:0] offset LA DV SDx WEDx SD0 WED0 DIRECTORY OE WE CE DATA[n 1:p+1] DATA[p] EVINCE DATA[p 1:0] == HIT FIG. 1 Architecture du cache. Les signaux ADDR, DATAIN et DATAOUT sont connectés au processeur, ainsi que le signal FRZ qui gèle le processeur. Le signal D est connecté au bus. Les autres signaux sont internes au cache, et géré par des machines à états non représentées. Le signal EVINCE n'est pas utile dans cet exercice. Son comportement est le suivant : si la donnée à l'adresse considérée n'est pas dans le cache, alors l'instruction est sans effet. Si la donnée à l'adresse considérée est cachée, alors la ligne de cache doit être invalidée. Question 6 (1pt) Identi ez sur le schéma le bit de validité et spéci ez, en français, la manière dont une invalidation se déroule. Question 7 (1pt) Ajoutez sur le schéma du cache (dont vous ne recopierez que la partie utile sur votre copie) les éléments matériels nécessaires, et donnez la liste des signaux utilisés. Question 8 (2pt) Dessinez l'automate d'état qui gère l'invalidation. Précisez sur les arcs les conditions de transitions, dans chaque état la valeur des signaux de Moore, et sur les arcs les signaux de Mealy (s'il y en Examen d'architecture - 1S page - 2

a). 4 Exercice 4 : Sauvegarde d'une ligne de cache Write-Back sur PI-Bus (5pts) On se propose de concevoir le matériel nécessaire à la sauvegarde d'une ligne d'un cache Write-Back lors de son évincement. La ligne est constituée de 4 mots. On suppose que le cache est à correspondance directe, dont l'architecture est illustrée par la gure 1, comme pour l'exercice précédent. Les signaux D[31 :0] et A[31 :2] sont respectivement les signaux de données et d'adresse du PI-Bus. Le circuit sera réalisé sous la forme d'une machine d'état pilotant un chemin de données. On suppose que l'on dispose d'une mémoire simple accès (c.-à-d. que l'on ne peut pas lire et écrire dedans au même cycle), dont l'interface est : DATA[127 :0], donnée en entrée (reçue), lors d'une écriture ou donnée en sortie (fournie), lors d'une lecture ; OE, lecture si 1 reçu par la memoire ; WE, écriture si 1, reçu par la memoire ; ADDR, adresse de l'action (lecture ou écriture, reçue) ; CE, selection de la mémoire (reçue). Cette mémoire est asynchrone, ainsi les différents signaux d'entrée doivent être stable lorsque CE passe à 1, et c'est l'opération précisée sur ces signaux qui est effectuée. Le cache fournit un signal EVINCE qui, s'il vaut 1, indique qu'il faut évincer la ligne dont l'adresse est disponible sur les ls ADDR[31 :0]. Question 9 (1pt) Précisez l'utilisation des signaux ADDR, LA et DV en trois lignes, et ajoutez le matériel nécessaire à la construction du signal ADDR. Il est inutile de recopier le cache, ne dessinez sur votre feuille que la partie demandée. Le bus utilisé pour effectuer le transfert des mots consituant la ligne de cache est le PI-Bus. Un diagramme des temps du transfert est donnée dans la gure 2. Nous dé nissons un PI-Bus allégé dont les signaux sont les suivants : Examen d'architecture - 1S page - 3

CLK REQA GNTA * ACK RDY RDY WAT RDY RDY READ OPC WD4 WD4 WD4 WD4 WD4 A A0 A1 A2 A3 A3 SEL* D D0 D1 D2 D3 FIG. 2 Chronogramme de l'écriture de 4 mots Nom emis reçu commentaires RESETN environnement tous remise à zéro. CLK environnement tous horloge système, active sur front montant. REQ x maître x BCU Requête du maître x pour le bus. GNT x BCU maître x Donne le bus au maître x. READ maître esclave Lecture si 1, écriture si 0. OPC[3 :0] maître esclave, BCU Type de transfert. A[31 :2] maître esclave, BCU Adresse du transfert. D[31 :0] maître, esclave esclave, maître Donnée. ACK[2 :0] esclave, BCU maître Réponse au transfert. SEL y BCU esclave y Sélection de l'esclave y. Les signaux sont tous actifs à l'état haut, hormis le RESETN qui est actif à l'état bas. Nous rappellons que les adresses sont sur 30 bits, les 2 bits de poids faibles étant dé nis par les opcodes spéci ants le transfert, et que les octets signi catifs sont alignés à droite. Les signaux READ, OPC et A sont positionnés au cycle n, et les signaux ACK et D sont positionnés au cycle n + 1. Le signal ACK peut prendre les valeurs suivantes : symbole WAT RDY description transfert retardé. transfert effectué. Le signal OPC ne peut prendre que la valeur WD4. Question 10 (0,5pt) Le cache est-il un maître ou un esclave sur le PI-Bus? Question 11 (0,5pt) Précisez l'interface de l'automate qui séquence l'évincement de la ligne de cache et Examen d'architecture - 1S page - 4

dites si les signaux de sortie sont des signaux de Moore ou de Mealy. Question 12 (3pt) Donnez le diagramme d'états en précisant sur chaque arc les conditions de transition. Etiquetez les nœuds avec les valeurs des sorties de Moore et les arcs avec les valeurs des sorties de Mealy. 5 Exercice 5 : processeur RISC (7pts) 5.1 Annulation d'instructions On désire ajouter au MIPS R3000 l'instruction bne,a $x, $y label qui permet d'annuler l'instruction qui suit le bne,a si le branchement n'est pas pris. Ce type d'instruction est utile en sortie de boucle, car elle permet de faire dans le delay slot une instruction qui ne doit être faite que si l'on itère la boucle. Question 13 (3pt) En supposant que l'on dispose du pipeline à 5 étages rappellé gure 3, précisez les modi cations à apporter pour l'implantation de cette instruction. indiquez les ajouts de matériel pour chaque étage (s'il y en a) indiquez précisément l'impact sur les bypass IF DE EXE MEM WB ALU zero pc mémoire instruction @ 4 d @rs @rt @rd banc de registres wd rs rt ALU mémoire données @ wd d ext FIG. 3 Le pipeline à 5 étages du MIPS 5.2 Instructions sur 64 bits On suppose que l'on désire à présent faire une instruction d'addition sur 64 bits, sachant que l'on ne dispose que d'une ALU 32 bits, avec cependant la retenue sortante. La syntaxe est add64b $rd, $rs, $rt. Examen d'architecture - 1S page - 5

La contrainte est que les registre spéci és dans l'instruction ont un numéro de registre pair. Lors de son exécution, l'instruction, add64b reste durant 2 cycles dans l'étage EXE, comme illustré cidessous. Au 1er cycle, elle met à jour le registre 2n avec les poids faibles du résultat, et au 2ème le registre 2n + 1 avec les poids forts. Une bulle est insérée dans le pipeline lors du décodage de l'instruction add64b, car il est prévu que cette instruction passe 2 cycles dans l'étage EXE. L'instruction qui suit le add64b est chargée, mais patiente 1 cycle dans l'étage IF avant d'être décodée (on passe donc 2 cycles dans l'étage IF). t t + 1 t + 2 t + 3 t + 4 t + 5 t + 6 t + 7 t + 8 add64b IF DEC EXE EXE MEM WB add IF bulle DEC EXE MEM WB ori bulle IF DEC EXE MEM WB Question 14 (0,5pt) L'instruction pourrait-elle patienter dans l'étage DEC? Justi ez votre réponse. Question 15 (1pt) En prenant en compte la contrainte de numérotation des registres, proposez une manière d'accéder aux bons registres en fonction du cycle d'exécution (1er ou 2nd cycle) de l'instruction. Question 16 (3,5pts) Ajoutez au pipeline le matériel nécessaire à la bonne exécution de cette instruction. détaillez la manière de détecter l'instruction et de geler partiellement le pipeline ; détailler le fonctionnement de l'étage EXE ; détaillez les modi cations que cela peut impliquer sur les différents bypass. Examen d'architecture - 1S page - 6