Structures d’ordinateurs (matériel)

47
1 Structures d’ordinateurs Structures d’ordinateurs (matériel) (matériel) Chapitre 2 Chapitre 2 http:// http:// w3.uqo.ca/luigi/ w3.uqo.ca/luigi/

description

Structures d’ordinateurs (matériel). Chapitre 2. http://w3.uqo.ca/luigi/. Ce chapitre:. Fait une révision de concepts importants de structure des ordinateurs, probablement déjà vus dans les cours préalables Surtout les interruptions et leur fonctionnement - PowerPoint PPT Presentation

Transcript of Structures d’ordinateurs (matériel)

Page 1: Structures d’ordinateurs  (matériel)

1

Structures d’ordinateurs Structures d’ordinateurs (matériel)(matériel)

Chapitre 2Chapitre 2

http://w3.uqo.ca/luigi/http://w3.uqo.ca/luigi/

Page 2: Structures d’ordinateurs  (matériel)

Ce chapitre:Ce chapitre:

Fait une révision de concepts importants de structure des ordinateurs, probablement déjà vus dans les cours préalables Surtout les interruptions et leur fonctionnement

Introduit aussi des concepts importants qui seront développés dans la suite du cours

Ch.2 2

Page 3: Structures d’ordinateurs  (matériel)

Ch.2 3

Concepts importants du Chapitre 2Concepts importants du Chapitre 2

Registres d’UCT, tampons en mémoire, vecteurs d’interruption

Interruption et scrutation-polling Interruptions et leur traitement Méthodes d’E/S avec et sans attente, DMA Tableaux de statut de périphériques Protection et instructions privilégiées, modes

d’exécution Registres bornes Appels de système Hiérarchie de mémoire

Page 4: Structures d’ordinateurs  (matériel)

Ch.2 4

Architecture d’ordinateursArchitecture d’ordinateurs

Page 5: Structures d’ordinateurs  (matériel)

Registres d’UCTRegistres d’UCT

Ch.2 5

Page 6: Structures d’ordinateurs  (matériel)

Ch.2 6

Registres de l’UCT Registres de l’UCT (mémoire rapide dans UCT)(mémoire rapide dans UCT)

Registres non-visibles de contrôle et statut Généralement non disponibles aux programmes de l’usager l’UCT les utilise pour contrôler ses opérations Le SE les utilise pour contrôler l’exécution des programmes

Registres visibles (aux usagers) disponibles au SE et programmes de l’usager visibles seulement en langage machine ou assembleur contiennent données, adresses etc.

Unité centrale

Registres

Page 7: Structures d’ordinateurs  (matériel)

Ch.2 7

Exemples de registres de contrôle et statutExemples de registres de contrôle et statut Le compteur d’instruction (PC)

Contient l’adresse de la prochaine instruction à exécuter

Le registre d’instruction (IR) Contient l’instruction en cours d’exécution

Autres registres contenant, p.ex. minuterie bit d’interruption activé/désactivé bit du mode d’exécution superviseur/usager bornes de mémoire du programme en exec.

Registres de statut des périphériques

Page 8: Structures d’ordinateurs  (matériel)

Ch.2 8

Opération d`ordinateurs pour E/SOpération d`ordinateurs pour E/S

Unités d’E/S et UCT peuvent exécuter en même temps

Chaque type d`unité a un contrôleur Chaque contrôleur a un tampon ou registre en

mémoire principale (buffer) Le contrôleur informe l’UCT que l’opération a

terminé L’UCT a des registres qui contiennent le statut des

différentes unités E/S Ces activités peuvent causer des interruptions qui

sont traitées selon le contenu du vecteur d’interruptions en mém centrale

Page 9: Structures d’ordinateurs  (matériel)

Ch.2 9

Registres, vecteurs d’interruptions, tamponsRegistres, vecteurs d’interruptions, tampons

Unité centrale

Registres

Mémoire principale

Vect. interrupt

Registre imprimante

Registre disque

Registre clavier

Les registres en mémoire sont aussi

appelés tampons (buffers)

Compt. Instr.

Reg. Instr.

Regs. Unités E/S

Minuterie

Interrupt. activée

Mode Superv./Usag.

Bornes mém.

E/S

Minuterie

Dépass. mém

Etc.

Des interruptions peuvent être causés:Par l’UCT ou par les périf. d’E/S

Page 10: Structures d’ordinateurs  (matériel)

Quand il y a plusieurs UCT?Quand il y a plusieurs UCT? (processeurs multi-cœurs) (processeurs multi-cœurs)

Une d’elles peut être dédiée à la gestion des interruptions et des périphériques Différentes configurations possibles …

10

Page 11: Structures d’ordinateurs  (matériel)

Traitement des interruptions:Traitement des interruptions: Interruption et scrutationInterruption et scrutation

Ch.2 11

Page 12: Structures d’ordinateurs  (matériel)

Ch.2 12

Deux façons différentes de traiter la Deux façons différentes de traiter la communication entre UCT et unités E/Scommunication entre UCT et unités E/S

Interruption: l’UCT est interrompue entre instructions quand un

événement particulier se produit (fin d’E/S, erreur...)

Polling (E/S programmée, interrogation, scrutation): le programme interroge périodiquement les regs statut

et détermine le statut des unités E/S: terminé ou non pour les unités E/S lentes

Page 13: Structures d’ordinateurs  (matériel)

Ch.2 13

ExempleExemple

Vous et votre téléphone mobile …

Vous utilisez l’interruption si vous avez une sonnerie qui vous avertit quand un appel arrive

Vous utilisez la scrutation (polling) si au lieu vous regardez périodiquement le téléphone pour voir les appels

Page 14: Structures d’ordinateurs  (matériel)

Scrutation et attente occupéeScrutation et attente occupée(polling and busy waiting)(polling and busy waiting)

La scrutation s’identifie avec l’attente occupée dont nous parlerons plus tard

La scrutation ou attente occupée est considérée moins efficace que l’interruption, car la première gaspille des cycles d’UCT 

Mais l’interruption est plus coûteuse à implanter dans le matériel Si on veut épargner dans le coût des UCT, on pourrait

décider de ne pas l’implanter

Ch.2 14

Page 15: Structures d’ordinateurs  (matériel)

Ch.2 15

Le cycle d’instruction de base Le cycle d’instruction de base [Stallings][Stallings]

• L’UCT extrait l’instruction de la mémoire.

• Ensuite l’UCT exécute cette instruction

• Le compteur d’instruction (PC = Program Counter) contient l’adresse de la prochaine instruction à extraire

• Le PC est incrémenté automatiquement après chaque extraction

Page 16: Structures d’ordinateurs  (matériel)

Ch.2 16

Le cycle d’instruction avec interruptions Le cycle d’instruction avec interruptions [Stallings][Stallings]

Après chaque instruction l’UCT examine s’il y a eu une interruption S’il n’y en a pas, il extrait la prochaine instruction du programme S’il y en a, il suspend le pgm en cours et branche l’exécution à une

position fixe de mémoire (déterminée par le type d ’interruption) une partie de la mémoire et réservée pour ça

Ceci seulement si les interruptions sont habilitées

Page 17: Structures d’ordinateurs  (matériel)

Ch.2 17

Interruptions entre UCT et périphériquesInterruptions entre UCT et périphériques

Interruptions

Page 18: Structures d’ordinateurs  (matériel)

Ch.2 18

Le pgm de gestion de l’interruption Le pgm de gestion de l’interruption (interrupt handler)(interrupt handler)

Est un pgm qui détermine la nature d’une interruption et exécute les actions requises

L’exécution est transférée à ce pgm... …et doit revenir au programme initial au point

d’interruption pour que celui-ci continue normalement ses opérations

Le point d’interruption peut se situer n’importe où dans le pgm (excepté où les interruptions ne sont pas habilitées).

L’on doit donc sauvegarder l’état du programme Registres UCT et autres infos nécessaires pour

reprendre le programme après

Page 19: Structures d’ordinateurs  (matériel)

Ch.2 19

Exemples d’interruptions causées par les Exemples d’interruptions causées par les périphériques ou par le matérielpériphériques ou par le matériel

E/S lorsqu'une opération E/S est terminée

Dépassement de zone de mémoire (overflow)

Etc., nous verrons

Page 20: Structures d’ordinateurs  (matériel)

Ch.2 20

Ex. d’interruptions causées par le programme usagerEx. d’interruptions causées par le programme usager

Exception Tentative d’exécuter une instruction protégée Référence au delà de l’espace mémoire du

progr. (overflow) Division par 0 Débordement

Appels du Système Demande d’entrée-sortie ou Demande d’autre service du SE

Nous en verrons …

Page 21: Structures d’ordinateurs  (matériel)

Ch.2 21

Interruptions causées par le SEInterruptions causées par le SE

Minuterie établie par le SE

Préemption: processus doit céder l’UCT à un autre processus

Page 22: Structures d’ordinateurs  (matériel)

Ch.2 22

Cas 1: Ordre séquentiel des interruptionsCas 1: Ordre séquentiel des interruptions

L’UCT examine s’il y a des autres interruptions en attente après avoir terminé d’exécuter un IH

Les interruptions sont inhibées (disabled) dans les accolades }

[Stallings]

Page 23: Structures d’ordinateurs  (matériel)

Ch.2 23

Cas 2: Interruptions d’interruptionsCas 2: Interruptions d’interruptions

L’IH d’une interruption peut se faire interrompre par une interruption de priorité plus élevée

Exemple: les données arrivant sur une ligne de communication doivent-être absorbées rapidement pour ne pas causer de retransmissions

Les interruptions inhibées sont seulement celles de basse priorité

Page 24: Structures d’ordinateurs  (matériel)

Cas 3: Interruptions désactivées Cas 3: Interruptions désactivées (disabled)(disabled)

Le SE peut désactiver les interruptions s’il est en train d’exécuter quelque chose de très urgent

Il peut Ou bien complètement ignorer les interruptions

intervenues dans ce temps Ou bien les empiler et les traiter plus tard quand

il peut Il peut exister un mécanisme de matériel pour

faire çeci• (chaque conception d’ordi a sa propre logique

d’interruption)

Ch.2 24

Page 25: Structures d’ordinateurs  (matériel)

Ch.2 25

Deux méthodes d’E/SDeux méthodes d’E/S

a) Synchrone: le proc demandeur attend le résultat de l’opération d’E/S

b) Asynchrone: le proc demandeur peut passer à autre chose et utiliser le résultat quand il est prêt

Dans le cas b) si le proc demandeur est le SE, il peut amorcer un autre programme, ce qui rend possible la multiprogrammation

Page 26: Structures d’ordinateurs  (matériel)

Deux problèmes importantsDeux problèmes importants Dans le cas (b), quand il y a

une fin d’E/S, comment trouver le processus en attente des résultats

Quand une ressource (UCT ou unité d’E/S ou autre unité) devient disponible, à quel processus devrait-elle être affectée

Nous verrons que ces deux problèmes sont résolus en utilisant un mécanisme de files d’attente Chapitre 4.

Ch.2 26

Page 27: Structures d’ordinateurs  (matériel)

Hiérarchies de mémoireHiérarchies de mémoire

Ch.2 27

Page 28: Structures d’ordinateurs  (matériel)

Avant les ordinateursAvant les ordinateurs

Ch.2 28

Sur le tableau les idées courantes sur le bureau les documents les plus utilisés à l’instant, les autres sur les étagères

(Le bureau d’Einstein)

Page 29: Structures d’ordinateurs  (matériel)

Ch.2 29

Hiérarchie de mémoireHiérarchie de mémoire

Différentes types de mémoire Constituent une hiérarchie

vitesse (de plus vite à moins vite)

coût (de plus cher à moins cher)

permanence ou non Les mémoires les plus rapides sont aussi les

plus chères et le moins permanentes

Page 30: Structures d’ordinateurs  (matériel)

Ch.2 30

Hiérarchie de mémoireHiérarchie de mémoire

RAM

p. ex. mémoire flash

Page 31: Structures d’ordinateurs  (matériel)

Ch.2 31

Caractéristiques typiques Caractéristiques typiques des différents types de mémoiredes différents types de mémoire

Page 32: Structures d’ordinateurs  (matériel)

Ch.2 32

Mémoire virtuelle Mémoire virtuelle IMPORTANTIMPORTANT

L’UCT ne peut accéder à une instruction ou à une donnée que si elles se trouvent En cache dans les ordinateurs où il y a de cache Ou sinon en mémoire vive (RAM)

Donc ces données doivent être apportées en mémoire vive ou cache au besoin

Le mécanisme de mémoire virtuelle implémente cette le va-et-vient des pages entre mémoire secondaire et mémoire principale

Page 33: Structures d’ordinateurs  (matériel)

Ch.2 33Ch.3 33

Gestion de mémoire Gestion de mémoire virtuellevirtuelle

La mémoire principale est souvent trop petite pour contenir tous les processus en exécution

La mémoire secondaire (disques, flash) est normalement utilisée pour contenir les parties d`un processus qui ne sont pas actives à l ’instant

La mémoire principale et la mémoire secondaire forment donc une unité logique appelée mémoire virtuelle

Pour implanter la mémoire virtuelle, le SE doit gérer de façon conjointe mémoire vive et mémoire secondaire

Mécanisme de va-et-vient (swap)

Hiérarchie de mémoire!

Page 34: Structures d’ordinateurs  (matériel)

Ch.2 34Ch.3 34

Gestion de mémoire Gestion de mémoire virtuellevirtuelle

La mémoire principale est souvent trop petite pour contenir tous les processus en exécution

La mémoire secondaire (disques, flash) est normalement utilisée pour contenir les parties d`un processus qui ne sont pas actives à l ’instant

La mémoire principale et la mémoire secondaire forment donc une unité logique appelée mémoire virtuelle

Pour implanter la mémoire virtuelle, le SE doit gérer de façon conjointe mémoire vive et mémoire secondaire

Mécanisme de va-et-vient (swap)

Hiérarchie de mémoire!

Page 35: Structures d’ordinateurs  (matériel)

Ch.2 35

ProtectionProtection

Plusieurs processus et le S/E partagent la mémoire, exécutant parfois les mêmes instructions

Il faut empêcher que l’un fasse des choses réservées à l’autre

Il faut les protéger les uns des autres

Protection d’instructions Protection de mémoire

Page 36: Structures d’ordinateurs  (matériel)

Ch.2 36

Instructions protégées = privilégiéesInstructions protégées = privilégiées

Ne peuvent être exécutées que par le S/E, en mode superviseur

Exemples: Les instructions d’E/S Instructions pour traiter les registres non-visibles d’UCT

Instructions pour changer les limites de mémoire Instructions pour changer le mode d’exécution

(superviseur,usager) Possiblement, instructions pour la minuterie

Le programme usager peut demander au SE que ces opérations soient exécutées, mais il ne peut pas les exécuter directement

Page 37: Structures d’ordinateurs  (matériel)

Ch.2 37

Fonctionnement Fonctionnement double mode double mode

un registre d’UCT contient un bit qui dit si l ’UCT exécute couramment en mode superviseur ou en mode usager

ce bit est changé automatiquement à mode superviseur lors d’une interruption

certaines instructions ne peuvent être exécutées qu’en mode superviseur (instructions privilégiées): des tentatives de les exécuter en mode usager causeront une interruption, et

retour à mode superviseur le mode superviseur peut être changé à mode usager par une

instruction privilégiée ces deux modes ont aussi des autres noms, v. manuel

superviseur usager

Interruption

Retour à progr. usager

Page 38: Structures d’ordinateurs  (matériel)

Ch.2 38

Autre manière de voir…Autre manière de voir…

Trap: interruption interne

Page 39: Structures d’ordinateurs  (matériel)

Ch.2 39

Protection de mémoire: Protection de mémoire: chaque processus doit chaque processus doit rester dans ses propres bornes de mémoirerester dans ses propres bornes de mémoire

Solution typique: deux registres dans l ’UCT quand l ’UCT exécute un processus, elle sait quelle est la

borne inférieure et supérieure de la zone de mémoire de ce processus

l ’adresse de chaque instruction est comparée à ces deux adresses avant l ’exécution

si un processus cherche à dépasser ses limites: interruption

UCT

Page 40: Structures d’ordinateurs  (matériel)

Ch.2 40

Protection de mémoireProtection de mémoire

l’adresse de chaque instruction est comparée à ces deux adresses avant l’exécution seulement si l’UCT exécute en mode usager

si un processus cherche à dépasser ses bornes: Interruption mode superviseur

les instructions pour affecter les registres bornes sont privilégiées

Page 41: Structures d’ordinateurs  (matériel)

Ch.2 41

Appels du système (system calls)Appels du système (system calls)

Quand un processus usager a besoin d ’un service du SE, par ex. E/S, il exécute un appel du système

C’est une instruction qui cause une interruption (trap) et changement de mode (mode superviseur)

Est associée à des paramètres qui indiquent le type de service désiré

Le S/E prend la relève et exécute le service, il retourne puis au processus appelant avec des params qui indiquent le type de résultat changement de mode (mode usager)

Page 42: Structures d’ordinateurs  (matériel)

Ch.2 42

Concepts importants du Chapitre 2Concepts importants du Chapitre 2

Registres d’UCT, tampons en mémoire, vecteurs d’interruption

Interruption et polling Interruptions et leur traitement Méthodes d’E/S avec et sans attente, DMA Tableaux de statut de périphériques Protection et instructions privilégiées, modes

d’exécution Registres bornes ou limites Appels de système Hiérarchie de mémoire

Page 43: Structures d’ordinateurs  (matériel)

Ch.2 43

Dans le manuel, pour ce chapitre, vous devezDans le manuel, pour ce chapitre, vous devez

Étudier le chapitre entier, moins: La section 2.3 n’a pas été discutée en

classe, cependant son contenu devrait être en partie déjà connu Section 2.3.2 sera discutée au chapitre 14

La section 2.6 n’est pas sujet d’examen: à lire seulement

Page 44: Structures d’ordinateurs  (matériel)

Ch.2 44

Informations additionnellesInformations additionnelles

Pour des explics claires sur comment différents parties d’un ordinateur fonctionnent, je vous recommande hautement Wikipedia http://computer.howstuffworks.com/

Des sites qui contiennent des explicationstrès claires sur un grand nombre de sujets

(malheureusement, howstuffworks a beaucoup de publicité)

Page 45: Structures d’ordinateurs  (matériel)

Ch.2 45

Accès direct à la mémoire (DMA)Accès direct à la mémoire (DMA)

Sans DMA, tous les accès de mémoire passent à travers l’UCT Donc les E/S occupent une certaine portion du temps

de l’UCT, même si l’UCT pourrait en même temps exécuter un processus (vol de cycles)

Avec DMA, les unités d’E/S transfèrent les données directement avec la mémoire L’UCT est impliquée seulement pour initier et terminer

les E/S L’UCT est complètement libre d’exécuter d’autres

processus (pas de vol de cycles)

Page 46: Structures d’ordinateurs  (matériel)

Ch.2 46

MEMOIRE

MEMOIRE

UNITÉS E/S

UNITÉS E/S

UCT

UCT

Sans DMA

Accès directe (DMA)

transfert données

Page 47: Structures d’ordinateurs  (matériel)

Ch.2 47

Terminologie d`interruptionsTerminologie d`interruptions

Pas normalisée C’est une bonne idée de distinguer entre:

Trappes (traps): causées par le pgm en exécution: division par 0, accès illégal, appels du système...

Interruptions: causées par événements indépendants: minuterie, fin d` E/S

Fautes (faults): ce mot est utilisé surtout par rapport à la pagination et à la segmentation.

Malgré ces différences de terminologie, trappes, interruptions et fautes fonctionnent toutes de la même manière