370 likes | 985 Views
Chapitre1: CONCEPTION DE L’UNITE DE CONTRÔLE. IUP 2 INFORMATIQUE Smail.Niar@univ-valenciennes.fr 2005. Administration. Objectif du cours : Compléter les connaissances de l’année passée Détailler la structure et le fonctionnement d’un système informatique
E N D
Chapitre1:CONCEPTION DE L’UNITE DE CONTRÔLE IUP 2 INFORMATIQUE Smail.Niar@univ-valenciennes.fr 2005
Administration • Objectif du cours : • Compléter les connaissances de l’année passée • Détailler la structure et le fonctionnement d’un système informatique • Comprendre la structure pour comparer • Pouvoir mesurer les performances • Concevoir de nouvelles par des logiciels • Structure du module : Cours, TD et TP • Les TP début semaine 3, Responsable M. Rabie Benatitallah • Conseils : • Ne pas parler en cours • Soyez patient, les choses ne sont pas toujours évidentes du premier coup • Préparer vos TD à l’avance, tout le monde doit participer • Lisez beaucoup, les enseignants ne sont là que pour guider. • Passez à la BU, utilisez Internet il y a beaucoup de cours,TD, etc dispo
Références biblio • Transparents • Disponible sur http://www.univ-valenciennes.fr/lamih/ROI/niar/ • D. PATTERSON J. HENNESSY ; Organisation et conception des ordinateurs ; Dunod Disponibles à la BU. • http://www.labunix.uqam.ca/~tremblay/INF4170/resumes-www/resumes-www.html résumé des chapitres du livre • etc….
PLAN DU CHAPITRE 1 • Rappels: Architecture d’un Ordinateur • Introduction : Rôle de l’unité de contrôle • Les unités pour construire le chemin de données Le banc (fichier) de registre, l’UAL, CP, RI, … • Le format des Instructions : Représentation en mémoire • Comment Contrôler l’UAL? Comment lui demander du travail ?
1 : Architecture des Ordinateurs: Pourquoi, Comment, ……? • Objectif : comprendre le fonctionnement des ordinateurs (l’étudier). • Pourquoi s’intéresser à l’architecture? • Est-ce vraiment utile ? • Ecrire des programmes, compilateurs, drivers, … efficaces (rapides, consomment le moins de mémoire, …) • Savoir ce qui convient à une application • Permettre un dialogue avec le concepteur de syst. • Participer à la conception des systèmes de demain (à haut niveau)
Quelques chiffres sur PS3 • Unité centrale : • Processeur Cell à 3.6 GHz, 1 PPE (PowerPC Processing Element) + 7 x SPE (128 registres généraux de 128bits et 256 Ko SRAM par SPE) • un cache de niveau 2 de 512 Ko partagé • l'EIB (Element Interconnect Bus) qui gère les communications internes entre les différents • La performance totale en virgule flottante est de 218 Giga Flops. • Processeur graphique • 1.8 Tera Flops de performance en virgule flottante • Mémoire • 256 MB XDR Main RAM à 3.2 GHz • 256 MB GDDR3 VRAM à 700 MHz • Communication • Ethernet (10BASE-T, 100BASE-TX, 1000BASE-T) x 3 (entrée x 1 + sortie x 2) • Wi-Fi IEEE 802.11 b/g • Bluetooth 2.0 (EDR) • Manette • Bluetooth (plus de 7) • USB 2.0 (avec fil) • Wi-Fi (PSP) • Network (over IP)
Quelques chiffres • Processeur CELL: intégré aussi dans les prochaines générations de télévisions haute-définition (HT) ou encore dans les lecteurs/enregistreurs Blu-Ray. • Rend très difficile la conception de jeux par les éditeurs : • Développer un jeu sur PS3 revient 2 fois plus cher que sur XBox 360. • Exploité à travers un langage de programmation propriétaire, propre à Sony • Réalisation en 65 nanomètres (0.065 micromètre). • La puce 3D ressemble beaucoup à une GeForce 7800 • Le lecteur DVD : format Blu-Ray Disc, capacité de stockage de 25GO. • Processeur Cell à 3.6 GHz (64KO de cache interne) • 1 PPE (PowerPC Processing Element) : • 7 x SPE (128 registres généraux de 128bits et 256 Ko SRAM par SPE) • un cache de niveau 2 de 512 Ko partagé • Processeur graphique : 1.8 Tera Flops de performance en virgule flottante
Le processeur MIPS • Architecture simple produit par www.mips.com • Architecture 32 bits, model RISC : Reduced Instruction Set Computer • Largement utilsé dans les systèmes embarqués : PDA, terminaux, consoles de jeu, …
Rappels • Jeu d’instruction MIPS : • Registres: • Instructions courantes
Introduction : Structure d’un processeur Unité Centrale CPU Central Processing Unit Processeur Bus d’adresse Bus de données Mémoire Centrale Organes d’entrées/Sortie
2 Place de l’Unité de contrôle dans le processeur Signaux de contrôle Signal d’état Registres Signaux de contrôle Unité de contrôle ual Signaux de contrôle Signaux de contrôle Les bus
..suite • Rôle de l’unité de contrôle: • Décodage de l ’instruction (comprendre) : Quelles tâches à faire? • Contrôler l’exécution des instruction (le chemin de Données) • Les multiplexeurs (quelle entrée choisir?, ..) • les mémoires (read ou write, .. • L ’UAL quelle opération réaliser • Chemin de Données: Ensembles des unités (UAL, Mémoire, registres, E/S, Bus, ..) utilisées pour réaliser une instruction
Écrire sortieUAl dés que addition terminée Registres additionner Résultat Rôle de l’unité de contrôle Registre Instruction RI Code Op No R1 No R2 No RD Unité de contrôle Addition de 2 registres Y $0 X $1 UAL + - * / ….. $31
Ce qu’il faut savoir: • Une instruction est exécutée en plusieurs étapes (phases) • Exemple: • Lecture Instruction, • Décodage, Lecture de opérandes, • Applications de l’opération, • Accès à la mémoire (si nécessaire) • Ecriture Résultat • Le début et la fin d’une étape est déterminé par un signal d’horloge
Groupes dans le jeu d’instruction • 1 Phase de l’exécution = 1 Période Horloge = 1 cycle horloge = temps minimum pour faire une tâche élémentaire Jeu d’instructions IS : instruction set Jeu d ’instruction : 3 groupes • Mémoire: Lw, Sw • UAL: Add, Sub, And, Or, Slt • Branchement (avec condition): Beq Saut (sans condition) J
Num Reg Lecture1 5 bits 32 Données Lues1 32 bits A R e g i s t e r 0 R e g i s t e r 1 M u x R e g i s t e r n – 1 R e g i s t e r n Num Reg Lecture2 5 bits Données Lues2 32 bits B M u x 3: Les Eléments Utilisés Pour Construire le Chemin de données • Un Banc de 32 Registres Opération : Lecture des données 0 2
No Reg à lire 1 Données Lues1 32 bits A Mux $0 $1 No Reg à lire 2 Données Lues2 32 bits B Mux $31
Le banc de Registres (suite….) Banc de registres : Opération Ecriture 1 1 EcrireReg =1 0 0 C 0 R e g i s t e r 0 1 1 D Num Reg Ecrire n - t o - 1 C 1 d e c o d e r R e g i s t e r 1 5 25 =00001 D n – 2 N-1 0 0 C R e g i s t e r n – 1 D C Données A Ecrire = 25 32 R e g i s t e r n D
R e g i s t e r f i l e Fusionner les deux opérations Lecture: Read Reg Num1 (5bits) Read Reg Num2 (5bits) Read data1 (32 Bits) Read data2 (32 Bits) Ecriture: Num reg (5 Bits) Write data (32 Bits) EcrireReg (1 bit) 5 32 R e a d r e g i s t e r R e a d n u m b e r 1 d a t a 1 5 R e a d r e g i s t e r n u m e r 2 b 5 W r i t e 32 r e g i s t e r R e a d d a t a 2 32 W r i t e d a t a W r i t e 1 EcrireReg Signal de contrôle
A L U c o n t r o l 3 Z e r o A L U A L U r e s u l t b . A L U Les Autres Unités Prog e0 M e m W r i t e e15 e15 1 6 3 2 e15 e15 R e a d A d d r e s s S i g n d a t a e x t e n d e1 e1 D a t a W r i t e e0 e0 m e m o r y d a t a Arithmetic and logic unit M e m R e a d a . D a t a m e m o r y u n i t b . S i g n - e x t e n s i o n u n i t
4: Format des instructions • Le format d ’une instruction : Quelle est la forme (l’image de l ’instruction) en mémoire • Format Instruction : Plusieurs Champs ex code opération, registre, Adresse MC • Architecture MIPS : 3 Format : R (registre), I (Immédiat), J (jump ou saut) • Exemple1 :Format R add $18, $17, $8 # $18=$17+$8 Instruction Format:000000 10001 01000 10010 00000 100000 codop rs rt rd decVal fonct FORMAT R (registre) • L ’opération faite par l ’UAL Dépend du code op et de Fonct • CodOp toujours = 0 pour les opérations Ual (sur les entiers) DecVal est utilisés pour les instructions de décalage
Format suite…. • Exemple2 : Format I Lw $1, 100($2) Charger $1 par MC[$2+100] 35 2 1 100 codop rs rt 16 bit offset Format I • Ce format est utilisé pour représenter les instructions utilisant une valeur immédiate (valeur explicite dans l ’instruction): • Instruction Mémoire : LW et SW • Opération Ual Immédiate : Addi , Subi, …… • Branchement avec Condition : BEQ, BNE, BNE $1, $2, 200 3 1 2 200 • c.f poly TP pour les codeops et le format des instructions $1 MC[$2+100] LW $1 MC[$2+100] SW 6 5 5 16
Format suite ….. • Exemple 3: Format J J 1000 2 1000 Codeop(6 bits) Adresse absolue(26bits) 6 26
Résumé • 3 Groupes d instructions 3 Formats • UAL R • Mémoire I • Branchement et Saut • Branchement : Beq avec cond • Saut : J J add addi Lw et sw … Sans cond
5 : Contrôle de L ’UAL A L U c o n t r o l SrcA Z e r o ALU Circuit logique À concevoir A L U SrcB r e s u l t UALContrôle 3 bits Contrôle UAL Champ Fonct 6 2 ALUOp envoyé par l’unité de contrôle
Contrôle de L ’UAL ….suite • Opération de l ’UAL UalControl Opération réalisée 000 AND 001 OR 010 add 110 subtract 111 set-on-less-than • Cette UAL a été étudiée dans le chapitre 4 « Les circuits combinatoires » au paragraphe 4.4
Le contrôle de L ’UAL Suite …. • Le contrôle de l ’Ual est réalisé grâce à 3 signaux • Pour les générer : 1) le type de l ’instruction 00 = lw, sw 01 = beq, 11 = arithmetique • 2) Le Champ Fonction • Table de Vérité ALUOp Fonction UalControl lw ou sw + beq - add + sub - and or slt ALUOp1 ALUOp0 F5 F4 F3 F2 F1 F0 0 0 X X X X X X 010 0 1 X X X X X X 110 1 X X X 0 0 0 0 010 1 X X X 0 0 1 0 110 1 X X X 0 1 0 0 000 1 X X X 0 1 0 1 001 1 X X X 1 0 1 0 111
Contrôle de l ’Ual suite …... ALUOP 2 bits Block Contrôle Ual A L U O p 0 A L U O p 1 ualControl2 F 3 UalControl F 2 ualControl1 Fonct (F5..F0) F 1 ualControl0 F 0