Information Technology Reference
In-Depth Information
Initialisation des registres RB et R1
RB
EMPL
LOAD Im RB EMPL
LOAD Im R1 80
R1
80
Boucle de transfert d'un caractère
ATTENTE :
attente imprimante prête
on boucle tant que ETATIMP
ATTENTE : LOAD D R2 ETATIMP
TESTS Rg1 R2
JMPN ATTENTE
LOAD B R3 0
STORE D R3 SORIMP
ADD Im RB 1
ADD Im R1 - 1
JMPP ATTENTE
STOP
<
0
R2
ETATIMP
test R2
0?
Si oui, retour à ATTENTE
transfert du caractère
son adresse est donnée par RB
SORIMP
<
caractère
décrémentation de R1, incrémentation de RB
si R1
=
0, fin sinon retour à ATTENTE
2. La routine d'interruption est :
masquage des Interruptions
décrémenter R1
si R1
DI
ADD Im R1 - 1
JMPZ FIN
LOAD B R3 0
STORE D R3 SORIMP
ADD Im RB 1
FIN: RTI
=
0 aller à fin
SORIMP
caractère
pointer sur le caractère
suivant
fin : RTI
Dans ce dernier cas on considère qu'à chaque fois qu'un caractère est écrit il y a
émission d'une interruption. Il faut donc initialiser le mécanisme d'interruption et
on le fait en plaçant dans le tampon de sortie le premier caractère à imprimer. Pour
placer ce premier caractère on utilise le mode d'échanges par liaison programmée :
on teste si le périphérique est libre, dès qu'il est libre on place le premier caractère
à imprimer et on lance l'impression de ce caractère. À la fin de l'impression une
interruption est émise, la routine d'interruption s'exécute : à partir de ce moment
opération d'entrées-sorties est pilotée par les interruptions.
10.10 Performances des opérations d'entrées-sorties
1. Fraction de temps processeur consommée :
- Cas de la souris :
Il faut 30
3 000 cycles par seconde pour interroger la souris ce qui
représente 3 000/(50
×
100
=
×
10 6 )
=
0,006 % des cycles du processeur.
- Cas de la disquette :
La disquette transfère les données à un débit de 50 Ko/s. Comme les transferts
s'effectuent par blocs de 2 octets, il faut 25 Ko interrogations par seconde.
Search WWH ::




Custom Search