Professional Documents
Culture Documents
Co Co: Bbyy. Bbyy
Co Co: Bbyy. Bbyy
Co Co: Bbyy. Bbyy
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
Starea: coreVpunTe unei perioaTe Te WacW(T) Vi eVWe TuraWa unei operaWii elemenWare.
NxJ incremenWarea unui regiVWru
2. Nlementele arUitecturale BIU(BuV Interface Unit)
-exWrage in avanV o inVWruc’iune Tin memorieH o Tepune in coaTa Te inVWrucWiuni(FIFO) Vi calculeaYa
aTreaVa Tin memorie a unui evenWual operanT.
ComponenWa BIUJ regiVWrX VegmenW IPH uniWaWea Te aTreVareH inWerfaWa buV-uluiH coaTa Te
inVWrucWiuni(6I16 bXWeV).
Maca in Wimpul execuWiei unei inVWrucWiuni uniWaWea NU VoliciWa un operanT Tin memoria uniWaWe BIU
calculeaYa aTreVare comanTaWaH uWiliYanT regiVWrele proprii Vi uniWaWea ariWmeWica proprie (UA) Vi
genereaYa Vemnalele Te comanTa penWru WranVferul operanTului caWre uniWaWea Te execuWie.
3. Unitatea Te executie NU(execution unit)
-exWrage VucceViv inWrucWiunile Tin fiVierul Te inVWrucWiuniH le TecoTifica pe baYa unui
microproceVorul reViTenW Vi le execuWa prin inWermeTiul regiVWrelor Te uY general Vi UAL.
-uniWaWea Te execuWie TiVpune Te un bloc Te comanTa care coorToneaYa funcWionarea uniWaWii. In
aceVW bloc exiVWa o memorie ROM in care eVWe VWocaW microcarTul Te inWerpreWare Vi execuWie penWru
fiecare inVWrucWiune.
- componenWJ UAL; regiVWrii generali(AXHBX…)H regiVWrX Te aTreVare (MIHSI…)H regiVWrX WemporariH
uniWaWea Te TecoTificare Vi comanTa
-regiVWrul Te flag-uri.
4. ArUitectura von Neumann (SISM)
-exWragerea TaWelor Vi inVWrucWiunilor Ve face pe aceeaVi magiVWrala.
-inVWrucWiuni le Ve exWrag Vi Ve execuWa VecvenWial
5. ArUitectura HarvarT
F T ra n sf o F T ra n sf o
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
Are memoria parWajaWa in memorie Te TaWe Vi programH permiWanT o prelucrare mai eficienWa Vi
execuWaWerea parolaWa a TiferiWelor faYe ale inVWrucWiunilor. NVWe uWiliYaWa la proceVoarelor Te Vemnal(MSP)
Vi microconWrolere.
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
8086max: Vemnalele HOLM Vi HOLMA evolueaYa in 2 Vemnale mai complexe RQIGT0 Vi RQIGT1.
PreproceVorul cere pe o linie RQIGT conWrolul magiVWralelor Vip e aceeaVi linie CPU8086 confirma
ceTarea lor.
- 8086minJ Vemnalele Te conWrol ale perifericelor VunW generaWe Te proceVVor pe pinii 24-
31 Vi 34
8086maxJ Vemnalele VunW coTificaWe in S0-S2 Vi Wrebuie TecoTificaWe Te circuiWul exWerior
9. RegiVtrul Vegment.MoTul Te calcul al aTreVei fizice
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
A16IS3A17IS4HA18IS5HA19IS6.
IeViri cu 3 VWari in VWarea T1 repreYinWa cei mai VemnificaWivi 4 biWi ai magiVWralei Te aTreVeH iar in
VWarile T2-T4 repreYinWa informaWii Te VWareH S3HS4 inTica regiVWrul VegmenW uWiliYaW in calculul aTreVei
fiYiceH S5 copiaYa inTicaWorul Te inWreruperi (IF) iarH S6=0
BHNIV7(BuV HigU Nnable) ieVire cu 3 VWari; in VWarea T1 Ve acWiveaYa canT are loc un WranVfer pe
ocWeWul Vuperior al magiVWralei Te TaWeH valiTanT aceVW WranVfer iar T2-T4 eVWe BiW Te VWare.
RM(reaT) ieVire cu 3 VWariH acWive( in”0”) aWunci canT microproceVorul execuWa un ciclu maVina Te
ciWire memorie Vau porWuri.
RNAMQ inWrare acWiva in”1” pW VincroniYarea proceVorului cu memoria Vau porWurile IIO mai lenWe
INTR(InWerrupW RequeVW)- inWreare acWive in “1” repreYenWanT cerere Te inWrerupere maVcabila.
TNST- inWrare acWive in “0” uWiliYaWa in caTrul inVWrucWiunii eVc care permiWe alWui poVeVor Va exWraga
inVWrucWiuni Vau operanYi Tin memorie Tin VegmenWal currenW a lui 8086I8088.
QS0HQS1-ieViri care inTica TiVpoYiWivelor exWerne Wipul Te informaWive preluaWa Te uniWaWea Te
execuWie Tin fiVierul Te aVWepWare in VWarea anWerioara.
13. ImplemenWarea VWiveiJ regiVWrul SS conWine aTreVa Te baYa a VWivei iar SP conWine aTreVa relaWive
faWa Te baYa a varfului VWivei. SWivele au locaWii Te 16 biWi Vi fcW ca liVWe LIFO.
Salvarea in VWiva Ve face cu inVWrucWiunea PUSH iar exWragerea cu POP. MecremenWarea regiVWrului
SP la inWroTucere Vi incremenWarea Va la VcoaWere Ve fac auWomaW.
ProgrammaWorul Wrebuie Va fixeYe Toar baYa VWivei in SS Vi limiWa Vuperioara a VWivei in SP.
14. Segmental Te memorie VucceViune conWinua Te ocWeWi care are proprieWaWeaJ incepe la o aTreVa
mulWiplu Te 16 are lungimea mulWiplu Te 16 ocWeWi Vi maxim 64 kocWeWi la mai puWin VemnificaWivi
4 biWi ai aceVWei aTreVe VunW Yero.
OffVetul Vau TeplaVamentul aTreVa unei locaWii faWa Te incepuWul VegmenWului.Meoarece un
VegmenW are maVim 64 koH pW exprimarea offVeW-ului VunW VuficienWi 16 biWi.
ATreVa logica: perecUe Te nr pe caWe 16 biWi fiecare unTe repreYenWanT aTreVa Te incepuW a
VegmenWului Vi celalaW offVeW in caTrul VegmenWului
Alogica=RS*offVet
A0Vi BHN 2 linii care fac WranVferul Te TaWe inWre locaWiile VelecWaWe Vi magiVWrala Te TaWe. PenWru
acceVul la un operanT cu aTreVa paraH A0=0 iar BHN(negaW)=1 va valiTa blocul impar.Ca urmareH
are loc un WranVfer inWre locaWia aTreVaWa Vi ocWeWul inferior al magiVWralei Te TaWe.
F T ra n sf o F T ra n sf o
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
15. Intreruperi opreVWe Wemporar execuWia unui program Vi WranVfera conWrolul unei ruWine Vpecific e
Te WraWare ce coreVpunTe cauYei ce a generaW inWreruperea. AWunci canT evenimenWul V-a proTuVH
au loc in orTineaH urmaWoarele acWiuniJ
- SuVpenTarea programului in curV Te TeVfaVurare; Valvarea pe VWiva a aTreVei Te
revenire(IPHCS);
- LanVarea in execuWie a unei ruWine VpecialiYaWe numiWa ruWina Te WraWare a inWreruperi care
TeVerveVWe inWreruperea;
- Reluarea execuWiei programului VuVpenTaW prin refacerea Te pe VWiva a aTreVei Te revenire.
InWreruperile Ve claVifica in inWreruperi UarT Vi VofW. MicroproceVorul 8086 TiVpunTe Te 256
Te inWreruperi numeroWaWe Te la 00-FF.
1. InWreruperile UarT exWerneJ iniWialiYaWe la inWrarile INTR Vi NMI ale proceVorului. O cerere
pe linia NMI genereaYa o inWrerupere nemaVcabila Vi eVWe preTefiniWa Te Wipul INT2H aTica
proceVorul execuWa acceVul la vecWorul 2. O cerere pe linia INTR eVWe generaWe Te un circuiW
exWern VpecialiYaWH care evolueaYa prioriWaWea in caYul apariWiei cererilor VimulWane Tin mai mulWe
VurVe Vi permiWe Wrecerea cereri cu prioriWaWe maxima la momenWul reVpecWiv.
NxiVWa caWeva ViWuaWii in care cererea Te inWrerupere eVWe VerviWa numai Tupa execuWia
inVWrucWiunii urmaWoare.
NVWe caYul inVWruWiunilor preceTaWe Te prefixe; nu eVWe luaWa in conViTerare cererea Te
inWrerupere inWre execuWia prefixul Vi a inVWrucWiunii. InVWrucWiunile MOV Vi POP incarca regiVWrele
Te VegmenW; nu Ve recunoaVWe nici o cerere Te inWrerupere TecaW Tupa execuWia inVWrucWiunii
urmaWoare Tin moWive Te proWecWive.
PenWru Vevirea cererilor INTR(maVcabile) eVWe neceVar ca ViVWemul Tin inWreruperi Va fie
acWivaW prin VeWarea inTicaWorului IF(IF=1)H VeWarea Ve face cu inVWrucWiuni STI(VeW inWerrupW) iar
reVeWarea (IF=0) Ve face cu CLI(clear inWerrupW).
Maca IF=1H microproceVorul va lua in conViTerare cererea Te inWrerupere Te pe linia INTR.
Mupa ciWirea coTului inWreruperii pe H regiVWrul F eVWe TepuV in VWiva Vi Ve anuleaYa IF Vi
TP pW a invaliTa evenWuale cereri INTR.
SubruWina Te WraWare a inWreruperii Wrebuie Va Ve incUeie cu inVWrucWiunea IRNT care TeWermina
revenirea in program principal Vi refacerea Tin VWiva a reg CSH IP Vi F cu vecUile valori
2. InWreruperile UarT inWerneJ
F T ra n sf o F T ra n sf o
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
InWreruperea apare ca urmare a execuWiei unei inVWrucWiuni INT Vau urmare a unui evenimenW
inWern (inWreruperi preTefiniWe).
InWreruperile preTefiniWe VunW generaWe auWomaW Te proceVVor la TeWecWarea unor
evenimenWe inWerneJ
- ImparWire la 0-INT0;
- FuncWionare paV cu paV –INT1
- BreakpoinW-INT-3
- MepaVire-INT4
· InWreruperea INT0 eVWe generaWe ca urmare a execuWiei unei imparWiri cu caWul
mai mare TecaW valoarea maxima aTmiVa
· InWreruperea INT 1 eVWe luaW in conViTerare Taca inTicaWorul TF=1. NfecWul eVWe
moTul Te lucru paV cu paVH aTica Tupa fiecare inVWrucWiune Ve poaWe afiVa conWinuWul regiVWrelorH
al locaWiilor Te memorieH informaWii neceVare verificarii Vi Tepanarii programelor.
· InWreruperea INT3H Te Wip breakpoinW-puncW Te oprireH are coTul pe un Vingur
ocWeW Vi opreVWe execuWia in puncW Tin program in care apare INT3. ServeVWe WeVWarii Vi Tepanarii
programelor prin examinarea VWarii proceVorului in puncWual Te oprire.
· InWreruperile INT4 eVWe generaWe la apariWia TepaViri capaciWaWii regiVWrelor la
ecuaWia unei operaWii ariWmeWiceH TepaVire ce TeWermina VWarea inTicaWorului 0F=1; inVWrucWiunea
Ve genereaYa canT proceVorul execuWa inWrucWiunea INT0.SubruWina Te WraWareH conWine un meVaj
caWre uWiliYaWor.
3. inWreruperi VofWJ ofera acceVul la Vervicii BIOS Vi Vervicii MOS
VunW foarWe mulW uWiliYaWe TaWoriWa faciliWaWii oferiWeH o baYa Te programe care poaWe fi
foloViWa ca o librarie Te programe(ruWine) gaWa VcriVeH care uVureaYa mulW munca programaWorului
O inWrerupere VofW poaWe fi apelaWa prin inVWrucWiunea INTH cu VinWaxa INTnH provocanT
acWivarea UanTler-ului corepunYaWor inWreruperii cu numarul n .Na reaYliYeaYa 4 acWiuni
VucceVVive.J
- pune in VWiva flagurile(PSP)
- pune in VWiva aTreVa FAR Te revenire(CSHIP)
- pune 0 in flagurile TF Vi IF
- apeleaYa prin aTreVare inTirecWa UanTlerul aVociaW inWreruperii.
O cerere Te inWrerupere eVWe luaWa in conViTerare numa la Werminarea execuWiei inVWrucWiuni curenWe.
Maca inTicaWorul IF=1H ProceVorul execuWa VecvenWa Te accepWare cerere Te inWrerupere exWernaH preia
conWrolul inWreruperii Te pe magiVWrala Te TaWe Vi execuWa operaWiile commune inWreruperilor.
Se ValveaYa in VWiva IPHCS Vi F Tupa care IF=0H TF=0. Mupa execuWia VubruWinei Te WraWare a inWreruperii Ve
refac Tin VWiva regiVWrele CSHIPHF Vi Ve revine la programul principal.
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
-permiWe execuWia aceleaVi inVWrucWiuni pe mai mulWe TaWe VimulWanH ceea ce implica exiVWenW mai mulWor
uniWaWi ariWmeWice
b) ArUiWecWura MIMM(mulWiple inVWrucWion mulWiple TaWa) Vau TaWa flow conWine mai mulWe proceVoare
care ruleaYa programe TiferiWe operanT cu TaWe TiferiWe in parallelH conlucranT la reYolvarea unei aplicaWii
MOV BXH0
SUB BXHBX
ANM BXH0
XOR BXHBX
Imaginea in memorie a unui program Te Wip NXN Vau COM incepe cu un conWenW numiW PSP(program
VWaWuV prefix)H informaWiile Tin PSP VunW uWiliYaWe TirecW Te caWre ViVWemul Te operare MOS Vi inTirecW Te
caWre uWiliYaWor
…LnumecomanTaHparam1H …paramn
F T ra n sf o F T ra n sf o
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
Un program Te Wip COM are o VWrucWura Vimpla el conWine imaginea binara a conWinuWului ce va fi incarcaW
in memorie Tupa PSP. Un program Te Wip NXN poaWe avea oricaWe VegmenWe Te Wip coTH TaWe Vau VWiva
WoaWe fiinT plaVaWe Tupa PSPH orTinea lor nu eVWe imporWanWa
Sub ViVWemele Te operare MOS exiVWa 3 Wipuri Te fiViere care Ve poW lanVa in execuWie J .BATH .NXNH .COM.
FiVierele .BaW VunW fiViere WeVW care conWin comenYi MOS Vi evenWual conWroleaYa orTinea Te execuWie a
comenYilor. FiVierele COM Vi NXN VunW fiViere binare ce conWin inVWrucWiuni in limbaj maVina.
- 1000J0000
- 089AJ7660
-0F00J1000
F T ra n sf o F T ra n sf o
PD rm PD rm
Y Y
Y
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
cele 2 uniWaWi VunW legaWe inWre ele cu o conTucWa(pipeline) prin care VunW WranVferaWe
inVWrucWiunile exWraVe Tin memoria program Te caWre biu Vpre NU; aceVWa Tin urma are numai
rolul Te a execuWa inVWrucWiunile exWraVe Te BIU Vi Nu neavanT nici o legaWura cu magiVWrala
ViVWemului. In Wimp ce NU iVi inTeplineVWe VarcinaH BIU iVi exWrage noi inVWrucWiuni pe care le
organiYeaYa inWr-o coaTa Te aVWepWare(queue). La Werminarea execuWiei unei inVWrucWiuniH Nu are
Teja la TiVpoYiWie o noua inVWrucWiune Tin coaTa Te aVWepWaWe menWinuWa Te BIU. Cele 2 uniWaWi NU
Vi BIU lucreaYa in paralelH aVincronH exiVWanT momenW Te VincroniYare inWre eleH aWunci canT coaTa
Te inVWrucWiuni eVWe goala ceea ce Ve inWampla foarWe rar =L viWeYa Vi eficienWa
MicroconWrolerul eVWe WoW un microproceVVor VpecialiYaW ce conWine in inWeriorul lui aWa memoria caW Vi
elemenWe Te elecWronic analogicalH in Wimp ce microproceVorul nu opereaYa TecaW cu elemenWe TiVcreWe
Vpecific elecWronic TigiWaleH Vi in general nu are memorie. O alWa TiferenWa ar fi ca aTreVarea la
microproceVVor Ve face pe 8 biWiH iar la microconWroller Ve face la nivel Te biW.
26) Subrutina
SecvenWa Te inVWrucWiuni VcriVa VeparaWH care paoWe fi apelaWa Tin TiferiWe puncWe ale unui program.
MecaniVmul Te implemenWare a VubruWinelor eVWe realiYaW cu ajuWorul inVWrucWiunilor CALL Vi RNT.
SubruWinele poW fi NNAR( in acelaVi VegmenW cu programul appellanW) Vau FAR( inWr-un VegmenW TiferiW). La
apelarea unei VubruWine(Call)H aTreVa unTe urmeaYa a Ve face revenirea eVWe ValvaWa pe VWivaH iar la
revenirea Tin ruWina(RNT) aTreVa eVWe refacuWa Tin VWivaH iar regiVWrul IP Ve incarca.
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
InWreruperile exWerne TeYacWivabile Ve aplica pe inWrarea INT Vi VunW luaWe in conViTerare Taca biVWabilul
IF(InWerrupW Flag) Tin regiVWrul inTicaWor Te conTiWii are valoarea “1”.
InWreruperile exWerne neTeYacWivabile au loc la aplicarea unui Vemnal pe inWrarea NMI Vi VunW luaWe in
conViTerare inWoWTeauna.Un exemplu penWru foloVirea NMI eVWe VemnaliYarea caTerii WenViunii Te
alimenWare.
Maca in Wimpul proceVarii unei cereri Te inWrerupereH apare o cerere pe linia NMIH inainWe Te a realiYe
acceVul la VubruWina Te WraWare a primei inWreruperiH cererea Te pe linia NMI va fi VerviWa cu prioriWaWe.
=LC=1H S=1
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
IniWialiYare MACRO
NNMM
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
ALN=pW aTreVa
MNN=pW TaWe
La Vub Ve inverVeaYa rolul lui CH iar la Tec nu afecWeaYa biWul C. Mec face TecremenWarea TirecW in
memorieH iar Vub exWrage Tin memorie=L Vub e mai rapiTa
AMC AHH0
Y
er
er
ABB
ABB
y
y
bu
bu
3.0
3.0
to
to
re
re
he
he
k
k
lic
lic
C
C
w om w om
w
w
w. w.
A B B Y Y.c A B B Y Y.c
-aVamblam(TASMIMASN)
-eTiWam(TLINOILINO)
-Tepanam
-Valvam in memorie
Mov CXH25
NWJCALL CALL_MN
LOOP NT
47) Mati un exemplu care inTica facptul ca rezultatul Vmei a 2 numere binare Te n biti neceVita n+1 biti
11110101+
10000000