Cours 3 Microprocesseurs

Slides:



Advertisements
Présentations similaires
Électronique de base du processeur
Advertisements

Architecture de machines Le microprocesseur
LA MULTIPLICATION I DEFINITION 1° Activité 1 page 62
Architecture de machines Principes généraux
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Grandeurs physiques à acquérir
Plan du cours : 2ème Partie
Cours 2 Microprocesseurs
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Introduction Par définition, dans un modèle à cycle unique, le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge.
Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties.
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Architecture des Ordinateurs
Architecture des Ordinateurs
2.Les différentes architectures (Louis)
Les microprocesseurs A. Objectifs de la séquence:
TRANSMISSION DES DONNEES INFORMATIQUES
Architecture de machines Principes généraux
Architecture de machines Le microprocesseur
Présentation Unité de codage
Système d’exploitation : Assembleur
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
CYCLE 1 : Saisir – Afficher – Données Afficher du texte sur lécran 1- Rôle du printf() 2- Syntaxe du printf() 3- Exécution du printf() par le CPU.
Cours #9 Conception et réalisation de processeurs à usage général
Les système linéaires Stéphane Paris.
MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE Professeur à l'UHP / ESIAL
SÉQUENCE D’ACTIONS SUR
Architecture et technologie des ordinateurs II
Architecture de base d’un ordinateur
Architecture et technologie des ordinateurs II
3.2 Circuits logiques de base Circuits intégrés logiques (1/2)
Algorithmique et Programmation
LES SYSTEMES AUTOMATISES
Cours #5 Conception de chemins des données
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Informatique 1. Les applications de l’informatique
LES REGISTRES A DECALAGE. Introduction Définition Un registre est un ensemble permettant de stocker des informations en attendant leur traitement. Suivant.
Processeurs et chemins des données
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Chapitre 9 : La machine MIASM
ARCHITECTURE D’UN SYSTEME MICROPROGRAMME
Cours de Structure et Technologie des composants d’ordinateurs
- Chap3 - Nombres décimaux-Opérations
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
3-Présentation d’un µP simple
Structure de Base d’un ordinateur Matière : Informatique
Chapitre 5 : Les circuits séquentiels
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Chemin des données d’un.
Addition – Soustraction - Multiplication

Exécution d ’un programme en 6809: Présentation du programme
Initiation à l’Algorithmique
UE MAREP Cours 5 : Structures de contrôle représentées en assembleur
Opération de multiplication
CHAPITRE 5 Les nombres entiers 1. Les entiers 2 Les entiers signés représentations pour le 0.
M. YAMANAKA – Cours de mathématiques. Classe de 4ème.
L3 Instrumentation Pétrolière S6
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Architecture d’un ordinateur
Les bascules et registres
Processeur RISK R3000. PLAN - Processeur RISK R3000 Structure du processeur Structure du processeur Logique de contrôle Logique de contrôle Détection.
L’électronique des ordinateurs Laurent JEANPIERRE IUT de CAEN – Campus 3.
Architecture d'un automate programmable
Chapitre IV Architecture de VonNeumann. I/ Introduction John VonNeumann est un mathématicien d’origine Hongroise qui a participé au projet Manhattan.
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Transcription de la présentation:

Cours 3 Microprocesseurs Jalil Boukhobza LC 206 boukhobza@univ-brest.fr 02 98 01 69 73 26/03/2017 Jalil Boukhobza

L’unité de contrôle Cadencement des calculs d’une unité de traitement Modélisation de l’unité de contrôle, spécification sous forme d’automate Réalisation câblée et microprogrammée de l’unité de contrôle 26/03/2017 Jalil Boukhobza

Définition L’unité de contrôle est un système séquentiel. Les entrées sont des conditions, signaux issus de l’unité de traitement. Les sorties sont des signaux de commandes envoyés à l’unité de traitement, par exemple: Chargement d’un registre (write enable ou autorisation de chargement) Commande d’opérateur (ex pour l’UAL) Contrôle de chemin de données (bus, multiplexeurs, trois états) L’unité de contrôle peut échanger des signaux avec l’extérieur (initialisation, ordre particulier, etc.). 26/03/2017 Jalil Boukhobza

Schéma global Unité de contrôle Unité de traitement Conditions Commandes Conditions Unité de traitement horloge Entrées Sorties 26/03/2017 Jalil Boukhobza

Exemple de signaux à gérer par l’unité de contrôle Unité de traitement Unité de contrôle chR1 R1->Bus R1 chR1 chR2 chR2 R2->Bus chAcc R2 Opération R3->Bus chAcc R3->Bus R2->Bus R1->Bus Acc UAL Opération Indicateurs(overflow, zéro, etc.) 26/03/2017 Jalil Boukhobza

De l’influence de l’unité de traitement sur l’exécution d’une instruction Le séquenceur décide de quand activer les différentes unités de calculs. Exemple: comment utiliser le circuit séquentiel précèdent pour réaliser l'opération A + B arrivant sur l'entrée ? R X R Y UAL R ACC opération ChRacc ChRX ChRY mux1 Entrée 26/03/2017 Jalil Boukhobza

Utilisation d’un automate pour séquencer les opérations Séquence des opérations charger le registre RX (utilisation du signal chRx write enable) charger le registre RY (signal chRy) laisser passer le contenu de RX dans l'UAL puis charger Racc (signaux de contrôle a activer: mux1, op = transfert, chRacc) réaliser l'addition entre le contenu de RY et Racc puis charger le résultat dans Racc (signaux de contrôle a activer : mux1, op = +, chRacc) 26/03/2017 Jalil Boukhobza

Entrée R X R Y R ACC UAL Opération=transfert 1 1 26/03/2017 R Y R ACC 1 UAL Opération=transfert 26/03/2017 Jalil Boukhobza

Entrée R X 1 R Y 1 R ACC UAL Opération=+ 26/03/2017 Jalil Boukhobza

Entrée R X 1 R Y R ACC UAL 26/03/2017 Jalil Boukhobza

Un autre exemple: la multiplication séquentielle Multiplicande: x3x2x1x0 Multiplicateur: y3y2y1y0 Algorithme: Il faut multiplier le multiplicande par y0 puis, décaler le multiplicateur à droite pour multiplier par y3y2y1 Et décaler le multiplicande à gauche pour faire la somme par la suite avec le produit. reboucler 26/03/2017 Jalil Boukhobza

Contrôle UAL Multiplicande 64 bits Multiplicateur 32 bits opération Décalage droite Décalage gauche UAL opération écrire Produit 64 bits 26/03/2017 Jalil Boukhobza

Algorithme pour le contrôle de la multiplication séquentielle Début Test du bit 0 du Multiplicateur Multiplicateur0=1 Multiplicateur0=0 Ajouter multiplicande au produit et placer le résultat dans le registre Produit Décaler le registre multiplicande a gauche de 1 bit Décaler le registre multiplicateur a droite de 1 bit 32ème itération? Nombre itérations <32 Nombre itérations=32 Fin 26/03/2017 Jalil Boukhobza

Modèle pour l'unité de contrôle L'unité de contrôle est généralement une machine séquentielle de type Moore pouvant être modélisée de la manière suivante (modèle général pour toute machine séquentielle synchrone): des états internes Y (synchronisés par une seule horloge), une fonction de transition ft qui définit l'état futur, et une fonction de sortie fs qui définit les valeurs des sorties 26/03/2017 Jalil Boukhobza

Machine de Moore Dans la machine de Moore, les sorties ne dépendent que de l'état interne. ft Registre d’état fs sorties Entrées Sorties = fs(Yétat_courant) Yétat_suivant = ft(Yétat courant, Entrées) 26/03/2017 Jalil Boukhobza

Graphe de transitions (machine de Moore) Etat interne Transition Changement d’état interne A f(E) S f(E) S A B 26/03/2017 Jalil Boukhobza

Utilisation d'un automate à états finis pour la spécification de l‘unité de contrôle selon Moore : Nœud: état interne du circuit: E1, E2, E3, E4, E5 Arc: donne les conditions de transitions entre les états en fonction des entrées: C1, C2, C3, C4 État es variables de sortie est donnée par chaque état du graphe: S Etat interne Transition Changement d’état interne S E1 E3 E2 E4 E5 C1 C2 C4 C3 S=1 S=0 A f(E) A B f(E) S 26/03/2017 Jalil Boukhobza

Hypothèses pour la conception de machine synchrone pour les circuits synchrones, les activations d'horloge sont sous-entendues les automates sont déterministes l'état initial est généralement atteignable par une commande de reset asynchrone 26/03/2017 Jalil Boukhobza

Exemple de spécification sous forme d’automates Compteur modulo 4 Les états du circuit correspondent aux valeurs possibles des sorties Q1 Q2 Qsortie1 Qsortie2 1 26/03/2017 Jalil Boukhobza

Compteur-décompteur modulo 4 dec inc CPT= CPT 1 (CPT+1) mod4 (CPT-1) mod4 indéterminé 1 2 3 00 01 10 26/03/2017 Jalil Boukhobza

Exemples Bascule D Compteur 2 bits Compteur 2 bits avec remise à 0 synchrone D 00 01 1 A B 1 1 D 1 C 11 10 00 r 01 r A B r 1 r r D C 26/03/2017 Jalil Boukhobza r 11 10

Autre exemple Soit l’automate suivant A B D C S=0 S=1 E=0 E=1 26/03/2017 Jalil Boukhobza

Résultat sous forme de chronogramme 1 horloge E S A B C D A 26/03/2017 Jalil Boukhobza

Synthèse d’un automate à états finis: génération du circuit séquentiel correspondant Définir le graphe d’états Table des états: changement des états en fonction des entrées État courant E A B C D 26/03/2017 Jalil Boukhobza

Codage des états du graphe Pour un minimum de variables internes, on utilise un codage binaire N variables pour 2N états État Y0 Y1 A B 1 C D 26/03/2017 Jalil Boukhobza

Table des transitions: Y0 Y1 00 A 01 B 11 c 1 10 D Table des transitions: Équation des variables internes: il faut trouver les valeurs des états actuels en fonction des états précédent Y0 Y1 E 00 A 01 B 00 A 01 B 11 C 11 C 10 D 10 D 26/03/2017 Jalil Boukhobza

S=0 pour les états A (Y0Y1=00), B (Y0Y1=01) et C (Y0Y1=11) Fonctions de sorties S=1 à l’état D (Y0Y1=10) S=0 pour les états A (Y0Y1=00), B (Y0Y1=01) et C (Y0Y1=11) Pour une implémentation avec les bascules D, la valeur future de la variable interne est alors injectée en entrée de la bascule D. 26/03/2017 Jalil Boukhobza

Bascule D Fonction de transition Registre d’état Fonction de sortie 26/03/2017 Jalil Boukhobza

Unité de contrôle câblée L’unité de contrôle est vue comme un automate à jetons (une bascule par état). L’automate est alors implémenté en utilisant des bascules D pour les registres. Le circuit séquentiel obtenu définit alors chaque sortie comme l’union des états où cette sortie vaut 1. 26/03/2017 Jalil Boukhobza

De l’influence du codage des états Autre choix de codage: A=00, B=01, C=10, D=11 A=0001, B=0010, C=0100, D=1000 (machine à jetons) La table de transition devient: Y0 Y1 E 00 A 01 B 00 A 01 B 10 C 10 c 11 D 11 D 26/03/2017 Jalil Boukhobza

et donc des implémentations différentes D’où les équations: et donc des implémentations différentes 26/03/2017 Jalil Boukhobza

Dessinez le circuit de l’automate précédent avec un codage à jetons. 26/03/2017 Jalil Boukhobza