Etienne Tremblay - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Etienne Tremblay

Description:

Lors d'une interruption, les activit s courantes du CPU sont temporairement ... La routine de l'interruption est ex cut e, puis les activit s du CPU continues. ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 26
Provided by: Sab70
Category:

less

Transcript and Presenter's Notes

Title: Etienne Tremblay


1
Etienne Tremblay
  • Ordinateurs, Structure et Applications

GIF-16116
Cours 3, Composantes de la carte mère
Université Laval, Hiver 2007
2
Carte mère et composantes dun ordi
CPU
Source http//www.smtechnologie.com/modules/news/
article-86.html
3
Le CPU
  • Les composantes du CPU ont été présentées au
    cours 2.
  • Le CPU coordonne le fonctionnement de lensemble
    du micro-ordinateur
  • Le CPU exécute les programmes contenus dans la
    mémoire
  • Le CPU répond à des interruptions venues de
    lextérieur
  • La puissance dun CPU dépend de nombreux facteurs
  • Vitesse dhorloge
  • Nombre dinstructions exécutées par coup
    dhorloge
  • La taille et la nature des instructions
  • La taille du bus de donnée et du bus interne du
    CPU
  • Note Vitesse dhorloge Nombre dinstructions
    par coup dhorloge MIPS

4
Jeux dinstructions (Intro)
  • Chaque instruction exécutée par un CPU a un
    opcode en binaire et une longueur prédéterminée.
    La table ci-dessus est un exemple de jeux
    dinstruction.
  • Chaque instruction possède un mnémonique en
    assembleur. Un programme assembleur pour un
    Pentium peut-il être utilisé pour un Athlon?

5
La mémoire en général
  • Une adresse permet de déterminer lemplacement de
    la mémoire lue.
  • Il se retrouve un byte ou plusieurs bytes a
    chaque adresse (1 byte dans lexemple).
  • 2 chiffres servent à exprimer la taille dune
    mémoire le nombre dadresse possible et la
    taille du contenue de la mémoire à une adresse
    donnée (ex 1k8bits)
  • Note 1k 210 3FF1

6
Les types de mémoires
  • Les mémoires qui perdent leur contenu
    lorsquelles perdent leur alimentation sont dites
    volatiles. Les autres mémoires sont
    non-volatiles.
  • Les mémoires qui nécessitent un rafraîchissement
    de leur données sont dites dynamiques. Si les
    données dune mémoire dynamique ne sont pas lues
    régulièrement, elles seffacent. Les autres
    mémoires sont statiques. Voir http//www.x86-secre
    t.com/popups/articleswindow.php?id15 pour une
    illustration de la DRAM.
  • Les mémoires qui ne sécrivent quune seule fois
    sont dites ROM (Read Only Memory) ou OTP (One
    Time Programming). Les autres mémoires sont RAM
    (Random Access Memory).
  • Les mémoires qui peuvent seffacer (et être
    réécrite) à laide dune procédure spéciale ont
    des noms qui leurs sont propres. Flash et EEPROM
    seffacent électriquement mais avec une opération
    spéciale, UVPROM nécessite de lultra-violet...
  • Les noms sont donnés aux mémoires en fonction de
    ces caractéristiques. Par exemple, SRAM est de la
    RAM statique.

7
Table-résumé des types de mémoire
  • Il y a plusieurs autres types et noms pour les
    mémoires qui ne sont pas dans la table ci-dessus.
    Par exemple, on retrouvera
  • SDRAM (Synchronous dynamic random access memory)
    qui a des caractéristiques similaires à DRAM.
  • DDR (Double Data Rate) qui est un type de SDRAM,
    mais deux fois plus rapide. DDR2 est deux fois
    plus rapide que DDR!
  • NVRWM (Non-Volatile Read Write Memory) qui
    désigne une mémoire comme EEPROM ou Flash

8
La mémoire dun ordi
9
La hiérarchie de la mémoire
Note Pour un processeur 2GHz, la période
dhorloge est 1/(2GHz) 0.5ns
10
Les caches (1/2)
  • Une cache est une mémoire daccès très rapide
    placée en tampon entre une unité rapide et une
    mémoire lente afin daccélérer les accès mémoire.
  • La taille de la cache est déterminée par la
    différence de vitesse entre lunité rapide et la
    mémoire lente
  • La cache contient les dernières
    données/instructions utilisées (least recent use)
    par le CPU.
  • Les caches contiennent des blocs de données
    plutôt que des données individuelles. Selon le
    principe de localité, il y a de fortes chances
    que deux instructions qui se suivent soient dans
    le même bloc.
  • Lorsquil veut une donnée, le CPU cherche dabord
    dans les caches. Un hit survient lorsque la
    donnée est trouvée.
  • Si le CPU ne trouve pas les données dans les
    caches (miss), il cherche dans la mémoire. Sil
    trouve, les données sont copiées dans les caches,
    puis transférées au CPU. Les données adjacentes
    sont également transférées dans la cache.
  • Le hit ratio est la probabilité de retrouver une
    donnée dans la mémoire cache.

11
Les caches (2/2)
  • Il y a plusieurs façons de relier les blocs de
    mémoires aux blocs de cache. Vous retrouverez
    lassociation directe qui consiste à relier un
    nombre fixe de blocs de mémoires à chaque
    emplacement de cache (méthode simple, peu
    coûteuse mais pas optimale). Il y a aussi les
    caches associatives dans lesquelles chaque bloc
    de mémoire peut se retrouver nimporte où dans la
    cache (complexe, coûteux, optimal). Finalement,
    il y a des caches partiellement associatives
    (associatives par set) qui sont un compromis
    entre les deux méthodes de mapping chaque bloc
    de mémoire peut se retrouver dans un nombre fini
    de blocs de cache (bon compromis!).
  • Lorsque le CPU écrit une variable en mémoire, il
    doit également tenir compte des caches. Il existe
    deux mode décriture principaux pour les caches
    et la mémoire write-through et write-back. En
    write-through le CPU écrit une donnée
    simultanément dans la mémoire et dans la cache ce
    qui est ne minimise pas les accès mémoire lents.
    En write-back, le CPU écrit dans la cache
    seulement. Les données sont transférées de la
    cache à la mémoire lorsque le bloc de cache doit
    être remplacé. Cela semble optimal, mais le DMA
    devient complexe (voir plus loin).
  • Lorsque les caches sont pleines, il faut
    remplacer une donnée. Il existe plusieurs
    algorithmes de remplacement qui dépendent de la
    façon dont les blocs de caches et les blocs de
    mémoire sont reliés.
  • Il y a parfois 1 cache, parfois 2 ou même 3.
    Avoir plusieurs niveaux de caches assure un bon
    hit ratio.

12
La cache L1
  • La cache L1 est habituellement à lintérieur même
    du CPU, imbriquée dans larchitecture même du
    processeur.
  • Petite, car espace sur le CPU limitée (128 ko
    pour les premiers ATHLON, 32 ko pour les pentiums
    2/3)
  • Divisée en 2 pour les données et pour les
    programmes
  • Très utilisée.

13
Les caches L2 et L3
  • Les ordinateurs modernes ont au moins deux
    niveaux de cache et souvent trois.
  • La cache L2 est plus grosse que la cache L1
    (256ko à 2Mo).
  • Les caches L2 et L3 sont habituellement à
    lextérieur du CPU (mais de plus en plus à
    lintérieur). Indépendantes de larchitecture du
    micro lorsquà lextérieur.
  • Habituellement pas de différence entre les
    données et les instructions. Cependant, une
    tendance pour des caches où les instructions sont
    séparées des données apparaît dans les
    ordinateurs super scalaires (pouvant exécuter
    plusieurs instructions simultanément)
  • Moins rapide que L1 mais environ 10 fois plus
    rapide que la mémoire.

14
La mémoire principale, une cache du disque dur?
  • La mémoire contient des données et des programmes
    regroupées en pages (souvent 4K).
  • La mémoire fournit des informations aux caches.
  • Si les données ne sont pas trouvées dans la
    mémoire (page fault), il faut chercher dans le
    disque dur (très long). La page contenant la
    donnée recherchée est habituellement transférée
    en mémoire. Elle remplace souvent une page déjà
    en place quil faut sauvegarder dabord (swap
    page).
  • Physiquement, la mémoire se présente sous forme
    de SIMM (Single Inline Memory Module) ou de DIMM
    (Dual Inline Memory Module) (voir roles et types
    de memoires.doc pour images).

15
La mémoire virtuelle
  • Le besoin de mémoire virtuelle apparaît lorsque
    plusieurs programmes sont exécutés simultanément
    et lorsque les programmes séparpillent dans la
    mémoire.
  • Pour chaque processus exécuté, une mémoire
    virtuelle apparaît. Il sagit dune
    représentation de toute la mémoire utilisée par
    le programme.
  • La mémoire virtuelle est reliée à la mémoire
    physique par une table de correspondance (page
    table). Cette table est quelque part en mémoire
    et un registre indique son emplacement.
  • La mémoire virtuelle est découpée en pages de la
    même taille que les pages de mémoire (appelée
    frames). Les pages ont habituellement 4K (de 0 à
    3FF)
  • Lemplacement dune donnée à lintérieur dune
    page est obtenu grâce à loffset.
  • Pour obtenir une instruction pour un processus
    donné, le CPU doit trouver la frame physique
    contenant linstruction à partir de la page
    virtuelle grâce à la table de correspondance. Ce
    travaille se fait dynamiquement (Dynamic address
    translation) par le MMU (Memory Management Unit)
    à lintérieur du CPU.

16
Illustration de la mémoire virtuelle (1)
Tiré de The architecture of computer hardware
and software, p. 484
17
Illustration de la mémoire virtuelle (2)
Tiré de The architecture of computer hardware
and software, p. 484
18
Les I/Os dun ordi
19
I/Os
  • Les I/Os sont beaucoup plus lents que le
    microprocesseurs.
  • Des bus (données, adresse et contrôle) avec des
    horloges plus lentes que celle du CPU sont
    dérivés du bus externe du CPU. Des modules font
    le lien entre les deux bus.
  • Un peu de hardware est nécessaire pour chaque
    type de périphérique (I/O module), peu importe le
    bus sur lequel il est connecté.
  • Les I/Os sont adressés comme la mémoire mais avec
    des registres différents (Par exemples, Memory
    Read est remplacé par I/O Read et le MAR est
    remplacé par IOAR).

20
Accès aux I/Os
  • Il est possible daccéder par des instructions
    préprogrammée (IN, OUT). IN Une requête est
    faite au périphérique via le module de I/O.
    Lorsque la réponse est reçue, elle est mise dans
    un registre et le CPU est avisé. OUT La requête
    décriture est transférée au module de I/O qui la
    transfère au périphérique.
  • Les interruptions sont produites par les I/Os
    afin de requérir une action du CPU. Une
    alternative aux interruptions est le polling le
    CPU demande à toutes les devices, à tour de rôle,
    si elles ont des nouvelles données disponibles.

21
Les interruptions
  • Lors dune interruption, les activités courantes
    du CPU sont temporairement suspendues. La routine
    de linterruption est exécutée, puis les
    activités du CPU continues.
  • Les interruptions ont des priorités (voir la
    table ci-dessous) et des numéros. Une
    interruption peut interrompre une autre
    interruption si elle est de priorité plus élevée.
  • Les CPU peuvent gérer les interruptions par
    polling (le demande à tous qui a généré une
    interruption) ou avec une table vectorielle (voir
    p.247-248 du livre).
  • Le système dinterruption du AT (voir aussi la
    page suivante, tiré de IRQ DMA.doc )
  • Les compatibles PC possèdent 15 lignes
    d'interruption. Ces lignes sont identifiées IRQ0
    à IRQ15 (IRQ2 est utilisé pour cascader le second
    contrôleur dinterruption (voir IRQ DMA.doc
    ). Cependant ce ne sont pas toutes ces lignes
    d'interruption qui sont disponibles sur le bus
    d'expansion. Les lignes suivantes 0, 1, 8 et 13
    sont utilisées sur la carte-mère. IRQ3 à 7 et IRQ
    9 sont accessibles sur la section 8 bits du bus
    ISA et IRQ10,11,12,14 et 15 sont accessibles sur
    la section 16 bits du bus ISA.
  • Le(s) contrôleur(s) dinterruption (Programmable
    Interrupt Controler en anglais) est un ensemble
    de circuits logiques gérant les ints.

22
Les interruptions matérielles des PCs
Tiré de IRQ DMA.doc
23
Les interruptions matérielles des PCs 2
Tiré de IRQ DMA.doc
24
Direct Memory Access (DMA)
  • Le contrôleur de DMA permet à certains
    périphériques ayant de larges quantités de
    données à transférer de communiquer directement
    avec la mémoire, sans passer par le CPU.
  • Le contrôleur de DMA doit sassurer que le CPU ne
    sadresse pas à la mémoire lorsquil transfert
    des données. De plus, il doit interfacer avec la
    mémoire de la même façon que le CPU.
  • Le contrôleur DMA prend le contrôle du bus
    externe (données, adresse et contrôle) lorsquun
    transfert de données par DMA survient.

25
Références et exercices
  • Références
  • Irv Englander chapitre 7 (jusquà 7.6), sections
    8.2 et 8.3 (caches seulement), chapitre 9,
    section 15.6
  • Notes de monsieur Ranger architecture du pc.doc,
    Les bus.doc, IRQ DMA.doc, LA CACHE DE VOTRE
    PROCESSEUR ET LES AUTRES CACHES.doc, roles et
    types de memoires.doc
  • Stallings 3.1. 4.1, 5.1 et 6.1
  • Exercices
  • Labo 1 ?
  • Irv Englander 9.7, 9.8
  • Décrivez les étapes queffectue le CPU afin
    dobtenir la prochaine instruction si cette
    instruction nest pas dans aucune cache, ni dans
    la mémoire (elle se retrouve dans le disque dur).
    Considérez que de la mémoire virtuelle est
    utilisée ainsi que 2 niveaux de cache (L1 et L2).
Write a Comment
User Comments (0)
About PowerShow.com