SlideShare une entreprise Scribd logo
1  sur  101
ARCHITECTURE DES
ORDINATEURS
Par ELSAKAAN Nadim
Avant-propos
◦ Ceci est un cours introductif à l’architecture des ordinateurs, il est conforme au
programme officiel des écoles nationales supérieures en sciences de l’informatique
et du numérique en Algérie
◦ Les schémas sont principalement tirés du cours et du livre du professeur Koudil
que je remercie vivement pour son aide et son soutien sans lequel ce cours
n’aurait pas aboutit
◦ Ce cours est discernés aux deuxièmes années classes préparatoires de l’école
supérieure en sciences et technologies de l’informatique et du numérique (Béjaia)
pour l’année académique 2021-2022
◦ Un dernier détail, non des moindres, il manque la partie sur les structures
statiques et dynamiques des mémoires, ceci pourrait être corrigé avec le temps
ELSAKAAN Nadim
PhD Candidate @ UAMB |
Educator @ ESTIN.DZ |
Researcher @ LIMED |
Information systems/ Digital
startups - Consultant & Trainer
@ freelance | Visitor Teacher @
UC3 & CUT | Journalist &
author
Programme
Leçon 1.
Introduction aux mémoires et
taxonomie de leurs types
Leçon 2.
Composants liés aux opérations
d’entrées/ Sorties
Leçon 3.
Les modes d’entées/ Sorties
Leçon 4.
Les systèmes d’interruptions
Leçon 5.
Le séquenceur
Méthodologie
◦ Cours disponibles sur google
classroom
◦ Références bibliographiques
disponibles google drive
◦ Evaluation continue sur google
forms
ua5oezi
Références bibliographiques
Avant de commencer
◦ Qu’est ce qu’un ordinateur? Quels sont ses composants principaux ?
◦ Quelles sont les catégories de mémoires qu’intègrent un ordinateur ? Détaillez les besoins de cette
variété.
◦ Quelles sont les catégories de structures de données que vous connaissez? Comment fonctionne
chaque catégorie et quels sont les avantages?
◦ Comment fonctionne un processeur standard selon vous ? Qu’apporte les modes de gestion en
terme de performance de calculs ?
INTRODUCTION AUX
MÉMOIRES
Chapitre Premier
Introduction aux mémoires
et taxonomie de leurs types
Cette section couvrira
• Les technologies des mémoires
• Les mémoires à accès séquentiel
• Les mémoires associatives
• Les mémoires caches ou les mémoires tampon
Historique
• Tout commence en 1710 quand
Leibniz décrit dans un article, une
machine arithmétique qu’il utilisait
depuis 1673
• Le premier support, voir système de
data management, est la carte
perforée inventée par IBM en 1890.
Elle inventera le premier HDD en
1956 d’un 1m80 pouvant stocker
3,75 Mb
• En 1936, Alan Turing travaille à la
mise en place d’un modèle
théorique, d’une machine capable
de décrypter les communications
Nazis
• AGC (Apollo Guidance Computer
pour l’apollo 11, 21 juillet 1969)
était doté de 72 KO Rom, 4 KO
RAM
Rappels élémentaires
◦ Un ordinateur est composé de
◦ La mémoire centrale
◦ Les mémoires auxiliaires
◦ Les péréphériques
◦ L’unité centrale
◦ UAL
◦ L’unité de commande
◦ Une instruction est composée d’un champs ‘code opération’, ‘mode adressage’ et ‘les champs
opérandes/ adresses’, il existe plusieurs organisations pour cette élément dans l’UAL
◦ Machines à 4 adresses
◦ Machines à 3 adresses
◦ Machines à 2 adresses
Rappels élémentaires
◦ Une mémoire est un dispositif capable d’acquérir de l’information, de la
conserver sur le temps et de la restituer à la demande.
◦ Elle a plusieurs caractéristiques
◦ Capacité
◦ Temps d’accès
◦ Mode d’accès
◦ Mode d’opération
Les mémoires à
accès
séquentiels
• Ce sont des mémoires dites non
adressables, c’est à dire que les
données ne sont pas directement
accessibles via une adresse physique
• Elles sont utilisées comme tampon
de synchronisation entre deux
composants à fonctionnant à des
vitesses différentes
• Au depend du besoin, la politique de
gestion de ces types de mémoires
peut être en FIFO ou en LIFO
FIFO
• Cette politique permet de restituer
les données en sortie dans le
même ordre dans lequel elles ont
été stockées
• Les cellules mémoires sont
organisées en linéaire. L’écriture se
fait au dernier étage, tandis que la
lecture se fait au premier étage
• Une politique de gestion contrôle
le fonctionnement de l’ensemble
de la mémoire
Politique de gestion ‘FIFO’
◦ La politique de gestion contrôlant le fonctionnement d’une mémoire à accès séquentiel avec une
politique FIFO assure les tâches suivantes
◦ Le contrôle de l’étage d’entrée et la politique d’écriture
◦ Le contrôle de l’opération de décalage
◦ Le contrôle de l’étage de sortie et de la politique de lecture
◦ Des signaux existent pour indiquer l’état de la mémoire
◦ ‘écriture possible’ à 0 pour indiquer que l’étage d’entrée est occupée et qu’aucune écriture n’est possible
◦ ‘lecture possible’ à 0 pour indiquer que l’étage de sortie est vide et qu’il n y a rien à lire
◦ ‘la bascule de présence’ à 1 pour indiquer que le mot est occupé
Politique de gestion ‘FIFO’
◦ L’information introduite est décalée progressivement vers le dernier étage libre en direction de
l’étage de sortie
◦ Les opérations de lectures et d’écritures sont indépendantes et interviennent sur des étages
différents, elles peuvent donc être réalisées en même temps
◦ Quand une opération de lecture est effectuée, chaque étage est alors décalé d’une position vers la
sortie
◦ Ce type de mémoire matérialise le principe de boite aux lettres permettant à des processeurs
d’échanger des données de manière asynchrone, un exemple plus trivial est le tampon du clavier
LIFO
• Cette politique concrétise le principe
de pile, où le dernier élément inséré
est le premier élément restitué à la
lecture
• À chaque operation d’écriture, le
contenu de chaque mot mémoire est
décalé d’un étage vers le fond
(dernier étage)
• Lors d’une operation de lecture
l’information est lue directement du
haut et chaque mot est décalé d’une
position vers le premier étage
Politique de gestion ‘LIFO’
◦ La lecture et l’écriture se font tous les deux au premier étage, la pile est pleine
quand le dernier étage est plein et est vide quand le premier étage est vide
◦ Les états ‘vide’ et ‘pleine’ de la pile sont indiqués par des signaux générés par la
politique de gestion de la mémoire
◦ Cette politique trouve de nombreuses applications, comme la sauvegarde du
contexte d’un programme lors d’une interruption.
Résumé
• Les mémoires à accès séquentiels sont des
mémoires non adressables, il existe deux politique
de gestion pour en contrôler le fonctionnement
• Dans une politique ‘FIFO’ le premier
élément inséré dans la file est le premier
élément restitué, les décalages se font pour
en supporter le fonctionnement
• Dans une politique ‘LIFO’ une approche par
pile est matérialisée permettant de lire et
d’écrire tout en haut de la pile
MERCI
Si vous avez compris tout ce que je viens de dire
c’est que j’ai mal expliqué
- ALAN Greenspan
Introduction aux mémoires
et taxonomie de leurs types
Cette section couvrira
• Les technologies des mémoires
• Les mémoires à accès séquentiel
• Les mémoires associatives
• Les mémoires caches ou les mémoires tampon
Les mémoires associatives
◦ Quand la mémoire à accès aléatoire apporte la réponse à la question de ‘qu’est ce
qu’il y a comme information dans l’adresse A ?’, les mémoires associatives
répondent à la question ‘existe-i-il un mot mémoire contenant l’information C ?’
◦ Il est également possible de réaliser les opérations classiques de lecture écriture
sur des mémoires associatives mais il est nécessaire de passer par une opération de
recherche en amant
Organisation d’une
mémoire associative
• Une mémoire associative possède
tout d’abord un bloc de mots
• Un registre clé ‘C’ du format d’un
mot mémoire, recevant
l’information qui est le critère de
selection
• Un registre masque ‘M’ de même
format précisant le champs de la
recherche, chaque bit de ‘C’ lui
correspond un bit de ‘M’
• Un registre indicateur ‘I’
possédant autant de bit qu’il y a de
mots mémoires
• Un registre sortie ‘S’ de la taille
d’un mot possédant le résultat de
la recherche
Opération de recherche
◦ Tous les bits du registre I sont mis à 1 par la commande SET. L’information qui est le critère de recherche est
placée dans le registre clé C et les bits du masque M correspondant au critère de recherche sont mis à 1
◦ Chaque bit non masqué, est comparé à chaque bit de même position dans tous les mots mémoires et ce en
parallèle
◦ Si le bit i de C et bit i du mot mémoire de rang j sont différents, le bit j du registre I est mis à 0
◦ À la fin du processus de recherche, seuls les mots mémoires dont les indices en I sont encore égaux à 1
répondent aux critères de recherches et son appelés répondeurs, un signal S/N (Some/ none) mis à 1 indique
qu’il existe au moins un répondeur
Exemple de
recherche
• La commande SET met tous
les bits du registre I à 1
• Placer l’information de la taille
recherchée au registre C
• Mettre à 1 les bits de M
correspondant au champ de
recherche
• Lancer la commande de
recherche
Organisation des
registre C et M
Cette figure représente la
table des états des
registres C et M
C est à 0 et démasqué
C est à 1 et démasqué
C est masqué
Opération de Lecture / écriture
◦ Une fois l’opération de recherche terminée, les éléments à récupérer sont ceux dont l’indice en
registre I est à ‘1’, apparait alors le problème de lecture du premier répondeur que nous traiterons
un peu plus loin
◦ L’écriture se fait sur tous les mots dont l’entrée dans le registre I est à ‘1’, l’information à écrire est
positionnée dans le registre clé et les bits du masque sont mis à ‘1’ pour les champs qu’il faut écrire
◦ Pour résoudre le problème de lecture, un signal Sélection/ inhibition est utilisé pour forcer tous
indicateurs à ‘0’ excepté celui du premier répondeur. Une bascule BT est associée à chaque mot de
la mémoire, quand elle est à un ‘l’ a valeur correspondant dans I est mise à ‘0’, la bascule se met
donc à ‘1’ quand le mot mémoire est traité et l’opération recommence successivement pour les
autres répondeurs
Exercice
Soit une mémoire associative contenant des entiers
positifs de 32 bits, on désire trouver l’élément de valeur
maximale contenu dans cette mémoire, proposez une
approche pour retrouver cet élément
Résumé
• Les mémoires associatives sont organisées de sorte à
répondre à la question de l’existence d’une case
mémoire contenant une information clé
• Toutes les opérations classiques comme la lecture et
l’écriture sont réalisables sur ce type de mémoire, mais
une phase de recherche est préalablement requise
• Étant donné que les résultats de la recherche peuvent
être multiples et en vue de faire des lectures par valeur
désirée, le concept du premier répondeur est insérée
et est aidée par des bascules BT
MERCI
Il faut vivre par l’amour de tout ce qui est beau
et l’intelligence de tout ce qui est vrai
- Friedrich Nietzsche
Introduction aux mémoires
et taxonomie de leurs types
Cette section couvrira
• Les technologies des mémoires
• Les mémoires à accès séquentiel
• Les mémoires associatives
• Les mémoires caches ou les mémoires tampon
Pourquoi les mémoires tampons
◦ Tous les équipements informatiques au jour d’aujourd’hui embarques des microprocesseurs
fonctionnant à de très hautes fréquences, les mémoires centrales sont principalement des RAMs
dynamiques
◦ Ce type de mémoires quoi que avantageux et présentant un excellent compromis taille/ coût de
production, il présente néanmoins l’inconvénient d’avoir un temps d’accès proportionnellement élevé
ce qui engendre une différence de rapidité entre la mémoire centrale et l’unité centrale
◦ L’UC reste inactif durant l’opération d’accès à la MC, plus grand est le temps d’accès (l’écart des
vitesses) à la MC plus long est le temps d’inactivité de l’UC
◦ Pour palier à ce problème, une solution consiste à intercaler une mémoire à accès aléatoire rapide (RAM
statique) de capacité faible entre la MC et le processeur
Principe de la
mémoire cache
• La mémoire cache puise
l’avantage du principe de
localité des programmes, ce
principe se traduit par:
l’information à adresse
voisine de celle en cours de
traitement est la l’information
de l’instruction suivante
Principe de la mémoire cache
◦ Le fonctionnement de ce type de mémoire peut être décrit comme suit
◦ Lors d’une lecture l’unité centrale fournit une adresse à la fois à la mémoire centrale et à la mémoire cache
◦ Le mot mémoire est d’abord recherché en mémoire cache, s’il est présent l’UC poursuit l’exécution
◦ Sinon la lecture se fait en mémoire centrale et l’information correspondante est alors délivrée au processeur et
à la mémoire cache ainsi que les informations d’adresses voisins en mémoire centrale
◦ Un contrôleur dédié prend en charge la gestion des adresses et de la communication entre le processeur d’une
part et la mémoire centrale de l’autre
◦ Le processeur, indépendamment de la présence ou pas d’une information en mémoire cache, fait
usage de l’adresse en mémoire centrale du mot recherché. Une technique doit donc être exploitée
pour calculer les adresses en mémoire tampon (trouver l’emplacement en mémoire cache), différentes
techniques sont utilisées pour réaliser ce mapping (principes de calcul des adresses physiques)
◦ Mémoire cache purement associative
◦ Mémoire associative à accès direct
◦ Mémoire cache associative par bloc
Mémoire cache à
adressage associatif
• Aucune relation explicite
n’existe entre les adresses en
mémoires centrales à celles en
mémoire cache. Toute
information est donc rangée à
une adresse quelconque en
mémoire cache
• Le contrôleur fait usage d’une
table index implantée dans une
mémoire associative avec pour
chaque élément 2 champs
• Adresse en mémoire centrale
• Adresse en mémoire cache
Mémoire cache à
accès direct
• La mémoire centrale est divisée en
pages de tailles fixes égales à celle
de la mémoire cache
• À chaque emplacement en
mémoire centrale correspond un
emplacement unique en mémoire
cache
• Un index avec autant de lignes que
d’entrée en mémoire cache,
contient le numéro de bloc en
mémoire centrale de chaque mot
contenu en mémoire cache
• Pour retrouver un élément, le
contrôleur vérifie si le numéro de
bloc dans l’index correspond au
numéro de bloc recherché à
l’adresse donné par les bits de
poids faibles
Mémoire cache à adressage
associatif par bloc
• C’est une technique hybridant
les deux précédentes
• La mémoire cache est divisée en
blocs de même taille que ceux
de la mémoire centrale
• Chaque mot de la mémoire
centrale peut être rangée dans
n’importe que bloc de la
mémoire cache mais en respect
du même déplacement que dans
la mémoire centrale
• Il y a donc autant de possibilités
de chargement qu’il y a de blocs
en mémoire cache
Remplacement d’une information
◦ En vue de charger de nouvelles informations il faut penser deux éléments
◦ La taille du bloc à charger en mémoire cache
◦ Décider des mots à remplacer
◦ Il existe trois techniques pour décider de l’information à remplacer
◦ Mise à jour aléatoire, très simpliste mais à risque accrue (remplacement d’une information non-consommée ou
encore requise)
◦ Mise à jour directe, technique exclusive aux mémoires cache à accès directs et consiste à charger le mot dans
l’emplacement qui lui est réservé en mémoire cache
◦ Mise à jour du bloc moins récemment utilisé (Least Recently Used –LRU), basé sur le principe de proximité
temporelle, on doit donc rajouter une information sur le datage de la dernière utilisation de chaque bloc, cette
vérification s’opère à chaque remplacement et le moins récemment utilisé est sélectionné
Opération d’écriture en mémoire cache
◦ Une fois lue, une information en mémoire cache peut être juste ignorée, aucune mise à jour n’est
requise en mémoire centrale car l’information n’a pas été modifiée, ceci n’étant pas le cas après une
opération d’écriture, apparait alors un problème d’intégrité: la concordance de l’information présente
en mémoire cache avec celle présente en mémoire centrale
◦ Le challenge est alors de déterminer à quel moment l’information en mémoire centrale doit être
réécrite, pour cela il existe trois principale approches
◦ Ecriture immédiate, la mise à jour s’effectue simultanément dans les deux mémoires, elle est la plus simple et la
plus fiable mais réduit les performances de la machine
◦ Ecriture retardée, une zone tampon est créé en mémoire cache contenant des informations à mettre à jour en
mémoire centrale, elle permet de gagner du temps mais sa mise en œuvre est plus complexe et plus couteuse
◦ Ecriture différée, des indicateurs par mot sont positionnés à 1 pour dire que la donnée a été modifiée et qu’elle
doit être réécrite en mémoire centrale, on minimise les accès à la MC car on y accède que quand c’est nécessaire,
par exemple à la libération de l’information de la mémoire cache, cette solution est d’autant plus performante
qu’elle est difficile à réaliser
Taille de la mémoire cache
◦ Intuitivement, on pourrait être tenté de croire que plus grande est la mémoire
cache, moins est le risque du défaut de mémoire et donc plus grande est la
performance de l’ordinateur. Outre son coût qui rend la réalisation de cette
mémoire en grande capacité difficile, il a été démontré théoriquement, en vue de la
vitesse de celle-ci, de la performance des techniques qui l’exploitent, que passé un
certain seuil, l’augmentation de la performance de l’ordinateur n’est pas
significative, exemple: les programmes ne sont pas séquentiels totalement et tout le
temps, comme dans les cas des branchements, ce qui fait survenir un défaut de
mémoire tôt ou tard
Résumé
• Il existe un écart important entre les vitesses d’accès de
la mémoire centrale et de l’unité centrale, pour palier à
ce problème le besoin d’une mémoire cache dite tampon
apparait
• Il y a différentes façon de gérer la résolution des
adresses de ces mémoires, d’une manière associatives,
par accès direct ou par approche associative par bloc
• Le remplacement d’une information en mémoire cache
fait usage d’une des trois technique de mise à jour:
aléatoire, directe, de l’élément moins récemment utilisé
• En cas d’écriture une atteinte à la concordance entre la
donnée en cache et en MC apparaît, trois approches
tentent de résoudre ce problème, écriture: immédiate,
retardée, différée
• La taille de la mémoire cache reste limitée du fait de son
coût et paracerque théoriquement l’augmentation de sa
taille à partir d’un certain seuil n’apporte aucun gain de
performance
MERCI
Homme, nul n’a sondé le fond de tes abîmes, O mer,
nul ne connaît tes richesses intimes
L’homme et la mer, les fleurs du mal- Charles Baudelaire
LES ENTRÉES/
SORTIES
Chapitre deuxième. Par ELSAKAAN Nadim
Les entrées/ sorties
Cette section couvrira
• Les organes d’entrée/ sortie
• Les modes d’entrée/ Sortie
• Le contrôleur d’accès direct mémoire
• Le processeur d’entrée/ sortie
Introduction
• Une opération entrée/ sortie
est un échange d’informations
entre une UC et le monde
extérieur
• Il peut s’agir d’un envoi
d’information de l’UC vers
une mémoire massive, d’une
lecture depuis un périphérique
d’entrée ou de l’affichage,
c’est-à-dire visualisation ou
impression via un
périphérique de sortie
Classification des périphériques
Entrée
• Clavier
• Tactile
• …
Sortie
• Ecran
• Casque
audio
• …
Stockage
• disque
• Carte
mémoire
• …
Spéciaux
• Capteurs
• Actionneurs
• …
Classification des
périphériques
• On peut classifier les
périphériques suivant les
critères de fonctionnement
comme la structure de
l’information ou les types de
transmissions.
• Par exemple un caractère de 8
bits, si les bits sont transmis en
parallèle (il faut disposer d’un
bus avec 8 lignes de données)
on parle de transmission
parallèle sinon transmission en
série
• Certains périphériques gèrent
les données par caractères
d’autres les structure en blocs
Les composants d’un périphérique
Le
périphérique Organe de gestion du support
Mécanisme Lecture/ écriture
Le transducteur
Les buffers
Les interfaces du
contrôleur
• Bus de commandes recevant
les ordres de l’UC
• Bus de données possédant
l’information à lire ou à écrire
• Un bus d’état indiquant l'état
courant du: contrôleur, du
périphérique et de l’opération
d’entrée/ sorttie
• Bus d’adresse communiquant
les informations d’adresses du
périphérique cible de la
commande dans le cas de
gestion multiple
Architecture interne d’un contrôleur
◦ Registre de commande (RC) que l’UC charge avec la commande à exécuter
◦ Registre de données (RD) qui reçoit de l’UC la donnée à écrire lors d’une opération
d’écriture ou l’information assemblée dans le registre de décalage de données (RDD)
lors d’une opération de lecture
◦ Registre Piste (RP) indique la position courante de la tête de lecture/ écriture, lors
d’une opération de recherch en son contenu est comparé au numéro de la piste à
rechercher qui doit être rangé dans le registre des données
◦ Registre secteur (RS) recevant le numéro de secteur duquel lire ou dans lequel écrire
Architecture interne d’un contrôleur
◦ Registre d’état (RE), composé d’un ensemble de bits indiquant différentes informations
suivant le registre de commande
◦ perte de données à 1 lors de l’écrasement en RD par la donnée suivante,
◦ Bit du registre de données prêt (DRQ) mis à 1 pour indiquer la présence d’un nouveau caractère dans le
RD et est remis à 0 après une commande de lecture du RD émanant de l’UC
◦ Bit de contrôle de redondance (CRC – Control redundancy check) est utilisé pour indiquer un écart
relevé entre la chaîne de caractères lue et celle enregistré en mémoire disque par exemple, le contrôleur
détecte cet écart grâce aux octets générés par la logique CRC à l’écriture et à la lecture de chaque chaîne
◦ Unité non prête
◦ Protection contre écriture
◦ Secteur non trouvé, aucune adresse correspondant au contenu du registre piste et secteur n’a été
trouvée
◦ Contrôleur occupé
architecture interne d’un contrôleur
Résumé
• Il y a 4 catégories de périphériques, d’entrée, sortie,
stockage et spéciaux
• Les périphériques sont composés d’organes de
gestion du support, d’une tête de lecture ou
écriture, d’un interpréteur et de buffers mémoires
• Un contrôleur contient un ensemble d’interface lui
permettant de dialoguer avec l’UC
• Un ensemble de registre composent l’architecture
interne d’un contrôleur en vue de contenir les
informations dont il a besoin pour
l’accomplissement des opérations de transfert
MERCI
On ne comprendra jamais comment un homme peut
être pratiquant du malheur, ni de quelle manière la
présence nuit à la perfection de la solitude
Crépuscule des pensées- Emile Cioran
Les entrées/ sorties
Cette section couvrira
• Les organes d’entrée/ sortie
• Les modes d’entrée/ Sortie
• Le contrôleur d’accès direct mémoire
• Le processeur d’entrée/ sortie
Types d’entrée/
sorties
Bloquante
Non Bloquante
• Il y a deux principaux types
d’entrée sortie, les
bloquantes et les non
bloquantes
• Les E/ S bloquantes
interrompent l’UC dans
l’exécution du programme
car le résultat est nécessaire
à sa poursuite
• Les E/ S non bloquantes ne
concernent pas des données
requises à l’exécution des
tâches en cours et
n’interpellent donc pas l’UC
Les modes d’entrées /sorties
◦ Mode programmé, dans lequel les informations faisant objet d’un transfert avec
un périphérique passent par l’unité centrale, la commande des périphériques et les
différents échanges entre ces derniers et la MC sont contrôlés directement par
l’UC
◦ Mode accès direct à la mémoire, la mémoire centrale échange directement avec les
périphériques lors des opérations de lecture ou d’écriture, un circuit spécialisé
appelé le contrôleur d’accès direct reçoit les caractères à écrire en MC (lu d’un
périphérique) ou à lecture de la MC des caractères à écrire sur un périphérique et
c’est lui qui est en charge de gérer et de contrôler le transfert
Les modes programmés
• Mode programmé par test
d’états, dans ce mode
l’exécution d’une opération E/
S passe par 3 principales
phases, exemple avec une
opération de lecture
• Lecture du RE pour vérifier si les
périphériques sont prêts, alors les autres
registres du contrôleur sont initialisés et
la commande chargée dans le RC
• Vérification en boucle du RE pour le bit
de présence de caractère, si c’est le cas le
RD est chargé dans un registre de l’UC,
puis ce contenu est rangé en MC
• Màj du nombre de caractères lus et les
adresses mémoires de rangement, si il n
y a plus de caractères à lire alors fin
• Mode programmé par
interruption
• Le mode non programmé,
spécifiquement l’accès direct
mémoire, sera traité dans la
section suivante
Mode programmé par interruption
Mémoire à accès direct
◦ Les échanges de données se font directement entre la mémoire centrale et
périphérique sans transiter par l’UC, l’écriture et la lecture depuis et vers
la mémoire centrale / périphérique, sont confiées à un circuit dédié noté
DMAC (Direct Memory Access Controller)
◦ En plus de sa fonction de base le DMAC est également en charge de
◦ Améliorer le rendement de l’UC en le soulageant du temps consacrés aux
opérations aux transferts avec le périphériques
◦ Permet l’utilisation plus fluide du périphérique
Résumé
• Il y a des entrées dites bloquantes entrainant
l’inactivité provisoire de l’UC sur le programme
concerné et d’autres non bloquantes permettant la
continuation de l’exécution du programme en
parallèle
• Il existe deux modes d’accès à la mémoire, accès
programmé et accès direct à la mémoire
• Il y a deux approches pour le mode programmés,
par vérification d’états et par interruptions
• La méthode DMA permet aux contrôleurs
d’interagir directement avec la mémoire centrale
MERCI
Est beau, ce qui plait universellement d’une manière
désinteressée
Analytique du beau- Emmanuel Kant
Les entrées/ sorties
Cette section couvrira
• Les organes d’entrée/ sortie
• Les modes d’entrée/ Sortie
• Le contrôleur d’accès direct mémoire
• Le processeur d’entrée/ sortie
Architecture interne
d’un contrôleur DMA
• Pour réaliser ses tâches, un
DMAC intègre, en plus des
composants classiques d’un
contrôleur, les composants
suivants
• Un registre Adresse mémoire RAM,
chargé par l’UC avec l’adresse en
mémoire centrale de l’adresse de la
première information à lire (à écrire sur le
périphérique) ou l’adresse de la première
position cible d’une écriture sur MC
(lecture depuis le périphérique)
• Registre Compte de caractères (RCC)
initialisé par l’UC au nombre de
caractères à lire ou à écrire
• Quelques informations peuvent être
ajoutées au niveau des registres
communs, comme le sens du transfert
(E/ S) au niveau du RC
• Le DMAC interagit avec l’UC et
le contrôleur du périphérique
Dialogue
DMAC - périphériques
• Un DMAC peut être en
gestion de plusieurs
périphériques
• À chaque périphérique est
joint un couple de RCC et
RAM qui constitut un canal
avec le DMAC
• DRQ et DAC signifie data
request et data acknowledge
Dialogue
UC – DMAC - Périphérique
• En vue de lire ou écrire en
MC, l’UC ou le DMAC doit
détenir le contrôle du bus
mémoire, il sera dénommé
alors maître du bus.
• En prévention de tout conflit,
le DMAC doit obtenir de
l’UC l’autorisation d’occuper
le bus avant de manipuler la
MC
Dialogue type
◦ Quand un périphérique est prêt au transfert d’un caractère il requiert l’attention du DMAC via un signal
DRQ
◦ Le DMAC à la réception du DRQ, demande le contrôle du bus via un signal HOLD
◦ L’UC finit l’exécution de la commande courante, libère le bus pour le DMAC en répondant par un signal
HLDA
◦ Le DMAC charge le contenu du registre RAM sur le bus d’adresse et active le signal DACK en générant la
commande de lecture (demande au périphérique de positionner sur le bus de données le caractère à écrire en
MC)/ écriture (indique au périphérique qu’il doit recevoir un caractère émanant de la MC)
Modes de transfert
◦ Transfert par vol de cycle, sollicite et maintient le contrôle du bus pour la durée
d’un seul cycle mémoire à chaque fois qu’il interpellé par un périphérique pour
transférer un caractère
◦ Transfert par bloc où le DMAC garde le contrôle du bus durant le transfert d’un
bloc de caractères, durant toute la durée d’occupation l’UC ne peut pas accéder à
la MC
◦ Transfert transparent mode dans lequel le DMAC profite de l’occupation sur des
opérations internes de l’UC pour réaliser les transferts de la MC
Étape d’un transfert
◦ Initialisation
◦ Chargement du registre RAM avec l’adresse du premier bloc mémoire de la zone source ou destination du transfert
◦ Charger le nombre de caractère dans le registre RCC
◦ Chargement le RC avec: le sens du transfert, le mode de transfert, les interruptions, les priorités entre canaux…
◦ Réalisation du transfert
◦ Les différents cycles déroulant les signaux: DRQ, HOLD, HLDA, DACK
◦ Achèvement du transfert
◦ Lorsque RCC atteint 0
◦ Où que le périphérique signal un arrêt physique
◦ À une interruption commandée par l’UC
Résumé
• Un contrôleur DMA possède en plus des
contrôleurs classiques deux registres dans sa
composition interne RAM et RCC
• Avec chaque périphérique est joint un canal depuis
le DMA possédant deux registres RAM et RCC
• En vue de manipuler la mémoire centrale un
dialogue préalable avec l’UC est nécessaire afin que
le DMAC devienne maitre du bus de la mémoire
• Il existe trois modes de transferts de données et
chaque opération de transferts passe par trois
étapes principales
MERCI
Considérez la race dont vous êtes, créés non pas
pour vivre comme des brutes, mais pour suivre vertu
et connaissance
L’Enfer, La divine comédie- Dante
Les entrées/ sorties
Cette section couvrira
• Les organes d’entrée/ sortie
• Les modes d’entrée/ Sortie
• Le contrôleur d’accès direct mémoire
• Le processeur d’entrée/ sortie
Les commandes canal
◦ Un canal sur l’IBM 370 est bien plus sophistiqué, il interface le contrôleur d’interfaces avec les unités de
contrôle des périphériques et assure les transferts de données entre MC et périphériques, chaque canal peut
être relié 8 unités de contrôles et 256 périphériques
◦ Les commandes exécutables par un canal sont
◦ Read indiquant au canal une lecture de données à partir du périphérique pour lequel est entrain de s’exécuter un
programme canal
◦ Write indiquant au canal l’écriture de données sur lé périphérique sélectionné
◦ Readbackword lecture arrière sur des périphériques spéciaux comme des stockages à bandes
◦ Sense commande retournant l’état d’une unité de contrôle et d’un périphérique
◦ Transfert in channel permet de réaliser une rupture et un branchement conditionnel à l’intérieur du programme canal
◦ Control permettant de faire des actions particulières comme la recherche d’une piste ou rebobinage d’une bande
Format d’une commande canal
• Clé de protection servant à autoriser/ refuser l’accès à un bloc mémoire en lecture/ écriture
• Ordre contient la commande à exécuter
• Adresse mémoire adresse du début de la zone mémoire cible du transfert
• Compte d’octets définissant le nombre d’octets concernés par le transfert
• Indicateurs indiquant au canal que faire à la fin d’un transfert de données
Le contenu du champ indicateurs
◦ Un bit compte nul (CN) mis à 1 lorsque le nombre d’octets à transférer est à 0
◦ Bit erreur E/ S (E) mis à 1 lorsque lors d’une opération E/ S un contrôleur détecte une erreur
◦ Un bit fin d’E/ S (A)anormale mis à 1 lorsque une interruption est causée par un contrôleur à cause d’une
défaillance périphérique
◦ Un bit longueur incorrecte (LI) mis à 1 lorsqu’un décalage est détecté entre la mise à 0 du compteur d’octets
et le nombre de blocs mémoires utilisés
◦ Un bit chaînage de données (CD) quand le compte d’octets et à 0 et CD à 1, le canal passe à la commande
suivante avec le même ordre de l’instruction terminée
◦ Un bit chaînage de commande (CC) indiquant lorsqu’il est mis à 1 la présence d’une commande à exécuter
après la commande en cours
Exemple
Architecture interne d’un processeur E/ S
Déroulement d’une entrée sortie
◦ Initialisation
◦ L’UC prépare en MC une séquence de commandes (le programme canal)
◦ L’adresse est rangé dans emplacement CAW (channel status word) connu par le canal
◦ L’UC exécute la commande SIO (start input output) le processeur E/ S peut l’accepter ou la rejeter
◦ La réponse au SIO est enregistré dans le CSW (chanel status word)
◦ L’exécution de l’E/ S
◦ Si le SIO est admis, le canal lit le contenu du CAW et le charge dans le registre compteur de commandes
◦ Le canal accède à l’adresse mémoire centrale contenue dans le Registre Compteur de commandes
◦ Le canal établit un dialogue avec le contrôleur concerné pour exécuter la commande
◦ Le canal met à jour le RCC et positionne le mot d’état pour indiquer l’état de terminaison à l’UC
◦ La fin de l’E/ S
◦ Fin du programme canal
◦ Détection d’une anomalie périphérique
◦ Envoi d’un HALT par l’UC
Résumé
• Un programme canal est composite d’un jeu de six
commandes différentes
• Les indicateurs d’une commandes peuvent
communiquer un ensemble d’informations
importantes
• Le canal embarque en plus dans son architecture
interne un registre Adresse commandes
• Un canal offre la possibilité d’enchainer sur un
même ordre avec différents jeu de données
• Un canal peut charger une succession de
commandes à partir d’une zone mémoire dont
l’adresse de départ est contenue dans le CAW
MERCI
Je suis tel que tu me connais, un homme simple et
sans art
La tragédie de César - Shakespeare
LE SÉQUENCEUR ET
LES INTERRUPTIONS
Chapitre deuxième. Par ELSAKAAN Nadim
Le séquenceur et les
interruptions
Cette section couvrira
• Les interruptions dans un système simple
• Les interruptions dans un système hiérarchique
• Le séquenceur
Les interruptions
• Durant l’exécution d’un
programme l’UC reste à l’affut
d’un ensemble d’évènements
• Quand un évènement
particulier se produit et entraine
l’arrêt de l’exécution du
programme en cours on parle
d’interruption
• Dès lors l’UC switch vers un
programme de traitement de
l’interruption
Les types d’interruptions
◦ Interruptions internes
◦ Erreur arithmétique
◦ Adresse mémoire inexistante
◦ Violation de la protection mémoire
◦ Interruptions matérielles
◦ Problème d’alimentation
◦ Erreurs bus
◦ Interruptions d’entrées/ sorties
◦ Impression/ lecture caractère
◦ Fin d’opération E/S
Gestion d’une
interruption dans un
système simple
• L’UC vérifie à la fin de chaque
programme s’il n y a pas une
interruption à traiter
• Il arrive que des interruptions
soient urgentes, par conséquent
elles ne peuvent attendre la fin
du programme
• À des points ‘interrompables’
(décomposition en
microprogrammes), l’UC vérifie
l’existence d’une interruption
Les tâches exécutées
• Bascule de validation = 0
• Sauvegarde du contexte
• Recherche de la cause de
l’interruption
• Acquittement de l’interruption
• Exécution du programme de
traitement de l’interruption
• Restauration du contexte
(reprise du programme
interrompu), bascule de
validation = 1
Sauvegarde et recherche
◦ Avant toute chose l’UC sauvegarde le contexte de l’interruption
◦ Les informations du compteur ordinal sur la prochaine instruction à exécuter
◦ Indications sur l’état de l’UC au moment de l’interruption exprimées par les informations du registre d’état
◦ Les opérandes et résultats intermédiaires conservés dans les différentes registres
◦ Ensuite vient la recherche de la cause de l’interruption
◦ Recherche par scrutation ‘Polling’, l’UC lit les registres d’états des contrôleurs des périphériques dans un ordre
préétabli, si le bit d’interruption de ce registre est à un, l’UC lit le reste du mot en vue de déterminer la cause
d’interruptions, sinon il continue la lecture depuis les autres contrôleurs
◦ Recherche par ‘Daisy-chain’, l’UC active une ligne ACK, si le contrôleur a une interruption à émettre il bloque
le signal à son niveau, désactive sa bascule d’interruption et met sur le bus de données un code d’identification
Recherche Daisy-chain
Recherche par scrutation
Acquittement et traitement de l’interruption
◦ Une bascule au niveau de l’organe source est mise à 1 pour indiquer l’envoi d’un signal
d’interruption à l’UC, elle n’est remise à 0 que quand elle reçoit par exemple une commande
(instruction) d’acquittement de l’interruption
◦ Pour chaque type d’interruptions correspond un programme spécial rangé en mémoire central,
l’adresse de celui-ci est chargée dans le compteur ordinal par l’UC dès l’occurrence de
l’interruption
◦ À la fin du traitement de l’interruption le contexte préalablement sauvegardé par l’UC est chargé
dans les registre correspond et l’exécution du programme interrompu peut reprendre
Le séquenceur et les
interruptions
Cette section couvrira
• Les interruptions dans un système simple
• Les interruptions dans un système hiérarchique
• Le séquenceur
Introduction aux niveaux d’interruptions
◦ Toutes les causes d’interruptions n’ayant pas le même niveau de priorité, par conséquent le
traitement d’une interruption devrait pouvoir être interrompu par une cause dite plus urgente,
càd degré d’urgence supérieure
◦ Un système hiérarchisé comporte un ensemble de circuits concrétisés par des registres
◦ Registre d’inhibition, chaque niveau lui voit attribué un registre d’inhibition dans lequel une bascule est
dédiée pour chacune des causes du même niveau, quand une interruption est inhibée elle est perdue
◦ Un registre masque, pour chaque niveau il existe une bascule dans ce registre. La combinaison permettant
de façon sélective de masquer un ou plusieurs niveaux d’interruptions (ce qui revient à les bloquer
momentanément), une interruption de ces niveaux là survenue durant le masquage ne sera traitée que
quand ces niveaux seront démasqués
◦ Les bascules de validation/ interruption, lorsqu’elle est à 0 la BV indique que l’UC ne reçoit pas les
interruptions qui seront stockées pour traitement ultérieure, tandis que la BI à 1 indique la présence d’une
interruption
Détection et traitement d’une interruption
◦ Arrivé à un niveau interruptible, l’UC
vérifie si BI = 1
◦ Bascule BV = 0
◦ Sauvegarde du contexte
◦ Mise à 0 des bascules des registres masques
des niveaux inférieurs
◦ Recherche de la cause d’interruption
◦ Activation de la bascule BV= 1 ceci a pour
objectif d’autoriser la réception
d’interruptions plus prioritaires
◦ Chargement du contexte du programme de
traitement de l’interruption
◦ Traitement et prise en charge de
l’interruption
◦ Acquittement de l’interruption par envoi
d’un accusé de réception au périphérique à
l’origine de l’interruption
◦ Restauration des registres sauvegardés
◦ Instruction de retour restaurant les
contenus des registres d’états et du
compteur ordinal
Résumé
• Lors de l’exécution d’un programme, un tat
d’évènements externes peuvent survenir et
interrompre l’UC, néanmoins sur certaines
tâches elle ne peut traiter ces interruptions que
quand elle atteint un point dit interruptible
• Suivant leurs natures les interruptions peuvent
être internes, matérielles ou liées à des entrées/
sorties, et on leur voit attribués différents
niveaux de priorités
• Hormis les systèmes simples, des systèmes
hiérarchisés permettent d’ajouter des bits et des
registres de contrôle en vue d’inhiber une cause,
masquer un niveau ou arrêter le système
d’interruption
• Avant de vaquer au traitement d’une
interruption l’UC par un programme dédié
préalablement enregistré en MC, L’UC doit
sauvegarder son contexte et ses registres
généraux
MERCI
Ils résolurent de se barricader contre les impulsions
soudaines du désespoir extérieur et de fermer toute
issue aux frénisies du dedans
Le masque de la mort rouge – Edgar Allan Poe
Le séquenceur et les
interruptions
Cette section couvrira
• Les interruptions dans un système simple
• Les interruptions dans un système hiérarchique
• Le séquenceur
Le séquenceur
◦ Un séquenceur est un organe qui génère des
microcommandes agissant sur les différents organes du
calculateur pour exécuter des instructions, par exemple:
◦ Commande d’ouverture d’un bus
◦ Commande d’incrémentation d’un registre
◦ Commande d’addition dans l’Unité Arithmétique et Logique
(UAL)
◦ Ces fonctions peuvent être mises en œuvre par deux
approches
◦ séquenceur câblé qui est constitué d’un circuit complexe
avec un ensemble de sous circuits dédiés chacun à la
gestion du déroulement d’une commande particulière
◦ séquenceur microprogrammé vise à réaliser la même chose
mais en exploitant ce qu’on appelle des micro instructions
constituant une mémoire de microprogrammation capable
de générer une suite de signaux de commande
Architecture interne d’un processeur avec UAL et UC Archi RISC
Etapes pour un séquenceur câblé
◦ Recherche de l’instruction
◦ La valeur du compteur ordinal est placée sur le bus d’adresse par l’unité de commande émettant un ordre de lecture
◦ Suite au temps d’accès la valeur est récupérée et mise sur le bus de données
◦ L’instruction est ensuite stockée dans le registre d’instruction
◦ Décodage et recherche de l’opérande
◦ L’unité de commande décompose l’instruction en un ensemble de primitives réalisables par l’UAL
◦ L’opérande est stockée dans un registre général (donnée)
◦ Exécution de l’instruction
◦ Le séquenceur ordonne la réalisation de l’instruction
◦ Il positionne donc les flags (registre d’états) aux valeurs nécessaires
◦ L’unité de commande prépare le compteur ordinal pour l’instruction suivantes
Principe d’un séquenceur microprogrammé
◦ Chaque instruction devient un microprogramme, qui est donc un enchaînement
de micro-instructions générant de microcommandes. Ces microcommandes sont
rangées dans une mémoire ROM ou EPROM dite de microprogrammes
◦ Les microcommandes appliquent une seule opération (par une phase ou un cycle)
◦ Comme pour les instructions, il importe d’ajouter des mécanismes pour
l’exécution séquentielles et les différents branchements des micro-instructions, en
introduisant le micro compteur ordinal (MCO) et un micro registre d’instruction
(MIR)
◦ Le format d’une micro-instruction est très similaire à celui des langages machines;
code opération et opérandes
Résumé
• Le séquenceur est le composant
principal de l’unité dite de commande, il
est en charge de préparer et suivre
l’exécution des instructions
• Un séquenceur câblé est un séquenceur
possédant des sous circuits dédiés pour
la gestion de chaque type de
commandes
• Un séquenceur microprogrammé est en
revanche modélisé par un ensemble de
programme (opérations) à faire pour
réaliser chaque commande
MERCI
Un ermite vivait dans la forêt, sans avoir peur des
bêtes fauves. L’ermite et les bêtes fauves
conversaient ensemble et ils se comprenaient
À la recherche du bonheur– Léon Tolstoï

Contenu connexe

Tendances

Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Montagem e desmontagem de PC's
Montagem e desmontagem de PC'sMontagem e desmontagem de PC's
Montagem e desmontagem de PC'sRita
 
YZM 2116 - Bölüm 3 - Listeler
YZM 2116 - Bölüm 3 - Listeler YZM 2116 - Bölüm 3 - Listeler
YZM 2116 - Bölüm 3 - Listeler Deniz KILINÇ
 
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)Ivan Marks
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)Simen Li
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Cleber Ramos
 
Yzm 2116 Bölüm 10 - Hash Table
Yzm 2116 Bölüm 10 - Hash TableYzm 2116 Bölüm 10 - Hash Table
Yzm 2116 Bölüm 10 - Hash TableDeniz KILINÇ
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
Informática básica Pró-Funcionário
Informática básica Pró-FuncionárioInformática básica Pró-Funcionário
Informática básica Pró-FuncionárioEder Liborio
 
Yzm 2116 Bölüm 6 - Sıralama ve Arama
Yzm 2116   Bölüm 6 - Sıralama ve AramaYzm 2116   Bölüm 6 - Sıralama ve Arama
Yzm 2116 Bölüm 6 - Sıralama ve AramaDeniz KILINÇ
 
Résumé javascript bac info
Résumé javascript bac infoRésumé javascript bac info
Résumé javascript bac infoborhen boukthir
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurSana Aroussi
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CAbdelouahed Abdou
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 

Tendances (20)

Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
 
Montagem e desmontagem de PC's
Montagem e desmontagem de PC'sMontagem e desmontagem de PC's
Montagem e desmontagem de PC's
 
YZM 2116 - Bölüm 3 - Listeler
YZM 2116 - Bölüm 3 - Listeler YZM 2116 - Bölüm 3 - Listeler
YZM 2116 - Bölüm 3 - Listeler
 
Résumer arithmétique
Résumer arithmétiqueRésumer arithmétique
Résumer arithmétique
 
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)SISTEMAS OPERACIONAIS MÓVEIS (S.O)
SISTEMAS OPERACIONAIS MÓVEIS (S.O)
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Aritmética Digital
Aritmética DigitalAritmética Digital
Aritmética Digital
 
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
[嵌入式系統] MCS-51 實驗 - 使用 IAR (2)
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
 
Aula 05
Aula 05Aula 05
Aula 05
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Yzm 2116 Bölüm 10 - Hash Table
Yzm 2116 Bölüm 10 - Hash TableYzm 2116 Bölüm 10 - Hash Table
Yzm 2116 Bölüm 10 - Hash Table
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Informática básica Pró-Funcionário
Informática básica Pró-FuncionárioInformática básica Pró-Funcionário
Informática básica Pró-Funcionário
 
Yzm 2116 Bölüm 6 - Sıralama ve Arama
Yzm 2116   Bölüm 6 - Sıralama ve AramaYzm 2116   Bölüm 6 - Sıralama ve Arama
Yzm 2116 Bölüm 6 - Sıralama ve Arama
 
Résumé javascript bac info
Résumé javascript bac infoRésumé javascript bac info
Résumé javascript bac info
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 

Similaire à Introduction à architecture des ordinateurs

memoires_ch7.ppt
memoires_ch7.pptmemoires_ch7.ppt
memoires_ch7.pptnadir89
 
ch7_memoires.ppt
ch7_memoires.pptch7_memoires.ppt
ch7_memoires.pptamine17157
 
Architecture 4
Architecture 4Architecture 4
Architecture 4coursuniv
 
Architecture ordinateur-2-architecture-de-base
Architecture ordinateur-2-architecture-de-baseArchitecture ordinateur-2-architecture-de-base
Architecture ordinateur-2-architecture-de-baseAbdoulaye Dieng
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxFazaTabbana1
 
Architecture1
Architecture1Architecture1
Architecture1coursuniv
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresAbdoulaye Dieng
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurAbdoulaye Dieng
 
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdfesi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdfThoughtlessTv
 

Similaire à Introduction à architecture des ordinateurs (14)

memoires_ch7.ppt
memoires_ch7.pptmemoires_ch7.ppt
memoires_ch7.ppt
 
ch7_memoires.ppt
ch7_memoires.pptch7_memoires.ppt
ch7_memoires.ppt
 
Ch7 memoires
Ch7 memoiresCh7 memoires
Ch7 memoires
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
Architecture ordinateur-2-architecture-de-base
Architecture ordinateur-2-architecture-de-baseArchitecture ordinateur-2-architecture-de-base
Architecture ordinateur-2-architecture-de-base
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Ch9 miasm
Ch9 miasmCh9 miasm
Ch9 miasm
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
Ladder
LadderLadder
Ladder
 
Architecture1
Architecture1Architecture1
Architecture1
 
Architecture des ordinateurs : memoires
Architecture des ordinateurs : memoiresArchitecture des ordinateurs : memoires
Architecture des ordinateurs : memoires
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdfesi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
 

Dernier

comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 

Dernier (15)

comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 

Introduction à architecture des ordinateurs

  • 2. Avant-propos ◦ Ceci est un cours introductif à l’architecture des ordinateurs, il est conforme au programme officiel des écoles nationales supérieures en sciences de l’informatique et du numérique en Algérie ◦ Les schémas sont principalement tirés du cours et du livre du professeur Koudil que je remercie vivement pour son aide et son soutien sans lequel ce cours n’aurait pas aboutit ◦ Ce cours est discernés aux deuxièmes années classes préparatoires de l’école supérieure en sciences et technologies de l’informatique et du numérique (Béjaia) pour l’année académique 2021-2022 ◦ Un dernier détail, non des moindres, il manque la partie sur les structures statiques et dynamiques des mémoires, ceci pourrait être corrigé avec le temps
  • 3. ELSAKAAN Nadim PhD Candidate @ UAMB | Educator @ ESTIN.DZ | Researcher @ LIMED | Information systems/ Digital startups - Consultant & Trainer @ freelance | Visitor Teacher @ UC3 & CUT | Journalist & author
  • 4. Programme Leçon 1. Introduction aux mémoires et taxonomie de leurs types Leçon 2. Composants liés aux opérations d’entrées/ Sorties Leçon 3. Les modes d’entées/ Sorties Leçon 4. Les systèmes d’interruptions Leçon 5. Le séquenceur
  • 5. Méthodologie ◦ Cours disponibles sur google classroom ◦ Références bibliographiques disponibles google drive ◦ Evaluation continue sur google forms
  • 8. Avant de commencer ◦ Qu’est ce qu’un ordinateur? Quels sont ses composants principaux ? ◦ Quelles sont les catégories de mémoires qu’intègrent un ordinateur ? Détaillez les besoins de cette variété. ◦ Quelles sont les catégories de structures de données que vous connaissez? Comment fonctionne chaque catégorie et quels sont les avantages? ◦ Comment fonctionne un processeur standard selon vous ? Qu’apporte les modes de gestion en terme de performance de calculs ?
  • 10. Introduction aux mémoires et taxonomie de leurs types Cette section couvrira • Les technologies des mémoires • Les mémoires à accès séquentiel • Les mémoires associatives • Les mémoires caches ou les mémoires tampon
  • 11. Historique • Tout commence en 1710 quand Leibniz décrit dans un article, une machine arithmétique qu’il utilisait depuis 1673 • Le premier support, voir système de data management, est la carte perforée inventée par IBM en 1890. Elle inventera le premier HDD en 1956 d’un 1m80 pouvant stocker 3,75 Mb • En 1936, Alan Turing travaille à la mise en place d’un modèle théorique, d’une machine capable de décrypter les communications Nazis • AGC (Apollo Guidance Computer pour l’apollo 11, 21 juillet 1969) était doté de 72 KO Rom, 4 KO RAM
  • 12. Rappels élémentaires ◦ Un ordinateur est composé de ◦ La mémoire centrale ◦ Les mémoires auxiliaires ◦ Les péréphériques ◦ L’unité centrale ◦ UAL ◦ L’unité de commande ◦ Une instruction est composée d’un champs ‘code opération’, ‘mode adressage’ et ‘les champs opérandes/ adresses’, il existe plusieurs organisations pour cette élément dans l’UAL ◦ Machines à 4 adresses ◦ Machines à 3 adresses ◦ Machines à 2 adresses
  • 13. Rappels élémentaires ◦ Une mémoire est un dispositif capable d’acquérir de l’information, de la conserver sur le temps et de la restituer à la demande. ◦ Elle a plusieurs caractéristiques ◦ Capacité ◦ Temps d’accès ◦ Mode d’accès ◦ Mode d’opération
  • 14. Les mémoires à accès séquentiels • Ce sont des mémoires dites non adressables, c’est à dire que les données ne sont pas directement accessibles via une adresse physique • Elles sont utilisées comme tampon de synchronisation entre deux composants à fonctionnant à des vitesses différentes • Au depend du besoin, la politique de gestion de ces types de mémoires peut être en FIFO ou en LIFO
  • 15. FIFO • Cette politique permet de restituer les données en sortie dans le même ordre dans lequel elles ont été stockées • Les cellules mémoires sont organisées en linéaire. L’écriture se fait au dernier étage, tandis que la lecture se fait au premier étage • Une politique de gestion contrôle le fonctionnement de l’ensemble de la mémoire
  • 16. Politique de gestion ‘FIFO’ ◦ La politique de gestion contrôlant le fonctionnement d’une mémoire à accès séquentiel avec une politique FIFO assure les tâches suivantes ◦ Le contrôle de l’étage d’entrée et la politique d’écriture ◦ Le contrôle de l’opération de décalage ◦ Le contrôle de l’étage de sortie et de la politique de lecture ◦ Des signaux existent pour indiquer l’état de la mémoire ◦ ‘écriture possible’ à 0 pour indiquer que l’étage d’entrée est occupée et qu’aucune écriture n’est possible ◦ ‘lecture possible’ à 0 pour indiquer que l’étage de sortie est vide et qu’il n y a rien à lire ◦ ‘la bascule de présence’ à 1 pour indiquer que le mot est occupé
  • 17. Politique de gestion ‘FIFO’ ◦ L’information introduite est décalée progressivement vers le dernier étage libre en direction de l’étage de sortie ◦ Les opérations de lectures et d’écritures sont indépendantes et interviennent sur des étages différents, elles peuvent donc être réalisées en même temps ◦ Quand une opération de lecture est effectuée, chaque étage est alors décalé d’une position vers la sortie ◦ Ce type de mémoire matérialise le principe de boite aux lettres permettant à des processeurs d’échanger des données de manière asynchrone, un exemple plus trivial est le tampon du clavier
  • 18. LIFO • Cette politique concrétise le principe de pile, où le dernier élément inséré est le premier élément restitué à la lecture • À chaque operation d’écriture, le contenu de chaque mot mémoire est décalé d’un étage vers le fond (dernier étage) • Lors d’une operation de lecture l’information est lue directement du haut et chaque mot est décalé d’une position vers le premier étage
  • 19. Politique de gestion ‘LIFO’ ◦ La lecture et l’écriture se font tous les deux au premier étage, la pile est pleine quand le dernier étage est plein et est vide quand le premier étage est vide ◦ Les états ‘vide’ et ‘pleine’ de la pile sont indiqués par des signaux générés par la politique de gestion de la mémoire ◦ Cette politique trouve de nombreuses applications, comme la sauvegarde du contexte d’un programme lors d’une interruption.
  • 20. Résumé • Les mémoires à accès séquentiels sont des mémoires non adressables, il existe deux politique de gestion pour en contrôler le fonctionnement • Dans une politique ‘FIFO’ le premier élément inséré dans la file est le premier élément restitué, les décalages se font pour en supporter le fonctionnement • Dans une politique ‘LIFO’ une approche par pile est matérialisée permettant de lire et d’écrire tout en haut de la pile
  • 21. MERCI Si vous avez compris tout ce que je viens de dire c’est que j’ai mal expliqué - ALAN Greenspan
  • 22. Introduction aux mémoires et taxonomie de leurs types Cette section couvrira • Les technologies des mémoires • Les mémoires à accès séquentiel • Les mémoires associatives • Les mémoires caches ou les mémoires tampon
  • 23. Les mémoires associatives ◦ Quand la mémoire à accès aléatoire apporte la réponse à la question de ‘qu’est ce qu’il y a comme information dans l’adresse A ?’, les mémoires associatives répondent à la question ‘existe-i-il un mot mémoire contenant l’information C ?’ ◦ Il est également possible de réaliser les opérations classiques de lecture écriture sur des mémoires associatives mais il est nécessaire de passer par une opération de recherche en amant
  • 24. Organisation d’une mémoire associative • Une mémoire associative possède tout d’abord un bloc de mots • Un registre clé ‘C’ du format d’un mot mémoire, recevant l’information qui est le critère de selection • Un registre masque ‘M’ de même format précisant le champs de la recherche, chaque bit de ‘C’ lui correspond un bit de ‘M’ • Un registre indicateur ‘I’ possédant autant de bit qu’il y a de mots mémoires • Un registre sortie ‘S’ de la taille d’un mot possédant le résultat de la recherche
  • 25. Opération de recherche ◦ Tous les bits du registre I sont mis à 1 par la commande SET. L’information qui est le critère de recherche est placée dans le registre clé C et les bits du masque M correspondant au critère de recherche sont mis à 1 ◦ Chaque bit non masqué, est comparé à chaque bit de même position dans tous les mots mémoires et ce en parallèle ◦ Si le bit i de C et bit i du mot mémoire de rang j sont différents, le bit j du registre I est mis à 0 ◦ À la fin du processus de recherche, seuls les mots mémoires dont les indices en I sont encore égaux à 1 répondent aux critères de recherches et son appelés répondeurs, un signal S/N (Some/ none) mis à 1 indique qu’il existe au moins un répondeur
  • 26. Exemple de recherche • La commande SET met tous les bits du registre I à 1 • Placer l’information de la taille recherchée au registre C • Mettre à 1 les bits de M correspondant au champ de recherche • Lancer la commande de recherche
  • 27. Organisation des registre C et M Cette figure représente la table des états des registres C et M C est à 0 et démasqué C est à 1 et démasqué C est masqué
  • 28. Opération de Lecture / écriture ◦ Une fois l’opération de recherche terminée, les éléments à récupérer sont ceux dont l’indice en registre I est à ‘1’, apparait alors le problème de lecture du premier répondeur que nous traiterons un peu plus loin ◦ L’écriture se fait sur tous les mots dont l’entrée dans le registre I est à ‘1’, l’information à écrire est positionnée dans le registre clé et les bits du masque sont mis à ‘1’ pour les champs qu’il faut écrire ◦ Pour résoudre le problème de lecture, un signal Sélection/ inhibition est utilisé pour forcer tous indicateurs à ‘0’ excepté celui du premier répondeur. Une bascule BT est associée à chaque mot de la mémoire, quand elle est à un ‘l’ a valeur correspondant dans I est mise à ‘0’, la bascule se met donc à ‘1’ quand le mot mémoire est traité et l’opération recommence successivement pour les autres répondeurs
  • 29. Exercice Soit une mémoire associative contenant des entiers positifs de 32 bits, on désire trouver l’élément de valeur maximale contenu dans cette mémoire, proposez une approche pour retrouver cet élément
  • 30. Résumé • Les mémoires associatives sont organisées de sorte à répondre à la question de l’existence d’une case mémoire contenant une information clé • Toutes les opérations classiques comme la lecture et l’écriture sont réalisables sur ce type de mémoire, mais une phase de recherche est préalablement requise • Étant donné que les résultats de la recherche peuvent être multiples et en vue de faire des lectures par valeur désirée, le concept du premier répondeur est insérée et est aidée par des bascules BT
  • 31. MERCI Il faut vivre par l’amour de tout ce qui est beau et l’intelligence de tout ce qui est vrai - Friedrich Nietzsche
  • 32. Introduction aux mémoires et taxonomie de leurs types Cette section couvrira • Les technologies des mémoires • Les mémoires à accès séquentiel • Les mémoires associatives • Les mémoires caches ou les mémoires tampon
  • 33. Pourquoi les mémoires tampons ◦ Tous les équipements informatiques au jour d’aujourd’hui embarques des microprocesseurs fonctionnant à de très hautes fréquences, les mémoires centrales sont principalement des RAMs dynamiques ◦ Ce type de mémoires quoi que avantageux et présentant un excellent compromis taille/ coût de production, il présente néanmoins l’inconvénient d’avoir un temps d’accès proportionnellement élevé ce qui engendre une différence de rapidité entre la mémoire centrale et l’unité centrale ◦ L’UC reste inactif durant l’opération d’accès à la MC, plus grand est le temps d’accès (l’écart des vitesses) à la MC plus long est le temps d’inactivité de l’UC ◦ Pour palier à ce problème, une solution consiste à intercaler une mémoire à accès aléatoire rapide (RAM statique) de capacité faible entre la MC et le processeur
  • 34. Principe de la mémoire cache • La mémoire cache puise l’avantage du principe de localité des programmes, ce principe se traduit par: l’information à adresse voisine de celle en cours de traitement est la l’information de l’instruction suivante
  • 35. Principe de la mémoire cache ◦ Le fonctionnement de ce type de mémoire peut être décrit comme suit ◦ Lors d’une lecture l’unité centrale fournit une adresse à la fois à la mémoire centrale et à la mémoire cache ◦ Le mot mémoire est d’abord recherché en mémoire cache, s’il est présent l’UC poursuit l’exécution ◦ Sinon la lecture se fait en mémoire centrale et l’information correspondante est alors délivrée au processeur et à la mémoire cache ainsi que les informations d’adresses voisins en mémoire centrale ◦ Un contrôleur dédié prend en charge la gestion des adresses et de la communication entre le processeur d’une part et la mémoire centrale de l’autre ◦ Le processeur, indépendamment de la présence ou pas d’une information en mémoire cache, fait usage de l’adresse en mémoire centrale du mot recherché. Une technique doit donc être exploitée pour calculer les adresses en mémoire tampon (trouver l’emplacement en mémoire cache), différentes techniques sont utilisées pour réaliser ce mapping (principes de calcul des adresses physiques) ◦ Mémoire cache purement associative ◦ Mémoire associative à accès direct ◦ Mémoire cache associative par bloc
  • 36. Mémoire cache à adressage associatif • Aucune relation explicite n’existe entre les adresses en mémoires centrales à celles en mémoire cache. Toute information est donc rangée à une adresse quelconque en mémoire cache • Le contrôleur fait usage d’une table index implantée dans une mémoire associative avec pour chaque élément 2 champs • Adresse en mémoire centrale • Adresse en mémoire cache
  • 37. Mémoire cache à accès direct • La mémoire centrale est divisée en pages de tailles fixes égales à celle de la mémoire cache • À chaque emplacement en mémoire centrale correspond un emplacement unique en mémoire cache • Un index avec autant de lignes que d’entrée en mémoire cache, contient le numéro de bloc en mémoire centrale de chaque mot contenu en mémoire cache • Pour retrouver un élément, le contrôleur vérifie si le numéro de bloc dans l’index correspond au numéro de bloc recherché à l’adresse donné par les bits de poids faibles
  • 38. Mémoire cache à adressage associatif par bloc • C’est une technique hybridant les deux précédentes • La mémoire cache est divisée en blocs de même taille que ceux de la mémoire centrale • Chaque mot de la mémoire centrale peut être rangée dans n’importe que bloc de la mémoire cache mais en respect du même déplacement que dans la mémoire centrale • Il y a donc autant de possibilités de chargement qu’il y a de blocs en mémoire cache
  • 39. Remplacement d’une information ◦ En vue de charger de nouvelles informations il faut penser deux éléments ◦ La taille du bloc à charger en mémoire cache ◦ Décider des mots à remplacer ◦ Il existe trois techniques pour décider de l’information à remplacer ◦ Mise à jour aléatoire, très simpliste mais à risque accrue (remplacement d’une information non-consommée ou encore requise) ◦ Mise à jour directe, technique exclusive aux mémoires cache à accès directs et consiste à charger le mot dans l’emplacement qui lui est réservé en mémoire cache ◦ Mise à jour du bloc moins récemment utilisé (Least Recently Used –LRU), basé sur le principe de proximité temporelle, on doit donc rajouter une information sur le datage de la dernière utilisation de chaque bloc, cette vérification s’opère à chaque remplacement et le moins récemment utilisé est sélectionné
  • 40. Opération d’écriture en mémoire cache ◦ Une fois lue, une information en mémoire cache peut être juste ignorée, aucune mise à jour n’est requise en mémoire centrale car l’information n’a pas été modifiée, ceci n’étant pas le cas après une opération d’écriture, apparait alors un problème d’intégrité: la concordance de l’information présente en mémoire cache avec celle présente en mémoire centrale ◦ Le challenge est alors de déterminer à quel moment l’information en mémoire centrale doit être réécrite, pour cela il existe trois principale approches ◦ Ecriture immédiate, la mise à jour s’effectue simultanément dans les deux mémoires, elle est la plus simple et la plus fiable mais réduit les performances de la machine ◦ Ecriture retardée, une zone tampon est créé en mémoire cache contenant des informations à mettre à jour en mémoire centrale, elle permet de gagner du temps mais sa mise en œuvre est plus complexe et plus couteuse ◦ Ecriture différée, des indicateurs par mot sont positionnés à 1 pour dire que la donnée a été modifiée et qu’elle doit être réécrite en mémoire centrale, on minimise les accès à la MC car on y accède que quand c’est nécessaire, par exemple à la libération de l’information de la mémoire cache, cette solution est d’autant plus performante qu’elle est difficile à réaliser
  • 41. Taille de la mémoire cache ◦ Intuitivement, on pourrait être tenté de croire que plus grande est la mémoire cache, moins est le risque du défaut de mémoire et donc plus grande est la performance de l’ordinateur. Outre son coût qui rend la réalisation de cette mémoire en grande capacité difficile, il a été démontré théoriquement, en vue de la vitesse de celle-ci, de la performance des techniques qui l’exploitent, que passé un certain seuil, l’augmentation de la performance de l’ordinateur n’est pas significative, exemple: les programmes ne sont pas séquentiels totalement et tout le temps, comme dans les cas des branchements, ce qui fait survenir un défaut de mémoire tôt ou tard
  • 42. Résumé • Il existe un écart important entre les vitesses d’accès de la mémoire centrale et de l’unité centrale, pour palier à ce problème le besoin d’une mémoire cache dite tampon apparait • Il y a différentes façon de gérer la résolution des adresses de ces mémoires, d’une manière associatives, par accès direct ou par approche associative par bloc • Le remplacement d’une information en mémoire cache fait usage d’une des trois technique de mise à jour: aléatoire, directe, de l’élément moins récemment utilisé • En cas d’écriture une atteinte à la concordance entre la donnée en cache et en MC apparaît, trois approches tentent de résoudre ce problème, écriture: immédiate, retardée, différée • La taille de la mémoire cache reste limitée du fait de son coût et paracerque théoriquement l’augmentation de sa taille à partir d’un certain seuil n’apporte aucun gain de performance
  • 43. MERCI Homme, nul n’a sondé le fond de tes abîmes, O mer, nul ne connaît tes richesses intimes L’homme et la mer, les fleurs du mal- Charles Baudelaire
  • 45. Les entrées/ sorties Cette section couvrira • Les organes d’entrée/ sortie • Les modes d’entrée/ Sortie • Le contrôleur d’accès direct mémoire • Le processeur d’entrée/ sortie
  • 46. Introduction • Une opération entrée/ sortie est un échange d’informations entre une UC et le monde extérieur • Il peut s’agir d’un envoi d’information de l’UC vers une mémoire massive, d’une lecture depuis un périphérique d’entrée ou de l’affichage, c’est-à-dire visualisation ou impression via un périphérique de sortie
  • 47. Classification des périphériques Entrée • Clavier • Tactile • … Sortie • Ecran • Casque audio • … Stockage • disque • Carte mémoire • … Spéciaux • Capteurs • Actionneurs • …
  • 48. Classification des périphériques • On peut classifier les périphériques suivant les critères de fonctionnement comme la structure de l’information ou les types de transmissions. • Par exemple un caractère de 8 bits, si les bits sont transmis en parallèle (il faut disposer d’un bus avec 8 lignes de données) on parle de transmission parallèle sinon transmission en série • Certains périphériques gèrent les données par caractères d’autres les structure en blocs
  • 49. Les composants d’un périphérique Le périphérique Organe de gestion du support Mécanisme Lecture/ écriture Le transducteur Les buffers
  • 50. Les interfaces du contrôleur • Bus de commandes recevant les ordres de l’UC • Bus de données possédant l’information à lire ou à écrire • Un bus d’état indiquant l'état courant du: contrôleur, du périphérique et de l’opération d’entrée/ sorttie • Bus d’adresse communiquant les informations d’adresses du périphérique cible de la commande dans le cas de gestion multiple
  • 51. Architecture interne d’un contrôleur ◦ Registre de commande (RC) que l’UC charge avec la commande à exécuter ◦ Registre de données (RD) qui reçoit de l’UC la donnée à écrire lors d’une opération d’écriture ou l’information assemblée dans le registre de décalage de données (RDD) lors d’une opération de lecture ◦ Registre Piste (RP) indique la position courante de la tête de lecture/ écriture, lors d’une opération de recherch en son contenu est comparé au numéro de la piste à rechercher qui doit être rangé dans le registre des données ◦ Registre secteur (RS) recevant le numéro de secteur duquel lire ou dans lequel écrire
  • 52. Architecture interne d’un contrôleur ◦ Registre d’état (RE), composé d’un ensemble de bits indiquant différentes informations suivant le registre de commande ◦ perte de données à 1 lors de l’écrasement en RD par la donnée suivante, ◦ Bit du registre de données prêt (DRQ) mis à 1 pour indiquer la présence d’un nouveau caractère dans le RD et est remis à 0 après une commande de lecture du RD émanant de l’UC ◦ Bit de contrôle de redondance (CRC – Control redundancy check) est utilisé pour indiquer un écart relevé entre la chaîne de caractères lue et celle enregistré en mémoire disque par exemple, le contrôleur détecte cet écart grâce aux octets générés par la logique CRC à l’écriture et à la lecture de chaque chaîne ◦ Unité non prête ◦ Protection contre écriture ◦ Secteur non trouvé, aucune adresse correspondant au contenu du registre piste et secteur n’a été trouvée ◦ Contrôleur occupé
  • 54. Résumé • Il y a 4 catégories de périphériques, d’entrée, sortie, stockage et spéciaux • Les périphériques sont composés d’organes de gestion du support, d’une tête de lecture ou écriture, d’un interpréteur et de buffers mémoires • Un contrôleur contient un ensemble d’interface lui permettant de dialoguer avec l’UC • Un ensemble de registre composent l’architecture interne d’un contrôleur en vue de contenir les informations dont il a besoin pour l’accomplissement des opérations de transfert
  • 55. MERCI On ne comprendra jamais comment un homme peut être pratiquant du malheur, ni de quelle manière la présence nuit à la perfection de la solitude Crépuscule des pensées- Emile Cioran
  • 56. Les entrées/ sorties Cette section couvrira • Les organes d’entrée/ sortie • Les modes d’entrée/ Sortie • Le contrôleur d’accès direct mémoire • Le processeur d’entrée/ sortie
  • 57. Types d’entrée/ sorties Bloquante Non Bloquante • Il y a deux principaux types d’entrée sortie, les bloquantes et les non bloquantes • Les E/ S bloquantes interrompent l’UC dans l’exécution du programme car le résultat est nécessaire à sa poursuite • Les E/ S non bloquantes ne concernent pas des données requises à l’exécution des tâches en cours et n’interpellent donc pas l’UC
  • 58. Les modes d’entrées /sorties ◦ Mode programmé, dans lequel les informations faisant objet d’un transfert avec un périphérique passent par l’unité centrale, la commande des périphériques et les différents échanges entre ces derniers et la MC sont contrôlés directement par l’UC ◦ Mode accès direct à la mémoire, la mémoire centrale échange directement avec les périphériques lors des opérations de lecture ou d’écriture, un circuit spécialisé appelé le contrôleur d’accès direct reçoit les caractères à écrire en MC (lu d’un périphérique) ou à lecture de la MC des caractères à écrire sur un périphérique et c’est lui qui est en charge de gérer et de contrôler le transfert
  • 59. Les modes programmés • Mode programmé par test d’états, dans ce mode l’exécution d’une opération E/ S passe par 3 principales phases, exemple avec une opération de lecture • Lecture du RE pour vérifier si les périphériques sont prêts, alors les autres registres du contrôleur sont initialisés et la commande chargée dans le RC • Vérification en boucle du RE pour le bit de présence de caractère, si c’est le cas le RD est chargé dans un registre de l’UC, puis ce contenu est rangé en MC • Màj du nombre de caractères lus et les adresses mémoires de rangement, si il n y a plus de caractères à lire alors fin • Mode programmé par interruption • Le mode non programmé, spécifiquement l’accès direct mémoire, sera traité dans la section suivante Mode programmé par interruption
  • 60. Mémoire à accès direct ◦ Les échanges de données se font directement entre la mémoire centrale et périphérique sans transiter par l’UC, l’écriture et la lecture depuis et vers la mémoire centrale / périphérique, sont confiées à un circuit dédié noté DMAC (Direct Memory Access Controller) ◦ En plus de sa fonction de base le DMAC est également en charge de ◦ Améliorer le rendement de l’UC en le soulageant du temps consacrés aux opérations aux transferts avec le périphériques ◦ Permet l’utilisation plus fluide du périphérique
  • 61. Résumé • Il y a des entrées dites bloquantes entrainant l’inactivité provisoire de l’UC sur le programme concerné et d’autres non bloquantes permettant la continuation de l’exécution du programme en parallèle • Il existe deux modes d’accès à la mémoire, accès programmé et accès direct à la mémoire • Il y a deux approches pour le mode programmés, par vérification d’états et par interruptions • La méthode DMA permet aux contrôleurs d’interagir directement avec la mémoire centrale
  • 62. MERCI Est beau, ce qui plait universellement d’une manière désinteressée Analytique du beau- Emmanuel Kant
  • 63. Les entrées/ sorties Cette section couvrira • Les organes d’entrée/ sortie • Les modes d’entrée/ Sortie • Le contrôleur d’accès direct mémoire • Le processeur d’entrée/ sortie
  • 64. Architecture interne d’un contrôleur DMA • Pour réaliser ses tâches, un DMAC intègre, en plus des composants classiques d’un contrôleur, les composants suivants • Un registre Adresse mémoire RAM, chargé par l’UC avec l’adresse en mémoire centrale de l’adresse de la première information à lire (à écrire sur le périphérique) ou l’adresse de la première position cible d’une écriture sur MC (lecture depuis le périphérique) • Registre Compte de caractères (RCC) initialisé par l’UC au nombre de caractères à lire ou à écrire • Quelques informations peuvent être ajoutées au niveau des registres communs, comme le sens du transfert (E/ S) au niveau du RC • Le DMAC interagit avec l’UC et le contrôleur du périphérique
  • 65. Dialogue DMAC - périphériques • Un DMAC peut être en gestion de plusieurs périphériques • À chaque périphérique est joint un couple de RCC et RAM qui constitut un canal avec le DMAC • DRQ et DAC signifie data request et data acknowledge
  • 66. Dialogue UC – DMAC - Périphérique • En vue de lire ou écrire en MC, l’UC ou le DMAC doit détenir le contrôle du bus mémoire, il sera dénommé alors maître du bus. • En prévention de tout conflit, le DMAC doit obtenir de l’UC l’autorisation d’occuper le bus avant de manipuler la MC
  • 67. Dialogue type ◦ Quand un périphérique est prêt au transfert d’un caractère il requiert l’attention du DMAC via un signal DRQ ◦ Le DMAC à la réception du DRQ, demande le contrôle du bus via un signal HOLD ◦ L’UC finit l’exécution de la commande courante, libère le bus pour le DMAC en répondant par un signal HLDA ◦ Le DMAC charge le contenu du registre RAM sur le bus d’adresse et active le signal DACK en générant la commande de lecture (demande au périphérique de positionner sur le bus de données le caractère à écrire en MC)/ écriture (indique au périphérique qu’il doit recevoir un caractère émanant de la MC)
  • 68. Modes de transfert ◦ Transfert par vol de cycle, sollicite et maintient le contrôle du bus pour la durée d’un seul cycle mémoire à chaque fois qu’il interpellé par un périphérique pour transférer un caractère ◦ Transfert par bloc où le DMAC garde le contrôle du bus durant le transfert d’un bloc de caractères, durant toute la durée d’occupation l’UC ne peut pas accéder à la MC ◦ Transfert transparent mode dans lequel le DMAC profite de l’occupation sur des opérations internes de l’UC pour réaliser les transferts de la MC
  • 69. Étape d’un transfert ◦ Initialisation ◦ Chargement du registre RAM avec l’adresse du premier bloc mémoire de la zone source ou destination du transfert ◦ Charger le nombre de caractère dans le registre RCC ◦ Chargement le RC avec: le sens du transfert, le mode de transfert, les interruptions, les priorités entre canaux… ◦ Réalisation du transfert ◦ Les différents cycles déroulant les signaux: DRQ, HOLD, HLDA, DACK ◦ Achèvement du transfert ◦ Lorsque RCC atteint 0 ◦ Où que le périphérique signal un arrêt physique ◦ À une interruption commandée par l’UC
  • 70. Résumé • Un contrôleur DMA possède en plus des contrôleurs classiques deux registres dans sa composition interne RAM et RCC • Avec chaque périphérique est joint un canal depuis le DMA possédant deux registres RAM et RCC • En vue de manipuler la mémoire centrale un dialogue préalable avec l’UC est nécessaire afin que le DMAC devienne maitre du bus de la mémoire • Il existe trois modes de transferts de données et chaque opération de transferts passe par trois étapes principales
  • 71. MERCI Considérez la race dont vous êtes, créés non pas pour vivre comme des brutes, mais pour suivre vertu et connaissance L’Enfer, La divine comédie- Dante
  • 72. Les entrées/ sorties Cette section couvrira • Les organes d’entrée/ sortie • Les modes d’entrée/ Sortie • Le contrôleur d’accès direct mémoire • Le processeur d’entrée/ sortie
  • 73. Les commandes canal ◦ Un canal sur l’IBM 370 est bien plus sophistiqué, il interface le contrôleur d’interfaces avec les unités de contrôle des périphériques et assure les transferts de données entre MC et périphériques, chaque canal peut être relié 8 unités de contrôles et 256 périphériques ◦ Les commandes exécutables par un canal sont ◦ Read indiquant au canal une lecture de données à partir du périphérique pour lequel est entrain de s’exécuter un programme canal ◦ Write indiquant au canal l’écriture de données sur lé périphérique sélectionné ◦ Readbackword lecture arrière sur des périphériques spéciaux comme des stockages à bandes ◦ Sense commande retournant l’état d’une unité de contrôle et d’un périphérique ◦ Transfert in channel permet de réaliser une rupture et un branchement conditionnel à l’intérieur du programme canal ◦ Control permettant de faire des actions particulières comme la recherche d’une piste ou rebobinage d’une bande
  • 74. Format d’une commande canal • Clé de protection servant à autoriser/ refuser l’accès à un bloc mémoire en lecture/ écriture • Ordre contient la commande à exécuter • Adresse mémoire adresse du début de la zone mémoire cible du transfert • Compte d’octets définissant le nombre d’octets concernés par le transfert • Indicateurs indiquant au canal que faire à la fin d’un transfert de données
  • 75. Le contenu du champ indicateurs ◦ Un bit compte nul (CN) mis à 1 lorsque le nombre d’octets à transférer est à 0 ◦ Bit erreur E/ S (E) mis à 1 lorsque lors d’une opération E/ S un contrôleur détecte une erreur ◦ Un bit fin d’E/ S (A)anormale mis à 1 lorsque une interruption est causée par un contrôleur à cause d’une défaillance périphérique ◦ Un bit longueur incorrecte (LI) mis à 1 lorsqu’un décalage est détecté entre la mise à 0 du compteur d’octets et le nombre de blocs mémoires utilisés ◦ Un bit chaînage de données (CD) quand le compte d’octets et à 0 et CD à 1, le canal passe à la commande suivante avec le même ordre de l’instruction terminée ◦ Un bit chaînage de commande (CC) indiquant lorsqu’il est mis à 1 la présence d’une commande à exécuter après la commande en cours
  • 77. Architecture interne d’un processeur E/ S
  • 78. Déroulement d’une entrée sortie ◦ Initialisation ◦ L’UC prépare en MC une séquence de commandes (le programme canal) ◦ L’adresse est rangé dans emplacement CAW (channel status word) connu par le canal ◦ L’UC exécute la commande SIO (start input output) le processeur E/ S peut l’accepter ou la rejeter ◦ La réponse au SIO est enregistré dans le CSW (chanel status word) ◦ L’exécution de l’E/ S ◦ Si le SIO est admis, le canal lit le contenu du CAW et le charge dans le registre compteur de commandes ◦ Le canal accède à l’adresse mémoire centrale contenue dans le Registre Compteur de commandes ◦ Le canal établit un dialogue avec le contrôleur concerné pour exécuter la commande ◦ Le canal met à jour le RCC et positionne le mot d’état pour indiquer l’état de terminaison à l’UC ◦ La fin de l’E/ S ◦ Fin du programme canal ◦ Détection d’une anomalie périphérique ◦ Envoi d’un HALT par l’UC
  • 79. Résumé • Un programme canal est composite d’un jeu de six commandes différentes • Les indicateurs d’une commandes peuvent communiquer un ensemble d’informations importantes • Le canal embarque en plus dans son architecture interne un registre Adresse commandes • Un canal offre la possibilité d’enchainer sur un même ordre avec différents jeu de données • Un canal peut charger une succession de commandes à partir d’une zone mémoire dont l’adresse de départ est contenue dans le CAW
  • 80. MERCI Je suis tel que tu me connais, un homme simple et sans art La tragédie de César - Shakespeare
  • 81. LE SÉQUENCEUR ET LES INTERRUPTIONS Chapitre deuxième. Par ELSAKAAN Nadim
  • 82. Le séquenceur et les interruptions Cette section couvrira • Les interruptions dans un système simple • Les interruptions dans un système hiérarchique • Le séquenceur
  • 83. Les interruptions • Durant l’exécution d’un programme l’UC reste à l’affut d’un ensemble d’évènements • Quand un évènement particulier se produit et entraine l’arrêt de l’exécution du programme en cours on parle d’interruption • Dès lors l’UC switch vers un programme de traitement de l’interruption
  • 84. Les types d’interruptions ◦ Interruptions internes ◦ Erreur arithmétique ◦ Adresse mémoire inexistante ◦ Violation de la protection mémoire ◦ Interruptions matérielles ◦ Problème d’alimentation ◦ Erreurs bus ◦ Interruptions d’entrées/ sorties ◦ Impression/ lecture caractère ◦ Fin d’opération E/S
  • 85. Gestion d’une interruption dans un système simple • L’UC vérifie à la fin de chaque programme s’il n y a pas une interruption à traiter • Il arrive que des interruptions soient urgentes, par conséquent elles ne peuvent attendre la fin du programme • À des points ‘interrompables’ (décomposition en microprogrammes), l’UC vérifie l’existence d’une interruption
  • 86. Les tâches exécutées • Bascule de validation = 0 • Sauvegarde du contexte • Recherche de la cause de l’interruption • Acquittement de l’interruption • Exécution du programme de traitement de l’interruption • Restauration du contexte (reprise du programme interrompu), bascule de validation = 1
  • 87. Sauvegarde et recherche ◦ Avant toute chose l’UC sauvegarde le contexte de l’interruption ◦ Les informations du compteur ordinal sur la prochaine instruction à exécuter ◦ Indications sur l’état de l’UC au moment de l’interruption exprimées par les informations du registre d’état ◦ Les opérandes et résultats intermédiaires conservés dans les différentes registres ◦ Ensuite vient la recherche de la cause de l’interruption ◦ Recherche par scrutation ‘Polling’, l’UC lit les registres d’états des contrôleurs des périphériques dans un ordre préétabli, si le bit d’interruption de ce registre est à un, l’UC lit le reste du mot en vue de déterminer la cause d’interruptions, sinon il continue la lecture depuis les autres contrôleurs ◦ Recherche par ‘Daisy-chain’, l’UC active une ligne ACK, si le contrôleur a une interruption à émettre il bloque le signal à son niveau, désactive sa bascule d’interruption et met sur le bus de données un code d’identification
  • 89. Acquittement et traitement de l’interruption ◦ Une bascule au niveau de l’organe source est mise à 1 pour indiquer l’envoi d’un signal d’interruption à l’UC, elle n’est remise à 0 que quand elle reçoit par exemple une commande (instruction) d’acquittement de l’interruption ◦ Pour chaque type d’interruptions correspond un programme spécial rangé en mémoire central, l’adresse de celui-ci est chargée dans le compteur ordinal par l’UC dès l’occurrence de l’interruption ◦ À la fin du traitement de l’interruption le contexte préalablement sauvegardé par l’UC est chargé dans les registre correspond et l’exécution du programme interrompu peut reprendre
  • 90. Le séquenceur et les interruptions Cette section couvrira • Les interruptions dans un système simple • Les interruptions dans un système hiérarchique • Le séquenceur
  • 91. Introduction aux niveaux d’interruptions ◦ Toutes les causes d’interruptions n’ayant pas le même niveau de priorité, par conséquent le traitement d’une interruption devrait pouvoir être interrompu par une cause dite plus urgente, càd degré d’urgence supérieure ◦ Un système hiérarchisé comporte un ensemble de circuits concrétisés par des registres ◦ Registre d’inhibition, chaque niveau lui voit attribué un registre d’inhibition dans lequel une bascule est dédiée pour chacune des causes du même niveau, quand une interruption est inhibée elle est perdue ◦ Un registre masque, pour chaque niveau il existe une bascule dans ce registre. La combinaison permettant de façon sélective de masquer un ou plusieurs niveaux d’interruptions (ce qui revient à les bloquer momentanément), une interruption de ces niveaux là survenue durant le masquage ne sera traitée que quand ces niveaux seront démasqués ◦ Les bascules de validation/ interruption, lorsqu’elle est à 0 la BV indique que l’UC ne reçoit pas les interruptions qui seront stockées pour traitement ultérieure, tandis que la BI à 1 indique la présence d’une interruption
  • 92. Détection et traitement d’une interruption ◦ Arrivé à un niveau interruptible, l’UC vérifie si BI = 1 ◦ Bascule BV = 0 ◦ Sauvegarde du contexte ◦ Mise à 0 des bascules des registres masques des niveaux inférieurs ◦ Recherche de la cause d’interruption ◦ Activation de la bascule BV= 1 ceci a pour objectif d’autoriser la réception d’interruptions plus prioritaires ◦ Chargement du contexte du programme de traitement de l’interruption ◦ Traitement et prise en charge de l’interruption ◦ Acquittement de l’interruption par envoi d’un accusé de réception au périphérique à l’origine de l’interruption ◦ Restauration des registres sauvegardés ◦ Instruction de retour restaurant les contenus des registres d’états et du compteur ordinal
  • 93. Résumé • Lors de l’exécution d’un programme, un tat d’évènements externes peuvent survenir et interrompre l’UC, néanmoins sur certaines tâches elle ne peut traiter ces interruptions que quand elle atteint un point dit interruptible • Suivant leurs natures les interruptions peuvent être internes, matérielles ou liées à des entrées/ sorties, et on leur voit attribués différents niveaux de priorités • Hormis les systèmes simples, des systèmes hiérarchisés permettent d’ajouter des bits et des registres de contrôle en vue d’inhiber une cause, masquer un niveau ou arrêter le système d’interruption • Avant de vaquer au traitement d’une interruption l’UC par un programme dédié préalablement enregistré en MC, L’UC doit sauvegarder son contexte et ses registres généraux
  • 94. MERCI Ils résolurent de se barricader contre les impulsions soudaines du désespoir extérieur et de fermer toute issue aux frénisies du dedans Le masque de la mort rouge – Edgar Allan Poe
  • 95. Le séquenceur et les interruptions Cette section couvrira • Les interruptions dans un système simple • Les interruptions dans un système hiérarchique • Le séquenceur
  • 96. Le séquenceur ◦ Un séquenceur est un organe qui génère des microcommandes agissant sur les différents organes du calculateur pour exécuter des instructions, par exemple: ◦ Commande d’ouverture d’un bus ◦ Commande d’incrémentation d’un registre ◦ Commande d’addition dans l’Unité Arithmétique et Logique (UAL) ◦ Ces fonctions peuvent être mises en œuvre par deux approches ◦ séquenceur câblé qui est constitué d’un circuit complexe avec un ensemble de sous circuits dédiés chacun à la gestion du déroulement d’une commande particulière ◦ séquenceur microprogrammé vise à réaliser la même chose mais en exploitant ce qu’on appelle des micro instructions constituant une mémoire de microprogrammation capable de générer une suite de signaux de commande
  • 97. Architecture interne d’un processeur avec UAL et UC Archi RISC
  • 98. Etapes pour un séquenceur câblé ◦ Recherche de l’instruction ◦ La valeur du compteur ordinal est placée sur le bus d’adresse par l’unité de commande émettant un ordre de lecture ◦ Suite au temps d’accès la valeur est récupérée et mise sur le bus de données ◦ L’instruction est ensuite stockée dans le registre d’instruction ◦ Décodage et recherche de l’opérande ◦ L’unité de commande décompose l’instruction en un ensemble de primitives réalisables par l’UAL ◦ L’opérande est stockée dans un registre général (donnée) ◦ Exécution de l’instruction ◦ Le séquenceur ordonne la réalisation de l’instruction ◦ Il positionne donc les flags (registre d’états) aux valeurs nécessaires ◦ L’unité de commande prépare le compteur ordinal pour l’instruction suivantes
  • 99. Principe d’un séquenceur microprogrammé ◦ Chaque instruction devient un microprogramme, qui est donc un enchaînement de micro-instructions générant de microcommandes. Ces microcommandes sont rangées dans une mémoire ROM ou EPROM dite de microprogrammes ◦ Les microcommandes appliquent une seule opération (par une phase ou un cycle) ◦ Comme pour les instructions, il importe d’ajouter des mécanismes pour l’exécution séquentielles et les différents branchements des micro-instructions, en introduisant le micro compteur ordinal (MCO) et un micro registre d’instruction (MIR) ◦ Le format d’une micro-instruction est très similaire à celui des langages machines; code opération et opérandes
  • 100. Résumé • Le séquenceur est le composant principal de l’unité dite de commande, il est en charge de préparer et suivre l’exécution des instructions • Un séquenceur câblé est un séquenceur possédant des sous circuits dédiés pour la gestion de chaque type de commandes • Un séquenceur microprogrammé est en revanche modélisé par un ensemble de programme (opérations) à faire pour réaliser chaque commande
  • 101. MERCI Un ermite vivait dans la forêt, sans avoir peur des bêtes fauves. L’ermite et les bêtes fauves conversaient ensemble et ils se comprenaient À la recherche du bonheur– Léon Tolstoï