Architectures logicielles et matérielles

Documents pareils
IFT1215 Introduction aux systèmes informatiques

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

ASR1 TD7 : Un microprocesseur RISC 16 bits

Conception de circuits numériques et architecture des ordinateurs

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)

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

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

ELP 304 : Électronique Numérique. Cours 1 Introduction

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

Représentation des Nombres

Représentation d un entier en base b

Recherche dans un tableau

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Conception de circuits numériques et architecture des ordinateurs

Enseignement secondaire technique

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

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

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

CM2 L architecture MIPS32

Microprocesseur + Logiciel

Compilation (INF 564)

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

IV- Comment fonctionne un ordinateur?

IFT2880 Organisation des ordinateurs et systèmes

Architecture des ordinateurs

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

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

DG-ADAJ: Une plateforme Desktop Grid

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Examen Médian - 1 heure 30

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

Système binaire. Algèbre booléenne

Logique séquentielle

Les opérations binaires


Transmissions série et parallèle

Licence Sciences et Technologies Examen janvier 2010

Qualité du logiciel: Méthodes de test

Module EC2b Programmation et Automatisation Bâtiment

QUESTION 1 {2 points}

Les fonctions logiques

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Architecture des ordinateurs. Robin FERCOQ

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Les diagrammes de modélisation

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

Algorithmique et programmation : les bases (VBA) Corrigé

INF 4420: Sécurité Informatique Cryptographie II

Cours d algorithmique pour la classe de 2nde

Informatique Générale

Vers l'ordinateur quantique

Cours 3 : L'ordinateur

Rappels d architecture

Cours de Génie Logiciel

Cours Informatique 1. Monsieur SADOUNI Salheddine

Tout savoir sur le matériel informatique

Application 1- VBA : Test de comportements d'investissements

Architecture de l ordinateur

CORRECTION EXERCICES ALGORITHME 1

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Corrigé des TD 1 à 5

UE C avancé cours 1: introduction et révisions

Modes opératoires pour le chiffrement symétrique

Sanity Check. bgcolor mgcolor fgcolor

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Ordinateurs, Structure et Applications

Conversion d un entier. Méthode par soustraction

SUR MODULE CAMÉRA C38A (OV7620)

Livret - 1. Informatique : le matériel. --- Ordinateur, circuits, codage, système, réseau. Cours informatique programmation.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

L AUTOMATISME LE SIGNAL

Éléments d'architecture des ordinateurs

Concept de machine virtuelle

Concevoir son microprocesseur

Logiciel de Base. I. Représentation des nombres

Systèmes et traitement parallèles

Manipulations du laboratoire

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

KL5121. Pour activer des sorties en fonction de la position d'un codeur

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

Codage d information. Codage d information : -Définition-

Algèbre binaire et Circuits logiques ( )

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

CHAPITRE VI ALEAS. 6.1.Généralités.

Polynômes à plusieurs variables. Résultant

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Cours d Informatique

Initiation à l algorithmique

Programmation sous QT

Algorithmique I. Algorithmique I p.1/??

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

Cours d Algorithmique et de Langage C v 3.0

Programmation Classique en langage C

Tutoriel LabVIEW Des fonctions simples à l acquisition de données

Transcription:

Architectures logicielles et matérielles Cours 7 : Conception avec partie contrôle et partie opérative Laurence Pierre - Philippe Waille http://users-tima.imag.fr/amfors/lpierre/alm/ L3 Informatique 2017-2018 Conception de circuits séquentiels Rappel : la spécification d'un système de contrôle sous forme d'automate (machine de Mealy ou de Moore) peut être transformée en un circuit séquentiel synchrone par les phases suivantes Production des tables de vérité pour les fonctions de transition (t) et de sortie (f) Choix d'un codage de l'état Traduction des fonctions de transition (t) et de sortie (f) en fonctions booléennes (blocs combinatoires) permettant de calculer l'état suivant et les valeurs des sorties Comment l'état est-il matérialisé par des composants de mémorisation (bascules) Quand est-il mis à jour sur les fronts (généralement) montants de l'horloge. 113

Conception de circuits calculatoires Cependant, de façon plus générale, le circuit à concevoir peut devoir réaliser des calculs arithmétiques Exemple naïf : comment faites-vous pour connaître la somme représentée par la monnaie dans votre poche Y a-t-il une pièce Oui (10 cts) 10 + 0 = 10 Y a-t-il une pièce Oui (20 cts) 20 + 10 = 30 Y a-t-il une pièce Oui (5 cts) 5 + 30 = 35 Y a-t-il une pièce Non Fini, la somme est 35 les E/S Où sont contrôle Où es t le n opératio Où es t l' que arithméti t cela se Co m men en log iciel traduit-il riel... En maté 114 Conception de circuits calculatoires Cependant, de façon plus générale, le circuit à concevoir peut devoir réaliser des calculs arithmétiques Exemple : mise en œuvre d'un calcul de PGCD < ; 115

Conception de circuits calculatoires Cependant, de façon plus générale, le circuit à concevoir peut devoir réaliser des calculs arithmétiques Exemple : mise en œuvre d'un calcul de PGCD < ; 116 Modélisation Pour les systèmes de contrôle, le comportement est usuellement spécifié par des FSM (Finite State Machines, machines de Moore ou de Mealy) - voir cours 4 Ce modèle, et la méthode de synthèse associée, ne sont plus suffisants dans le cas de systèmes calculatoires Un simple circuit manipulant deux entiers sur 32 bits nécessiterait un modèle avec états! des alternatives de modélisation ont été proposées, parmi elles : Les Algorithmic State Machines (ASM) Les Finite State Machines with Datapath (FSMD) 118

Spécification par ASM Une ASM est une façon de représenter la machine à états associée à un algorithme, selon un format proche de celui des flowcharts Le diagramme contient 3 types de nœuds Nœud "état" (state box), associé à un identifiant d'état (qui contient les affectations des sorties dans le cas Moore) Nœud "décision" (decision box), qui permet de tester une condition Nœud "sortie conditionnelle" (conditional output box), pour l'expression des sorties dans le cas Mealy 120 http://www.ue.pwr.wroc.pl/pld/pld_7.pdf Spécification par ASM Exemple FSM / ASM http://www.ue.pwr.wroc.pl/pld/pld_7.pdf 121

Spécification par ASM Exemple FSM / ASM http://www.ue.pwr.wroc.pl/pld/pld_7.pdf 122 Spécification par ASM Exemple PGCD < 123

Spécification par ASM Exemple PGCD a = a_in; b = b_in; while (a /= b) { if (a < b) then < swap(a,b); end if; a = a - b; } 124 Spécification par ASM Exemple PGCD a = a_in; b = b_in; while (a /= b) { if (a < b) then < swap(a,b); end if; a = a - b; } http://www.eem.anadolu.edu.tr/userfiles/atdogan/files/l12-fsmdckt2.pdf 125

Spécification par FSMD La FSMD est une extension du concept de machine à états dans laquelle les affectations peuvent utiliser des expressions arithmétiques Les entrées, sorties, et variables (éléments mémorisants) peuvent être de types divers (autres que les Booléens) Les fonctions de transition et de sorties peuvent mettre en jeu des opérateurs arithmétiques Une FSMD exprime la mise à jour des valeurs des variables de l'algorithme et le calcul des valeurs de sorties Elle exprime naturellement la notion de flot de contrôle associé au traitement arithmétique des données 126 Spécification par FSMD Exemple PGCD a = a_in; b = b_in; while (a /= b) { if (a > b) then a = a - b; else b = b - a; end if } res = a; Init T / a = a_in b = b_in a=b / res = a a>b / a = a-b E2 a b / - E1 a<b / b = b-a 127

Conception du circuit associé Le système obtenu sera formé d'une partie contrôle (PC controller) et d'une partie opérative (PO - datapath) Rôle de la partie opérative Effectuer les calculs arithmétiques Mais quand Rôle de la partie contrôle Contrôler le séquencement de ces calculs Quelle interaction La PO informe sur son état courant (status) La PC décide et envoie des signaux de contrôle 128 Conception du circuit associé Le système obtenu sera formé d'une partie contrôle (PC controller) et d'une partie opérative (PO - datapath) La PC génère des signaux permettant de séquencer les calculs de la PO http://digsys.upc.es/ed/csd/units/ch3/u3_02/unit3_2.html 129

Conception du circuit associé Le système obtenu sera formé d'une partie contrôle (PC controller) et d'une partie opérative (PO - datapath) A partir d'un modèle de FSMD, il suffit de procéder comme suit : Dans la partie opérative, un registre sera créé pour chaque variable Dans la partie opérative, un composant fonctionnel sera associé à chaque opération arithmétique Dans la partie opérative, connexion de tous ces composants, en utilisant des multiplexeurs en cas de sources multiples - et prévoir les entrées et sorties Dans la partie contrôle, associer les actions de la FSM à des affectations des signaux de contrôle 130 Conception en PC + PO Composants fonctionnels pour les opérations arithmétiques On peut utiliser des composants spécifiques et/ou une UAL (Unité Arithmétique et Logique) UAL : composant dédié à des calculs arithmétiques simples, usuellement sur nombres entiers, notamment : Addition, soustraction, données Opérations "logiques", par ex négation, xor, Flags usuels : ZNCV Z (zero) = résultat nul N (negative) = résultat négatif C (carry) = résultat qui ne tient pas dans la taille prévue V (overflow) = signe du résultat différent de celui des opérandes (débordement sur le bit de signe) choix de l'opération à réaliser résultat 131 flags

Conception en PC + PO UAL - Exemple http://ee-classes.usc.edu/ee459/library/datasheets/dm74ls181.pdf 132 Conception en PC + PO Partie contrôle + partie opérative Comme vu au cours 4, la PC contient la logique de calcul de l'état suivant et des sorties, et des éléments mémorisants pour l'état de contrôle La PO contient des sous-composants fonctionnels pour les calculs, et des éléments mémorisants pour les variables 133

FSMD vers PC + PO - Exemple Autre exemple arithmétique simple - In1 et In2 sont des entrées, O est une sortie http://www.ue.pwr.wroc.pl/pld/pld_7.pdf 134 FSMD vers PC + PO - Exemple Exemple : In2 In1 CONTROL STATUS http://www.ue.pwr.wroc.pl/pld/pld_7.pdf 135

FSMD vers PC + PO - Exemple Exemple : In2 In1 chargement de A chargement de B ALU inutilisée pas de chargement de O STATUS http://www.ue.pwr.wroc.pl/pld/pld_7.pdf 136 Forme générique de PO Nous ferons l'hypothèse (dans les TD) de l'utilisation d'un schéma générique de PO comme suit : Portes 3 états Entrée' Sel' Sor+e'' X" Z" Flags& Architectures logicielles et matérielles, P.Amblard et al, Dunod 139

Forme générique de PO Nous ferons l'hypothèse (dans les TD) de l'utilisation d'un schéma générique de PO comme suit : Portes 3 états Entrée' Sel' Sor+e'' X" Z" Flags& Entrée Architectures logicielles et matérielles, P.Amblard et al, Dunod 140 Forme générique de PO Nous ferons l'hypothèse (dans les TD) de l'utilisation d'un schéma générique de PO comme suit : Portes 3 états Entrée' Sel' Sor+e'' X" Z" Flags& Calcul Architectures logicielles et matérielles, P.Amblard et al, Dunod 141

Forme générique de PO Nous ferons l'hypothèse (dans les TD) de l'utilisation d'un schéma générique de PO comme suit : Portes 3 états Entrée' Sel' Sor+e'' X" Z" Flags& Sortie Architectures logicielles et matérielles, P.Amblard et al, Dunod 142