Académique Documents
Professionnel Documents
Culture Documents
Assembleur PDF
Assembleur PDF
Initiale
ENI E
FILIERE : Ingnierie informatique
1re anne
11
Mars
(1/3)
%/( )s Co!!ecteur s $C%
Co!!ecteur s %SA &e!ti ateu r du Chipset S ots m"moire (SD#AM) Co!!ecteurs %D'
Co!!ecteur A*$
3/19/13
22
(2/3)
3/19/13
33
Dia-ramme
(3/3)
3/19/13
..
Mod e e! couches
Architecture des ordi!ateurs
6 Programmes d'application
(Traitement de texte, PAO, Jeux, ) (Fortran, Cobol, C, C++, Java, ) (Langage natif s mboli!ue de la ma"#ine) ($estion des ta"#es, des ressour"es % m&moire, '(Os,) (Langage natif du )ro"esseur)
3/19/13
1istori2ue ,
& &
es th"oricie!s
A!ti2uit" , Aristote 3o!de es bases de a 4o-i2ue 5 107/ , 1:/. , base 4eib!it6 i!7e!te e s8stme bi!aire moder!e (9 et 1) +oo e pub ie ; The Mathematical Analysis of Logic < 2ui d"crit u! s8stme de o-i2ue s8mbo i2ue = a des machi!es moder!es, lalgbre de Boole>
&
&
1930 , Turi!- d"3i!it a machi!e 2ui porte so! !om 193: , Sha!!o! 3ait a s8!thse e!tre ?a -bre de +oo e et es circuits " ectri2ues> 19./ , &o! @euma!! d"3i!it ?architecture des ordi!ateurs moder!es 19.: , Sha!!o! pose es bases de a th"orie de ?i!3ormatio!> 00
&
&
&
3/19/13
1istori2ue ,
&
es r"a isatio!s
SchicAard co!Boit a premire machi!e = ca cu er $asca r"a ise a $asca i!e (additio!C soustractio!) 4eib!i6 , aDoute a mu tip icatio! et a di7isio! Ea co! , comma!de pour m"tiers = tisser
&
&
&
&
1:9/ , Fac2uard , pro-rammatio! par carto!s per3or"es articu "s 1:.9 , 1::. , +abba-e , Machi!e a!a 8ti2ue 1o erith , tabu atrice = cartes per3or"es
&
&
&
19./ , &o! @euma!! d"3i!it ?architecture de ?ordi!ateur u!i7erse 19.9 , Gi Aes r"a ise = Cambrid-e e premier ordi!ateur , ? 'DSAC (' ectro!ic De a8 Stora-e Automatic Ca cu ator) 77
&
3/19/13
1istori2ue ,
& &
1:99 , Carte per3or"e (1erma!! 1o erith) 199. , Tube = 7ide , diode (Foh! E emi!-) triode 19.7 , Tra!sistors (SchocA e8C +rattai!C +ardei!) 19/9 , M"moires = Tores ($apia!) 19/: , Circuits i!t"-r"s (Ki 8)
&
&
&
3/19/13
::
1istori2ue ,
H
I 1999
, Ca cu m"ca!i2ue
19.0J19/7 , Tubes = 7ide 19/:J190. , Tra!sistors et circuits discrets 190/J J , SS% (Sma Sca e %!te-ratio!) Dus2u?= 199 circuits par puce
J1979 , MS% (Medium Sca e %!te-ratio!) de 199 = 3999 circuits par puce 1971J1977 , 4S% (4ar-e Sca e %!te-ratio!) de 3999 = 199 999 circuits par puce 197:J2992 , &4S% (&er8 4ar-e Sca e %!te-ratio!) . de 19/ = 19: circuits par puce Demai! , K4S% (K tra 4ar-e Sca e %!te-ratio!) L 19: circuits par puce 99 *"!"ratio!
3/19/13
1istori2ue ,
&
4oi de Moore
(1/2)
(Co3o!dateur d?%!te )
&
&
4e coMt d?u!e puce reste prati2ueme!t co!sta!t> 4?au-me!tatio! de a de!sit" des circuits s?accompa-!e,
N
&
d?u!e au-me!tatio! de per3orma!ceC d?u!e r"ductio! de a co!sommatio! " ectri2ueC D?u!e au-me!tatio! de a 3iabi it">
3/19/13
1919
1istori2ue ,
4oi de Moore
(2/2)
3/19/13
1111
1istori2ue ,
'ate ",-" ",-2 ",-4 ",-0 ",02 ",05 ",0, ",,4 ",,5 ",,",,, 2### 2##2 Pentium 56 Processeur 4##4 0##0 0#0# 0#06 0#206 0#306 0#406 Pentium Pentium Pro Pentium 55 Pentium 555 Nb (ransistors 2 3## 6 ### 4.5## 2, ### "34 ### 2-5 ### " 2## ### 3 "## ### 5 5## ### - 5## ### , 5## ### 42 ### ### 55 ### ### )%rigraphie
3/19/13
Architecture des
1212
1istori2ue ,
&
a premire machi!e
Additio!s et soustractio! de !ombres d"cimauP
Machi!e ou7erte
3/19/13
Architecture des
1313
1istori2ue ,
&
es premires machi!es
Architecture des ordi!ateurs
%!te-rator A!d Ca cu ator)
19./
3/19/13
1.1.
1istori2ue ,
&
&
3/19/13
Architecture des
1/1/
1istori2ue ,
&
es machi!es e! 2992
(1/2)
App e iMac
&
1$ om!ibooA /19
3/19/13
Architecture des
1010
1istori2ue ,
&
es machi!es e! 2992
(2/2)
0. bits Architecture
3/19/13
Architecture des
1717
des
Architecture des ordinateurs
4es premires machi!es = ca cu er "taie!t pureme!t m"ca!i2ues , bou iersC aba2uesC >>> (a!ti2uit")> $remire 7raie machi!e = ca cu er , $asca C 10.2C machi!e = additio!!er> Machi!e = mu tip ier , 4eib!i6C 109.C 1:1:
&
&
3/19/13
Machi!e = ca cu er = cartes per3or"es , 1erma!! 1o erithC 1::/C 3aci ite e rece!seme!t am"ricai!> Machi!es i!dustrie es pour a comptabi it" et es statisti2ues> Ces machi!es so!t = base de re ais " ectrom"ca!i2ues (AiAe! et Stibit6C 1930J1939)>
&
3/19/13
1919
$remire machi!e = ca cu er " ectro!i2ue , '@%ACC 19..C 'cAert et Mauch 8C 1:999 tubes " ectro!i2uesC machi!e = pro-ramme cRb "> Machi!e = pro-ramme e!re-istr", Foh! &o! @euma!!C 19.0C es i!structio!s so!t e!re-istr"es da!s a m"moire du ca cu ateur , ordi!ateur>
3/19/13 2929
&
&
MicroJordi!ateurs , 1909J79C uti isatio! des circuits i!t"-r"s 4S%> $remier microprocesseur , %!te C 1971C microprocesseur .99.C puis :99:C premier microJordi!ateur , e Micra C 1973C Era!ceC puis ?A tairC 197/C 'tatsJK!is>
3/19/13 2121
&
(rdi!ateurs de p us e! p us puissa!tsC bas"s sur des microprocesseurs per3orma!ts , $e!tiumC $oTer $CC >>> @ou7e es architectures de microprocesseurs , #%SC> App icatio!s mu tim"diaC r"seauPC >>> 2222
&
&
3/19/13
3/19/13
2323
4?" "me!t de base d?u! ca cu ateur est co!stitu" par ?unit centrale de traitement (KCT) (u C$K , Ce!tra $rocessi!- K!it)> 4a C$K est co!stitu"e ,
9
&
3/19/13 9
4?unit dentres,sorties ('/S) est u! i!term"diaire e!tre e ca cu ateur et e mo!de ePt"rieur> 4?unit de transfert est e support mat"rie de a circu atio! des do!!"es> 4es "cha!-es d?ordres et de2/2/ do!!"es
&
&
3/19/13
4a m"moire peut ]tre 7ue comme u! e!semb e de cellules ou cases co!te!a!t chacu!e u!e i!3ormatio! ,
u!e 3/19/13 i!structio!
9
2020
&
4a r"a isatio! mat"rie e des ordi!ateurs est -"!"ra eme!t bas"e sur ?architecture de 0on Neumann,
Pri+h ri !ues
3/19/13
2727
&
4e $ "cha!-e des i!3ormatio!s a7ec a m"moire et ?u!it" d?'/SC sous 3orme de mots bi!airesC au mo8e! d?u! e!semb e de co!!ePio!s appe " bus> 3/19/13 2:2:
Pri+h ri!ues
4e bus
&
e bus dadresses permet au $ de sp"ci3ier ?adresse de a case m"moire = ire ou = "crire\ e bus de donnes permet es tra!s3erts e!tre e $ et a m"moire ou es '/S\ e bus de commande tra!smet es ordres de ecture et d?"criture de a m"moire et des '/S>
2929
3/19/13
3/19/13
3939
&
K! $ se pr"se!te sous a 3orme d?u! circuit i!t"-r" mu!i d?u! !ombre -"!"ra eme!t importa!t de broches> 'Pemp es ,
9
&
%!te :9:/C :9:0C Yi o- Y:9 , .9 brochesC D%$ (Dua %!J i!e $acAa-e)\ Motoro a 0:999 , 0. brochesC D%$\ %!te :93:0 , 190 brochesC $*A ($i! *rid 3131
3/19/13
schma fonctionnel 1
3/19/13
3232
K! $ eP"cute u! +ro)ramme 2ui est u!e suite d?i!structio!s stocA"es da!s a m"moire> K!e i!structio! peut ]tre cod"e sur un ou +lusieurs octets>
&
3/19/13
3333
.an)ement en mmoire1
3/19/13
3.3.
&
$our eP"cuter es i!structio!s da!s ?ordre "tab i par e pro-rammeC e microprocesseur doit sa7oir = cha2ue i!sta!t ?adresse de a prochai!e i!structio! = eP"cuter>
'Pemp e,
&
&
Ce re-istre est appe " +ointeur dinstruction (%$ , %!structio! $oi!ter) ou com+teur 3/19/13 dinstructions ou
3/3/
.emar!ues ,
&
e microprocesseur it e premier octet de ?i!structio! poi!t"e par e poi!teur d?i!structio! (code op"ratoire) et e ra!-e da!s u! re-istre appe " re-istre d?i!structio!>
&
4e code op"ratoire est d"cod" par des circuits de d"coda-e co!te!us da!s e $ > Des si-!auP de comma!de pour ?KA4 so!t produits e! 3o!ctio! de ?op"ratio! dema!d"e 2ui est a ors eP"cut"e>
3/19/13
3030
Les re)istres
&
$our eP"cuter u!e i!structio!C ?KA4 uti ise des re)istres de tra"ailC E4em+le 1 ?accumulateurC re-istre temporaire rece7a!t des do!!"es i!term"diaires> $e!da!t 2ue ?i!structio! est d"cod"eC e poi!teur d?i!structio! est i!cr"me!t" de 3aBo! = poi!ter 7ers ?i!structio! sui7a!te ,
&
&
3/19/13
3737
Les re)istres
&
A a suite de cha2ue i!structio!C u! re-istre du $ est actua is" e! 3o!ctio! du der!ier r"su tat , c?est e re)istre dtat du $ >
&
Chacu! des bits du re-istre d?"tat est u! indicateur dtat ou fla) (drapeau)>
&
3/19/13
3:3:
&
4es i!dicateurs d?"tat so!t acti7"s ors2u?u!e certai!e co!ditio! est remp ieC
E4em+le 1 e 3 a- Y est mis = 1 ors2ue a der!ire op"ratio! a do!!" u! r"su tat !u C e 3 a- C est mis = 1 ors2ue e r"su tat d?u!e additio! possde u!e rete!ueC e 3 a- AC1 Au4iliar5 Carr5 si-!a eUu!e rete!ue e!tre -roupes de . bitsU(1a 3Jb8te , demiJoctet) d^u!e 2ua!tit" de : bits>
&
&
&
3/19/13
3939
&
Toutes ces "tapes ( ecture de ?i!structio!C d"coda-eC eP"cutio!) so!t s8!chro!is"es par u! s"2ue!ceur 2ui assure e bo! d"rou eme!t des op"ratio!s ,
3/19/13
.9.9
&
$our eP"cuter e pro-ramme co!te!u da!s a #AMC e s"2ue!ceur du $ eP"cute uiJm]me u! pro-ramme appe " micro-codeC co!te!u da!s u!e #(M = ?i!t"rieur du $ >
&
4e s"2ue!ceur est diri-" par u!e hor o-e 2ui d" i7re u! si-!a de 3r"2ue!ce do!!"e permetta!t d?e!cha_!er es di33"re!tes "tapes de ?eP"cutio! d?u!e i!structio! ,
3/19/13
.1.1
&
Cha2ue i!structio! est caract"ris"e par e !ombre de p"riodes d?hor o-e (ou microc8c es) 2u?e e uti ise (do!!"e 3our!ie par e 3abrica!t du microprocesseur)>
E4em+le , hor o-e = / M16C p"riode T ` 1/f ` 9! 2 "s> Si ?i!structio! s?eP"cute e! 3 microc8c esC a dur"e d?eP"cutio! de ?i!structio! est , 3 # 9! 2 ` 9! 0 "s>
&
&
4?hor o-e est co!stitu"e par u! osci ateur = 2uart6 do!t es circuits peu7e!t ]tre i!ter!es ou ePter!es au $ >
3/19/13 .2.2
&
Structure comp te d?u! microprocesseur simp e , pour 3o!ctio!!erC u! microprocesseur !"cessite do!c au mi!imum es " "me!ts sui7a!ts ,
3/19/13
.3.3
' es perde!t eur co!te!u e! cas de coupure d?a ime!tatio!> ' es stocAe!t temporaireme!t es do!!"es et es pro-rammes> ' es peu7e!t ]tre ues et "crites par e microprocesseur\
&
Co!ser7e!t eur co!te!u e! cas de coupure d?a ime!tatio!> @e peu7e!t ]tre 2ue ues par e microprocesseur> StocAe!t es do!!"es et es pro-rammes de ma!ire d"3i!iti7e>
&
3/19/13
././
4^adressa-e m"moire
&
n i-!es d?adresses permette!t d?adresser %n cases m"moire> 6 bits d?adresses permette!t d?adresser %27 octets> #7 bits d?adresses permette!t d?adresser 722&7 octets (` 0. Ko)C >>>
E4em+le (co!su ter) , m"moire #AM 020.C capacit"` :K # : bits , 13 broches d?adresses A9 = A12C 213 ` :192 ` : Ko>
.0.0
&
3/19/13
&
3/19/13
.7.7
&
#epr"se!tatio! co!de!s"e ,
3/19/13
.:.:
Chrono)rammes de lecture,criture en mmoire K!e caract"risti2ue importa!te des m"moires est eur tem+s daccs ,
9
&
c?est e temps 2ui s?"cou e e!tre ?i!sta!t oa ?adresse de a case m"moire est pr"se!t"e sur e bus d?adresses et ce ui oa a m"moire p ace a do!!"e dema!d"e sur e bus de do!!"es>
3/19/13
&
3/19/13
/9/9
.emar!ue ,
Si e temps d?accs d?u!e m"moire est sup"rieur = u!e p"riode d?hor o-e (m"moire e!te)C e microprocesseur peut accorder = a m"moire u! temps supp "me!taire (u!e ou p usieurs p"riodes d?hor o-e)C = a dema!de de ce eJci>
&
&
Ce temps supp "me!taire est appe " tem+s dattente (Tait time , T$) ,
3/19/13
/1/1
&
3/19/13
/2/2
Conne4ion de +lusieurs bo9tiers mmoire sur le bus dun micro+rocesseur & 4es bo_tiers m"moire possde!t u!e broche !ot"e CS (Chip Se ect)>
9
Si CS`9 e circuit peut ]tre u ou "crit> Si CS`1 e circuit est ePc u du ser7ice ,
&
ses broches de do!!"es D9 = D7 passe!t = ?"tat de haute im+dance tout se passe comme si a m"moire "tait d"co!!ect"e du bus de do!!"es du microprocesseurC
/3/3
&
3/19/13
&
'Pemp e , co!!ePio! de trois bo_tiers m"moire d?u!e capacit" de : Ko chacu! (13 i-!es d?adresses) sur u! bus d?adresse de 10 bits ,
3/19/13
/./.
3/19/13
////
Mappi!- m"moire
&
3/19/13
/0/0
&
4es trois bits A13C A1. et A1/ uti is"s pr"c"demme!t 3our!isse!t e! 3ait : combi!aiso!sC de 999 = 111C d?oa a possibi it" de co!!ecter Dus2u?= : bo_tiers m"moire de : Ko sur e bus> 4a m"moire tota e imp a!t"e de7ie!t do!c de : # % &o ' () &o : *aleur ma+imale possib e a7ec 10 bits d?adresses> $our ce aC i 3aut uti iser u! circuit de 3/19/13 dcoda)e
&
&
&
&
/7/7
&
&
3/19/13
/9/9
Fus2u^= a 3i! des a!!"es 79C o! uti isait des m"moires = tore ma-!"ti2ueC e!tes de 3aib es capacit"s> Actue eme!tC o! uti ise des m"moires = semiJco!ducteurs>
3/19/13
0909
M"moires mortes,
2
&
./M1
read (! 8 Memor8> M"moire = ecture seu eC sa!s "criture> So! co!te!u est pro-ramm" u!e 3ois pour toutes par e co!structeur>
9
A7a!ta-e, Eaib e coMt> %!co!7"!ie!t, !"cessite u!e productio! e! trs -ra!de 2ua!tit"
2
&
P./M1
$ro-rammab e #ead (! 8 Memor8, #(M pro-rammab e u!e seu e 3ois par ?uti isateur (#(M (T$ , (!e Time $ro-rammi!-) e! 3aisa!t sauter des 3usib es> @"cessite u! pro-rammateur sp"cia is" , app icatio! d?u!e te!sio! de 3/19/13 pro-rammatio! (21 ou 2/ &) pe!da!t 29 ms> 0101
2
&
EP./M 1
'rasab e $#(MC appe "e aussi K&$#(M> #(M pro-rammab e " ectrib2ueme!t a7ec u! pro-rammateur et e33aBab e par ePpositio! =u! ra8o!!eme!t u trab7io et pe!da!t 39 mi!utes> Eami e 27!!!C ePemp e , 270. (: Ko)C 272/0 (32 Ko)> A7a!ta-e , repro-rammab e par ?uti isateur>
2
&
EEP./M 1
' ectrica 8 'rasab e $#(M> #(M pro-rammab e et e33aBab e " ectrib2ueme!t> 4ecture = 7itesse !orma e (, 199 !s)> 'criture (` e33aceme!t) trs e!te (- 19 ms)> App icatio! , es ''$#(M co!tie!!e!t des do!!"es 2ui peu7e!t ]tre modi3i"es de temps e! tempsC ePemp e , 3/19/13 paramtres de co!3i-uratio! des ordi!ateurs>0202
M"moires 7i7es ,
2
(.AM, Static #a!dom Access Memor8> M"moire stati2ue = accs a "atoireC = base de bascu es = semico!ducteurs = deuP "tats (bascu es #S)> Eami e 02!!!C ePemp e , 0212: (10 Ko)> A7a!ta-e , trs rapideC simp e d?uti isatio!> %!co!7"!ie!t , comp i2u" = r"a iser>
&
&
&
D.AM , D8!amic #AM> +as"e sur a char-e de co!de!sateurs , co!de!sateur char-" ` 1C co!de!sateur d"char-" ` 9>
&
&
3/19/13
&
0303
Lar)eur de bus1
4e microprocesseur %!te :9:0 est u! microprocesseur 10 bits>
&
Date1
apparu e! 197:> C?est e premier microprocesseur de a 3ami e %!te :9P:0 (:9:0C :91:0C :92:0C :93:0C :9.:0C $e!tiumC >>>)>
&
&
;rocha)e1
&
% se pr"se!te sous a 3orme d?u! bo_tier D%$ (Dua %!J i!e 3/19/13 0.0. $acAa-e) =.9 broches
3/19/13
0/0/
Sch"ma 3o!ctio!!e
3/19/13
0000
CL? , e!tr"e du si-!a d?hor o-e 2ui cade!ce e 3o!ctio!!eme!t du microprocesseur> Ce si-!a pro7ie!t d?u! )nrateur dhorlo)e , e :2:.>
&
.E(E@ , e!tr"e de remise = 6"ro du microprocesseur> 4ors2ue cette e!tr"e est mise = ?"tat haut pe!da!t au moi!s . 3/19/13 p"riodes d?hor o-eC e microprocesseur est r"i!itia0707 is", i 7a
&
&
.EAD< , e!tr"e de s8!chro!isatio! a7ec a m"moire> Ce si-!a pro7ie!t "-a eme!t du -"!"rateur d?hor o-e> @E(@ , e!tr"e de mise e! atte!te du microprocesseur d?u! "7"!eme!t ePt"rieur> MN/MX : entre de choix du mode de fonctionnement du microprocesseur :
mode minimum (M./M/ ' 01 : le %2%( fonctionne de manire autonome! il g3nre uiJm]me e bus de comma!de (#DC G#C >>>) \ 3/19/13 0:0:
9
&
&
&
IN@A , %!terrupt AcA!oT ed-eC i!di2ue 2ue e microprocesseur accepte ?i!terruptio!> A/LD et ALDA 1 si-!auP de dema!de d?accord d?accs direct = a m"moire (DMA)> (= B (> 1 si-!auP d?"tat i!di2ua!t e 0909
&
&
3/19/13
3/19/13
7979
&
4e d"mu tip ePa-e des si-!auP AD9 = AD1/ (ou A10/S3 = A19/S0) se 3ait e! m"morisa!t ?adresse ors2ue ce eJci est pr"se!te sur e bus A/DC = ?aide d?u! "errou DlatchE: ensemble de bascu es D>
&
4a comma!de de m"morisatio! de ?adresse est -"!"r"e par e microprocesseur , c?est e si-!a ALE: Address Latch Enable$
3/19/13
7171
3/19/13
7272
3/19/13
7373
&
.D 1 #eadC si-!a de ecture d?u!e do!!"e> F. , GriteC si-!a d?"criture d?u!e do!!"e> M/IO : Memor8/%!putJ(utputC i!di2ue si e :9:0 adresse a m"moire (M/%( ` 1) ou es e!tr"es/sorties (M/%( ` 9)> 3/19/13 7.7.
&
&
3/19/13
7/7/
&
4es si-!auP D'@ et DT/: sont utilis3s pour la commande de tampons de bus (buffers) $ermetta!t d?amp i3ier e coura!t 3our!i par e microprocesseur sur e bus de do!!"es>
&
3/19/13
7070
&
;AE , +us 1i-h '!ab eC si-!a de ecture de ?octet de poids 3ort du bus de do!!"es> 4e :9:0 possde u! bus d?adresses sur 29 bitsC d?oa a capacit" d?adressa-e de 1 Mo ou /12 Kmots de 10 bits (bus de do!!"es sur 10 bits)>
3/19/13 7777
&
3/19/13
7:7:
&
Seu s es bits A1 = A19 ser7e!t = d"si-!er u!e case m"moire da!s cha2ue ba!2ue de /12 Ko> 4e microprocesseur peut ai!si ire et "crire des do!!"es sur : bits ou sur 10 bits, /+1' A9 octets tra!s3"r"s 9 9 1 1 9 1 9 1 es deuP octets (mot comp et) octet 3ort ( adresse impaire) (ctet 3aib e (adresse paire) aucu! octet
&
&
#ema2ue, 4e :9:0 !e peut ire u!e do!!"e sur 10 bits e! u!e 3/19/13 7979 seu e 3ois u!i2ueme!t si ^octet de poids 3ort de cette do!!"e est
3/19/13
:9:9
3/19/13
:1:1
4^u!it" d^eP"cutio! ( 'K , 'Pecutio! K!it)\ 4^u!it" d^i!ter3ace de bus (+%K, +us %!ter3ace K!it)
3/19/13
:2:2
3/19/13
:3:3
lunit3 dinterface de bus (B>?1 recherche les instructions en m3moire et les range da!s u!e file dattente G lunit3 de+3cution (7?1 e+3cute les instructions contenues dans la file dattente 4es deuP u!it"s 3o!ctio!!e!t simu ta!"me!tC d?oa u!e acc" "ratio! du processus d?eP"cutio! d?u! pro-ramme (3o!ctio!!eme!t se o! e pri!cipe du +i+e-lineE$
3/19/13 :.:.
&
&
&
&
% s peu7e!t ]tre "-a eme!t co!sid"r"s comme : re-istres sur : 3/19/13 :/:/
&
&
(P 1 (tacJ Pointer: +ointeur de +ile Dla +ile est une Kone de sau"e)arde de do!!"es e! cours d?eP"cutio! d?u! pro-ramme) \ ;P 1 ;ase Pointer: +ointeur de base: utilis +our adresser des donnes sur a pi e>
:0:0
3/19/13
&
&
C3 , i!dicateur de rete!ue (carr8)\ P3 , i!dicateur de parit"\ A3 , i!dicateur de rete!ue auPi iaire\ L3 , i!dicateur de 6"ro\ :7:7
&
&
&
& &
C( , Code Se-me!tC re-istre de se-me!t de code\ D( , Data Se-me!tC re-istre de se-me!t de do!!"es\ (( , StacA Se-me!tC re-istre de se-me!t de pi e\
4?espace m"moire adressab e par e :9:0 est de 229 ` 1 Mo Cet espace est di7is" e! se)ments> K! se-me!t est u!e 6o!e m"moire de 0. Ko (0/ /30 octets) d"3i!ie par so! adresse de d"part 2ui doit ]tre u! mu tip e de 10>
3/19/13 :9:9
&
&
&
Ai!siC u!e case m"moire est rep"r"e par e :9:0 au mo8e! de deuP 2ua!tit"s sur 10 bits ,
9
?adresse d?u! se-me!t\ u! d"p aceme!t ou offset (appe " aussi adresse effecti"e) da!s ce se-me!t> Cette m"thode de -estio! de a m"moire est appe "e se)mentation de la mmoire>
9999
3/19/13
&
4a do!!"e d?u! coup e (se-me!tCo33set) d"3i!it u!e adresse lo)i!ueC !ot"e sous a 3orme se)ment 1 offset> 4?adresse d?u!e case m"moire do!!"e sous a 3orme d?u!e 2ua!tit" sur 29 bits (/ di-its hePa) est appe "e adresse +h5si!ue car e e correspo!d = a 7a eur e!7o8"e r"e eme!t sur e bus d?adresses A9 J A19>
&
3/19/13
9191
&
&
&
9292
93 93
3/19/13
9# 9#
&xe$ple !
%S ! SI, &S ! %I"
Le registre de seg$ent de
SS ! SP
3/19/13
3/19/13
9/9/
3/19/13
9090
3/19/13
9797
Mnralits1
&
Cha2ue $ reco!!ait u! e!semb e d?i!structio!s appe " Neu dinstructions (%!structio! Set) 3iP" par e co!structeur>
&
$our es $ c assi2uesC e !ombre d?i!structio!s reco!!ues 7arie e!tre 7/ et 1/9 (microprocesseurs CI(C 1 Com+le4 Instruction (et Com+uter)>
&
% ePiste aussi des $ do!t e !ombre d?i!structio!s est trs r"duit (microprocesseurs .I(C 1 .educed Instruction (et Com+uterE 1 entre #= et 39 i!structio!sC permetta!t d?am" iorer e temps d?eP"cutio! des pro-rammes>
&
K!e i!structio! est d"3i!ie par so! code op"ratoireC 7a eur !um"ri2ue bi!aire di33ici e = ma!ipu er par ?]tre humai!>
3/19/13
9:9:
&
3/19/13
9999
' es permette!t de d"p acer des do!!"es d?u!e source "ers une destination 1
9
&
.emar!ue 1
9 le 3/19/13
2
&
(5nta4e 1
M(& desti!atio!Csource % ePiste di33"re!tes 3aBo!s de sp"ci3ier ?adresse d?u!e case m"moire da!s u!e i!structio! , ce so!t es modes dadressa)e$
&
3/19/13
E4em+les de modes
191191
& &
mo* bl!@0522=A : transfre le contenu de la case m3moire dadresse effecti*e (offset1 12991 7ers e re-istre +4> 4?i!structio! 3/19/13 comporte
&
192192
&
(! peut cha!-er e se-me!t ors d?u! adressa-e direct e! aDouta!t u! +rfi4e de se)ment: E4em+le 1 mo" bl:es 1P#%==AQ$ /n +arle alors de for8a)e de se)ment$
&
3/19/13
193193
.emar!ue 1
Da!s e cas de ?adressa-e imm"diat de a m"moireC i 3aut i!di2uer e 3ormat de a do!!"e , octet ou mot (2 octets) car e :9:0 peut ma!ipu er des do!!"es sur : bits ou 10 bits>
&
&
$our ce aC o! doit uti iser u! s+cificateur de format 1 mo* byte ptr @0022=A!(B= : transfre la *aleur (B= (sur 0 octet1 dans la case m"moire d?o33set 11991 \ mo* word ptr @0022=A!(B= : transfre la *aleur 22(B= (sur 5 octets1 dans les cases m"moire d?o33set 11991 et 11911>
&
&
3/19/13
19.19.
2 &
.emar!ue 1 les micro+rocesseurs Intel ran)ent loctet de +oids faible dune donne sur p usieurs octets = ?adresse a p us basse (3ormat Little EndianE$ Modes dadressa)e "olus 1 adressage bas : ?o33set est co!te!u da!s u! re-istre de base +X ou +$>
2 &
3/19/13
19/19/
&
adressa)e inde4 1 semblable B ladressa)e bas: sauf !ue loffset est contenu dans u! re-istre d?i!deP S% ou D%C associ"s par d"3aut au se-me!t de do!!"es> E4em+les 1 mo7 a CVsiW , char-e e re-istre A4 a7ec e co!te!u de a case m"moire do!t ?o33set est co!te!u da!s S% \ mo7 VdiWCbP , char-e es cases m"moire d?o33set D% et D% Z 1 a7ec e co!te!u du re-istre +X>
3/19/13 190190
&
&
&
&
.emar!ue 1 u!e 7a eur co!sta!te peut "7e!tue eme!t ]tre aDout"e auP re-istres de base ou d?i!deP pour obte!ir ?o33set> 'Pemp e , mo7 VsiZ1991WCaP 2ui peut aussi s?"crire mo7 VsiWV1991WCaP ou e!core mo7 1991VsiWCaP
&
&
3/19/13
197197
&
4es modes d?adressa-e bas"s ou i!deP"s permette!t a ma!ipu atio! de tab eauP ra!-"s e! m"moire> 'Pemp e ,
mo7 siC9 mo7 Tord ptr tab eVsiWC123.1 3/19/13
19:19:
&
2 &
adressa)e bas et inde4 1 ?o33set est obte!u e! 3aisa!t a somme d?u! re-istre de baseC d?u! re-istre d?i!deP et d?u!e 7a eur co!sta!te> 'Pemp e , mo7 ahCVbPZsiZ1991W
&
&
4es i!structio!s arithm"ti2ues de base so!t ?addition: la soustraction: la multi+lication et a di"ision$ Plusieurs modes dadressa)e sont possib es> Addition 1
3/19/13
&
&
&
(oustraction 1 (O; o+rande#:o+rande% 4?op"ratio! e33ectu"e est , op"ra!de1 * op3rande0 G op3rande5 Multi+lication 1
&
&
MOL o+rande: oR o+rande est 3/19/13 111111 un re)istre ou une case mmoire$
'Pemp es ,
mo* al!B0 mo7 b C32 mu b + A/ ' B0 # H5
3/19/13
112112
&
Di"ision 1 DI0 o+randeC oa op"ra!de est u! re-istre ou u!e case m"moire> Cette i!structio! e33ectue a di7isio! du co!te!u de AX par u! op"ra!de sur 1 octet ou e co!te!u de (DXCAX) par u! op"ra!de sur 2 octets>
3/19/13 113113
&
&
&
A9K : addition a*ec retenue 4 LBB : soustraction a*ec retenue 4 >.K : incr3mentation dune unit3 4 97K : d3cr3mentation dune unit3 4 >M?L : multiplication sign3e 4 >9>M : di*ision sign3e
3/19/13
11.11.
Ce so!t des i!structio!s 2ui permette!t de ma!ipu er des do!!"es au !i7eau des bits> 4es op"ratio!s o-i2ues de base so!t ,
9
3/19/13
3/19/13
110110
&
/O lo)i!ue 1 /. o+rande#:o+rande% 4?op"ratio! e33ectu"e est , op"ra!de1 * op3rande0 N? op3rande5 App icatio! , mise ca 1 d?u! ou p usieurs bits da!s u! mot> 'Pemp e , da!s e mot 19119991+ o! 7eut mettre = 1 es bits 1 et 3 sa!s modi3ier es autres bits>
4es i!structio!s correspo!da!tes peu7e!t s?"crire , mo" ah:#=##===#; or ah:====#=#=;
&
&
&
&
3/19/13
117117
3/19/13
11:11:
&
/O e4clusif 1 H/. o+rande#:o+rande% 4?op"ratio! e33ectu"e est , op"ra!de1 * op3rande0 op3rande5 'Pemp e , mise = 6"ro d?u! re-istre , mo7 a C2/ Por a Ca + AL ' 2
&
&
&
&
&
3/19/13
119119
&
Instructions de dcala)es et de rotations 1 ces i!structio!s d"p ace!t d?u! certai! !ombre de positio!s es bits d?u! mot 7ers a -auche ou 7ers a droite> Da!s es d"ca a-esC es bits 2ui so!t d"p ac"s so!t remp ac"s par des 3/19/13 129129 6"ros>
&
&
&
Dcala)e lo)i!ue "ers la droite D(hift .i)htE 1 (A. o+rande:n Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a droite>
&
&
&
&
&
+ entr3e dun 2 F la place du bit de poids fort 4 le bit sortant passe F tra*ers lindicateur de rete!ue CE> 3/19/13
&
121121
&
Dcala)e lo)i!ue "ers la )auche D(hift LeftE 1 (AL o+rande:n Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a droite> 'Pemp e , mo7 a C11991911+ sh a C1
3/19/13 122122
&
&
Dcala)e arithmti!ue "ers la droite 1 (A. o+rande:n Ce d"ca a-e co!ser7e e bit de si-!e bie! 2ue ce uiJci soit d"ca "> 'Pemp e , mo7 a C11991911+ sar a C1
&
&
&
&
&
Dcala)e arithmti!ue "ers la )auche 1 (AL o+rande:n 3/19/13 123123 & %de!ti2ue au d"ca a-e o-i2ue 7ers a -auche>
&
&
A++lications des instructions de dcala)e 1 D cadrage F droite dun groupe de bits 'Pemp e , o! 7eut a7oir a 7a eur du 2uartet de poids 3ort du re-istre A4 , mo7 a C11991911+ + AL ' mo7 c C. shr a Cc
&
&
&
222211##$
&
&
&
D test de l3tat dun bit dans un mot 'Pemp e , o! 7eut d"termi!er ?"tat du bit / de A4 , mo7 c C0 shr a Cc
&
&
&
&
3/19/13
&
ou
mo7 c C3
12.12.
&
multiplication ou di*ision par une puissance de 5 : un d3calage F droite re*ient F 3aire u!e di7isio! par 2 et u! d"ca a-e = -aucheC u!e mu tip icatio! par 2> 'Pemp e , mo7 a C.: mo7 c C3 shr a Cc + AL ' )%/5H ' (
&
&
&
&
&
3/19/13
12/12/
&
.otation B droite D.otate .i)htE 1 ./. o+rande:n Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a droite et r"i!Decte par a -auche es bits sorta!t>
&
&
'Pemp e , mo7 a C11991911+ ror a C1 + r3inEection du bit sortant <ui est copi3 dans lindicateur de retenue KO
3/19/13 120120
&
&
&
&
.otation B )auche D.otate LeftE 1 ./L o+rande:n Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a -auche et r"i!Decte par a droite es bits sorta!t>
&
&
&
&
&
&
.otation B droite a"ec +assa)e +ar lindicateur de retenue (#otate #i-ht throu-h Carr8) , #C# op"ra!deC! Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a droite e! passa!t par ?i!dicateur de rete!ue CE>
3/19/13 12:12:
& &
&
&
.otation B )auche a"ec +assa)e +ar lindicateur de retenue (#otate 4e3t throu-h Carr8) , #C4 op"ra!deC! Cette i!structio! d"ca e ?op"ra!de de ! positio!s 7ers a -auche e! passa!t par ?i!dicateur de rete!ue CE>
3/19/13 129129
& &
&
4es i!structio!s de bra!cheme!t (ou saut) permette!t de modi3ier ?ordre d?eP"cutio! des i!structio!s du pro-ramme e! 3o!ctio! de certai!es co!ditio!s> % ePiste 3 t8pes de saut ,
9
3/19/13
139139
&
Instruction de saut inconditionnel 1 UMP label Cette i!structio! e33ectue u! saut (Dump) 7ers e abe sp"ci3i"> K! abe (ou "ti2uette) est u!e repr"se!tatio! s8mbo i2ue d?u!e i!structio! e! m"moire ,
&
&
&
E4em+le 1
3/19/13 131131
&
Instructions de sauts conditionnels 1 Ucondition %abe% K! saut co!ditio!!e !?est eP"cut" 2ue si u!e certai!e co!ditio! est satis3aiteC si!o! ?eP"cutio! se poursuit s"2ue!tie eme!t = ?i!structio! sui7a!te>
&
3/19/13
132132
&
nom 4a co!ditio! du saut porte instructio n sur ?"tat de ?u! (ou p usieurs) des i!dicateurs FY abe Fump i3 Yero d?"tat (3 a-s) du microprocesseur , F@Y abe Fump i3 @ot Yero F' abe F@' abe FC abe F@C abe FS abe 3/19/13 F@S abe Fump i3 '2ua Fump i3 @ot '2ua Fump i3 Carr8
Fump i3 @ot Carr8 saut si CE ` 9 Fump i3 Si-! saut si SE ` 1 133133 Fump i3 @ot Si-! saut si SE `
&
3/19/13
13.13.
&
.emar!ue 1
i ePiste u! autre t8pe de saut co!ditio!!e C les sauts arithmti!ues> % s sui7e!t e! -"!"ra ?i!structio! de comparaiso! ,
condition ` Q T nombres nombres non CMP o+rande#:o+rande% si)ns si)ns F'd abe RS label RL label F@' abe F'd abe RA label RB label F@' abe
&
&
E4em+le1 3/19/13
13/13/
&
'Pemp e d?app icatio! des i!structio!s de sauts co!ditio!!e s , o! 7eut additio!!er deuP !ombres si-!"s @1 et @2 se trou7a!t respecti7eme!t auP o33sets 11991 et 11911> 4e r"su tat est ra!-" = ?o33set 11921 s?i est positi3C = ?o33set 11931 s?i est !"-ati3 et = ?o33set 119.1 s?i est !u ,
&
&
3/19/13
130130
&
A++el de sous-+ro)rammes 1 pour "7iter a r"p"titio! d?u!e m]me s"2ue!ce d?i!structio!s o! r"di-e a s"2ue!ce u!e seu e 3ois e! ui attribua!t u! !om et o! ?appe e ors2u?o! e! a besoi!> 4e pro-ramme appe a!t est e +ro)ramme +rinci+al$ 4a s"2ue!ce appe "e est u! sous-+ro)ramme ou +rocdure$ 'criture d?u! sousJpro-ramme ,
&
&
&
&
3/19/13
137137
&
.emar!ue 1 u!e proc"dure peut ]tre de t8pe NEA. si e e se trou7e da!s e m]me se-me!t ou de t8pe 3A. si e e se trou7e da!s u! autre se-me!t> 'Pemp e , ssepro-1 ssepro-2 $#(C @'A# $#(C EA#
&
&
&
&
3/19/13
13:13:
&
4ors de ?eP"cutio! de ?i!structio! CA44C e poi!teur d?i!structio! %$ est char-" a7ec ?adresse de a premire i!structio! du sousJpro-ramme> 4ors du retour au pro-ramme appe a!tC ?i!structio! sui7a!t e CA44 doit ]tre eP"cut"eC c?estJcaJdire 2ue %$ doit ]tre rechar-" a7ec ?adresse de cette i!structio!>
&
3/19/13
139139
&
A7a!t de char-er %$ a7ec ?adresse du sousJpro-rammeC ?adresse de retour au pro-ramme pri!cipa C c?estJcaJdire e co!te!u de %$C est sau7e-ard"e da!s u!e 6o!e m"moire particu ire appe "e +ile$ 4ors de ?eP"cutio! de ?i!structio! .E@: cette adresse est r"cup"r"e = partir de a pi e et rechar-"e da!s %$C
1.91.9 ai!si e pro-ramme appe a!t peut se
&
& 3/19/13
&
4e sommet de a pi e est rep"r" par u! re-istre appe " +ointeur de +ile D(P 1 (tacJ Pointer) 2ui co!tie!t ?adresse de a der!ire do!!"e empi "e> 4a pi e est d"3i!ie da!s e se)ment de +ile do!t ?adresse de d"part est co!te!ue da!s e re-istre ((>
&
3/19/13
1.11.1
&
.emar!ue 1 a pi e et e pro-ramme croissent en sens in"erse pour dimi!uer e ris2ue de co isio! e!tre e code et a pi e da!s e cas oa ce eJci est p ac"e da!s e m]me se-me!t 2ue e code (SS ` CS)> 4ors de ?appe d?u! sousJpro-rammeC ?adresse de retour au pro-ramme appe a!t (co!te!u de %$) est empi "e et e poi!teur de pi e S$ est automati2ueme!t d"cr"me!t"$ Au retour du sousJpro-rammeC e poi!teur d?i!structio! %$ est rechar-" a7ec a 7a eur co!te!ue sommet de a pi e et S$ est incrment$
&
&
&
3/19/13
1.21.2
&
4a pi e peut "-a eme!t ser7ir = sau7e-arder e co!te!u de re-istres 2ui !e so!t pas automati2ueme!t sau7e-ard"s ors de ?appe d?u! sous pro-ramme , instruction dempilage : &'() oprande instruction de d3pilage : &O& oprande
3/19/13
&
&
&
1.31.3
& &
.emar!ue 1 la "aleur de (P doit Ttre initialise +ar le +ro)ramme +rinci+al a"ant de pou7oir uti iser a pi e> Otilisation de la +ile +our le +assa)e de +aramtres 1 +our transmettre des +aramtres = u!e proc"dureC o! peut es p acer 3/19/13 1..1.. sur a pi e a7a!t ?appe de a
&
&
&
4?i!structio! ret . permet de retour!er au pro-ramme pri!cipa et d?i!cr"me!ter e poi!teur de pi e de . u!it"s pour d"pi er es paramtres a3i! de remettre a pi e da!s so! "tat i!itia > 'tat de a pi e ,
&
3/19/13
1./1./
& &
2$7 Mthodes de +ro)rammation Eta+es de la ralisation dun +ro)ramme 1 D 93finir le problme 6a r3soudre : <ue fautPil faire e+actement U D 93terminer des algorithmes! des organigrammes : comment faire U Var <uoi commencer!
3/19/13
&
&
&
puis poursui7re f
1.01.0
&
.alisation +rati!ue dun +ro)ramme 1 D :3daction du code source en assembleur 6a laide dun 3diteur (logiciel de traitement de tePte ASC%%) , Q edit sous MSJD(SC Q !otepad (b ocJ!ote) sous Gi!doTsC
1.71.7 D Assemblage du code source
&
& 3/19/13
&
(tructure dun fichier source en assembleur 1 +our faciliter la lisibilit du code source e! assemb eurC o! e r"di-e sous a 3orme sui7a!te , labels instructions commentaires abe 1 , mo7 aPC091 \ ceci est u! comme!taire >>>
3/19/13
&
& &
&
>>>
1.:1.:
& &
Directi"es +our lassembleur 1 D Nrigine du programme en m3moire : N:S offset 'Pemp e , or- 19991 D 93finitions de constantes : nom constante 78? *aleur 'Pemp e , escape e2u 1+1 D :3ser*ation de cases m3moires :
3/19/13 1.91.9
& &
& &
7$# Dfinitions
K!e interface dentres,sorties est u! circuit i!t"-r"permetta!t au microprocesseur de commu!i2uer a7ec ?e!7iro!!eme!t ePt"rieur (p"riph"ri2ues) , c a7ierC "cra!C imprima!teC modemC dis2uesC processus i!dustrie C >>> 4es i!ter3aces d?'/S so!t co!!ect"es 3/19/13 1/91/9 au microprocesseur = tra7ers es bus
&
&
4es poi!ts d?accs auP i!ter3aces so!t appe "s +orts$ 'Pemp es ,
&
3/19/13
1/11/1
&
3/19/13
1/21/2
&
&
& 3/19/13
&
D adressage indpendant : %e microprocesseur consid+re deux espaces distincts : Q ?espace d?adressa-e des m"moires \ Q ?espace d?adressa-e des ports d?'/S> C?est e cas du microprocesseur :9:0 ,
1/.1/.
&
&
&
3/19/13
&
Consquences:
9
contrairement ladressage cartographique, lespace mmoire total adressable nest pas diminu; ladressage des port dE/S peut se faire a ec une adresse plus courte !nombre de bits infrieur" que pour les circuits mmoires;
&
les instructions utilises pour lacc#s la mmoire ne sont plus utilisables pour
lacc#s au$ ports dE/S : ceu$%ci disposent 3/19/13 1//1// dinstructions spcifiques;
9
& &
#.$ %estion des ports dE/S par le &0&# (e )*)+ dispose dun espace mmoire de , -o !adresse dune case mmoire sur .* bits" et dun espace dE/S de +/ 0o !adresse dun port dE/S sur ,+ bits"' (e signal permettant de diffrencier ladressage de la mmoire de ladressage des ports dE/S est la ligne '/IO :
3/19/13
&
&
(es instructions de lecture et dcriture dun port dE/S sont respecti ement les instructions () et *+,. Elles placent la ligne '/IO 0 alors que linstruction MOV place celle-ci 1. (ecture dun port dE/S :
si ladresse du port dE/S est sur un octet : $ % &', adr esse : lecture dun port sur ) bits; $ % &(, adr esse : lecture dun port sur ,+ bits' si ladresse du port dE/S est sur deu$ octets : $ % &', )( : lecture dun port sur ) bits; $ % &(, ) ( : lecture dun port sur ,+ 1/71/7 bits'
&
3/19/13
&
si ladresse du port dE/S est sur deu$ octets : $ % &(, ) ( : lecture dun port sur ,+ bits'
&', )(
&
E$emples :
3/19/13
lecture dun port dE/S sur ) bits ladresse 4**5 :
1/:1/:
&
7$' L interface +arallle 6%22 4e r[ e d?u!e i!ter3ace para e est de tra!s3"rer des do!!"es du microprocesseur 7ers des p"riph"ri2ues et i!7erseme!tC tous es bits de do!!"es "ta!t e!7o8"s ou regcus simu bta!"me!t> 4e :2// est u!e i!ter3ace para e pro-rammab e , e e peut ]tre co!3i-ur"e e! e!tr"e et/ou e! sortie par pro-ramme>
&
&
3/19/13
1/91/9
3/19/13
109109
&
(chma fonctionnel ,
3/19/13
101101
&
Accs au4 re)istres du 6%22 , es i-!es d?adresses A9 et A1 d"3i!isse!t es adresses des re-istres du -1 :2// , /R 0S -0 R. operation
* * , * * , , 3 , 3/19/13 3 * , * * , * , 3 , 3 * * * , , , , 3 * , , , , * * * * 3 , , * * * * * * * , * * lecture du port 7 lecture du port 8 lecture du port C criture du port 7 criture du port 8 criture du port C criture du registre de commande pas de transaction illgal pas de transaction 102102
&
.emar!ue , e re-istre de comma!de est accessib e u!i2ueme!t e! "critureC a ecture de ce re-istre !?est pas autoris"e> Confi)uration du 6%22 , es ports peu7e!t ]tre co!3i-ur"s e! e!tr"es ou e! sorties se o! e co!te!u du re-istre de comma!de> De p us e :2// peut 3o!ctio!!er se o! 3 modes , mode =C mode # ou mode %> 3/19/13 103103
&
&
3/19/13
10.10.
&
Conne4ion du 6%22 sur les bus du 6=67 1 le bus de donnVees du 6%22 est sur 6 bits a ors 2ue ce ui du microprocesseur :9:0 est sur 10 bits> (! peut do!c co!!ecter e bus de do!!hees du :2// sur es i-!es de do!!hees de poids 3aib e du :9:0 (D9 J D7) ou sur ce es
3/19/13
&
&
&
10/10/
&
Ai!si ?u! de ces deuP si-!auP A9 ou +1' doit ietre uti ishe pour she ectio!!er e :2// ,
3/19/13
100100
&
4e d"codeur d?adresses d"termi!e ?adresse de base du 6%22 G les li)nes A# et A% d"termi!e!t es adresses des re-istres du :2//> 'Pemp e , co!!ePio! du :2// sur a partie 3aib e du bus de do!!"es du :9:0C a7ec d"coda-e d?adresses i!comp et ( es i-!es d?adresses A3 J A1/ !e so!t pas toutes uti is"es) ,
&
3/19/13
107107
&
&
&
&
.emar!ue 1 si o! 7eut 2ue e :2// possde des adresses co!s"cuti7es (par ePemp e 3991C3911C 3921 et 3931)C o! peut uti iser e sch"ma sui7a!t 2ui ePp oite tout e bus de do!!"es (D9 J D1/) du :9:0 ,
&
3/19/13
109109
3/19/13
179179
&
3/19/13
171171
&
&
&
&
co!tro e e2u 3901 mo7 dPCco!tro e \ i!itia isatio! du port A e! e!tr"e mo7 a C991 \ et du port + e! sortie (mode 9) ,
&
&
&
out dPCa \ co!tro e ` 19919999+ ` 991 bouc e , mo7 dPCportA i! a CdP \ ecture du port A
&
&
&
a!d a C99999111+ \ mas2ua-e $A9C $A1 et $A2 cmp a C99999191+ \ test $A9 ` 1C $A1 ` 9 et $A2 ` 1 D!e 3auP \ !o! JL a er au abe ))3auP?? >>> mo7 a C99999991+ \ oui JL mettre $+9 ac 1
&
3/19/13
&
172172
K!e i!ter3ace s"rie permet d?"cha!-er des do!!"es e!tre e microprocesseur et u! p"riph"ri2ue bit +ar bit$
3/19/13
173173
&
as,nchrone : cha-ue octet peut .tre mis ou re/u sans dure dtermine entre un octet et e sui7a!t \ s,nchrone : %es octets successifs sont transmis par b%ocs spars par des octets de s8!chro!isatio!>
17.17.
&
3/19/13
4a tra!smissio! as8!chro!e a p us
&
E4em+le 1 tra!smissio! du caractre ?'? (code ASC%% ./1 ` 91999191+) sous 3orme s"rie se o! a !orme #S232 ,
&
3/19/13
17/17/
&
lYetat 0 correspond F une tension ngati*e comprise entre 01 et 012 34 %5tat # 6a u!e te!sio! +ositi"e com+rise entre WC et W#2 0$ Au re+os: la li)ne est Sa lVetat # (te!sio! !he-ati7e) \ le bit de start mar-ue %e d7ebut 3/19/13 170170 de %a transmission du
&
&
3/19/13
177177
&
K! circuit i!the-rhe d?i!ter3ace sherie as8!chro!e s?appe e u! OA.@ 1 Oni"ersal As5nchronous #ecei7er Tra!smitter) \ u!e i!ter3ace sherie s8!chro!e/as8!chro!e est u! O(A.@$ 'Pemp es d?i!ter3aces sheries , D %5B0 (>ntel1 4
3/19/13
&
&
$our co!!ecter ces he2uipeme!tsC o! uti ise des co!!ecteurs !orma ishes D;C ou D;%2 1
3/19/13
179179
&
Di33"re!ts si-!auP so!t tra!sport"s par ces co!!ecteurs , signal no broc"e no broc"e description sens
.12 9$2 :$2 :9S C9S 29: 2S: 2C2 :> ?@2 4 . ; ) / + , 6 < .134 . 4 / < .* + ) .. ; 9ransmit 2ata :ecei e 2ata :equest 9o Send Clear 9o Send 2ata 9erminal :ead= 2ata Set :ead= 2ata Carrier 2etect :ing >ndicator ?round .,E sortie entre sortie entre sortie entre entre entre .0E entre sortie entre sortie entre sortie sortie sortie
&
Seu s 3/19/13
A sui7re jj
&
3/19/13
1:11:1
Anne4e
Ueu C i2ue6 dinstructions pour modi3ier du e 6=67 st8 e des sousJtitres du mas2ue
3/19/13
1:21:2
@ransfert de donnVees ,
0 *1 P+ 2P* P (3 - 4 ('&, ou ('&,B $ % * +, '5& ') 2 '52 '&- 6 2&- 6 P+ 2- 6 P* P6 %5en5eral 2placement dun octet ou dun mot Ecriture dun mot au sommet de la pile (ecture dun mot au sommet de la pile Echange doctets ou de mots 9raduction dun octet a1 laide dune table
Entr5ees/Sorties (ecture dun port dE/S Ecriture dun port dE/S ,ransfert dadresses Chargement dune adresse effecti e Chargement dun pointeur utilisant 2S Chargement dun pointeur utilisant ES ,ransfert des flags 9ransfert des < flags bas dans 75 9ransfert de 75 dans les < flags bas Sau egarde des flags sur la pile :estauration des flags a1 partir de la pile
3/19/13
1:31:3
3/19/13
1:.1:.
Instructions lo)i!ues ,
7ogique Complment a1 , dun octet ou dun mot %* , E9 logique de deu$ octets ou de deu$ mots &% ) BC logique de deu$ octets ou de deu$ mots *8 BC e$clusif logique de deu$ octets ou de deu$ mots (* 8 Comparaison, a1 laide dun E9, doctets ou de mots ,52, .calages 2- '9 2&' 2calage a1 gauche arithmtique ou logique !octet ou mot" 2- 8 2&8 8* ' 8* 8 83 ' 83 8 2calage logique a1 droite dun octet ou dun mot 2calage arithmtique a1 droite dun octet ou dun mot Rotations :otation a1 gauche dun octet ou dun mot" :otation a1 droite dun octet ou dun mot :otation a1 gauche incluant CD !octet ou mot" :otation a1 droite incluant CD !octet ou mot"
3/19/13
1:/1:/
85P 85P5 ou 85P: 85P% 5 ou 85P% : 0 * 12 ou 0 * 12B9 0* 127 30 P2 ou 30 P2B9 30 P27 23&2 ou 23&2B9 23& 27 '* ) 2 ou '* ) 2B9 '* ) 27 2,* 2 ou 2,* 2B9 2,* 27
3/19/13
1:01:0
Instructions de branchements ,
3&'' 85, ; 0P '* * P '* * P5 ou '* * P: '* * P% 5 ou '* * P% : ; 3(: $ %, $ % ,* $ 85, 1ranc"ements inconditionnels 7ppel de procEedure :etour dune procEedure Saut inconditionnel 0ontr8les diterations 8ouclage tant que C3 F * 8ouclage tant que C3 F * et GD F , !EegalitEe"
, ,
Saut si C3 est nul (nterruptions >nterruption logicielle >nterruption si BD F , !o erfloH" :etour dune interruption
3/19/13
1:71:7
; paritimpaire < !si JD F *" ; signe positif < !si SD F *" ; dpassement < !si BD F ," ; paritpaire < !si JD F ," Saut si ; signe ngatif < !si SD F ,"
Saut si Saut si Saut si Saut si
3/19/13
1::1::
7ttente tant que 9ES9 nest pas a1 * Jrfi$e F instruction destine a1 un coprocesseur Jrfi$e F rser ation du bus pour linstruction as dop5eration
%* P 3/19/13
Jas dopration
1:91:9