Agata Savary, IUT de Blois, Département GTR, 1e année,

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes d’exploitation
Advertisements

Électronique de base du processeur
sont des registres 32 bits
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Architecture des processeurs généralistes haute performance
Plan du cours : 2ème Partie
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Les éléments de mémorisation
Le Concept du programme enregistré
Architecture des Ordinateurs
2.Les différentes architectures (Louis)
Les microprocesseurs A. Objectifs de la séquence:
Sequence Memorisation Unitaire
Architecture de machines Eléments de logique
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Cours Systèmes logiques
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE Professeur à l'UHP / ESIAL
Structures de données linéaires
SÉQUENCE D’ACTIONS SUR
Architecture de base d’un ordinateur
Cours #6 Conception d’unités de contrôle
3.2 Circuits logiques de base Circuits intégrés logiques (1/2)
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
LES SYSTEMES AUTOMATISES
Architecture et technologie des ordinateurs II
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.
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Architecture des ordinateurs cours 3 Micro-instructions et unité de contrôle, langage machine, langage d’assemblage, modes d’adressage Agata Savary, IUT.
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
3-Présentation d’un µP simple
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Structure de Base d’un ordinateur Matière : Informatique
Architectures des ordinateurs
Chapitre 5 : Les circuits séquentiels
Logique séquentielle. Logique séquentielle Logique séquentielle Définition En logique combinatoire, le niveau de la sortie dépend directement du niveau.
Architecture et technologie des ordinateurs II
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
INFOR 101 Chapitre 5 Marianne Morris.
Un programme Algorithme permettant au processeur de s'alimenter:
Exécution d ’un programme en 6809: Présentation du programme
Agata Savary, IUT de Blois, Département GTR, 1e année,
Patricia Renault UPMC 2004/2005
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
©Pierre Marchand, Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les.
CHAPITRE 8 Les booléens et les chaines de bits 1.
Systèmes Logiques Chapitre 5: Les registres et les compteurs
A. Lebrun. Principe de base Dans la logique combinatoire, les sorties dépendent des différentes entrées et peuvent être calculées par l’algèbre de Boole.
Architecture d’un ordinateur
Les bascules et registres
Multiplexeurs A.Lebrun.
A.Lebrun. Principe des compteurs Les compteurs servent à mesurer le nombre d’impulsion qui arrivent sur l’entrée de comptage Les compteurs sont constitués.
Formations Système Embarqué & Informatique Industrielle
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
L’électronique des ordinateurs Laurent JEANPIERRE IUT de CAEN – Campus 3.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
1 Objectifs Apprendre la structure de quelques circuits combinatoires souvent utilisés ( demi additionneur, additionneur complet,……..). Apprendre comment.
Chapitre IV Architecture de VonNeumann. I/ Introduction John VonNeumann est un mathématicien d’origine Hongroise qui a participé au projet Manhattan.
Transcription de la présentation:

Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005 Architecture des ordinateurs cours 2 Structure d’un ordinateur : registres, UAL, bus Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005

Structure d’un ordinateur simple Unité de contrôle Chemin de données Processeur Registres UAL Processor (CPU) Control unit Datapath Output devices Main memory Input devices ALU Entrées Sorties Mémoire principale Bus Registers UAL = Unité Arithmétique et Logique (Arithmetic and Logic Unit = ALU) A. SAVARY IUT Blois GTR1, 2004/05

JASPer - Just Another Simulated Processor Le processeur – couche matérielle (Sur l’exemple d’un simulateur de processeur JASPer) JASPer - Just Another Simulated Processor http://brittunculi.com/jasp/

Processeur (Unité centrale, UC) Central processing unit (CPU) Unité de contrôle (unité de commande) = “le cerveau” du processeur: charge l’instruction courante située en mémoire décode l’instruction (i.e. détermine le flux de données dans le chemin de données) Chemin données = “les muscles” du processeur : Une ou plusieurs UAL effectuent les opérations indiquées par l’instruction (addition, décalage, etc.) Les registres stockent les résultats temporaires : compteur de programme (program counter = PC) pointe la prochaine instruction registre d’instruction (instruction register = IR) contient l’instruction en cours d’exécution nombreux registres généraux – stockent les résultats intermédiaires Les bus (internes) interconnectent les registres et l’UAL A. SAVARY IUT Blois GTR1, 2004/05

Processeur – example : JASPer Compteur de programme Bus Registres généraux Registre d’instruction UAL Unité de contrôle A. SAVARY IUT Blois GTR1, 2004/05

Logique séquentielle Synchronisation Registres JASPer A. SAVARY IUT Blois GTR1, 2004/05

Rappel sur les circuits logiques On distingue 2 types de circuits (blocs) logiques : Circuits combinatoires = circuits sans mémoire : les sorties ne dépendent que des entrées courantes exemples : multiplexeur, démultiplexeur, codeur, décodeur, décaleur, additionneur, … (UAL) Circuits séquentiels = circuits avec mémoire : la mémoire (l’élément d’état) stocke l’état interne du circuit les sorties de tels circuits peuvent dépendre à la fois des entrées courantes et de l’état interne du circuit exemples d’éléments d’état : bascule RS, bascule D, flip-flop D exemples de circuits séquentiels : registre, compteur A. SAVARY IUT Blois GTR1, 2004/05

Rappel sur les horloges période de l’horloge (temps du cycle) front montant 1 temps Fonctionnement idéal : descendant Fonctionnement réel : Durée du front non nulle, mais très courte 1 A. SAVARY IUT Blois GTR1, 2004/05

Rappel sur le flip-flop Flip-flop D Example de mise en œuvre Interface Deux bascules D sont montées en série. Leurs entrées horloge sont opposées. L’état d’un bistable est stable (mémorisé) pendant un cycle d’horloge L’état peut changer (prendre la valeur de D) uniquement sur le front descendant de l’horloge. Flèche inversée : “contrôlé par le front descendant” Q2 D2 CK2 D Q CKFF Q1 D1 CK1 A. SAVARY IUT Blois GTR1, 2004/05

Communication asynchrone Imaginons un circuit cominatoire dont le résultat est enregistré dans un élément d’état “transparent” (e.g. une bascule D avec CK=1) Conclusion : Les évènements doivent être synchronisés, i.e. arriver à des moments contrôlables. S Q D CK 1 A partir de quel moment peut-on considérer que la sortie S est valable et peut être enregistrée ? Il faut attendre au moins le temps égal au temps de traversée du circuit. A partir de quel moment les entrées (A, B,C) du circuit peuvent-elles changer ? Il faut attendre le temps de traversée du circuit combinatoire + le temps de traversée de la bascule A. SAVARY IUT Blois GTR1, 2004/05

Communication synchrone Un flip-flop n’est pas transparent : sa sortie ne change que sur le front d’impulsion d’horloge (soit toujours sur le front montant, soit toujours sur le front descendant). Ainsi il constitue la base d’une communication synchrone : les évenements de changement d’état ne peuvent avoir lieu qu’aux moments : précis (les fronts d’horloge), réguliers (basés sur le temps du cycle) de très courte durée (durée du front d’horloge) Une horloge commune à un groupe d’éléments d’état garantie que ces éléments sont mis à jour au même moment (c’est le cas idéal; en réalité les entrées CK de différents éléments peuvent subir un désalignement ; dans ce cas le temps de cycle doit être prolongé de la durée du désalignement) A. SAVARY IUT Blois GTR1, 2004/05

Interaction des circuits combinatoires et des éléments d’état Q1 Circuit combinatoire 1 D1 Q1 Circuit combinatoire 2 D1 Q1 D1 Q1 D1 Q1 D1 Q1 D1 D1 Q1 Q1i D2 D1 D1 Q1 Q1 D1 D1i D2i D1 Q2i D1 D3i D2 D1 D1 Q3i Au premier front descendant d’horloge les valeurs présentées sur D1i s’enregistrent dans Q1i. Pendant le cycle suivant les nouvelles valeurs de Q1i traversent le premier circuit combinatoire (CC1) et les sorties de CC1 sont présentées aux entrées D2i avant le front descendant suivant Au front descendant suivant les valeurs de D2i s’enregistrent dans Q2i Pendant le cycle suivant les valeurs de Q2i traversent CC2 et sont présentées sur D3i, etc. Les circuits combinatoires effectuent des calculs. Les éléments d’état sauvegardent les résultats intermédiaires. A. SAVARY IUT Blois GTR1, 2004/05

Construction d’un registre Tention haute Amlificateur de puissance Registre 8 bits = ensemble de 8 flip-flops L’horloge est commune pour tous les flip-flops L’entrée commune CLR force l’initialisation du registre à 0000 0000. Prise de terre (tention basse) Broches A. SAVARY IUT Blois GTR1, 2004/05

Registres JASPer PC = compteur de programme ; contient l’adresse de l’instruction suivante SP (stack pointer) = pointeur de la pile de programme (elle sert à sauvegarder des paramètres et des variables lors des appels de procédures et des interruptions/exceptions) IR = registre de l’instruction ; contient l’instruction en cours d’exécution A, B = registres généraux A. SAVARY IUT Blois GTR1, 2004/05

Registres de l’UAL (JASPer) ALUX, ALUY = arguments de l’opération UAL R = résultat de l’opération UAL PSR (program status register) = registre de statut du programme ; contient des “drapeaux” (flags) d’un bit chacun qui donnent des informations sur la dernière opération exécutée par l’UAL : C (carry) - la dernière opération a provoqué une retenue Z (zero) - la dernière opération a donné résultat 0 N (negativ) - la dernière opération a donné un résultat négatif V (overflow) - la dernière opération a donné un débordement A. SAVARY IUT Blois GTR1, 2004/05

Registres de mémoire (JASPer) MAR (memory address register) = registre d’adresse mémoire MDR (memory data register) = registre de donnée mémoire Lors d’une lecture mémoire MAR contient l’adresse de la case mémoire à lire, MDR reçoit la donnée de l’adresse indiquée. Lors d’une écriture mémoire MAR contient l’adresse de la case mémoire dans laquelle l’on veut écrire, MDR contient la donnée que l’on veut écrire. A. SAVARY IUT Blois GTR1, 2004/05

Circuits à registre (JASPer) CU = circuit de l’unité de contrôle; contient un registre pour le “op-code”, le code de l’opération à effectuer INC = circuit contenant la constante 1 pour l’incrémentation du PC au début de chaque nouvelle instruction A. SAVARY IUT Blois GTR1, 2004/05

Unité Arithmétique et Logique (UAL) A. SAVARY IUT Blois GTR1, 2004/05

Rôle d’une UAL Nous voudrions pouvoir effectuer les opérations arithmétiques (en complément à 2) et logiques suivantes pour deux nombres A et B : Négation logique (bit par bit) NOT A ET logique (bit par bit) A AND B OU logique (bit par bit) A OR B Addition arithmétique A ADD B Soustraction arithmétique A SUB B Décalage à gauche SL A Décalage à droite SR A … Ces opérations sont effectuées par l’unité arithmétique et logique (UAL). A. SAVARY IUT Blois GTR1, 2004/05

Opérations arithmétiques et logiques - exemples 1 1 1 0 1 0 1 1 B = 1 0 1 0 1 1 0 0 A AND B = 1 0 1 0 1 0 0 0 A = 1 1 1 0 1 0 1 1 NOT A = 0 0 0 1 0 1 0 0 A = 1 1 1 0 1 0 1 1 B = 1 0 1 0 1 1 0 0 A OR B = 1 1 1 0 1 1 1 1 A = 1 1 1 0 1 0 1 1 SL A = 1 1 0 1 0 1 1 0 A = 1 1 1 0 1 0 1 1 B = 1 0 1 0 1 1 0 0 A ADD B = 1 0 0 1 0 1 1 1 A = 1 1 1 0 1 0 1 1 SR A = 1 1 1 1 0 1 0 1 A = 1 1 1 0 1 0 1 1 B = 1 0 1 0 1 1 0 0 A SUB B = 0 0 1 1 1 1 1 1 A. SAVARY IUT Blois GTR1, 2004/05

Circuit qui réalise A ADD B (1/2) Additionneur complet 1 bit Mise en œuvre Interface Portes XOR, AND et OR sont utilisées comme éléments de base + RetSorti RetEntri bi ai Sommei RetSorti RetEntri ai bi Sommei ai bi RetEntri Sommei RetSorti 1 A. SAVARY IUT Blois GTR1, 2004/05

Circuits arithmétiques et logiques Unité logique ET/OU/NON Mise en œuvre Interface Le décaleur se sert des portes OU ... Le décaleur prend en entrée un nombre sur 16 bit et un bit de contrôle qui l’informe si le décalage doit se faire à gauche ou à droite. Il produit en sortie le même nombre décalé d’un bit dans le bon sens. Décaleur 16 bits Mise en œuvre Interface Le décaleur se sert des portes OU ... Le décaleur prend en entrée un nombre sur 16 bit et un bit de contrôle qui l’informe si le décalage doit se faire à gauche ou à droite. Il produit en sortie le même nombre décalé d’un bit dans le bon sens. Additionneur 16 bits Mise en œuvre Interface 16 additionneurs 1 bit sont montées en série Chaque additionneur prend en entrée les 2 bits correspondants des opérandes et la retenue sortante de l’additionneur précédent L’additionneur 16 bits prend en entrée RE=0, et deux nombres 16 bits chacun. Il produit leur somme sur 16 bit ainsi qu’une éventuelle retenue du dernnier bit. 16 A B S + RS RE b15 a15 b1 a1 b0 a0 RS15 RE0 RE15...RS1 RE1=RS0 s15 s1 s0 Contrôle UAL Résultat -------------------------------- 000 NOT A 001 A AND B 010 A OR B 011 A ADD B 111 A SUB B A. SAVARY IUT Blois GTR1, 2004/05

Construction d’une UAL 16 bits Mise en œuvre Interface La sortie contie le résultats de l’opération déterminée par les bits Contrôle UAL. Contrôle B A 16 ± Résultat SHL/ SHR ET/ OU/ NON MUX 2 1 16+4 4 UAL 16 16+4 Contrôle UAL A B Résultat 4 Contrôle UAL Résultat -------------------------------- 000 NOT A 001 A AND B 010 A OR B 011 A ADD B 111 A SUB B 4 bits supplémentaires pour chaque sortie correspondent à des drapeaux cf. TD) A. SAVARY IUT Blois GTR1, 2004/05

Bus A. SAVARY IUT Blois GTR1, 2004/05

Bus Les bus du processeur = ensembles de conducteurs qui connectent les composants du processeur Une voie d’un bus peut transporter un bit d’information à la fois Il y a 3 types de bus (dans JASPer) : Bus de données (pour transport des données) Bus d’adresse (en bleu ; pour transport d’adresses mémoire) Bus de contrôle (en rouge ; pour transport des signaux de contrôle entre l’unité de contrôle et le chemin de données) A. SAVARY IUT Blois GTR1, 2004/05

Contrôle d’accès à un bus de données commun (1/3) Prenons l’exemple des registres A et B du processeur JASPer. Chacun peut (cf transp. 58) recevoir le contenu d’un autre registre envoyer son contenu vers un autre registre Chacun est constitué de 16 flip-flops Ils sont connectés à un bus d’entrée et un bus de sortie communs. Mais un bus ne peut transporter qu’une donnée à la fois. Comment éviter les conflits d’accès aux bus ? A. SAVARY IUT Blois GTR1, 2004/05

Contrôle d’accès à un bus de données (2/3) Choix entre deux registres 1 bit pour une lecture/écriture D1 QBi DBi QAi DAi 1 M U X AouB Voie i d’un bus de données EcrireAB Décodeur VersAouB Lecture de A : AouB = 0 Ecriture dans A : EcrireAB = 1, VersAouB = 0 Lecture de B : AouB = 1 Ecriture dans A : EcrireAB = 1, VersAouB = 1 Lecture de Ai : AouB = … Lecture de Bi : AouB = … Ecriture dans Ai : EcrireAB = …, VersAouB = … Ecriture dans Bi : A. SAVARY IUT Blois GTR1, 2004/05

Contrôle d’accès à un bus de données (3/3) Choix entre deux registres n bits pour une lecture/écriture D1 Bus de données 1 QBi DBi QAi DAi M U X AouB EcrireAB Décodeur VersAouB Lecture de A : AouB = 1 Ecriture dans A : EcrireAB = 1, VersAouB = 1 Lecture de B : AouB = 0 Ecriture dans A : EcrireAB = 1, VersAouB = 0 Les bits correspondants des deux registres sont connectés comme sur le transparent précédent Le signaux de contrôle sont communs pour toutes les n paires de bits (ai,bi) A. SAVARY IUT Blois GTR1, 2004/05

Pour la semaine de la rentrée Mini-contrôle en TD : lire les 2 premiers cours (terminologie ang. inclue) A. SAVARY IUT Blois GTR1, 2004/05

Devoir 1 (histoire de l’informatique) REPONSES 1.  (bb) 2.  (c) 3. (d) 4. (e,f,h) 5. (q) 6.  (i) 7.  (a) 8. (g) 9. (k) 10.  (x) 11.  (x,y) 12. (b) 13. (m,n,p,q, ,bb, dd, cc) 14. (r) 15.  (s) 16.  (t) 17. (ee) 18. (u) 19.  (v) 20.  (j) 21. (w) 22. (l) 23. (z,aa) 24.  (o) 25.  (cc) A. SAVARY IUT Blois GTR1, 2004/05