pour
obtenir
RenéPERRIN
embre Invité
Président
Examinateur
Examinateur
présentée
THE S ECENTRE D'ORSAY
LE
TITRE
DEDOCTEUR INGENIEUR
par
A
L'UNIVERSITE
DEPARIS-SUD
ETUDE ET
REALISATION
D'UN SYSTEE EN
TEMPS PARTAGE
POUR LELANGAGE
APL SURMINIORDINATEUR
MITRA
15 CIlM.
DEBRAINE
M.DONADIEU
M. deCOSNAC
M.
DELCOIGNE
Spécialité:
ELECTRONIQUE
Sous-spécialité:
Traitement
del'Information
Sujet de la
thèse:
soutenue
le 28octobre
1977devant
laCommission
d'Examen
pour
obtenir
LE TITR[ DL
DOCTEUR
INGNIEUR
pa r
René
PERRIN
Spécialité:
ELECTRONIQUE
Sous-spécialité
Traitement
del'Information
Sujet de la
thèse:
ETUDE ET
REALISATION
D'UNSYSTEME
ENTEMPS PARTAGE
POUR LELANGAGE
APL SURMINIORDINATEUR
MITRA
15 CIlsoutenue
le 28octobre
1977devant
laCommission d'Examen
composée
de M.DEBRAINE
M.DONADIEU
M. deCOSNAC
M.DELCOIGNE
Président
Examinateur
Examinateur
Membre
InvitéTHE
S Eprésentée
...
-.i¥A
LIUNIVERSITE
DEPARIS-SUD
CENTRE DIORSAY
pour
obtenir
LE
TITRE
DEDOCTEUR INGENIEUR
par René
PERRIN
Spécialité:
ELECTRONIQUE
ý\.,ý (- ... <,"y,.
"I- "" ý., '.\. ý "0 ',. ý. or) .ý .../ / ý ., ý\'
v"-"/,....
..
. , ., . . .\ .:It .. . Il"::-rt
ý/
,.ý. " )': ýýSous-spécialité
Traitement
dellInformation
Sujet de la
thèse:
ETUDE ET
REALISATION
DIUNSYSTEME
ENTEMPS PARTAGE
POUR LELANGAGE
APL SURMINIORDINATEUR
MITRA
15 CIlsoutenue
le 2Boctobre
1977devant
laCommission
dlExamen
composée
de : M.DEBRAINE
M.DONADIEU
M. deCOSNAC
H.DELCO
IGNEPrésident
Examinateur
Examinateur
Membre Invité
',. . : ""ý .:;,ý.:.ýJe
remercie
Monsieur
DEBRAINE,
professeur
àl'Institut
National
desSciences
etTechniques
Nucléaires,
dem'avoir
f aitl'honneur
cie
présider
le jury decette
thèse
et pourl'interet
qu'il
aporté
à cetravail.
Je
remercie
Monsieur
DONADIEU,
Directeur
del'Institut
Universitaire
deTechnologie
d'ORSA
Y.d'avoir
bienvoulu accepter
defaire
partie
de ce jury.Monsieur
deCOSNA
C.adjoint
au chef deService
SERF,
a fixéle
cadre
de cette étude et m'a faitprofiter
de sesconseils
et de sonexpérience
tout au long de cetravail;
qu'iltrouve
ici letémoignage
de maIratitude.
La
réalisation
estissue
d'untravail
d'équipe.
Jetiens
àremercier
pOQr leur
participation
active
lesagents
du C. E.A.Monsieur
BASTIEN
Monsieur
BRASMonsieur
SEVINet
Monsieur
GUEGUEN,
agent
de laCISI/GIXI.
Que
Monsieur
DELCO IGNE.
Ingénieur
à laCISI/GIXI,
trouve
icil'expression
de maprofonde
reconnaissance
pour sonaide.
Enfin,
jeremercie
Monsieur
WEILL,
chef des SES, etMonsieur
AMRAM.
chef du SERF pour leuraccueil,
ainsi
que lepersonnel
du SES .- I
-- I
-INTRODUCTION
I -
GENERALI
TES.L'APL est un langage
interprétatif
trèsconversationnel.
Unutilisateur
de l'APL devant saconsole
a lecomportement
suivant:
Après un temps derfflexion
deplusieurs
dizaines
desecondes,
il lancel'exécution
detran-sactions
courtes
enmoyenne
(quelques
secondes)
ainsil'ordinateur
autravers
de sesprincipales
ressources,
UnitéCentrale
etpériphérique,
est-il
sous-employé.
Laconception
d'unsystème
entemps-partagé
s'impose
naturellement
afin derépartir
les ditesressources
entreplusieurs
usagers.
Chaque usager
bénéficie
destemps-morts
offerts par chacun desutili-sateurs
en cours desession.
L'objectif
dusystème
est de fairetravailler
plusieurs
usagers
simulta-nfment en APL à ladifférence
dessystèmes
d'exploitation
que l'onrencontre
sur
d'autres
machines
et qui sontcapables
detraiter
destravaux
de types trèsdifférents
et trè sindépendants.
Nousverrons
que laréalisation
faiteimplique
nécessairement
la notion departage
deressources
logiques
e n t r a în ar.tla notion
d'intercommunication.
Le schéma
proposé
peut être affiné dans le sens ou I e tempsconsacré
illa frappe des
instructions
APL peut être inclus dans le temps deréflexion
àcondition
de gérertotalement
lacommande,
en plus de lagestion
de tous lesutilisateurs
dusystème.
II -
PRELIMINAI
RE AL'ETUDE
D'UýSYSTEME
ENTEMPS-PARTAGE.
Un
système
en tempspartagf
permet- Un
dialogue
entrel'homme
et lamachine.
u.ager du système, grAce à un programme
d'ordonnancement
qui dýcide à quelutilisateur
doits'effectuer
un passage donnê .Si la tâ che se met en attente d'une fin
d'entrée-sortie,
le contrOle passeý la tAche suivante et la tâche
interrompue
est mise en file d'attente pourun service futur.
Nýammoins les
impératifs
d'ordre humain font qu'il est demandé un tempsde rfponse le plus faible pos sible à
l'instruction
traitée. Ceci exige qu'un quantum de temps limite une situation de monopole desressources
critiquesýon
partageables).
Il est difficile de simuler un système en temps partagé, mais nous pouvons prfsumer que les taux de charges de l'Unité Centrale et de ses
périphériques
deviendront
acceptables.
L'ordinateur
traitant un langage suffi samment conver-.ationnel chaque usager aura
l'impression
de disposer de la machine pourlui seul, s'il bénéficie d'un temps de réponse
individuellement
satisfaisant
Cette approche simpliste, quoique
traditionnelle,
ne fait pas appa r a ît r ele.
phérrorriè
ne s de fond, mis en jeu par laconcurrence
de toutes les tâchespour l'emploi des
ressources
critiques du système, ici, l'Unité Centrale et ledisque.
C'est donc dans le cadre plus général de la théorie des files d'attentes
que se fondent la
conception,
l'évaluation
et la validité d'un système en temps partagé. Le fait de disposer d'un langage hautementconversationnel
contribue .. valoriser ces points de vue ; en cela, le langage APL s'inscritnaturellement
dan. une
configuration
en temps partagé. Jusqu'ici dévolu à desinstallations
puissantes en raison de sa c orrrpl ex it é, ce langage estmaintenant
disponible
.ur des
miniordinateurs
dont le Mitra 15 de lacn
fait partie.- 3
-temp.
partagé,
nécessite
denombreux
compromis
surl'utilisation
et la ge st io.i de.ressources
del'ordinateur.
Nousmontrerons
néammoins
que lesystème
proposé
utilise
l'équipement
avec desperformances
intéressantes.
Nous
présenterons
toutd'abord
lesystème
entemps-partagé
tel qu'il e.tdisponible
actuellement
sansjustifier
lessolutions
adoptées,
celles
-ciétant
exposées
dans leschapitres
quisuivront
ladescription
détaillée
duI -
ENVIRONNEMENT.
Les
utilisateurs
dulangage
APL sur Mitra 15travaillent
en modeconversationnel
etpeuvent
accéder
souscontrôle
dusystème
àl'équipement
externe.
Descommandes
adéquates
permettent
de lancer enparallèle
unautre
traitement,
programme
sous forme d'IMTexécutable,
dont leséventuelles
communications
dedonnées
sontréglées
parfichiers
standard
Cil
accessible
à l'APL par le jeu desfichiers
externes.
Cescommandes
assurent
lelancement
desprogrammes
dans la mêmepartition
mémoire
ousous forme d'une tiche
supplémentaire
introduite
dansl'ordonnancement.
II -
GESTION
DESRESSOURCES.
II. I. Unité
Centrale.
L'Unité
Centrale
est laressource
principale
du.ystème
en tempspartagé.
Elle e stretirée
auprogramme
actif ou rendue ausystème
lor squecelui-ci
remplit une desconditions
suivante.
:_
Lancement
d'uneentrée-sortie
dont le temps est égal ousupérieur
l celuidemandé
par un échange de tiche.contrôlant
l'UC. _Epuisement
d'unquantum
de temps UC alloué à la tlche parl'allocateur.
,
'"
ý
-
Utilisation
deprimitives
bloquantes.
La notion
importante
pour lapolitique
d'ordonnancement
repose sur1'4valuation
des tempsd'oisiveté
dusystème.
Il existe une filed'exécuti01ý
(attente
de lalibération
de l'UC) gérée par leplanificateur
destravaux
qui donne lecontrôle
à une tlchedevenue
"éligible"
par unmécanisme
de type- 5
-adaptable
au profil du sited'exploitation
APL.L"valuation
nousmontrera
comment
tenir compte de ceparamètre.
Le nombre de postes
partageant
l'unit'
centrale
est au maximum de 4.mais le
système
peut êtredimensionné
à lademande.
II.2. La
Mémoire
Centrale.
L'organisation
de lamémoire
centrale
se déduit du fait qu'un seulutilisateur
se trouve enmémoire
centrale
à un instant donné. Le p l a ni-ficateur
assure donc le va et vient des tâ che e dans unepartition
fixe.Les
entrées-sorties
de tâ.che s sontassurées
par le biais destampons
r'sidents
lor squ' il s Iagit:
_ De
transactions
desdifférents
claviers.
_ De
transactions
effectuées
sur despériphériques
nonpartageables
et decaractéristiques
lentes (temps detransaction
del'ordre
de I acommutation
destiches).
II-3. Les
ressources
physiques.
L'APL
travaille
sur sonenvironnement
physique
par le jeu desfichiers
externes.
Lesystème
entemps-partagé
assure cettecommunication
etcontrôle
lagestion
de s ressources
critique.
(périphérique
nonpartageable
s).l'accès
auxpériphériques
partageables
(de typefichier)
n'étant
pascontrôlé
explicitement
par lesystème.
III - LE
PROGRAMME
INTERPRETEUR
APL 15.Le
programme
interpréteur
APL 15 gère lamémoire
lai "" 'edisponible
par lelogiciel
global :l'e.pace
detravail.
peuvent
utiliser
le code àcondition
de le rendreréentrant.
Le p r og r a rn mc-APL étant
partiellement
enrecouvrement,
lesbranches
seront c on s idé
r é
e s
comme des
données
propres
à la tâchecontrôlant
l'unité
centrale.
L'inter-préteur
travaille
sur unemémoire
virtuelle,
chaqueutilisateur
aura dalle.a propre
mémoire
virtuelle.
fichierstandard
SGFI5.IV - LES
DONNEES.
La
protection
estassurée
par lesconvention.
u.uelles
desfichier
s.tandard
gérés par leprocesseur
UFGI5.-
au niveau de ladéclaration.
-
au niveau del'assignation.
-
au niveau del'ouverture.
-
au niveau de lalecture
lécriture.
De plus. des
primitives
de typesémaphore,
permettent
de régler le sproblèmes
d'accès
ensimultanéité
aux fichier ""V -
TERMINAUX
CONVERSATIONNELS.
V.I.
Liaison.
la liaison entre le s
terminaux
etl'ordinateur
.e fait par ligne sa.ynchrones.
Le"handler"
pilote.destiné
aux lignesasynchrones.
peut lérerjusqu'à
64 lignessimultanément.
On di spoae de lignes en"full-duplex"
devitesse
adaptables
(de 300 à 9600baude}.
L'émission-réception
.'effectue
en code ASCII.La
conversion
de codeASCII;EOCDIC
(code interne de lamachine)
est faite par lehandler.
- 7
-V.2. Les
terminaux
...Les
terminaux
ont vis à vis dusystème
une égalepriorité
gérés enmodes
alphanumérique
etgraphique,
ils sont de deux types :-
Visualisation
(9600bauds).
-
Machine
à écrire avecmémoire
tampon en sortie (1200bauds).
L'acquisition
se faitcaractère
parcaractère
et l'écho est réalisé parprogramme.
Lesterminaux
conversent
en code APL au niveau duclavier.
(représentation
de scaractè
re s).VI - ETATS D'UNE TACHE.
Les
principaux
états d'une tâchepeuvent
êtreschématisé
s par la fi gu r C' .:Une tâche peut être
active.
en attente de fin detransaction
surl'équipemC'llt.
.uspendue
derrière
unsémaphore
et en attente del'unité
centrale
(en somme il.ur
disque).
A la fin de lasession.
le numéro de la tâchedisparait
del'ordonnancement.
Laprocédure
dedémarrage
de la tâ che , lors de laconnection,
remet le numéro de la tâche en attente del'Unité
Centrale
."
SES/SERF
!PUB/74.
205.Notice
d'utUhation
de lacon.ole
devhuaU.atiOll
TEKTRONIX
4013 """ ocife au Mitra 15 CIl. G.BERNEDE.
CREATION
enattente
de r r Ie r e unI.-sémapnore
ý Ir -.... ATTEI\ TEACTIVE
U.C.-(dormante
s-; rdisque
"attente
-enactive
derrière
uneentrée/sortie
,DESTRUCTION
Fil.
2.1.VII -
CHEMINEMENT
D'UNMESSAGE.
VII. 1.
Gestion
desdonnýes.
A chaque
terminal
est a "" oc i éun tampon di mena ionnë selon des c r it e r e s
_ (J _
La tâche est en sommeil si l'usager est en entrée et si une autre tâche
est prete et éligible en mémoire centrale. Une fin de t r an s a ct ion est dé t e c t
é
e
par le code "Retour chariot" ou "Line feed" dans certains cas, elle p r o v oq u
c-le transfert du message dans l'espace de travail lorsque la tâche revient
en mérnoi r e .
Les caractères entrants sont contrôlés, puis transcodés en code interne
APL pour permettre un certain compactage du message.
VII. Z.
Caractéristique
de la transaction.La gestion des terminaux s'effectue par .!.0Di£itýt!_oýdý !!.iýeý.È'i.ntýr_Eul?tý_ý)i_:_
!.u.2P0r!.an.lle_p!.o.£e!.sýu!.
d'eEt!..éý-!.o!..tie
après avoir précisé les modalitésde la transaction. Le processeur gère totalement la transaction et le t e r rn iu a l
ý partir des directives données par l'APL. Ceci peut s'exprimer par le
.chýrna
Z. Z. :Gestion d.s
Gestion
des
_l_A
ctivatio
ndu
"
t.rmlnaux
messages
Isuperviseur
I m
ulti
console
File
d"attent.
de
messages
niveau
processeur d'entrée -sortie
Fil.
Z. Z.L'emploi
dans unenvironnement
en tempspartagý
du langage APLnfcessite
l'introduction
deprimitive.
destinýes
à l' accè s debibliothèque
s de façonsimultanée
parplusieur
sutilisateur
s. Lasynchronisation
cpi en ré su ltr-est
assurée
par le principe de ssémaphore
s.Sýmaphores
accessibles
etprogrammables
parl'usager
de façon àexploiter
desdonnées
de façon c on ce r té eSýmaphores
système
inaccessibles
àl'usager
permettant
à ce s y sti- rn een temps
partagé
de gérer ses tâches dans dessections
critique
s .IX -
ARCHITECTURE
DULOGICIEL.
Les
différents
logiciels
mis en Suvre sont reliýs entre eux.- liaison du
processeur
APL et dusystème
en ternpavpa
r ta gé . - liaison dumoniteur
d'exploitation
et dusystème
entemps-partagé.
Le dit
système
étantdisposé
sur un niveaud'interruption.
Ces
interconnexions
sontfigurées
sur le schéma 2.3.MTRD _ E
moniteur
d'exploitation
Système
A.P.L
Musur niveau
ltl
console
d'interruption
I I
UGF.15
Gestion
de
- 1 1
-L'encombrement
est indiqué sur le schéma 2.4. pour uneconfiguration
l 4
utilisateur
s adre ssant le s périphériques
du site (lecteur de cartes, ruban perforé,imprimante).
Le moniteur
d'exploitation
MTRD-E version 6 a été transformé ponctuel-lement poursupporter
le système entemps-partagé.
Lesmodifications
apportées
sontreportées
sur les versions MTRD-E 7 et MTRD-E 8 pour lesordinateurs
de type Mitra 15 " Mitra 125 et MP 105.Moniteur
d'exploitation
MTRD-£
Spicial
Systéme
multiconsole
\
IFichiers
disques
IProcesseur
APL
./
(racine)
Espace
detravail
+Zone
der8couvr.m.nt
Zan.
commun.
10 KMots
'K
Mots
1+2
KMots
10 KMots
Fil.
2.4.
EVALUATION
DUSYSTEME
EN TEMPS - PAR TAGE.I - LES
MODELES
D'ARCHITECTURE.
L'attribution
à des tiche.concurrente.
d'organe.
non partageabte
s, faitintervenir
la notion de filed'attente.
Nous
verrons
plus loin lamodýlisation
relative
à unedescription
desphénomëne
e sepassant
àl'intérieur
dusystème
réel.Il nous faut
d'abord
introduire
quelques
idýesdirectrices
surl'architecture
dusystème
dépendant
desressources
del'ordinateur,
de leurorganisation
et de leur ge stion.I. 1.
Allocation
de laressource
unitécentrale.
Une bonne
distribution
de laressource
UnitýCentrale
quiexécute
lesin.tructions
desprogrammes
permet demaintenir
un tauxd'utilisation
.atisfaisant
par ailleur des autresressources.
La règle de
multiplexage
de laressource
UnitýCentrale
est celle duquantum de temps, ici fixe. Les
programmes
ýtant e xé cut és à tour de rôle, dan.
l'ordre
d'arrivýe
dans la filed'attente,
et ce à chaqueallocation
de la durýe du quantum jusqu'àl'achèvement
de lases.ion.
Un
compromis
doit êt r enýcessairement
t r ouv é entre le temps de r ép on s emoyen ac cor dé aux
usagers
etl'utilisation
de laressource
UnitýCentrale.
En effet:
a) SI le quantum de temps est trop court. le nombre de
commutations
de
l'unitý
centrale
est ýlevý et le. opé r at ion de va et vient, degestion
de.usagers
conduit
à une chargeprohibitive.
- 13
-L'APL
travaillant
avec unemémoire
virtuelle,
l'allocation
de lamémoire
centrale
estcritique
comme nous allons le voir.a) Du nombre de
transferts
entre la rnërnoi r esecondaire
et lamémoire
centrale.
b) De la
vitesse
detransfert
del'information.
b) Si le quantum de temps est trop élevé, le temps de
réponse
destransactions
courtes
tend à c r o ît r e audétriment
del'opérateur.
Les tâches
necessitant
n quanta de tempsbloquant
cestransactions.
Insistons
sur le fait que leprogramme
en cours!.e!ld.Ja_r!:.s.!.oýr£e_
UnitýÇ_eýralý
du ..!y..!týn:!...e.!o!.sg_uýl
ý eE _a "plýs _b«:._soin_, c'est ce que nousdý8ignerons
sous levocable
de"critère
decommutation
detâche".
Lequantum
de temps n'est là que pourreprendre
exceptionnellement
la r e s sou r c e UnitýCentrale
auprogramme
en cours etl'attribuer
à une autre tâche prête .L'ýtendue
del'espace
de travail en mérnoi r econstitue
une donn ée impor-tante pour lecomportement
del'usager
vis à vis de la mérnoi r evirtuelle.
En effet. lesperformances
globales
dusystème
dýpendent:
..
1.'2.
Allocation
de laressource
Mémoire
Centrale.
Le
comportement
dynamique
de.programme.
d'application.
en APL sur le .ite relève des ýtudesclassique.
.ur le ""tructure.
paginýe.
et .e.chématise
ain.i :"
SES/SERF
/PUB/76-ll4.
O"" tion de la
mýmoire
virtuelle
del'interpréteur
APL/MUralS
(version
Va)transferts
depages
taille de la
mémoire
Pour
s'exécuter
de façonsatisfaisante
unprogramme
APL doit doncdisposer
instantanément
d'une partie del'espace
de travailnécessaire
à sonexfcution
enmémoire
Centrale.
Dans ce cadre on ne pourra
tolérer
qu'un seulutilisateur
enmémoire
centrale
et, de ce fait, touteréférence
à lamémoire
virtuelle
entrainera
unepfriode
d'oisiveté
del'unité
centrale
comprise
dans letraitement.
L'apparent
désavantage
de ne pasdisposer
d'unemultiprogrammation
auniveau de la
mémoire
centrale
est en partiecontrebalancé
par la taillemaximale
del'espace
de travail enmémoire
centrale,
permettant
deréduire
les
références
à lamémoire
virtuelle.
En
d'autres
termes,
l'accès
à lamémoire
virtuelle
sur le disquesupportant
lesfichiers
deva-et-vient,
ne permet pas deprendre
celui-ci
commecritère
decommutation
detâches.
Le
comportement
dusystème
entemps-partagé
peut donc êt r e décrit par le modèlesuivant
quigarantit
que tout travail est servi au bout d'un temps fini. Leservice
est assuré par un seulserveur
et lastratégie
d'allocation
neconcerne
qu'un usager à la fois.s.rvic.
La
mémoire
auxiliaire
constituée
par ledisque,
estemployée
ainsia}
Utilisation
en tant quecomposant
de lahiérarchie
demémoire
(support
de la
mémoire
virtuelle).
b)
Utilisation
en tant quesupport
dedonnées
partageables
(bibliothèque
et
fichiers
externes).
c)
Utilisation
en tant quesauvegarde
pour leva-et-vient.
d)
Utilisation
en tant quesupport
dumécanisme
derecouvrement,
l'in-fluence de
celui-ci
étantobservée
indirectement.
"i "
sortie
destravaux
fil.
d'att.nt.
Modèle
d'allocation
del'Unité
Centrale
hors
sariici
.ntré.
d.s
--_ .... 004
travaux
1.3.
Gestion
de lamémoire
auxiliaire.
1.3.1.
---
Caractéristique
physique
de l'unité demémoire
secondaire.
Deux classespeuvent
êtreconsidérées:
a) Les
disques
à tête fixe.b) Les
disques
à tête mobile.La dur'e
moyenne
de lecture d'un blocd'information
faitintervenir
troisfacteur
s :I
r
- Un temps de
positionnement
des t@tes delecture/
ýcriture
pour les disques à tête mobile pour amener celles-ci au dessusde la piste,
- Un temps
d'attente
du passage du début du bloc sous les tê t e s(en moyenne une
demi-rotation),
- Un temps de
transfert
du bloc lui même(dépendant
de l'unité et de la taille du bloc (256octets),
Le tableau rappelle les
caractéristiques
principales
du disque mobile (type IBM5440)
et du disque fixesupportés
par le Mitra 1 =,Mitra 125. Temps de
transfert
d'un secteur Temps d'accès moyen au secteur Type du disque ---ýr_---ýr_---! I I : temps de débit I :déplacement
, : moyen du bras I , I I : Disque à tête : mobile I 12, 5 ms 1,04 ms 38 ms 312 Ka s I I I D' "rsque
: fixe I à tete 10 ms 1,66 ms Oms I lïü Ka :,,1 I . ,-\'Ceci ne fait pas a ppa r a ît r e la c a r a ct é
r i s tiqu e la plus dé sav an t a g cu se
du dhque mobile sous la forme d'un temp.
d'attente
nonnýgligeabll'
(25 m s] lors desoccurrences
suivante.
:a) Une
commutation
de tête de lecture enýcriture,
,
b) Une
commutation
de têtes pours'adresser
à l'une ou l'autre fact> du disque, selon le schéma su ivant :- 17
-1.3.2. Le.
fichiers
desauvegarde
: le temps decommutation
dt' t âc b c ý
---... ... .- --1
Il faut
compter
sur letransfert
de 4 se cteur e de"garde"
ème
2 ordre d'E S
L'influence
du temps decommutation
de tâ che s s era abordé plu. loin, mais il fautsouligner
ici s on aspectnettement
dýfavorable.
San spréciser
lastructure
des donr.é e s trans fý r ét' s de lamémoire
sur ledisque,
le volume mis en jeu est ellmoyenne
22Koctets.
Chaquecylindre
offre 12Koctets
(2 fois 24secteurs
de 256octets),
et de plus lapréparation
d'uneentrée-sortie
coûtant
un temps CPUsupérieur
àl'intervalle
inter
-.ecteur,
il est néce ssairc deprévoir
u.; saut de se c te u r ssuffisant
pour ne pasattendre
un délai r ota.ti oorre l inutile entre deux ordresd'entrée
-sortie.
Ledécoupage
"lir.éaire"
du fi c hie rde
sauvega
r de est doncschématisé
ainsi :er
1 ordre d' E/S
23 K + lK
12 K
= 2
cylindres
environ
variable
avec lacor.figur
ah 01:di.ponible
.L'ývaluation
globale
d'un ýchanged'utili.ateur
estmalaisée
car nousn'avons
ni la manrise del'implantation
du fidlier,Temps de
commutation.
D -
EVALUATION
DUSYSTEME
*
I1ý 1. Modèle du temps de
réponse
pouvant être
fluctuant,
l'aspect
défavorable
de lacommutation
d etâche s
conduit
àétudier
de façon précise lescritères
del'algo-rithme de
service
destâches,
car une erreurd'allocation
de lamé-Le nombre de
secteurs
de garde a ýtý dé te r rrrin éd'après
un
relevý de
mesures
dont nous donnons lerýsultat
qualitatif
8chéma-tisý par la figuresuivante
:moire est très c oûreu se en temps
d'unité
centrale.
Etant donné
l'absence
demesures
concretes
sur lecomportement
desutilisateurs
pour lesystème
pr opoeë, il est fait usage d'une donnéerelative
àl'expérience
APL sur IBM360/375.
L'intervalle
sýparant
l'arrivée
dupremier
caractère
de la r ëpouae de
1'ýmissioll
ducaractère
fin de ligne dumessage
suivant
avoisine
la valeurmoyenne de 45
secondes
.II. 1. 1. Qu e lque s
données
de base.---Evaluation
desperformance.
;Rapport
deMonsieur
A. GUILLON CISISeptembre
1975.APL MITRA 15
du quantum, étant entendu que celui-ci n'est qu l un
garde-iou.
- l ')-Temps
temps
mort
(mlexlon
+frappe
) I I...I
temps mort
(
reflex
Ion
+frappe
)exécution
enplusieurs quanta
temps
deriponse
en moyenne.
a) Nous pourrons évaluer la péria Hs at ion
introduite
par l'attente de la ressourceUnité-Centrale
parl'accroissement
du nombrede consoles en
interaction
sur le temps detraitement
d'u ..e transaction en mono console. Une base de calcul pourrait.e situer vers des
transaction
de l'ordre de 2 à 3 secondesLa dur ëe du
traitement
del'interaction
moyenne comprend letraitement
en Un it éCentrale et la durée d'échange de deux u t i lis a t e u r s
b) Dans .ces condition une durée d'échange de l'ordre de 600 ms
n'aura pas une influence
déterminante
sur les c a r a ct ér i st iqu r-s
du système.
c) Nou.
représentons
la situation la plus dé favo r a ble où un quantum de temps mal adapté àl'écart-type
sur lestran-.actions moyenne
impliquerait
untraitement
en plusieur s tranches. Il faut viser un service satisfait avantl'épuisenH't.t
execution
:Impression
ý -.. ýprlsl
encompte
par lesuperviseur
prise
Incompte
par
lesuperviseur
I I...N=4
CISI - GIXI.
dans la file est donné par
Zý/NI
a So(!!.
-
Ze ) Pcle
-
1)
-
-Pc = 1 -So
(li.
Pc So + a N [ZI/I
o Le temps deréponse
R r e pr éeentant
le temps de t r aiterne.vt
conduisant
à T = 45.econdes
50= 3.08
secondes
dont un tempsd'échange
de 0.58secondes.
{a
=
o.
67 se conde eR = 3.08 + 0.67 = 3.75
.econde
". ajouté àl'attente
a =
Qui impose un taux
d'activité
duservice
Avec les
paramètres
prýcýdemment
introduit.
noua au r r Ion e pa rexemple:
T
Ze =
-So
Le modè le tou r nan t e st bien adapté à la
configu
rat ion. En e ffe-t les tâches seremettent
en queue de file après avoir été s e r vic s,avec un délai plus ou moins
variable.
Soit N = 4individus
ci r cu la n tdan. le
.ystème
comprenant
untraitement
sýquentiel
dont la du rtý(>.uit une loi
exponentielle
demoyenne
T lerapport
Zc entre le te rn p shors
service
et le temps enservice
estR=
Sfminaire
ývaluation
de.performance
".Mme
VASSEUR.
Mr ".ANTOINE-GUILLON.
5-6
octobre
1976. SACLA Y.
A partir de c e tt e
évaluation,
nous pourron fixer la valeur duquantum de temps
satisfaisant
lestransactions
de la durée m ove ..t: c ývaluée et répondant au c r it e r e de temps de réponse exigible parl'usager. Un quantum de temps de 4 secondes serait adapté au profil
d'exploitation
indiqué dans l'exemplenumérique.
Il. Z.
Exploitation
des résultats de lamodélisation.
La
formulation
précédente
est aisémentexploitable
en injectant dans ui ;programme les divers
paramètres
afin d'étudierl'influence
de ceux-ci sur le système. Cette méthode permet d'évaluerraisonnablement
la con fi gu r at i or.,en ignorant les
contraintes
dues à lapagination
et aurecouvrement
consi-dýrýes comme descaractéristiques
propres de latransaction
type en mOno-console.Le.
diagrammes
présentent
les temps de réponse qui peuvent êt r e espýrýs.
a) Diagramme 1. (Fig. 3. I. )
Le temps de
commutation
de tâche s et le temps mort ýtant f i x és .
l'influence du nombre des consoles
interactive.
sur le temps derýponse est donné en fonction des temps moyen. de
transaction.
b) Diagramme Il.
(Fig.3.2.)
Complète le diagramme I, en donnant le taux
d'occupation
duserveur, ici, l'Uuitý Centrale + disque.
Le taux croft avec la charge du système. Il faut rappeler que le taux
d'occupation
repré sente la pr oba bi lit épour une tâche ýl i g i ble en mërnoi r e de trouver le serveur
occupé,
autrement dit, de voir devant lui une file d'attente plus ou moinsimportante.
Un faible tauxd'occupation
de l'Unité Centrale est c a r a ct ér i s tiqu e d'un
important au détriment du temps de réponse des travaux pa s s ar.t par exemple en
exploitation
séquentielle.
Ce fait justifie de plusl'introduction
d'une tâchesupplémentaire
dans le système. Tâchenon prioritaire (elle est
interruptible
à tout moment par une tâche APL), elle permet d'accroitre le taux d'activité de l'Unité C'e r.t r a lr,sans pour cela provoquer un phénomène
d'écroulement
du sy stirn e .c) Diagrammes III et IV
(Fig.3.3.et3.4.).
L'influence des facteurs temps de commutation des tâches et temps morts sur le temps de réponse aux transactions moyennes est
examiné. C'est ainsi que le temps de commutation des tâches n l
e st
pas une donnée très critique sur le temps de réponse, alors que
it-temps mort est une
caractéristique
du sited'exploitation
à ne pas- 2.3 -& e =t .2 0 +'
'"
u C c 0 '" b_ cCl-.'"
+'--0-.ý
"'C '"C Do- "'c: ýý 0..411Eý .. E +!!E
U)-"
J
-
zj
+ 11 le"
"-..
0"
...
C't U...
..., N..
N 0 Il .. u .. Il .."
Il .. Z Z Zz
I
-
0 z z zz
'"
+ le"
C0 IC"
I -u"
-. "0 '"C N1
+ le"
ý + le"
I -. ý -.... c . ... ...'"
s
.1 CI'. + le"
..
-
..
+" "
.
-
-
.... uI
0 !!e
I-..
..
+ le"
....
"
+...
-"0 "0 CI
-f
>-"
"
ý"
,f
'"
A. +...
-E-
-..
..
-
-+ le"
" ..., .... .... +..
,-"
Il-
I-
i
c..
0-
A. +""
,-"
IC " "-
'tl'I-
Ul-"
i
'"C R.i
+ IC " " E+---I
"
ý...
"
c u .St!
+ IC ""..
.ý
+--§cncn
CI)-
.-
."CD",,,, ý ."."..
... d .:J-
...
ý"
'"C'"
0 "D ..,_a..-
.,_a.
s
ýý +"""
I ýý-
Xcn
c XU) 1iýf
a
ICle ý '!S
Xl:ww
+"""
-0"
wWl:l:...
"D ...a
.... ....I
J
..
0 0 C &Dob
-
L-....
-_
"V-._
'"
"'C "V o.- "'c ýý a.-Eý ... E + ýE U) -IlJ
-
zI
+ 1j"
"
I -1i a"
-a
.... N a I .... .... N..
ft Il Il Il Il Il M Z Z Z z1
-
0 z z zz
'"
+"
"
C0 Il'"
I u"
"
· "V "V N ! ·+
"
"
""
l
+"
"
I -· ý-"
c . .. .. ""s
.i
ý. +" "
...
-
...
+"
"
I-
-
"
u"
uI
!
e
..
...
-+"
"
I...
"
+ " " 1-"'0 "V C c:"
"
+
"
"
"f
'"
f
'"
+ ""1-I-
"
0.E"
... ...-
-+"
"
I...
"
+ "" 1'-Il Il"
I-
i
e"
0-
0. +""
1-+"
" I"
'.
"II. u..
"
C"
"'0 B.i
+""
Ie
+---I
"
1!...
"
c u .52 ý...
+ "" I.ý
§en'"
CD-
.-
.nCD",,,,
ý ýý...
,::J-
.... ý.a
"0'"
0 ... a.-
... a.i
ýý + Je.1 I ýý..
-
Xen
cXen
't;ýf
a
ýý .!t '! ý ýalffi
"
1:1:...
"V UJUJ "0 t-t- t-t-)( ý...
Cl Cl Cl 0 Cl Cl 0 U) .n .... .... N-....
"""
..
..
'.Mf-...
....
._
!
"
'"
ý"
;;.
1
i
"""
ý"
3"
II'"
ý-
"
caa
. ý . :J"
II' ca :a.-!
3 + ý"
.... ::J .. "-N..
Ut"
3 ...'I
A +"
..
"
..
-+ " 11"
... ...
.. .. ..8ý
w Ut..
til til , I" "
I ""+
"""
+ " 11 ".-.
+ ne. +""
+ 0 0--
"
3 "'C '"..
",0... n I .... n ý ... 0 ID:zZ
.,
",z ., "tJcn.'
xcn
11), cnO"
(Hý
"0enm
0 0 :J :J...
1ft '"ý,..
-
"
.....
xý
-
"
1ft 0 .... '".,,ý
-
ý<
-pý..
rn....
"'cn .....
fiicn
CD 1ft ...en'"
f
"
II' ý"
"
1
II'"
'1"
-
..
1
II' ý"..
... ca"
::Jrp
II' R ý..
· 0- ý :J ·i
:J"-..
I
"
II' ý!
"
:I"
'"
-t
ct
ca ::J B ý -9 3 ý!
:\
PRESENTATION
GENERALE
DEL'ORDINATEUR
MITRA 15
I -
CARACTERISTIQUES
PARTICULIERES
DU MITRA 15.1.1. Le
système
d'interruption.
Cén ér a l it é e .
La
fontion
d'interruption
du MITRA 15 est rntc r opr ogrammée
, Cecipermet
derýaliser
lafonction
demultiprogrammation
de l' Unitýcentrale
par la po s s i b i lit.é
qu'elle
a depouvoir
commuter
l'Unitý
detraitement
d'unetlche sur une autre plus
importante,
etd'assurer,
ensuite,
lareprise
de latlche
interrompue.
La
fonction
d'interruption
peut êtred'origine
interne
àl'Unitý
Centrale
(l
l'initiative
dulogiciel),
ou bienexterne
à l' UnitýCentrale
par lademande
d'un
usager.
Elle n éc e s site
l'exécution
de sfonctions
suivantes
:_
Mýmorisation
dechaque
demande
d' IT "-
Multiplexage
de cesdemandes
(rang).
-
Gestion
des pr ior Ité sd'accès
(niveau).
-Commutation
de tâche s.-
Possibi1itýs
deretour.
1.2. Les
niveaux
d'interruptions.
L'interface
pé r iphé r ique de l' UnitýCentrale
du Mitra 15assure
lemultiplexage
rnaté r ie l de 32niveaux
d' IT,correspondant
chacun
l unniveau
programme.
Les 32niveaux
hiýrarchiques
sontrepýrýs
de 0 l li dan. le .ens des pr Ior ité scroissantes
où l'ondistingue:
- IT 29 à
- IT 00
IT 01
- 26
-respectivement
à lacoupure
secteur
et au retourse ct eu r .
29
niveaux
accessibles
par leminibus
EjS, r épa r t i s entre le s
différents
coupleur
s.L'affectation
de sniveaux
entre cesdifférents
coupleurs
n'est pas rigide et varie avec laconfiguration
dusyatème.
1 niveau de fond actif en
permanence
lorsqu'aucune
autre inter
ruption
n' e st entraitement.
ý
I
I
,
.1
A chacun des 32
niveaux
estattachée
uneadresse
mémoire
quicontient
un
pointeur
decontexte,
désignant
leprogramme
spécifique
à ceniveau.
Les32
pointeurs
decontexte
sontrassemblés
dans une table CPT dont l'empla-cement estindiqué
par lecontenu
du motd'adresse
10 (endécimal)
de laMémoire
Centrale
.-ption
C,O.
BASEGENERALE
G2-ACCUMULATEUR
A 3EXTENSION
f...
INDEX x. 5Ii/iii//II_L
,
Table
des mots
de
v///////iii/
,
desacti
votion
_-
_--
_--"-
.2,.(.. 4J t-_ t ý ..-
-
ý,
DVTýý
bloc
0de
l'unité
centrale
" . ,."moe
ýe.
VI\If:OVT
""l-I =
rang
de
lmterru
ru
OVT..i-IND
:PM,MA,
MS,
I t "-
2,.
I ..., I ,ý_
1 DVTý ACPT
ý r -ýCTXo
) --.__
-ý , CTXý (,.-J -" " "+.2.L1
_.
" , I____
---
Z--
I.)-ý-
r
lý!)·
CTX-4,ceT
)( E p " 1\ c;. L. ra tCTXýj_
--
s-;'::,ýI ýýy
table
des
pointeurs
L---de
contexte
-
ý_._.--
ý ...-!
I
IMPlANTATIlN
DESTABLES
ENMEMOIRE
- C.
(Carry)
- 0
(Overflow)
,
- !.ý)
-I. 3.
Contexte
programme.
A chaque niveau
d'interruption
corre spond unprogramme
a s soc i éde type
handler,
dévolu à un ouplusieurs
périphérique
de même nature ou bien un_pr2ýa_!1"l!!lý
U_!_iJisýtýul:': Unprogramme
est con st îtu é d'unenaemble
d'instructions
et dedonnées
convenablement
rangées
enrnérnorr
ecentrale
avant d'êtretraitée
s par l'unitécentrale.
L'implantation
enmémoire
et l'étatd'avancement
d'unprogramme
son tcaractérisýs
par lecontenu
desregistres
etindicateurs
programme.
Cesinformations
définis sent lecontexte
programme.
Dans l' Un it éCentrale,
le.registres
programme
sontconstitués
par les sixpremiers
registres
rapides
du bloc (0).Les
indicateurs
accessibles
auxprogrammes
et faisant partie de soncontexte
sont:report ou te st
opération
selonl'instruction
qui lepositionne.
débordement
ou testopération
selon ladernière
instruction
exécutée.
- MS
(Indicateur
de mode) : à 1 si leprogramme
doit8'exýcuter
en en mode Maitre ou à 0 dans le ca. d'un mode normal. - MA(Masque
d'interruptions)
: à 1 pour lemasquage
desinterruptions
ainon à O. - PR
(Protection
mémoire).
Le
contexte
est une tableappelée
CTXconstituée
de 8 mots (bien que 7 mot. soientparfois
suffisants),
généralement
placée en fin duprogramme
exécutable
àl'édition
de liens, dont lastructure
estdétaillýe
en Fig. 4. 1.Cette table CTX permet soit de
charger
lesregistres
etindicateur.
quand on arrive sur ceniveau,
soit d'y ranger ces mêmeregistres
et- C.
(Carry)
- 0
(Overflow)
A chaque niveau
d'interruption
correspond
unprogramme
associé
de type
handler,
dévolu à un ouplusieurs
périphérique
de même nature ou bien un"pr2&!a.El!!lý u..!ilisýtýt:.:
Unprogramme
estconstitué
d'unen.emble
d'instructions
et dedonnées
convenablement
rangées enmémoire
centrale
avant d'être
traitée
s parl'unité
centrale.
L'implantation
enmémoire
et l'étatd'avancement
d'unprogramme
sontcaractérisé
s par lecontenu
de s re gistre s etindicateur
sprogramme.
Cesinformations
définissent
lecontexte
programme.
Dansl'Unité
Centrale,
le.registres
programme
sontconstitués
par les sixpremiers
registres
rapides
du bloc (0).Les
indicateurs
accessibles
auxprogrammes
et faisant partie de soncontexte
sont :report ou test
opération
selonl'instruction
qui lepositionne.
débordement
ou testopération
selon ladernière
In at r u ct ionexécutée.
_ MS
(Indicateur
de mode) : à 1 si leprogramme
doits'exécuter
en en mode Maitre ou à 0 dans le cas d'un modenormal.
_ MA(Masque
d'interruptions)
: à 1 pour lemasquage
desinterruptions
sirron à O. _ PR
(Protection
mémoire).
Le
contexte
est une tableappelée
CTXconstituée
de 8 mots (bien que 7 mot. soientparfois
suffisants),
généralement
placée en fin duprogramme
exécutable
àl'édition
de liens, dont lastructure
estdétaillée
en Fig. 4.1.Cette table CTX permet soit de
charger
lesregistres
etindicateur.
quand on arrive sur ceniveau,
soit d'y ranger ces rnê meregistres
et_ ý rJ _
1.4. Prise en compte d'une
interruption
Un
programme
travaille
sous le niveau i ,lorsqu'une
IT de niveausupérieur
jsurvient,
il fautpréserver
lecontexte
de la tâche irrte r r orn pu eet le
remplacer
par lecontexte
de la tâche de niveau appelant CTX j. Laauapension
associée aux ITdéclenche
lemicroprogramme
dechangement
de
contexte.
Lemicroprogramme
calculel'adresse
CTX i par:(R8) = 2i et CTXi = (CPT + (R8) )
et
organise
lestransfert
notés I sur la Fig. 4.2Ensuite le niveau appelant est lu en machine pour
remplacer
la valeur de R8 par 2j --<R8). Lemicroprogramme
effectuel'opération
notée J sur laFil.4.2.
par le calculd'adresse
CTXj = (CPT + (RB) )
IrR
0 C; ý L:III t:":":l L.:J Cl 2i ý-
:-CPT CTXi c c 21 X-
--
CTllr-
E A G l -p TRANSFERT I TRANSFERT J Fig. 4.2.I. S. Fin de
traitement
d'unprogramme
associé à un niveaud'interruption.
coupleur
correspondant
au niveau j.Elle effectue un changement de contexte inverse du précédent c'est à dire rangement des registres et indicateurs dans CTXj et
remplacement
parles valeurs contenues dans CTX i à condition que le niveau i soit toujours le plus prioritaire en attente derrière le niveau j.
La DIT pour effectuer ces opérations fait appel à la table DVT par son
microprogramme
associé. Cette table DVT est placéeimmédiatement
au-dessus de la table CPT (Fig.4.1.)
L'emplacement
de ces mots est directement lié au rang physique del'interruption
du coupleur.Le mot, CIT,
(configuration
centrale d'IT) a le format suivant1 2 3 13 l' 15
IOlvH
Igroup.
I
,
- Le bit 0 associé à la CIT a le sens de
désactivation.
D = 0 niveau IT au repos. D = 1 en attente ou actif.
- Chaque coupleur de
périphérique
a un mot (CIT) de désactivation qui lui est associé indépendant du rang physique de l'IT, seul sonemplacement dans la table DVT est lié à celui-ci.
ý I
On
incrémente
P tel que P + 2 soit mis dans P.Puis
compte-tenu
que R8contient
deux fois le niveau en cours, soit (R8) = 2 j,- On va
chercher
le mot CIT associé au niveauj .
- On
désactive
l'IT avec ce mot et l'on range Iecontexte
j.- On lit le niveau
d'interruption
le plusprioritaire
en attentederrière
j.c'est le niveau i si aucune
interruption
de niveauintermédiaire
n'estapparue
entre-temps.
On range donc dans R8 deux fois leniveau i et on va
chercher
lecontexte
associé au niveau que l'onva mettre dans les
registres
programme
etindicateurs.
Connaissant
L et P on peut
reprendre
leprogramme
de niveau iOn pourra se
reporter
à la Fig.4. 3. pourtrouver
unexemple
deprogram-mation d'une tâche avec un DIT
montrant
clairement
la manière dont lac :::> < UJ > Z T Fig. 4.3.
-
1tJO·,
L. -'" 1-CZ Ifý\"II
rulcl
0e
A-,..,..-
A Cý..,..,.
G. E /'" ý.N' '-//_ /' £ ---. i.-- ýl
I-
,
.ovr
"f""_ý " fi c J"- !> rJjT '50 IR O'VT £.1 =;= £4-· p-j.-:
OVT "e-ý
.Iý 4· L-ý
,
·-ý
..-,
:IN!) _DVT ... " ZC % C:r ý I-
... ýTOl
cos
I c.e-r ýr
+ý ·l
· ...,._ " P I I SEGT'Oý ý c.er .4 , I " . "-ý
"
I " " L05 i UT So LýS '---'-C.rT :sI ý--
C.1l Zoý " _.fOU .... 1.4Aoeeur
eQu-'---
--.. -ý "0''-t
---
ý4-
eRu OE.ý\.)t" ý ,fi, _. ý S "-D IN!).r\
J
x. E-
- ý P.--
A G -._=ý
L.. _. £ .& LOý)
ý LJ?S F\ I 0 ýl
.--
--
--
OETAL DE L'IMPLANTATIONIMPLANTION DES PROGRAMMES
A : CPT A PRTS L : PRlS
-.1
]
H :TRAP ,.If,
(
ý\
"\
"\ý
'\-____ ---I-_
... -I , , I, ,
, ,
REMARQUE.
Sans nous
étendre
surl'étude
de lalogique
des in te r r-u pt ion sprýciaons
que lesinstructions
dontl'exposé
va suivre c or r e s pou de n tl un
adressage
desniveaux
d' IT. pourl'armement.
lavalidation
et le
dýclenchement
desinterruptions:
Un niveau
d'interruption
peut-être
armé. validé. ou excité parprogramme.
Cettecommande
estréalisée
par uneWO 21.
- Il
peut-être
désarmé
etinvalidé
par une \YO 31 ou encoredésactivé
par une DIT.Masque des
interruptions:
L'indicateur
MApositionné
interdit
toute prise en compted'interruptions
(instruction
STM) sauf cellesconcernant
lescoupure
et retoursecteur.
REMARQUE
Pour la clarté de
l'exposé
nous avons ignoré lesregroupements
d'IT sur un mêmeniveaux
(4sous-niveaux)
dont nous n'avons pasd'utilité
dans laréalisation.
II -
STRUCTURE
D'UNPROGRAMME.
II.1.
Définition
de lasection.
La
programmation
enlangage
assembleur
Mitra 15 faitlargement
appel à lamodularité.
Unprogramme
principal
pouvantýgalement
'treun module (petit
élément
àinterface
normalisý).
levocabulaire
CIlaubatitue
au terme desous-programme
celui de aection.Q
lRT
p =:= z,e ý Gr L. .. E IND· 1--",....",..--- - - - - -'... L.eSoeeur
ýQU ý LOS.lL____C----,05,..---1
L
SECTION ý::L
;;;
: --\l
__oyf "j! ...)ý " l J-rRj:TI-_._____' 1----=.-A/TWT:'So:---1 OvT.&.I ... .t-G. ,L-w
jIf((\"·I"'lc(o
A -...-C ý ... E ./' ...---- .N/'L'
,ý---I
-"-A :CPT
A : PRTS L : PRTS-
-ý " OIT"t
- i- 4_-
eRu OE.eUf' ý ." I,., ... .,'''I)
IND. u:J
X 0,.r.
E-
- ""'-'--"'.
A-
G--=ý
=ý
L. £ ...._ p LDý)
ý LýS"
I 0 H:TRAP
L
--_-
-1
-]
-
-
-
-DETAL DE L'IMPLANTATION .'., IMPlANTION DES
PROGRAMMES
Fil.
4.3.
i
- 33
-REMARQUE.
Sans nous
étendre
surl'étude
de lalogique
des Inte r ruptj on sprécisons
que lesinstructions
dontl'exposé
va suivre corre 5 pOil den tý un
adressage
desniveaux
d'IT, pourl'armement,
lavalidation
et le
déclenchement
desinterruptions:
- Un niveau
d'interruption
peut-être
armé, validé, ou excité parprogramme.
Cettecommande
estréalisée
par uneWD li.
- Il
peut-être
désarmé
etinvalidé
par une WD 31 ou encoredésactivé
par une DIT.Masque des
interruptions
L'indicateur
MApositionné
interdit
toute prise en compted'interruptions
(instruction
STM) sauf cellesconcernant
lescoupure
et retoursecteur.
REMARQUE
---Pour la clarté de
l'exposé
nous avons ignoré lesregroupements
d'IT sur un mêmeniveaux
(4sous-niveaux)
dont nous n'avons pasd'utilité
dans laréalisation.
n -
STRUCTURE
D'UNPROGRAMME.
II.l.
Définition
de lasection.
La
programmation
enlangage
assembleur
Mitra 15 faitlargement
appel à lamodularité.
Unprogramme
principal
pouvantégalement
etre un module (petitélément
àinterface
normalisé),
levocabulaire
en
.ub.titue
au terme desous-programme
celui desection.
Une section est donc
principalement
cornpos ée d'une "suited'instructiol.s"
appel'e
segment
deprogramme:
LPS.Ces
instructions
ont pour objet letraitement
des donn ée s qui
peuvent
8trepropres
à unesection
oupartagées
entreplusieurs
sections.
Les donnëe s
propres
à unesection
forment
unsegment
de donn ée slocales.
Une
section
est donc soit lasection
dedonnées
communes
(CDS -Common DataSection),
soitl'ensemble
d'unsegment
dedonnées
locales
(LDS -Local
Program
Segment)
et d'unsegment
deprogramme
exécutable.
De ces
dýfinitions
onretiendra
les pointssuivants
_ On accède à la CDS à partir de tout le
programme,
enparticulier
onaccèdera
à la CDS à partir d'un LPSýn_m2dý
_g{_nýal(direct,
.indirect,
indexé),
lessynlboles
etétiquettes
définis dans la CDS'tant
communs
à tout leprogramme.
_ On accède à un LDS à partir du LPS
associé
en -mode- - local,--
(direct,
indirect.
indexé).
Lessymboles
etétiquettes
définis dans un LDSsont locaux à la
section
maispeuvent
êtreréférencés
en CDS. Tout autreprogramme
voulantaccéder
à une donn é e locale ne luiappartenant
pas doit passer par lemécanisme
dercHýrence
etd'finition
externes.
_ Un
segment
deprogramme
necomporte
que des'''ments
nonrmdifiables
qui sont lesinstructions.
- )ý
-II. Z. Bases des sections et des segments.
L'ýtude du contexte programme a mont r ë
l'importance de certain.
reghtres d'adresses. Leur correspondance avec la structure de. program me 5
e.t
expos
ée ici ." } ha_b'!.sý ýn.!r2lý _!li!_e .Èýe_ Q.
La base G est associée de façon biunivoque au programme;
cleat la base implicite à laquelle toutes les adresses référencée s par le programme sont relatives. Elle est ajoutée au torrrat iqu e rn e nt
par la micro-machine aux adres ses définies dans les instruction s.
La base L est la base locale implicite ou base des données locales, elle est associée à un segment de données locales.
c) La_b!.sý
e..rýýaJEýe_dile_býsý
:eElle est associée à un segment de programme. A
l'initialisation
du programme, elle contient l'adresse de début de la section pré-ciaýe à l'assemblage, puis constitue le compteur ordinal en cours d'exécution de la section.
Les valeurs effectives des bases L et P d'une section sont ignorées
en gýnéral par le programmeur au moment de l'écriture du programme.
Elles sont définies
automatiquement
par l'éditeur de liens en valeur relativel la base gén é
r a le du programme et stockée s dans la table PR T du progr amme.
(Voir plus loin).
La modularité implique l'existence d'instruction spéciales d'appel ou de
retour de section dont nous verrons le fonctionnement détaillý plus loin.
soua-programmes rýentrants, l'asscmbleur r e conna ît des "segments fi ct ifs images de données ultérieures ou de données appartenant à un autre LDS (ou CDS) que celui où la zone future est déclarée:
(IDS).
Les segments fictifs jouent le rôle de paramètres formels; e n pa r t i cu lic r pour définir des déplacements relatifs au début de ces segments (de s c r i pt ior.
de bloc s de donnée s dynamique s, dé finition de valeur dl index, etc ... ), ma i s n'engendrent aucun texte objet. Il sera fait un usage intensif de cette notion. La Fig.4.3. reprend les concepts établis dans ce chapitre.
t-EMOIRE DE TRAVAIL EXTENSION DE LA
Twa
I &00P-G
APPELANT
'02 L- GAPPELANT
&0'1ý1ýIýlC1O
&06ADRESSE
Zc/G'08
&OA
&OC
&OE
&10 '12 &U &16&18 NIVEAU
SIP
3'lA
NNEAU
SIP
2&le NIVEAU SI P 1
&lE NIVEAU
SIP
0&20 &22 + + + + + + · · ·· Tt Tn T6 + T7 + N3 + N2 + Nl + NO + T8 + Tl T2 T3 T4 T5 G PMG + LMG + tND + AZC + TO + TWB DE LA CDS