• Aucun résultat trouvé

Chaie 14 A è a x éihéi e   av v   

N/A
N/A
Protected

Academic year: 2022

Partager "Chaie 14 A è a x éihéi e   av v    "

Copied!
5
0
0

Texte intégral

(1)

Aès aux périphériques

Nousavonsvu,pourl'instant,ommentlemiroproesseuraaès auxregistresetàlamé-

moirevive.Ilfautaussiavoiraèsauxpériphériques(d'entrée-sortie)defaçonàintroduiredes

données(vialalavier,lasouris,unleteurdedisquettes,undisquedur,unleteurdeCD-ROM,

unetabletteàdigitaliser,unsanner, unapteur...)et àommuniquer lesrésultats(vial'éran

dumoniteur,une imprimante...).Nousallonsvoirdansehapitreommentlemiroproesseur

aèdentàeux-i.

(2)

14.1 Prinipe de l'aès aux périphériques

Les périphériques peuvent être d'une très grande omplexité mais, du point de vue de la

programmationetdel'éhangedesdonnées,ilsreposentsurunprinipesimple.

Contrleurdepériphérique.- Un périphérique est omplexe, omprenant à la fois des parties

méaniqueset des parties életroniques.Laommuniationmiroproesseur/périphériqueet la

programmationdupériphériquesefaitgrâe àune partieéletroniqueappelée ontrleur(du

périphérique).

Adressedepériphérique.- Comme pour lemiroproesseur,lapartie essentielle d'un ontrleur

depériphériqueestuniruitintégré,quel'onpeutonsidérerommeuneboîtenoirepossédant

unertainnombredebrohes.Unensembleouplusieursensemblesdehuit brohespermettent

d'aéderauontrleur dupériphérique. Un telensemble estreliéau miroproesseurde façon

à orrespondre à une adresse donnée de périphérique. Celle-i n'est déterminée ni par le

onepteurdumiroproesseur,ni pareluiduiruitintégréduontrleur;'estleonepteur

del'ordinateurqui lahoisiradefaçonplusoumoins arbitraire.

Périphériquesmappéenmémoireouindépendant.-Ilexistedeuxfaçonsderelierunpériphérique

aumiroproesseur,leonepteurdumiroproesseurhoisissantl'une d'elle.L'adressedepéri-

phérique peutêtre une adresse demémoire vive (qui seradon dédiée àunpériphérique): on

parlealorsdepériphériquemappéenmémoire.Cetteadressepeutégalementêtrespéique

auxpériphériques,aveunjeud'adresseindépendantdujeu d'adressesmémoire:onparlealors

depériphérique indépendant.

Làenore,lefaitqu'unpériphériquedonnésoit,surunsystèmedonné,mappéenmémoireou

indépendantnedépendnidupériphérique,niréellementdumiroproesseur,maisduonepteur

dusystème.

Cependant,sitouslesmiroproesseurspermettentlemappageenmémoiredespériphériques,

seulsertainsmiroproesseursontunjeu d'adresses indépendantpourlespériphériques.C'est

le as des miroproesseurs Intel mais pas des miroproesseurs Motorola, qui équipaient les

premiersMaIntoshApple.

Notiondeport.- Lesmiroproesseursàentrée-sortieindépendante aèdent auxpériphériques

viaunertainnombrede ports,haun étantrepéréparuneadresse. Unport depériphérique

n'estriend'autrequ'uneliaisonphysiquepourunotet.

Un telmiroproesseurindique, viaune desbrohes,qu'ilveutaéder àunport(et non à

unélémentmémoire).Ilutiliselebusdesadressespourindiquerlenuméroduport.Ilutiliseles

brohesdesdonnéespourenvoyeroureevoirunedonnée.

Ilappartientauonepteurdel'arhiteturedel'ordinateurderelierommeilleveut,etdon

dedéterminerqueteloutelportorrespondàteloutelpériphérique(oupartiedepériphériques).

Bienentendu, pourunordinateurdonné,touslesportsnesontpasutilisés(reliés).

Registresinternes despériphériques.-Lesdonnéessontrarementtransmisesdiretement.Unpé-

riphériqueontientengénéralunouplusieursregistresinternes(toujoursentrèspetitnombre,

ommepourunmiroproesseur)etonommuniqueàtraverseux-i.

Unpériphériqueutiliseraengénéralplusieursports,souventunparregistreinternebienqu'on

puisseaussiindiquer,àl'aidedebrohesspéiques,àquelregistreonveutavoiraaire.

Programmeinterne.-Leontrleurontientunprogramme(éventuellementâblé)quidétermine

e qu'il doitfaire des donnéesdes registresinternes. On parlede rmware. Celui-i est indé-

(3)

14.2 Cas du 8088

14.2.1 Aspet matériel

Lemiroproesseur8088permet àlafoislemappage enmémoireetl'aèsindépendantvia

unport.

Nombredeports.-Dansleasdu8088,onpeututiliserdiretementhuitbrohespourdéterminer

l'adressed'unport:lesbrohesA0àA7dubusdesadresses.Ceipermetd'aéderdiretement

à256ports.

Onpeutégalementutiliser,enplus,lesbrohesA8àA15vialeontenuduregistreDX(pour

lesbrohesA0àA15);onpeutdonainsiaéder(indiretement)à65536ports.

Capaitéd'unport.- Dansleasdu8088, l'entréeoulasortieviaunportsefait soitotetpar

otet,soitmot(dedeuxotets)parmot,eteitoujoursvial'aumulateur(ALouAX suivant

laapaitédésirée).

14.2.2 Entrée dans l'aumulateur

Langagesymbolique.-L'instrutionpourl'entréeestIN(pourINput):

IN A, soure

oùAestl'undesdesaumulateursALouAX(déterminantainsilaapaitéduport)etsoure

soitune onstantesurhuit bits(aèsdiret),soitleregistreDX (aèsindiret).

Langagemahine.-L'instrutionINest odée:

surdeuxotetsdansleasd'uneentréeimmédiate,par:

| 1110 010w | port |

ave

w = 0

pourALet

w = 1

pourAX, soitE4houE5hpourlepremierotet;

surunotetdansleasd'uneentrée impliite,'est-à-direvialeregistreDX,par:

| 1110 110w |

ave

w = 0

pourALet

w = 1

pourAX, soitEChouEDh.

14.2.3 Sortie du ontenu de l'aumulateur

Langagesymbolique.-L'instrutionpourlasortieest OUT(pourOUTput):

OUT destination, A

où A est l'un des des aumulateurs AL ou AX (déterminant ainsi la apaité du port) et

destinationsoit uneonstante surhuitbits(aèsdiret),soit leregistreDX(aèsindiret).

Langagemahine.-L'instrutionOUTestodée:

surdeuxotetsdansleasd'unesortieimmédiate,par:

| 1110 011w | port |

ave

w = 0

pourALet

w = 1

pourAX, soitE6houE7hpourlepremierotet;

surunotetdansleasd'unesortie impliite,par:

| 1110 111w |

w = 0 w = 1

(4)

14.3 Un exemple : voyants lumineux du lavier MF II

Onaimeraitbienommenerparunexemplepermettantd'entrerunaratèrevialelavier.

Cependant, nous réservons un tel as à plus tard, au moment de l'étude du BIOS, ar nous

verrons que e n'est pas très simple. Nous allons don onsidérer un exemple beauoup plus

simple,àsavoirlamanipulationdesvoyantslumineuxdulavier.

Lesvoyantslumineux .-Sur lelavierditMF Il(et ultérieurs)del'IBMPC, ilyatroisvoyants

lumineux,situésenhautàdroitedulavier,dénommés

hh

NumLok

ii

,

hh

CapsLok

ii

et

hh

Sroll- Lok

ii

. Les deux premiers permettent de rappeler respetivement à l'utilisateur que le pavé numériquededroitesertàentrerdeshiresetnondesdéplaementset qu'onentredesmajus-

ules(etnondesminusules).

Les voyantslumineux ne sont paspilotés parle ontrleur dulavier, lorsqu'onappuie sur

latouhedeverrouillagedupavénumériqueparexemple,maisvialemiroproesseurdel'unité

entraleet,danslapratique,parlesystèmed'exploitation.

Lesregistresdulavier.-Nousverronsplustardendétaillefontionnementdulavierdel'IBM

PCetsoninterfaçageavelemiroproesseur.Voyonspourl'instantuniquementqueequi est

intéressantpournotrepropos.

Le ontrleur d'un lavier pour ompatible PC possède quatre registres internes, appelés

tampond'entrée,tampon de sortie, registrede ontrleet registrede statut.Surun

ompatible PC, on utilise les deux ports d'adresses 60h et 64h pour aéder àes registres. Il

sut dedeuxportsarhaundeesregistresestseulementaessiblesoitenériture, soiten

leture.Pourletampond'entrée, leseulqui nousintéresseraii,onéritsurleport60h.

Lesommandesdulavier.-LeomportementdeslaviersATetMFIIpeutêtreprogrammégrâ-

eàunjeudeommandesquel'ontransmetauontrleurdelaviervialetampond'entrée.Nous

verronsplustard,lorsquenousétudieronslelavierendétail,ejeudeommandes.Contentons-

nousiidelaommandequipermet d'allumeretd'éteindrelesvoyantslumineuxdulavierMF

II.

Onpasselaommande:

EDh

autampond'entrée.LeontrleurdulavierrépondparunauséderéeptionACK,nes'oupe

plusdestouhesetattendunotetd'indiation,quiestégalementpassévialetampond'entrée.

Lastruturedel'otetd'indiationest lasuivante:

0 0 0 0 0 CPSL NUML SCRL

aveCPSLégalà1pourquelevoyantlumineuxde

hh

CapsLok

ii

soitallumé,NUMLégalà1pour que elui de

hh

NumLok

ii

soit allumé et SCRLégal à1 pour que eluide

hh

SrollLok

ii

soit allumé.

(5)

Exemple.- Érivons unprogramme permettantd'allumer levoyantlumineux de

hh

NumLok

ii

(sansquelepavénumériquenesoitpourautantverrouillé).Enlangagesymbolique,nousavons:

MOV AL, ED

OUT 60, AL

MOV AL, 02

OUT 60, AL

RET

Traduisonse programme,éritenlangagesymbolique,enlangagemahine:

B0 ED

E6 60

B0 02

E6 60

C3

Utilisonsalorsdebugpourérireleprogrammemf2.omenlangagemahine:

C:\COM\>debug

-E CS:100 B0 ED E6 60 B0 02 E6 60 C

-R BX

BX 0000

:

-R CX

CX 0000

:09

-N mf2.COM

-W

Eriture de 00009 otets

-Q

Lorsqu'on appelle e programme en ligne de ommande, on s'aperçoît bien que le voyant

lumineuxest allumé.

Remarque.-Ilfaututiliserunvraisystèmed'exploitationMS-DOSpourlanereprogrammeet

nonune fenêtre MS-DOSde WindowsouuneémulationsousLinux. En eetes deuxderniers

systèmes d'exploitationfontionnenten deux modes: lemode noyau et lemode utilisateur.Le

mode noyaupermet delaner es systèmes d'exploitation mais n'estplus aessibleaprès ela

(yomprisparlesuperutilisateurroot).Seul lemodenoyauaaèsauxentrées-sorties('est-à-

direauxinstrutionsINetOUT);enmodeutilisateuronaèdeauxentrées-sortiesàtraversdes

appels système,uniquementpourequi estprévu parle systèmed'exploitation.C'est laraison

pourlaquelleil fautreompilerlenoyaudeLinuxlorsqu'onhangedepériphériqueetqu'ilfaut

redémarrerl'ordinateurpourWindows.

14.4 Historique

Le premier ordinateur (EDSAC, 1949) disposait d'un seul périphérique : un télesripteur.

L'utilisation de elui-i était âblée et son langage symbolique disposait de deux instrutions

pouryaéder.

Références

Documents relatifs

• ne pas avoir recours à des pratiques administratives qui sont inacceptables pour nous. Cette liste de critères n’est pas exhaustive. Nous avons le droit de déterminer à

segment et le pourcentage de clients intéressés peut être appliqué aux volumes totaux de chaque

Langage mahine.- Uun sous-programme peut se trouver dans le même segment que le programme. qui l'appelle : la valeur du registre IP est alors hangée mais il est inutile de

Pour une valeur se trouvant à l'adresse (de mémoire vive) désignée par le ontenu d'uno. registre (de seize bits, puisque 'est la taille du déplaement), on indique le nom de

Langage mahine.- L'éhange peut avoir lieu entre registres ou registre et ase mémoire :.

Cei doit être eetué à partir d'une page pour laquelle les adresses virtuelles sont. égales aux adresses physiques ( hh identity mapped ii

a - Erire un programme qui renvoie true si un triangle est retangle à partir des longueurs de es tés. b - Erire un programme qui alule la longueur de l'hypothénuse d'un

le nez offre des arômes de petits fruits rouges avec des