Académique Documents
Professionnel Documents
Culture Documents
SE Serie 5
SE Serie 5
Nous notons C[i], F[i], BUF[i] les registres de 1'interface associée au niveau i. Leur fonction
est la suivante :
C: registre de 1 bit, ne peut être modifié que par le processeur. Il sert à commander
l'entrée/sortie. Le passage de 0 à 1 met en marche le périphérique.
F: registre de 1 bit, peut être modifié ou consulté par le processeur. Le périphérique peut le faire
passer de 0 à 1 pour signaler la fin d'exécution d'un transfert.
BUF: est un registre qui sert au transfert de l'information. Sa taille dépend du type de
périphérique ; elle est en général de 8 bits (1 caractère).
L'état initial d'une interface est C=0, F=1 et BUF indéfini. Les instructions suivantes sont
utilisées pour l'entrée/sortie.
Instruction Effet
STC i, z C(i)=1; si z=1 alors F(i)=0 fsi lancer le
transfert sur le périphérique connecté au
niveau i
SFS i si F(i)-1 alors CO-CO+1 fsi
LIA i R-BUF (i) où R est un registre du processeur
OTA i BUF (i)=R
CLC i C(i)=0
JMP etiq se brancher à l'étiquette etiq
Exercice 2 :
On dispose d'un ordinateur qui communique avec l'extérieur à travers un coupleur à un débit de
100 car/sec. La commande du coupleur se fait via un certain nombre de ses registres internes :
Registres de données :
DIN: contient le caractère entré
DOUT: contient le caractère à faire sortir
Registres de contrôle :
CMDE : mot de commande du coupleur
ETAT : mot d'état du coupleur
o Registre état est composé de
ECR : caractère précèdent est écrasé
REP : DIN plein
RSV : pour envoyer un caractère
Les registres sont accessibles par les instructions d'E/S IN ( ) et OUT ( ).
CMDE est initialisé au lancement du système pour fixer certains de modes de fonctionnement.
Ecole Normale Supérieure de Kouba Deuxième année Informatique
Département D’Informatique Année 2022/2023
En Réception :
Le terminal émet le caractère tapé dans le registre DIN et REP est mis à 1
La lecture de DIN provoque automatiquement la mise de REP à 0.
Si lors de la réception d’un nouveau caractère, le précèdent n’a pas été pris en compte, il est
écrasé par le nouveau caractère et ECR est mis à 1. La procédure renvoi un indicateur
d’écrasement dans ce cas.
En Emission :
Lors de l'écriture d'un caractère dans DOUT, indicateur RSV est automatiquement positionné
à 0. L'envoi d'un caractère dans DOUT ne se fait que lorsque RSV est à 1.
Exercice 3 :
On désire gérer les entrés de terminaux connectés à un serveur. Les 4 registres d'état et tampons
associés TT1 occupent les 4 adresses de 172000 (en base 8) à 172006 (base 8) et ainsi de suite
pour les TTi suivants.
La case mémoire 64 est utilisée pour ranger le vecteur d'interruption pour tous les terminaux.
Un pointeur PTRI à 20) est utilisé pour pointer sur la zone mémoire qui doit recevoir les données
de chaque TTi. Les 20 pointeurs sont rangés dans les cases mémoires 5000 (base 8) à 5046
(base 8).
On demande d'accepter les entrées de caractères de pendant qu'un autre programme PROG est
en cours d'exécution. Ceci peut être accompli de l'une des deux manières suivantes.
a) Toutes les T secondes, le programme PROG appelle un sous-programme SPCOM. Ce
sous-programme teste l'état de chacun des 20 TTi séquentiellement et transfère les
caractères entrés en mémoire centrale ; puis il retourne à PROG.
b) Finale REP et Provo bi
c) Quand un des caractères est prêt dans l'un des tampons de l'interface de TTi, une
interruption est générée. Ceci cause l'exécution de la procédure d'interruption
INTCOM. Après interrogation des registres d'état, elle transfère le caractère entré en
mémoire; guis retourne à PROG.
Ecrire le programme de SPCOM et INTCOM