26. entrée sorties Flashcards

1
Q

Prenons un exemple très courant, soit la copie d’un bloc de
données provenant d’un périphérique (ex: le disque dur)
vers la RAM.
* Le transfert est divisé en deux étapes principales

A
  1. La requête: le micro-processeur informe le contrôleur de
    périphérique qu’il aura besoin d’un bloc de données.
    * Les données doivent être transférées du périphérique vers la mémoire
    tampon de son contrôleur. Ce transfert est géré par le contrôleur.
    * Cela peut prendre du temps!
  2. Le transfert: lorsque le périphérique est prêt, les données sont
    ensuite copiées du contrôleur de périphérique (mémoire
    tampon) vers la RAM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Il existe trois techniques principales pour effectuer
un tel transfert

A

E/S programmées;
* E/S avec interruptions;
* le Direct Memory Access (DMA).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Entrées-sorties programmées étapes

A
  1. Le CPU fait une requête au module d’E-S
    Le module procède alors au transfert des
    données du périphérique vers sa mémoire
    tampon
  2. Le CPU interroge le module d’E-S pour
    savoir si le transfert est terminé.
    Tant que le transfert n’est pas terminé,
    le module répond « non »
    et le CPU l’interroge à nouveau
  3. Quand les données sont (enfin!) prêtes,
    le CPU procède au transfert des données
    vers la RAM avec des LDR/STR.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Entrées-sorties programmées +/-

A
  • Avantage?
  • C’est simple. Pas besoin de mécanisme
    supplémentaire autre que les bus que nous avons déjà.
  • Désavantage?
  • C’est inefficace.
  • Le micro-processeur est utilisé pour interroger le
    périphérique alors qu’il pourrait faire autre chose pendant ce
    temps.
  • Le microprocesseur doit gérer le transfert de données luimême:
    il ne peut faire autre chose durant ce temps.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Entrées-Sorties par interruptions

A

Plutôt que d’interroger le module d’E-S
constamment, il émet une interruption lorsqu’il est
prêt à effectuer le transfert en RAM.
* Pendant ce temps, le microprocesseur peut faire
autre chose plutôt que de l’interroger constamment!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Entrées-Sorties par interruptions étapes

A
  1. Le CPU fait une requête au module d’E-S. Le module procède alors au transfert des
    données du périphérique vers sa mémoire
    tampon. Le processus ayant effectué la requête est
    placé dans l’état bloqué. L’ordonnanceur
    sélectionne un autre processus à exécuter.
  2. Quand les données sont (enfin!) prêtes,
    le module d’E-S soulève une interruption IRQ.
    Le système d’exploitation place le processus
    ayant effectué la requête dans l’état prêt
  3. Le CPU procède au transfert des données
    vers la RAM avec des LDR/STR
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Entrées-Sorties par interruptions +/-

A

Avantages
* Plus efficace. Plus besoin d’attendre après le
périphérique, c’est lui qui dit au microprocesseur
quand il est prêt

  • Désavantages?
  • Plus complexe. Nécessite des circuits et mécanismes
    supplémentaires pour gérer les interruptions.
  • Transfert inefficace. Le microprocesseur doit gérer le
    transfert de données lui-même: il ne peut faire autre
    chose durant ce temps.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Direct Memory Access (DMA) étapes

A
  1. Le CPU fait une requête au
    module d’E-S.
  2. Le module procède alors au
    transfert des données
    du périphérique vers
    sa mémoire tampon.
    Le processus ayant effectué la
    requête est placé
    dans l’état bloqué.
    L’ordonnanceur sélectionne un
    autre processus à exécuter
  3. Quand les données sont
    (enfin!) prêtes, le module
    informe le contrôleur DMA que
    les données sont prêtes
  4. Le contrôleur DMA demande
    au microprocesseur de lui
    céder le contrôle des bus
  5. S’il n’en a pas besoin,
    le microprocesseur
    se déconnecte des bus et
    répond au contrôleur DMA.
  6. Le contrôleur DMA démarre
    le transfert entre
    le module d’E-S et la mémoire.
    Pendant ce temps, le CPU peut
    faire autre chose!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

c’est quoi DMA

A

transfert de données direct entre un
périphérique et la mémoire ou vice versa, effectué sans intervention du
microprocesseur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Le contrôleur de DMA est

A

un circuit intégré qui gère le transfert par DMA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Le transfert par DMA se fait par

A

bloc de données, les données étant à des
adresses contigües de la mémoire et provenant habituellement du même
périphérique

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

DMA +/-

A
  • Avantages
  • Beaucoup plus efficace. Le microprocesseur n’a pas à
    attendre après le périphérique, et n’a pas à gérer le
    transfert mémoire.
  • Désavantages?
  • Plus complexe. Nécessite une communication entre le
    CPU et le contrôleur de DMA.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Les transferts par DMA sont configurés par des instructions exécutées par le
microprocesseur. Habituellement, le microprocesseur configure le transfert
de DMA en exécutant ces instructions. Au minimum, les instructions
indiquent: x3

A
  • Le périphérique visé
  • La plage de mémoire visée (l’adresse de départ et le nombre de données à
    transférer)
  • La vitesse de transfert, la taille des données transférées et le mode de transfert.
  • Le mode de transfert est la façon dont sera déclenchée le transfert. Seul le mode de
    transfert “unique”—un seul bloc de données—sera vu dans le cadre du cours.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Une fois la configuration effectuée, le transfert par DMA débute
automatiquement lors

A

d’un signal de périphérique ou lorsque le
microprocesseur exécute une instruction initiant le transfert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Lors de l’initialisation d’un transfert par DMA, le contrôleur de DMA négocie

A

l’accès au bus de données avec le microprocesseur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Lors d’un transfert par DMA, le contrôleur de DMA gère

A

les bus de contrôle
d’adresse et de données pour effectuer le transfert.

17
Q

est ce que Le microprocesseur et le contrôleur de DMA peuvent contrôler les bus en même temps

A

non

18
Q

Le transfert s’effectue habituellement avec un compteur sur

A

le bus d’adresse. Lors du
transfert de chaque données, le compteur d’adresse est incrémenté à partir de l’adresse
de base du bloc de mémoire visé

19
Q

Le contrôleur de DMA possède souvent un tampon de mémoire pour

A

emmagasiner
les données échangées entre la mémoire et un périphérique

20
Q

Le transfert se fait en
deux temps

A

lecture de données puis écriture de données.

21
Q

Le transfert par DMA est beaucoup plus rapide que le transfert avec des
instructions LDR/STR et il soulage le microprocesseur de cette tâche, pourquoix3

A
  • Entre le transfert de chaque données, le microprocesseur n’a pas à lire et exécuter des
    instructions.
  • Le transfert se fait par bloc, directement de la mémoire au périphérique ou vice versa: les
    données ne sont pas entreposées temporairement dans des registres du microprocesseur.
  • Pendant le transfert, le microprocesseur peut effectuer d’autres tâches
22
Q

Dans les systèmes modernes, le microprocesseur n’est pas arrêté pendant le
transfert par DMA.
* Cependant, le microprocesseur et le contrôleur de DMA pourraient avoir
besoin des bus en même temps. Que faire? x3

A
  • Deux bus d’accès à la mémoire peuvent permettre au contrôleur de DMA et au
    microprocesseur d’accéder simultanément à la mémoire.
  • L’accès au bus de données par le contrôleur de DMA est subordonné à celui du
    microprocesseur: le contrôleur de DMA effectue le transfert entre chaque moment
    d’utilisation du bus par le microprocesseur.
  • Les caches (que nous verrons la semaine prochaine) contiennent des données
    utilisées par le microprocesseur alors que le transfert par DMA modifie la mémoire
    seulement
23
Q

Le DMA est utilisé abondamment dans vos ordinateurs x2

A

transfert de données entre la mémoire et le disque dur
* transfert de données vers la carte graphique ou la carte de son, etc.