Systèmes d`ordinateurs Fichier

publicité
Génie de la production automatisée
GPA435 S.E. et prog. système
Cours #1
Systèmes d’ordinateurs
T. Wong, ing., Ph.D.
Jean-Phillipe Roberge, ing., M. ing.
P. Ouimet, ing., jr.
GPA435 Systèmes d'exploitation et programmation de systèmes
Cours #1
Systèmes d’ordinateurs – éléments communs
Cours #1
Objectifs
Éléments
Exemples
Discussion
Motivation
• Les ordinateurs sont des machines électroniques gérés par leur
système d’exploitation (SE). Pour maîtriser les SE, il faut bien
connaître le matériel à gérer.
Exercices
Lecture
Objectifs d’apprentissage
• Décrire les éléments communs de différents systèmes informatiques.
• Expliquer l’architecture de base des ordinateurs.
• Discuter des tendances associées aux systèmes d’ordinateurs modernes.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
Cours #1
Objectifs
Éléments
Exemples
1. Abstraction
Un ordinateur est composé d’un ou plusieurs modules de processeur,
mémoire, bus systèmes et composants d’entrée/sortie (E/S).
• Processeur: contrôle l’opération de l’ordinateur et effectue le
traitement des données.
Discussion
Exercices
Lecture
• Mémoire principale: stocke les données et les instructions de
programmes .
• Bus système: Permet la communication entre les processeurs, la
mémoire et les composants E/S.
• Composants d’entrée/sortie: déplace les données entre l’ordinateur
et son environnement externe.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
• L’une des fonctions du processeur est d’échanger des données avec la
mémoire principale et les composants E/S via le bus système.
• Le processeur dispose de 4 registres internes pour réaliser ces
échanges:
Discussion
•
Exercices
•
Lecture
•
•
MAR (memory address register) contient l’adresse de la mémoire
principale pour l’écriture ou la lecture.
MBR (memory buffer register) contient la donnée à écrire dans (ou à
recevoir de) la mémoire dont l’adresse est spécifiée par le MAR.
IOAR (in-out address register) joue le même rôle que le MAR pour les
composants E/S.
IOBR (in-out buffer register) jour le même rôle que le MBR pour les
composants E/S.
• De même, le processeur dispose de 2 registres internes utilisés dans
l’exécution des instructions d’un programme:
•
•
PC (program counter) contient l’adresse mémoire de l’instruction à
exécuter.
IR (instruction register) contient l’instruction lue de la mémoire à
l’adresse spécifiée par le PC.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Processeur
Éléments
PC
MBR
Exemples
IR
MAR
Discussion
Exercices
Bus
système
Mémoire principale
0
instruction
instruction
1
2
3
IOBR
Unité
d’exécution
IOAR
instruction
buffer
buffer
donnée
donnée
donnée
buffer
buffer
Lecture
N-2
N-1
buffer
buffer
Composants E/S
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Le bus système est le lien physique et
logique des éléments communs
(processeur, mémoire principale,
composants E/S, etc.).
• Les instructions et les données des
programmes sont stockés dans la
mémoire principale.
• Cela exige 2 espaces d’adresse afin
d’en faire la distinction entre une
adresse de données et une adresse
d’instruction.
• Un 3e espace d’adresse est
normalement nécessaire pour
identifier les composants E/S.
• Les composants E/S sont dotés de mémoire tampon (buffer) puisque les
périphériques sont normalement beaucoup plus lents que l’ordinateur.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
• Chargement d’une instruction
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
L’adresse mémoire de
l’instruction est copiée
du PC dans le MAR.
Le contenu du MAR est
traduit en signaux à
travers le bus système
pour activer la bonne
case de mémoire.
Le contenu de la case
mémoire est copié
dans le MBR.
L’instruction ainsi lue
est transférée dans le
IR pour être exécutée.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Écriture d’une donnée
•
Après le décodage d’une instruction
L’adresse mémoire de
la donnée est placée
dans le MAR.
La valeur de la donnée
est placée dans le MBR.
Le contenu du MAR est
traduit en signaux pour
activer la bonne case
de mémoire. Le
contenu du MBR (la
valeur de la donnée)
est copié dans la case
mémoire.
La lecture/écriture d’une donnée de/vers la mémoire principale peut
prendre un certain temps dépendant de la rapidité de la mémoire.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Lecture d’une donnée d’un composant d’E/S
•
Après le décodage d’une instruction
L’adresse du composant
d’E/S est placée dans le
IOAR.
Le contenu du IOAR est
traduit en signaux pour
activer le bon
composant d’E/S.
La donnée est copiée
de la mémoire tampon
du composant d’E/S
dans le IOBR.
Le contenu de IOBR est
transféré dans un
registre de l’unité
d’exécution pour être
traité.
La lecture/écriture d’une donnée de/vers un composant d’E/S peut
prendre un certain temps dépendant de la rapidité du composant.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Mécanisme d’interruption
•
Suspendre temporairement une séquence d’exécution normale du processeur
pour traiter à d’autres évènements logiciels ou matériels.
• Type d’interruption:
Entrée/sortie
Communication avec un périphérique
du système d’ordinateur.
Le contrôleur de composants d’E/S génère des interruptions au processeur pour
assurer la communication entre l’ordinateur et ses périphériques.
Programme
Au cours de l’exécution d’un programme, le
processeur peut rencontrer des situations
exceptionnelles (division par zéro, manque
de mémoire, etc.)
Le processeur est capable d’en générer lui-même des interruptions afin de gérer
des exceptions survenues lors d’une séquence d’exécution.
Un programme peut aussi contenir des instructions qui génèrent des
interruptions: INT (processeurs x86 d’Intel, SWI (processeurs ARM), SEI pour les
processeurs ATMEL).
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
• Mécanisme d’interruption
•
Suspendre temporairement une séquence d’exécution normale du processeur
pour traiter à d’autres évènements logiciels ou matériels.
• Type d’interruption:
Exemples
Discussion
Exercices
Lecture
Unité
d’exécution
Horloge interne
Permettre au système d’exploitation
(SE) et programmes de réaliser des
tâches à intervalles réguliers.
L’horloge interne cadence la séquence d’exécution du processeur et les accès au bus système. Elle génère
des interruptions périodiques pour permettre la réalisation de tâches qui nécessitent une régularité.
Défaillance matérielle
Des défaillances détectables par le
processeur provoquent nécessairement une
interruption afin de les gérer
convenablement.
Les défaillances non catastrophiques sont gérées par l’écriture de
messages d’erreur dans l’archive du système (system log) et par
l’affichage d’un message à l’écran. Les défaillances catastrophiques
provoquent la sauvegarde de l’état du processeur et du contenu de la
mémoire sur disque (core dump) puis l’arrêt du système d’ordinateur.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
• Mécanisme d’interruption – Exemple
•
•
Objectifs
Éléments
Interruption dans le contexte d’E/S.
Processeur 1 GHz ~ 109 instructions / s (théorique)
•
Exemples
•
Discussion
•
Exercices
•
Lecture
•
Disque SSD (Flash) ~ 41 Mo / s ~ 23 ns (temps de lecture) ~ 23 fois plus lent
(théorique)
Imprimante laser haute gamme ~ 1 pages / s ~ 2000 caractères / page ~ 500 000
fois plus lent (théorique).
Disque rigide haute gamme 10 000 rpm ~ 6 ms (temps d’accès) ~ 6 millions fois
plus lent (théorique).
Dactylographe professionnel ~ 475 caractères / min ~ 8 caractères / s ~ 125
millions fois plus lent (théorique).
Problème: Processeur perd beaucoup de temps à attendre!
Programme
Pilote périphérique
1
Écrire disque
prépare périphérique
pour accès
2
3
Accès
5
Lire USB
4
Périphérique exécute les
commandes reçues
Vérifie l’état de l’accès
Continue ou arrêt
Durant ce temps le processeur
est en attente. Le programme
est gelé.
Exécution des commandes par
le périphérique externe au
processeur.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
• Mécanisme d’interruption – Exemple
•
•
Processeur perd beaucoup de temps à attendre!
Solution: Interruption du processeur par les périphériques
ISR
Ports USB
ISR
des disques
Vérifie l’état de
l’accès
continue ou
arrêt
Programme
2
1
4
Lecture
Pilote périphérique
Écrire disque
prépare périphérique
pour accès
Accès
Périphérique exécute les
Commandes reçues
3
Remarques:
• L’interruption du périphérique peut
survenir à n’importe quel moment.
• La gestion d’une interruption est
assurée par un programme ISR
(interrupt service routine) conçu
pour le périphérique.
• La fin du programme ISR retourne le
contrôle au programme à l’endroit
où il a été interrompu.
5
Lire USB
Exécution des commandes par
le périphérique externe au
processeur.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
2. Architecture simplifiée
Cours #1
Objectifs
Éléments
• Mécanisme d’interruption – Exemple
•
Solution: Interruption du processeur par des périphériques.
Analogie simpliste
Exemples
•
P1
Discussion
•
Exercices
Lecture
P1 commande un
repas pour livrer.
Le repas peut
prendre un certain
temps pour arriver.
1
3
2
4
5
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
Éléments
• Processeur
•
Exemples
Discussion
•
Exercices
Multi-cœur: un processeur renfermant plusieurs circuits capables
d’exécuter des programmes de façon autonome et travaillant en
parallèle.
GPU (graphical processing unit): processeur dédié au calcul numérique.
Les GPU utilisent la technologie SIMD (single instruction multiple data)
pour effectuer rapidement des opérations arithmétiques.
Lecture
5.1
15
1.7
120
4.1
41
5
2
9.2
56
6.7
122
+
=
La technologie SIMD permet le calcul de
ces additions en même temps (dans un
même cycle d’horloge)
• Composants E/S
•
SATA (serial advanced technology attachment), eSATA (external SATA),
eSATAp (external SATA powered), mSATA (mini SATA) et SATA express
sont différentes versions physiques d’une interface développée pour
relier des périphériques (lecteur CD/DVD, disque rigide, disque à
mémoire, etc.)
•
Version 3.2 permet un transfert théorique de 16 Gbits/s.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
Éléments
• Composants E/S
•
•
Exemples
Discussion
Exercices
USB (universal serial bus) est une interface physique et logique pour
relier des périphériques (CD/DVD, disque rigide, clavier, souris, etc.).
•
Version 3.1 permet un transfert théorique de 10 Gbits/s en mode
SuperSpeed.
Thunderbolt est une interface physique combinant les fonctionnalités du
PCI Express et du mini DisplayPort en un seul port physique.
•
Lecture
•
PCI Express: une interface sérielle à haute vitesse convenable pour la vidéo
et les cartes de réseaux.
DisplayPort: une interface physique pour le signal vidéo numérique. La
version 1.3 devrait pouvoir offrir la TV 8k (résolution 7680 × 4320).
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Mémoire
•
Pour réduire le coût et augmenter la vitesse d’accès aux données, la
mémoire est organisée en hiérarchie. L’hiérarchisation de la mémoire est
en fait une solution de compromis car:
•
Réduction du temps d’accès des données  augmentation du coût par bit.
•
•
•
Réduction de la taille des circuits (miniaturisation et intégration) exige un
procédé de fabrication de très grande précision.
Augmentation de la capacité de la mémoire  réduction du coût par bit.
•
Principe économique de la fabrication par lots.
•
À cause des contraintes thermiques et de la fiabilité, la mémoire n’est pas
fabriquée sous forme monolithique – elle est composée de modules discrets
câblés par des circuits.
Plus la capacité de la mémoire est grandes, plus elle dispose de modules discrets
et plus il y aura de circuits de contrôle d’où l’augmentation du temps (moyen)
d’accès.
Augmentation de la capacité de la mémoire  augmentation du temps
d’accès des données.
•
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
• Mémoire
•
Éléments
•
Exemples
Discussion
Pour réduire le coût et augmenter la vitesse d’accès aux données, la
mémoire est organisée en hiérarchie.
L’hiérarchisation de la mémoire est en fait une solution de compromis
car nous avons, pour une technologie de fabrication et un coût fixe:
•
•
•
Exercices
Lecture
•
L’hiérarchisation de la mémoire – différentes technologies et à coûts
variables:
$$$
$$
$
Réduction du temps d’accès des données  augmentation du coût par bit.
Augmentation de la capacité de la mémoire  réduction du coût par bit.
Augmentation de la capacité de la mémoire  augmentation du temps
d’accès des données.
Registres
Antémémoire
Mémoire
principale
Temps d’accès ultra rapide (1 cycle d’horloge) via des circuits dédiés dans le
processeur. Utilisent l’espace précieux du processeur. Très peu nombreux
car dispendieux (coût et espace).
Temps d’accès très rapide (4 à 40 cycles d’horloge) utilisant la
technologie des bascules pour mémoriser 1 bits. Le temps d’accès est
fonction de la capacité. Coût élevé.
Temps d’accès rapide utilisant la technologie par charge
capacitive pour mémoriser 1 bit. Structure peu complexe
permettant une grande capacité à faible coût.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
• Mémoire
•
Éléments
Exemples
L’hiérarchisation de la mémoire – différentes technologies et à coûts
variables:
Par contre pour que ça marche, il faudrait réduire la fréquence d’accès à la
mémoire des niveaux inférieurs de l’hiérarchie.
Discussion
•
Vitesse d’accès augmente
Lecture
Quantité de mémoire augmente
Exercices
•
L’astuce est de pré-charger les instructions et
données de la mémoire principale dans
l’antémémoire.
Voici un scénario explicatif:
•
•
•
•
•
Le processeur tente d’accéder à une adresse
mémoire.
Il vérifie d’abord s’il existe une copie dans
l’antémémoire.
Si oui, le processeur accès la donnée via
l’antémémoire (cache hit).
Si non (cache miss), le processeur accède à la donnée
dans la mémoire principale. Aussi un circuit dédié
charge un bloc d’instructions (données) voisines de la
mémoire principale dans l’antémémoire.
Ce pré-chargement augmente la chance que les
prochains accès se fassent dans l’antémémoire.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
Éléments
Exemples
• Mémoire
•
L’hiérarchisation de la mémoire – différentes technologies et à coûts
variables:
Analogie simpliste du préchargement des instructions et des données
Discussion
Exercices
•
Les voyages d’affaire effectués par le personnel doivent être
déclarés en 2 étapes:
•
•
Lecture
•
Ces formulaires sont déposés dans des casiers voisins sur le
comptoir au secrétariat.
•
•
Ces trois formulaires sont dans des casiers voisins qu’ils sont
logiquement reliés.
Si l’un des formulaires n’est plus disponible:
•
•
Préchargement ;-)
Avant le départ: Compléter le formulaire « Projet de voyage ».
Après le retour: Compléter les formulaire « Rapport de voyage » et
« Rapport des dépenses ».
Le secrétaire ira en procurer d’autres copies dans le dépôt à l’extérieur
du secrétariat.
Le secrétaire procurera aussi les 2 autres formulaires pour réduire ses
déplacements au dépôt.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
• Bus système
Processeur
Éléments
Exemples
Discussion
Exercices
Lecture
PC
MBR
IR
MAR
Bus
système
Mémoire principale
0
instruction
instruction
1
2
3
IOBR
Unité
d’exécution
instruction
IOAR
donnée
donnée
donnée
Composants E/S
buffer
buffer
buffer
buffer
N-2
N-1
buffer
buffer
Adresse
Contrôle
Données
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
• Bus système
Éléments
Processeur
Exemples
PC
MBR
Discussion
IR
MAR
IOBR
Exercices
Lecture
Unité
d’exécution
IOAR
Bus
système
buffer
buffer
buffer
buffer
buffer
0
1
2
3
instruction
Composants E/S
buffer
Mémoire principale
instruction
instruction
Antémémoire
et
Contrôleur
(Bridge)
Objectifs
Bus d’E/S
Contrôleur
bus E/S
(Bridge)
donnée
donnée
donnée
N-2
N-1
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
3. État de l’art des éléments communs
Cours #1
Objectifs
Éléments
• Bus système
•
•
•
•
Exemples
Discussion
Taux de transfert entre Bus système et la mémoire principale:
•
Systèmes utilisant le bus HyperTransport 3.1:
•
•
•
•
Exercices
Lecture
•
AMD64
ATI Radeon Express
nVidia nForce
Cisco QuantumFlow
Systèmes utilisant le bus QPI:
•
•
•
•
•
HyperTransport 3.1: 51 Go/s théorique
QPI (QuickPath Interconnect): 32 Go/s théorique
PCI express 3.0: 31 Go/s théorique
Intel Core i7, Xeon
IBM x3850 X5
Mac Pro
HP z820
Enfin, les contrôleurs (Bridges) du bus système est maintenant
remplacés par des interfaces à aiguillage: DMI (direct media interface) et
QPI rendant le concept de bus système de plus en plus désuet.
•
•
Aiguillage: connexion directe par commutateurs.
Aiguillage convient beaucoup mieux aux systèmes multiprocesseurs.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
4. Exemples visuels
Cours #1
Objectifs
• PC
Processeur
Mémoire principale
Éléments
Exemples
Discussion
Exercices
Contrôleur
du bus E/S
Lecture
Contrôleur du
bus système
Il existe la possibilité d’expansion d’où la nécessité d’un contrôleur générique de
composants d’E/S
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
4. Exemples visuels
Cours #1
Objectifs
• MacBook Pro
Processeur et
Contrôleur du bus système
Éléments
Exemples
Discussion
Exercices
Différents contrôleurs
de composants E/S
Lecture
Mémoire principale
Les composants d’E/S sont limités d’où l’implantation directe des contrôleurs sur la
carte électronique.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
4. Exemples visuels
Cours #1
Objectifs
Éléments
• iPhone 3G
Processeur et
Contrôleur écran tactile
Contrôleur du bus système
Accéléromètre
Exemples
Discussion
Exercices
Processeur
Télécommunication
Lecture
Le règlement FCC des
télécommunications
exige la certification
des processeurs
manipulant le signal
RF. D’où l’existence
d’un processeur
distinct pour la
téléphonie sans-fil.
Mémoire principale (Flash)
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
4. Exemples visuels
Cours #1
Objectifs
• Contrôleur disques réseaux
Éléments
Connecteur disque rigide
Processeur et
Contrôleur du bus système
Exemples
Un contrôleur
de disques
réseaux n’a
que deux
composants
d’E/S: les
disqes et le
réseau!
Discussion
Exercices
Lecture
Mémoire principale
Contrôleur (E/S)
Gigabit Ethernet
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
4. Exemples visuels
Cours #1
Objectifs
Éléments
• Automate PLC
Alimentation
Exemples
Discussion
Exercices
Lecture
Modules d’E/S analogiques et numériques
Contrôleur des bus industriels
Processeur, mémoire, contrôleur du bus système
Contrôleur des composants d’E/S
À l’autre extrême, les automates programmables
gèrent un très grand nombre de composants
d’E/S!
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• L’architecture présentée dans ce chapitre (processeur, mémoire, bus
et E/S) est connue sous le nom générique d’architecture von
Neumann (John von Neumann, scientifique d’origine hongroise, 19031957)
•
•
•
•
Quelle est la nature inhérente d’une telle architecture?
Piste:
Considérer:
X, + , /, 2 sont des instructions
A=BC+D/F
A, B, C, D, F, G, H sont des données
G = H2 + A
Quel est le goulot d’étranglement (bottleneck) d’une telle architecture?
Piste:
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• L’architecture présentée dans ce chapitre (processeur, mémoire, bus
et E/S) est connue sous le nom générique d’architecture von
Neumann (John von Neumann, scientifique d’origine hongroise, 19031957)
•
•
Peut-on imaginer un ordinateur avec une architecture différente?
Piste: corriger les lacunes de l’architecture von Neumann.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
• L’architecture présentée dans ce chapitre (processeur, mémoire, bus
et E/S) est connue sous le nom générique d’architecture von
Neumann (John von Neumann, scientifique d’origine hongroise, 19031957)
•
•
Peut-on imaginer un ordinateur avec une architecture différente?
Piste: corriger les lacunes de l’architecture von Neumann.
Lecture
Architecture Stream: certains processeurs
graphiques nVidia GeForce, ATI/AMD
Firestream.
Architecture Harvard: certains processeurs
ARM, ATMEL, INTEL et Texas Instrument.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
• Les interruptions sont utiles pour augmenter le taux d’utilisation du
processeur lorsque ce dernier doit communiquer avec des
périphériques lents. Pourquoi ne pas créer des périphériques aussi
rapides que le processeur?
•
Piste: lois physiques et $$
Exercices
Lecture
• Quelles sont les alternatives au concept d’interruption?
•
Piste: musique numérique (sampling), élections (polling)
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
• Les interruptions sont utiles pour augmenter le taux d’utilisation du
processeur lorsque ce dernier doit communiquer avec des
périphériques lents. Pourquoi ne pas créer des périphériques aussi
rapides que le processeur?
•
Piste: lois physiques et $$
Exercices
Lecture
• Quelles sont les alternatives au concept d’interruption?
•
Piste: musique numérique (sampling), élections (polling)
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
• Les interruptions sont utiles pour augmenter le taux d’utilisation du
processeur lorsque ce dernier doit communiquer avec des
périphériques lents. Pourquoi ne pas créer des périphériques aussi
rapides que le processeur?
•
Piste: lois physiques et $$
Exercices
Lecture
• Quelles sont les alternatives au concept d’interruption?
•
Piste: musique numérique (sampling), élections (polling)
Prêt
?
continûment
non
Prêt
?
non
Faire autres
tâches
Non continûment
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
• Quels sont les ordinateurs les plus puissants à l’heure actuelle?
•
•
•
•
Exercices
Lecture
Piste: http://www.top500.org/lists/
Tflops/s = 1012 (1000 Giga) opérations en virgule flottante par seconde.
RMAX: performance maximale obtenue via LINPACK (routines de calculs
numériques)
RPEAK: performance théorique basée sur les spécifications techniques
des ordinateurs.
• Ces superordinateurs sont gérés par quel système d’exploitation?
•
Piste: le sujet principal de ce cours.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
• Quels sont les ordinateurs les plus puissants à l’heure actuelle?
•
•
•
•
Exercices
Lecture
Piste: http://www.top500.org/lists/
Tflops/s = 1012 (1000 Giga) opérations en virgule flottante par seconde.
RMAX: performance maximale obtenue via LINPACK (routines de calculs
numériques)
RPEAK: performance théorique basée sur les spécifications techniques
des ordinateurs.
• Ces superordinateurs sont gérés par quel système d’exploitation?
•
Piste: le sujet principal de ce cours.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
5. Discussion
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Quel est le point commun de ces produits de haute technologie?
•
•
•
•
•
•
•
•
•
•
•
iPod, iPhone et iPad.
Téléphones intelligents Android.
GPS Garmin (GXM, Nuvi, Nuvifone).
Systèmes OnStar.
Calculatrice TI-Nspire.
Honeywell Critical Terrain Awareness Technology (aviation).
CAE Simulateurs de vol.
Machines-outils CNC de LANG (Allemagne) et de Sherline (USA).
Disques réseaux de LaCie, Netgear, Qnap, Synology et vBuffalo
Technology.
GE Healthcare GENIE nuclear medicine imaging system.
GE/Marquette Solar 9500 Patient Monitor.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
6. Exercices
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• L’hiérarchisation de la mémoire est une solution de compromis pour
obtenir un accès mémoire rapide tout en maintenant le coût à un
niveau acceptable. Ainsi,
•
•
La donnée/instruction se trouve dans l’antémémoire (cache hit)  accès
rapide.
La donnée/instruction n’est pas dans l’antémémoire (cache miss) 
chargement (données/instruction) de la mémoire principale dans
l’antémémoire et ensuite de l’antémémoire dans le processeur.
• Donner un graphique « temps d’accès moyen versus % cache hit »
décrivant cette situation.
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
6. Exercices
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Il est indiqué que le pré-chargement des données/instructions de la
mémoire principale dans l’antémémoire (cache) contribue
positivement au % de cache hit
x
Lors d’un cache miss
• Il faut charger le contenu x de la mémoire
principale dans l’antémémoire.
• Au lieu de charger seulement le contenu
recherché, on charge un bloc de mémoire
Ainsi, on aura
• Une grande chance que les prochains accès
mémoire se fassent dans l’antémémoire.
Il s’agit du principe de localité spatiale
• Les données (les instructions) nécessaires à
l’exécution d’un programme se trouvent souvent à
des adresses mémoires voisines.
• Quelle structure de données concorde bien au principe de localité
spatiale?
• Quel style de programmation convient mal au principe de localité
spatiale?
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
6. Exercices
Cours #1
Objectifs
Éléments
• Le pré-chargement de la mémoire principale dans l’antémémoire crée
deux copies de la même donnée
Exemples
x
Discussion
x
Exercices
• 1 copie dans la mémoire principale.
• 1 copie dans l’antémémoire.
Pour les données cela peut causer le
problème d’intégrité:
•
Lecture
La donnée est modifiée dans
l’antémémoire mais pas dans la
mémoire principale.
• Comment résoudre ce problème d’intégrité (sans recopier toute
l’antémémoire dans la mémoire principale)?
•
Instaurer une politique d’écriture de données:
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
6. Exercices
Cours #1
Objectifs
Éléments
Exemples
• L’imprimante signale une interruption au processeur et elle est gérée
par le programme de gestion d’interruption ISR_x. Durant l’exécution
du programme ISR_x, la carte de réseau signale une interruption au
processeur pour lui indiquer l’arrivée d’un paquet de données.
Discussion
A
Exercices
B
Lecture
•
Qu’arrive-t-il au programme de gestion d’interruption ISR_x? Donner 2
dénouements possibles:
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
6. Exercices
Cours #1
Objectifs
Éléments
• Donner un schème général permettant un processeur de gérer des
interruptions multiples
Exemples
Discussion
Exercices
Division
par zéro
Lecture
•
Catégoriser les ISR en « préemptibles » et « non préemptibles »
•
Instaurer des niveaux de priorité pour les interruptions:
GPA435 Systèmes d'exploitation et programmation de systèmes
Systèmes d’ordinateurs – éléments communs
Fin du chapitre I
Cours #1
Objectifs
Éléments
Exemples
Discussion
Exercices
Lecture
• Vulgarisation:
TED-Ed: Inside your computer
https://www.youtube.com/watch?v=AkFi90lZmXA
How a CPU works
https://www.youtube.com/watch?v=cNN_tTXABUA
Interruptions matérielles
https://www.youtube.com/watch?v=DdzwWLwrcCI
• Chapitre 1: Willian Stallings (2011), Operating Systems: Internals and
Design Principles, 8/E, Prentice Hall
http://www.amazon.ca/Operating-Systems-Internals-PrinciplesEdition/dp/013230998X
• John von Neumann
http://fr.wikipedia.org/wiki/John_von_Neumann
• Architecture Stream
http://www.cs.rice.edu/CS/Architecture/docs/spa.pdf
• Architecture Harvard
https://www.classle.net/book/harvard-architecture-digital-signal-processors
• Top 500 des superordinateurs
http://www.top500.org/
Téléchargement