Objectifs : - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Objectifs :

Description:

Unit 9: Unit centrale de traitement Objectifs : la fin de cette unit , vous conna trez le fonctionnement de l'unit centrale de traitement d'un ordinateur. – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 32
Provided by: PierreM58
Category:
Tags: objectifs

less

Transcript and Presenter's Notes

Title: Objectifs :


1
Unité 9 Unité centrale de traitement
  • Objectifs
  • À la fin de cette unité, vous connaîtrez le
    fonctionnement de l'unité centrale de traitement
    d'un ordinateur.
  • Pour y arriver, vous devrez atteindre les
    objectifs suivants 
  • - décrire les différentes composantes d'une unité
    centrale de traitement et leur rôle  unité de
    commande, séquenceur, unité arithmétique et
    logique, compteur ordinal, registre
    dinstruction, horloge
  • - décrire la structure d'une instruction de
    niveau machine

2
Unité 9 Unité centrale de traitement
  • 8.1 Architecture
  • Lunité centrale de traitement (UCT) ou
    processeur central (CPU) est lélément moteur de
    lordinateur qui interprète et exécute les
    instructions du programme situées en mémoire
    centrale.
  • Lensemble CPU mémoire centrale constitue
    lUnité Centrale.
  • LUCT est composé de lUnité arithmétique et
    logique (UAL) et de lUnité de commande ou de
    contrôle.
  • LUAL effectue les opérations arithmétiques et
    logiques.
  • LUnité de commande dirige le fonctionnement de
    toutes les autres unités UAL, mémoire, entrées
    / sorties, etc., en leur fournissant les signaux
    de cadence et de commande.

3
Unité 9 Unité centrale de traitement
  • 8.1 Architecture
  • Les différentes unités sont interconnectées par
    des systèmes de câblage transportant des signaux
    électriques. Pour éviter de relier chaque unité à
    chacune des autres, on fait usage de lignes
    exploitées en commun. On appelle bus ces
    ensembles de lignes.
  • On peut distinguer trois bus différents
  • Bus dadresses, par exemple, A0 à A31
  • Bus de données, par exemple, D0 à D31
  • Bus de contrôle, par exemple, R/W,
  • Un bus peut être utilisé par toutes les unités
    qui y sont connectées, mais jamais par plus de
    deux unités en même temps. Ceci pose des
    problèmes dattente et darbitrage (contention)
    lors des requêtes dutilisation.

4
Unité 9 Unité centrale de traitement
  • 8.1 Architecture

Bus de cache
Bus local
Bus mémoire
Pont
Mémoire
Cache
CPU
PCI
centrale
niveau
2
Bus PCI
Adaptateur
SCSI
USB
Pont
graphique
Disque
ISA
IDE
Moni-
teur
Cla-
Souris
vier
Bus ISA
Impri-
Carte
Modem
mante
de son
5
Unité 9 Unité centrale de traitement
  • 8.2 Unité de commande
  • Cette unité comporte
  • Le compteur ordinal CO
  • Le registre dinstruction RI
  • Le décodeur de code opération
  • Le séquenceur
  • Lhorloge
  • RA registre d adresses
  • RM registre mot

Mémoire
Bus de données
Bus dadresses
RM
RA
CO
RI
Décodeur
Horloge
Séquenceur
6
Unité 9 Unité centrale de traitement
  • 8.2 Unité de commande
  • Les impulsions générés par lhorloge à
    intervalles réguliers détermi-nent le temps de
    cycle de la machine.
  • Lexécution dune instruction prend généralement
    plus dun cycle, car une instruction comporte
    généralement
  • le temps de chargement de linstruction
    (fetch),
  • le temps de décodage de linstruction,
  • le temps de chargement des opérandes et de
    calcul de leur adresse effective,
  • le temps dexécution proprement dit.
  • le temps décriture du résultat (writeback).
  • En utilisant un pipeline, il est quand même
    possible démettre une instruction par cycle si
    toutes ces opérations peuvent être effectuées en
    parallèle.

7
Unité 9 Unité centrale de traitement
  • 8.2 Unité de commande
  • Étapes dun cycle de recherche dinstruction
    (fetch)
  • Transfert de ladresse de la nouvelle
    instruction de CO à RA.
  • La génération dune impulsion de lecture par
    lunité de commande provoque le transfert de
    linstruction cherchée vers RM qui fonctionne
    comme registre tampon pour tous les échanges avec
    la mémoire.
  • Transfert de linstruction dans RI.
  • Instruction code opération adresse opérande
  • Ladressage de lopérande peut demander le
    calcul de ladresse effective, ce qui consomme
    des cycles machine.
  • Pendant que ladresse de lopérande est envoyée
    à RA, le code opération est transmis au décodeur
    qui détermine le type dopération demandée et le
    transmet au séquenceur.
  • Le CO est incrémenté en vue du cycle de
    recherche suivant.

8
Unité 9 Unité centrale de traitement
  • 8.3 Synchronisation des opérations
  • Les signaux périodiques générés par lhorloge
    définissent le cycle de base ou cycle machine
    (clock cycle).
  • Le cycle mémoire est habituellement beaucoup plus
    long que le cycle machine, surtout sil doit
    accéder à la mémoire centrale (échec du cache
    interne L1 échec du cache externe L2)
  • Par exemple, dans un processeur dit à 500 MHz, le
    cycle machine est de 2 ns.
  • La fréquence du bus PCI pouvant atteindre 133
    MHz, le cycle de bus a une durée de 7,5 ns. Ceci
    est donc le temps minimum pour un accès en
    mémoire centrale.
  • Toutefois, il faut habituellement plusieurs mots
    mémoire pour remplir une rangée de cache, de
    sorte quun accès en mémoire centrale représente
    plusieurs cycles de bus.

9
Unité 9 Unité centrale de traitement
  • 8.4 Séquenceur
  • Le séquenceur est un automate qui a la
    responsabilité de générer les signaux de commande
    nécessaires pour actionner et contrôler les
    unités participant à lexécution dune
    instruction donnée.
  • Cette fonction peut être réalisée de deux façons
    séquenceur câblé ou séquenceur microprogrammé.
  • Un séquenceur câblé est un circuit séquentiel
    complexe qui fait corres-pondre à chaque
    instruction un sous-circuit capable de commander
    son déroulement.
  • On peut obtenir le même résultat avec une suite
    de micro-instructions stockées dans une mémoire
    de microprogrammation. Ce micro-programme est
    capable de générer une suite de signaux de
    commande équivalent à celle qui serait produite
    par un séquenceur câblé.

10
Unité 9 Unité centrale de traitement
  • 8.4 Séquenceur

RI
code op
adresse
décodeur
mémoire de microprogrammation
séquenceur câblé
commandes
commandes
UAL
11
Unité 9 Unité centrale de traitement
  • 8.4 Séquenceur
  • Le microprogramme (firmware) peut être stocké
    dans une ROM ou une EPROM.
  • Cette solution est plus fexible que la logique
    câblée. Le prix à payer est une vitesse
    inférieure.

RI
code op
adresse
compteur ordinal de microprogrammation
mapping ROM
mémoire de microprogrammation
micro-instruction
0
1
0
0
0
0
0
1
1
1
signaux de commande
12
8.4 Séquenceur MAR RA MDR RM PC CO MPC
CO du micro- programme. MIR registre
de micro-instruction (36 bits). MBR RI
13
Unité 9 Unité centrale de traitement
  • 8.5 Niveaux de programmation

langages évolués
niveau assembleur
instructions machine
micro-instructions
niveau des commandes électroniques
14
Unité 9 Unité centrale de traitement
  • 8.5 Niveaux de programmation
  • Le programmeur a le choix entre plusieurs
    langages de program-mation Fortran, Pascal, C,
    Ada, C, Java, Assembleur.
  • Lordinateur par contre ne comprend que son
    propre langage, le langage machine, avec son jeu
    dinstructions de niveau machine.
  • Il faut donc traduire le code source écrit dans
    lun des langages mentionnés en code objet ou
    code machine. Cette traduction seffectue à
    laide de programmes traducteurs tel que les
    assembleurs et les compilateurs.
  • Lassembleur est un langage dans lequel chaque
    instruction corres-pond à une instruction machine.

15
Unité 9 Unité centrale de traitement
  • 8.5 Niveaux de programmation
  • Un compilateur convertit la totalité du programme
    source en langage machine et place le code objet
    dans un fichier objet. Lordinateur peut ensuite
    exécuter ce code objet. Le code objet ne peut
    être exécuté que par un ordinateur ayant le même
    langage machine.
  • Un interprète convertit le programme source en
    code objet instruction par instruction, et
    lexécute au fur et à mesure. Le traducteur doit
    donc se trouver dans la machine au moment de
    lexécution, ce qui nest pas nécessaire dans le
    cas de code compilé.

16
Unité 9 Unité centrale de traitement
  • 8.5 Niveaux de programmation
  • Pour rendre le code portable, on a adopté une
    solution intermédiaire dans le cas du langage
    Java. Le code source est converti en byte-codes,
    langage compilé indépendant de la plate-forme.
    Ces bytecodes sont ensuite interprétés par la
    machine cible au moyen dun interpète appelé
    machine virtuelle. Le même code compilé peut donc
    être exécuté sur toute plate-forme pour laquelle
    on dispose dune machine virtuelle Java (JVM).
  • Pour rendre ce processus plus performant,
    certaines machines virtuel-les appelées
    Just-In-Time Compilers (JIT) compilent les
    bytecodes en langage machine juste avant
    lexécution. On atteint ainsi des perfor-mances
    comparables à celles dun langage compilé.

17
Unité 9 Unité centrale de traitement
  • 8.6 Structure des instructions niveau machine
  • Une instruction machine doit fournir au CPU
    toutes les informations pour lexécution dune
    opération élémentaire.
  • Elle doit donc contenir un code opération qui est
    essentiel pour spécifier le type daction désiré.
  • Elle doit en outre contenir une ou plusieurs
    adresses selon le cas ladresse de (ou des)
    opérande(s), ladresse où envoyer le résultat et
    ladresse où chercher linstruction suivante.
  • Par conséquent, le format dune instruction
    machine comporte un champ code opération et
    jusquà quatre champs dadresse. On parle
    dinstructions à n adresses. On dit dune machine
    quelle est à n adresses si la plupart de ses
    instructions sont à n adresses.

18
Unité 9 Unité centrale de traitement
  • 8.6 Structure des instructions niveau machine
  • Ainsi, le MC6809 est une machine à une adresse,
    le Pentium et le MC68000 sont des machines à 2
    adresses.
  • Le PowerPC est une machine à 3 adresses pour les
    opérations entre registres, à 2 adresses pour les
    accès mémoire.
  • Exemples
  • LDA 1000 instruction à 1 adresse (6809)
  • mov ax,esi4 instruction à 2 adresses
    (Pentium)
  • add eax,ebx instruction à 2 adresses (Pentium)
  • move d4,8(a6) instruction à 2 adresses (MC68000)
  • move d3,d4 instruction à 2 adresses (MC68000)
  • ld r0,4(r1) instruction à 2 adresses (PowerPC)
  • add r3,r2,r1 instruction à 3 adresses (PowerPC)

19
Unité 9 Unité centrale de traitement
  • 8.6 Structure des instructions niveau machine
  • Il existe aussi des machines à zéro adresse. Ce
    sont des machines à pile, analogues aux
    calculatrice à notation polonaise inverse (RPN).
    Elle prennent tous ses opérandes sur la pile et
    inscrivent le résultat au sommet de la pile.

20
Unité 9 Unité centrale de traitement
  • 8.7 Jeu dinstructions
  • Chaque machine a son jeu dinstructions de base.
    Le nombre dinstructions varie de 50 à plus de
    300.
  • Il y a deux écoles de pensée. Les partisans de
    larchitecture RISC (Reduced Instruction Set
    Computer) préconisent un petit nombre
    dinstructions élémentaires dans un format fixe,
    faciles à réaliser dans le matériel et
    dexécution rapide (1 instruction par cycle
    machine). Cela nécessite un séquenceur câblé et
    un compilateur capable dexploiter les
    caractéristiques de la machine (par exemple,
    utiliser les registres pour minimiser les accès à
    la mémoire).
  • Dautres préfèrent les architectures CISC
    (Complex Instruction Set Computer) basées sur des
    jeux dinstructions très riches et de taille
    variable, et offrant des instruction composées
    (nécessitant plusieurs voire même parfois des
    centaines de cycles machine).

21
Unité 9 Unité centrale de traitement
  • 8.7 Jeu dinstructions
  • Les instructions quon trouve dans les
    répertoires de toutes les machines peuvent être
    classées en six groupes
  • Transfert de données (Load, Move, Store).
  • Opérations arithmétiques (les quatre opérations
    sur des entiers et sur des nombres en virgule
    flottante de simple ou double précision).
  • Opérations logiques (AND, OR, NOT, XOR, etc).
  • Contrôles de séquence (branchements
    conditionnels et incondition-nels, boucles,
    appels de procédures, etc.).
  • Entrée / sortie (Read, Write).
  • Manipulations diverses (décalages, conversions
    de format, incré-mentation de registres, etc.).

22
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Compteur ordinal (CO)
  • Le registre CO contient ladresse mémoire de la
    prochaine instruction à exécuter. Il est
    automatiquement incrémenté après chaque
    utilisation. Le programme est donc exécuté en
    séquence à moins quil ne contienne une
    instruction qui modifie la séquence, par exemple
    un saut ou un branchement. Dans ce cas, la
    nouvelle adresse remplacera le contenu du CO. Ce
    changement sera effectué pendant le cycle
    dexécution, après le décodage du code opération,
    mais avant le transfert du contenu du CO
    incrémenté vers le RA.
  • Registre instruction (RI)
  • Quand une instruction est chargée à partir de la
    mémoire, elle est placée dans RI. Les bits
    correspondant au code opération sont envoyés soit
    au décodeur, soit à la mémoire de
    microprogrammation.

23
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Accumulateur (ACC)
  • Dans le plupart des opérations arithmétiques,
    laccumulateur contient lun des opérandes avant
    lexécution, et le résultat après. Il peut servir
    de tampon dans les opérations dentrée / sortie.
    Il a généralement la même taille que le mot
    mémoire, mais, dans la plupart des machines, il
    possède une extension (registre Q) qui permet de
    doubler sa taille. Ceci permet de stocker le
    résultat dune multiplication dans ACC et Q, ou
     dy placer le quotient et le reste dune
    division.
  • Dans le Pentium, laccumulateur est EAX et
    lextension Q est EDX.

24
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Registres généraux
  • Les registre généraux (general purpose registers)
    servent à enregistrer les informations
    fréquemment utilisées pendant le programme, ou
    des résultats intermédiaires. Cela évite des
    accès à la mémoire, accélérant ainsi lexécution
    du programme. La plupart des instructions sont
    disponibles pour les registres généraux.
  • Dans le Pentium, ce sont EBX et ECX, mais EAX et
    EDX peuvent aussi être considérés des registres
    généraux.

25
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Registres dindice (XR)
  • Ces registres dindice ou dindex peuvent être
    utilisée comme des registres généraux. Mais, il
    ont en plus une fonction spéciale pour manipuler
    les tableaux de données avec ladressage indexé.
    Dans un tel mode dadressage, ladresse de
    lopérande est obtenue en additionnant la partie
    adresse de linstruction au contenu du registre
    dindex spécifié.
  • Dans le Pentium, tous les registres généraux
    peuvent être utilisés comme indice.

26
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Registre de base
  • Utilisés pour calculer des adresses effectives,
    les registres de base sont conçus pour contenir
    une adresse de référence. Pour obtenir ladresse
    effective, il faut y ajouter le contenu du champ
    adresse de linstruction
  • Chez Intel, cétait originalement BP et SP, mais
    dans le Pentium, EBP, ESI, EDI, ESP et tous les
    registres généraux peuvent servir de registre de
    base.

27
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Registre détat (PSW)
  • Le registre détat, aussi appelé registre de
    codes condition (Program status word ou Condition
    Code Register) contient différents bits appelés
    drapeaux (flags) indiquant le résultat dune
    instruction. Les bits les plus courants sont Z,
    qui vaut 1 si le résultat de linstruction est 0,
    C qui vaut 1 sil y a une retenue, N ou S qui
    vaut 1 si le résultat de linstruction est
    négatif, et V ou OF, qui vaut 1 sil y a eu
    débordement de capacité.
  • Dans le Pentium, ce registre sappelle EFLAGS.

28
Unité 9 Unité centrale de traitement
  • 8.8 Registres du CPU
  • Pointeur de pile (SP)
  • Ce registre pointe au sommet dune structure de
    pile implantée en mémoire centrale. Le
    fonctionnement dune pile suit la règle
    Last-In-First-Out (LIFO).
  • Chaque fois quun mot doit être enregistré dans
    la pile, il est placé à ladresse qui précède
    celle du mot enregistré précédemment.
  • Les information enregistrées dans la pile sont
    lues dans lordre inverse de celui dans lequel
    elles ont été enregistrées.
  • Une fois quun mot est lu, son emplacement
    devient disponible pour une nouvelle information.

29
Unité 9 Unité centrale de traitement
  • 8.9 Adressage des opérandes
  • Les modes dadressage les plus importants sont
  • direct ou absolu Le champ adresse contient
    ladresse effective.
  • indirect Le champ adresse contient ladresse
    où se trouve ladresse effective.
  • immédiat Le champ adresse de linstruction
    contient lopérande.
  • implicite Le code opération implique où se
    trouve lopérande.
  • indexé Adresse effective contenu du champ
    adresse contenu du registre index.
  • basé Adresse effective contenu du registre
    de base contenu du champ adresse.
  • relatif Comme ladressage basé, mais cest CO
    qui sert de registre de base.

30
Unité 9 Unité centrale de traitement
  • 8.10 Taille de ladresse et taille de la mémoire
  • Soit ADR le nombre de bits dans le champ adresse
    dune instruction.
  • Si ADR n, la mémoire physique est accessible
    dans sa totalité. Tous les modes dadressage
    proposés par le fabricant peuvent être utilisées.
    Cest le cas du Pentium, du MC68000, du PowerPC.
  • Si ADR lt n, ADR ne suffit pas pour adresser toute
    la mémoire. On peut utiliser ladressage basé, si
    le registre de base a une taille suffisante (n
    bits). Il suffit de diviser la mémoire en blocs
    de taille telle que ADR puisse adresser
    totalement un bloc. On utilise alors le champ
    adresse pour indiquer le déplacement à
    lintérieur du bloc.
  • Cétait le cas du 8088/8086 et du 80186.
    Ladresse de 16 bits pouvait adresser 64 Ko, mais
    les registres de segment permettaient datteindre
    1 Mo.

31
Unité 9 Unité centrale de traitement
  • 8.10 Taille de ladresse et taille de la mémoire
  • Si ADR gt n, ADR peut adresser des positions de
    mémoire qui nexistent pas en mémoire physique.
    On profite de cette possibilité pour réaliser la
    mémoire virtuelle, dans laquelle la mémoire
    physique peut être considérée comme un cache pour
    la mémoire adressable totale qui est alors placée
    sur disque. Dans ce cas, lespace mémoire est
    divisé en pages de quelques Ko au lieu de blocs
    de quelques octets.
Write a Comment
User Comments (0)
About PowerShow.com