Architecture et technologie des ordinateurs II

Slides:



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

GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Électronique de base du processeur
Tables de Karnaugh Table de vérité : Table de Karnaugh
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Les formats Stage – Semaine 4.
Test Intégré pour Convertisseurs Analogique/Numérique
Plan du cours : 2ème Partie
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Interface Matériel/logiciel
Interface Matériel/logiciel
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Architecture Systèmes
Auto Apprentissage Le DSP
Les structures de données
Les microprocesseurs A. Objectifs de la séquence:
Architecture de machines Principes généraux
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
PILE voir l'animation: Diaporama / Visualiser ...
Système d’exploitation : Assembleur
Chapitre 8 : L’architecture de base des ordinateurs
Commande séquentielle d’un moteur
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Mémoire cache ou antémémoire
SÉQUENCE D’ACTIONS SUR
Architecture et programmation des ordinateurs
Architecture de base d’un ordinateur
Les piles Djamal Rebaïne.
Architecture et technologie des ordinateurs II
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
Fonctionnement des Unités de Traitement
INTRODUCTION AU Février 2008
Sections sélectionnées du Chapitre 11
Arithmétique des “computers”
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Architecture Fondamentale des Microprocesseurs
LES SYSTEMES AUTOMATISES
Parallélisme des instructions
Parallélisme des instructions
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.
Lycée ELKHAWARIZMI De SAFI
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Chapitre 9 : La machine MIASM
Cours de Structure et Technologie des composants d’ordinateurs
9 décembre 2014J.Callot L.Piedfort1 Chapitre_1 K60 Evolution des machines Introduction au K60 Liaison série.
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
3-Présentation d’un µP simple
Architectures des ordinateurs
Les Machines RAM.
COURS_1 JC LP MD.
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.
Architecture et technologie des ordinateurs II
Exécution d ’un programme en 6809: Présentation du programme
Architecture et technologie des ordinateurs II
Patricia Renault UPMC 2005/2006
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.
Chapitre 3 L’accès aux données.
1.1: notions de bases de l’informatique
Formations Système Embarqué & Informatique Industrielle
É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.
Transcription de la présentation:

Architecture et technologie des ordinateurs II Résumé Séquenceur CK Opcode Opérandes n BASCULES Fanions RAM Contrôle SLC Opérandes Instruction Adresse BUS SYSTÈME Registres Unité de Traitement Unité Flottante Contrôle Décodeur PC ALU CPU MÉMOIRE PRINCIPALE IO Cache Données Instructions G. Tempesti 1

Architecture et technologie des ordinateurs II Résumé Séquenceur CK Opcode Opérandes n BASCULES Fanions RAM Contrôle SLC Opérandes Instruction Adresse Adresse PC +1 CK + Offset Opcode SLC Condition Fanions G. Tempesti 2

Architecture et technologie des ordinateurs II Résumé PC+  adresse initiale Mémoire Séquenceur CK Opcode Opérandes IR Fanions RAM Contrôle SLC Opérandes MDR MAR PC MAR  PC+ MDR  M[MAR] IR+  MDR CK décodification de IR OUI contrôle? NON OUI saut? NON NON adresse? OUI chargement exécution PC+PC+ offset PC+PC+1 G. Tempesti 3

Architecture et technologie des ordinateurs II Complication #1 Comment peut fonctionner un processeur 8 ou 16 bits quand les instructions doivent coder tellement d'informations? ou Comment réaliser des instructions qui nécessitent plus d'opérandes que ne peut coder un seul mot mémoire? ou Comment exécuter des instructions qui nécessitent plusieurs coups d'horloge? Une solution possible: la microprogrammation. G. Tempesti 4

Décodage - Processeurs câblés Architecture et technologie des ordinateurs II Décodage - Processeurs câblés Mémoire Séquenceur CK Opcode Opérandes IR Fanions RAM Contrôle SLC Opérandes MDR MAR PC OPCODE O S W = E E E ADRESSE N L ALC SHC RRA RRB N WRA ...000 0 0 ØØØ ØØØ ØØØ ØØØ 0 ØØØ ...001 0 1 101 1ØØ ØØØ 000 1 001 ...011 0 0 111 1ØØ 000 ØØØ 1 010 ...010 0 0 101 1ØØ 000 000 1 011 ...100 0 0 001 1ØØ 001 010 1 100 ...101 0 0 101 1ØØ 011 100 1 011 ...111 1 0 101 1ØØ 011 000 0 ØØØ ...110 0 0 101 010 001 000 1 001 ...... ......................... RAM 2NxC G. Tempesti 5

Décodage - Microprogrammation Architecture et technologie des ordinateurs II Décodage - Microprogrammation Mémoire MDR MAR OPCODE ...000 Microinstruction 1 Microinstruction 2 ... Microinstruction N ...001 Microinstruction 1 ...011 Microinstruction 1 ...010 Microinstruction 1 ...... ......................... CK PC Séquenceur Microprogrammes Opcode Opérandes IR Opérandes Contrôle CK Fanions G. Tempesti 6

Décodage - Microprogrammation Architecture et technologie des ordinateurs II Décodage - Microprogrammation Mémoire MDR MAR OPCODE ...000 ...001 ...011 ......................... ...010 ......................... ...... ......................... CK PC Séquenceur S0 S1 S2 Sn Microprogrammes S0 S1 S2 S3 Sn Opcode Opérandes IR Opérandes Contrôle CK Fanions G. Tempesti 7

Architecture et technologie des ordinateurs II Exemple - Motorola 68000 Architecture 16 bits (extensions 32 bits) 12 modes d'adressage 16 fanions 8 registres de 16 (32) bits de large Exemple 1: addition (en BCD) des contenus de deux adresses stockées dans deux registres, avec pré-décrément des adresses abcd -(A1),-(A2) Exemple 2: soustraction d'un nombre immédiat (16 bits) au contenu d'une position mémoire (adresse 16 bits) subi.0 #0f0fH,2d52H Mémoire MDR MAR CK PC Séquenceur Microprogrammes Opcode Opérandes IR Opérandes Contrôle CK Fanions G. Tempesti 8

Exemple 1 - Codage de l'instruction Architecture et technologie des ordinateurs II Exemple 1 - Codage de l'instruction abcd -(A1),-(A2) Mémoire MDR MAR 1 mot de 16 bits est suffisant pour coder cette instruction: CK PC Séquenceur #1: 1100 010100 001001 Destination Source Microprogrammes Opcode Opérandes IR Opérandes Il faut remarquer que le contenu de la destination est écrasé par le résultat. On peut supposer que le processeur contient une seule ALU. Contrôle CK Fanions G. Tempesti 9

Exemple 1 - Décodage de l'instruction Architecture et technologie des ordinateurs II Exemple 1 - Décodage de l'instruction Mémoire abcd -(A1),-(A2) MDR MAR CK S0 S1 S2 PC Séquenceur A1A1-1 Microprogrammes A2A2-1 1100010100001001 IR Opérandes M[A1]M[A2]+M[A1] PC+PC+1 IR+M[PC+] Contrôle CK Fanions G. Tempesti 10

Exemple 2 - Codage de l'instruction Architecture et technologie des ordinateurs II Exemple 2 - Codage de l'instruction subi.0 #0f0fH,2d52H Mémoire MDR MAR 3 mots de 16 bits sont nécessaires pour coder cette instruction: CK PC Séquenceur #1: 0000 010001 111000 Taille des données Mode d'adressage Microprogrammes Opcode Opérandes IR Opérandes #2: 0000111100001111 Immédiat Contrôle #3: 0010110101010010 CK Fanions Adresse G. Tempesti 11

Exemple 2 - Décodage de l'instruction Architecture et technologie des ordinateurs II Exemple 2 - Décodage de l'instruction Mémoire subi.0 #0f0fH,2d52H MDR MAR CK S0 S1 S2 PC Séquenceur PC+PC+1 IR+M[PC+] A1IR PC+PC+1 IR+M[PC+] Microprogrammes 0000010001111000 IR Opérandes M[IR]M[IR]-A1 PC+PC+1 IR+M[PC+] Contrôle CK Fanions G. Tempesti 12

Architecture et technologie des ordinateurs II Complication #2 Existe-t-il des architectures alternatives pour l'unité de traitement permettant de réduire la complexité des instructions? La réponse est (évidemment) oui. Malheureusement, une telle réduction implique une perte de performance: si les instructions sont plus simples, il faut plus d'instructions pour une tâche donnée. On échange une complexité matérielle contre une complexité logicielle. G. Tempesti 13

Architecture "standard" - Structure Architecture et technologie des ordinateurs II Architecture "standard" - Structure OUTPORT INPORT OEN SEL 1 0 I0 I1 AL2 AL1 AL0 Z Z≠0 SH2 SH1 SH0 SHIFTER 3 RA 3 R0 R1 R2 R3 R4 R5 R6 R7 RB WEN 3 WA G. Tempesti 14

Architectures "standards" - Exemple Architecture et technologie des ordinateurs II Architectures "standards" - Exemple Langage de haut niveau: P := (Q*R + S*T)*(U + V) Compilation pour une architecture "standard": MULT Q,R : R  Q*R MULT S,T : T  S*T ADD T,R : R  Q*R + S*T ADD U,V : V  U + V MULT R,V : V  (Q*R + S*T)*(U + V) MOVE V,P : P  (Q*R + S*T)*(U + V) G. Tempesti 15

I - Architectures load/store Architecture et technologie des ordinateurs II I - Architectures load/store Une première possibilité a déjà été mentionnée. Il s'agit de limiter toute référence à la mémoire principale aux seules instructions de transfert de données (move, load, store). Par exemple, l'instruction: abcd -(As),-(Ad) peut être transformée en: dec As dec Ad move (As),Ax move (Ad),Ay abcd Ax,Ay move Ay,(Ad) Ce type d'architecture est appelé load/store (chargement-rangement). G. Tempesti 16

Architectures load/store - Structure Architecture et technologie des ordinateurs II Architectures load/store - Structure INPORT OUTPORT OEN I0 I1 AL2 AL1 AL0 Z Z≠0 SH2 SH1 SH0 SHIFTER SEL 1 0 3 RA 3 R0 R1 R2 R3 R4 R5 R6 R7 RB WEN 3 WA G. Tempesti 17

Architectures load/store - Exemple Architecture et technologie des ordinateurs II Architectures load/store - Exemple Langage de haut niveau: P := (Q*R + S*T)*(U + V) Compilation pour une architecture load/store: LOAD R1, Q LOAD R2, R MULT R1,R2 : R2  Q*R LOAD R1, S LOAD R3, T MULT R1,R3 : R3  S*T ADD R2,R3 : R3  Q*R + S*T LOAD R1, U LOAD R2, V ADD R1,R2 : R2  U+V MULT R2,R3 : R3  (Q*R + S*T)*(U+V) STORE R3,P : P  (Q*R + S*T)*(U+V) G. Tempesti 18

II - Processeurs à accumulateur Architecture et technologie des ordinateurs II II - Processeurs à accumulateur Dans ce type d'architecture les résultats de toutes les opérations sont stockés dans un registre particulier (l'accumulateur) et toutes les variable sont stockées dans la mémoire principale. Par exemple, l'opération x  y + z est réalisée par: load y : ACC  y add z : ACC  ACC + z store x : x  ACC Chaque instruction doit donc contenir deux champs: l'opcode et l'adresse de l'opérande (l'accumulateur est toujours un opérande par défaut). Exemples: DEC PDP-8, Intel 8080, Motorola 6800. G. Tempesti 19

Processeurs à accumulateur - Structure Architecture et technologie des ordinateurs II Processeurs à accumulateur - Structure OUTPORT INPORT OEN I0 I1 AL2 AL1 AL0 Z Z≠0 SH2 SH1 SH0 SHIFTER SEL 0 1 Accumulateur G. Tempesti 20

Processeurs à accumulateur - Exemple Architecture et technologie des ordinateurs II Processeurs à accumulateur - Exemple Langage de haut niveau: P := (Q*R + S*T)*(U + V) Compilation pour une architecture à accumulateur: LOAD Q : ACC  Q MULT R : ACC  Q*R STORE P : P  Q*R LOAD S : ACC  S MULT T : ACC  S*T ADD P : ACC  Q*R + S*T STORE P : P  Q*R + S*T LOAD U : ACC  U ADD V : ACC  U+V MULT P : ACC  (Q*R + S*T)*(U+V) STORE P : P  (Q*R + S*T)*(U+V) G. Tempesti 21

III - Processeurs à pile (stack) Architecture et technologie des ordinateurs II III - Processeurs à pile (stack) Dans ce type d'architecture les opérandes se trouvent toujours au sommet d'une pile (stack), typiquement dans la mémoire, et le résultat est ensuite toujours stocké au sommet de la pile. En conséquence, une instruction typique ne contient pas d'adresse d'opérande. Un registre dédié, le stack pointer (SP), pointe toujours le sommet de la pile. Par exemple, l'opération x  y + z est réalisée par: push y : SP+  SP+1; M[SP+]  y push z : SP+  SP+1; M[SP+]  z add : SP+  SP-1; M[SP+]  M[SP+] + M[SP] pop x : SP+  SP-1; x  M[SP] Exemples: Burroughs B5000, HP 300. G. Tempesti 22

Processeurs à pile - Structure Architecture et technologie des ordinateurs II Processeurs à pile - Structure Adresse M[SP+] OUTPORT M[SP] INPORT PUSH POP +1 -1 I0 I1 AL2 AL1 AL0 0 1 Z Z≠0 + SH2 SH1 SH0 SHIFTER SP+ Stack Pointer SEL 0 1 SP G. Tempesti 23

Processeurs à pile - Exemple Architecture et technologie des ordinateurs II Processeurs à pile - Exemple Langage de haut niveau: P := (Q*R + S*T)*(U + V) Compilation pour une architecture à pile: PUSH Q : SP+  SP+1; M[SP+]  Q PUSH R : SP+  SP+1; M[SP+]  R MULT : SP+  SP-1; M[SP+]  Q*R PUSH S : SP+  SP+1; M[SP+]  S PUSH T : SP+  SP+1; M[SP+]  T MULT : SP+  SP-1; M[SP+]  S*T ADD : SP+  SP-1; M[SP+]  Q*R + S*T PUSH U : SP+  SP+1; M[SP+]  U PUSH V : SP+  SP+1; M[SP+]  V ADD : SP+  SP-1; M[SP+]  U+V MULT : SP+  SP-1; M[SP+]  (Q*R + S*T)*(U+V) POP P : SP+  SP-1; P  (Q*R + S*T)*(U+V) G. Tempesti 24