La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture et technologie des ordinateurs II

Présentations similaires


Présentation au sujet: "Architecture et technologie des ordinateurs II"— Transcription de la présentation:

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 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

2 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

3 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

4 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

5 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 ØØØ ØØØ ØØØ ØØØ 0 ØØØ ØØ ØØØ ØØ 000 ØØØ 1 010 ØØ ØØ ØØ ØØ ØØØ RAM 2NxC G. Tempesti 5

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

7 Décodage - Microprogrammation
Architecture et technologie des ordinateurs II Décodage - Microprogrammation Mémoire MDR MAR OPCODE ...000 ...001 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

8 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

9 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: 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

10 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 IR Opérandes M[A1]M[A2]+M[A1] PC+PC+1 IR+M[PC+] Contrôle CK Fanions G. Tempesti 10

11 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: Taille des données Mode d'adressage Microprogrammes Opcode Opérandes IR Opérandes #2: Immédiat Contrôle #3: CK Fanions Adresse G. Tempesti 11

12 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 IR Opérandes M[IR]M[IR]-A1 PC+PC+1 IR+M[PC+] Contrôle CK Fanions G. Tempesti 12

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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


Télécharger ppt "Architecture et technologie des ordinateurs II"

Présentations similaires


Annonces Google