Procesoriaus komandos - Vilniaus universitetas

Download Report

Transcript Procesoriaus komandos - Vilniaus universitetas

mikroprocesorius
2
CENTRINIS ĮRENGINYS
Įvestis
(IN)
CPU
Išvestis
(OUT)
Aritmetinis loginis
įrenginys
(ALU)
Pagrindinė
(operacinė) atmintis
(RAM)
Vald sist
akumuliatorius
RAM adresavimo galimybės
16b
20b
32b
64b
64k
1M
4 295 M
?
Adresų dešifravimas
1
1
1
1
&
1111  0
1111
1
1
1
&
1
1
0
&
1
0
1110
1101
Mikroprocesoriaus Z80 struktūra
1
1
1
&
1
0
&
0
1
1
0
1
1
&
1
1
1
sumatorius
1
0
1
&
0 1 Dviejų skilčių
0
Vilniaus universitetas, Fizikos
fakultetas
1 0
Sinchronizacija
Procesorius (ir visas kompiuteris) – sinchroninis įtaisas:
Būsena kinta tik fiksuotais laiko momentais
Taktinių impulsų generatorius
Komandos ciklas (KC)
1-5 PC
P (magistralės) ciklas (PC) 3-5 T
Takt gen periodas (T)
Taktas - tai taktinių impulsų periodas.
MP ciklą sudaro laikas, reikalingas vieno baito informacijai
skaityti iš atminties arba rašyti į ją , išvesti į išorinį įrenginį
bei iš jo įvesti arba įvykdyti vieno MP ciklo trukmės
komandą .
Vieno MP ciklo vykdymas tęsiasi 3 - 5 taktus.
Komandos ciklą sudaro 1 - 5 MP ciklai.
Minimali komandos ciklo trukmė yra ~4 taktai, iš kurių 3
reikalingi komandos kodui perskaityti iš programos atminties,
o vienas - jai vykdyti.
Komanda – dvejetainis žodis, kurį dekodavus
mikroprocesorius atlieka iš anksto numatytus veiksmus
P komandų rinkiniai
Dauguma P komandų apdoroja duomenis arba persiunčia
juos iš vienos vietos į kitą
Pvz:
Kreipimuisi į atmintį reikia 1 P ciklo,
Informacijos (pvz.: komandos) išrinkimui – bent 3 P ciklų
Komandos išrinkimo metu P skaito ją iš atminties,
siunčia į komandų registrą, kuriame komanda
dekoduojama ir generuojama impulsų seka, pagal kurią
ALĮ atlieka apibrėžtas operacijas
Komandos sandara
(2 dalys):
Operacijos kodas (OK)
ką daryti
Adresas
kur yra duomenys
Komandos sandara
(2 dalys):
Operacijos kodas (OK)
Adresas
Jei komanda kelių baitų – pirmame baite operacijos kodas,
likusiuose – adresas(ai)
P komandos (grupės)
1. Kodų persiuntimo komandos (tarp registrų ar tarp registro ir
atminties)
2. Aritmetinės komandos (sudėtis, kodo keitimas vienetu…)
3. Loginės komandos
4. Valdymo perdavimo komandos (besąlyginis ir sąlyginis valdymo
perdavimas, kreipimasis ir grįžimas iš paprogramių)
5. Informacijos įvesties ir išvesties komandos
Adresavimo būdai
1. Registrinis
2. Tiesioginiu operandu
duomenys nurodomi
2 ar 3-iame baituose
3. Tiesioginiu adresavimu
4. Netiesiog adresavimu
01 001 010
OK Badr Aadr
MOV R1 R2
MVI R, <baitas>
R  <baitas>
1-as baitas – OK,
2-as B – 1-as adr,
3-as B – 2-as adr
OK, registrų adresai, kuriuose nurodyti
atminties adresai,
mašininis kodas ir asembleris
Programuojant komanda (operacija) užrašoma mašininiu kodu arba asembleryje –
angliško žodžio santrumpa.
Pavyzdžiui, P Z80 ir 8080 persiuntimo komandos „registro B turinį perkelti į
registrą A” šešioliktainis kodas yra 78, o santrumpos LD (Load) ir MOV (Move).
Ši komanda P Z80 asembleryje būtų užrašoma taip
LD A,B,
o P 8080
–
MOV A,B.
Taigi, tų pačių komandų kodai abiem P gali būti tie patys, o santrumpos gali skirtis.
Pavyzdžiui, komandos „registro L turinį pridėti prie akumuliatoriaus (A) turinio”
mašininis kodas abiem P yra 85,
P Z80 asembleryje ji užrašoma ADD A,L,
o P 8080 –
ADD L.
Asemblerį daug lengviau įsiminti, negu komandų kodus, todėl P programos rašomos
asembleriu. Lentelėje pateikta P 8080 asembleriu parašyta programa su
paaiškinimais, kuri duomenis iš prievado, kurio adresas 01, perrašo į atmintinę,
pradedant adresu 0010h. Programos pradžia atmintinėje yra adresu 0000. Adresai ir
duomenys dažniausiai rašomi šešioliktainiame kode.
Programa nepertraukiamai duomenų įvesčiai iš porto 01 ir įrašymui į
atmintinę, pradedant adresu 10
Adr
Komanda
Komentaras
00RP0001
Įrašyti duomenų pradžios adresą (0010) į registrų porą RP (H, L)
11011011
Įrašyti duomenų baitą iš porto 01 į akumuliatorių
MOV M, A
01110AAA
Įrašyti (A) į atminties ląstelę (nurodytą H, L)
0006
INX H
00RP0011
Padidinti (H,L) poros reikšmę vienetu
0007
JMP
11000011
Grįžti į ciklo pradžią (pasiruošti įvesti naują duomenų baitą)
0008
03
0009
00
0000
LX1 H
0001
10
0002
00
0003
IN
0004
01
0005
Programa nepertraukiamai duomenų įvesčiai iš porto 01 ir įrašymui į
atmintinę, pradedant adresu 10
Adr
Komanda
Komentaras
Įrašyti duomenų pradžios adresą (0010) į registrų porą (H, L)
3c,10
Įrašyti duomenų baitą iš porto 01 į akumuliatorių
3c,10
70
Įrašyti (A) į atminties ląstelę (nurodytą H, L)
2c,7
00RP0011
23
Padidinti H,L poros reikšmę vienetu
1c,5
11000011
B3
Grįžti į ciklo pradžią (pasiruošti įvesti naują duomenų baitą)
3c,10
0000
LX1 H
0001
10
10
0002
00
00
0003
IN
0004
01
0005
MOV M, A
01110AAA
0006
INX H
0007
JMP
0008
03
03
0009
00
00
00RP0001
11011011
21
DB
01
Sisteminė PĮ
Operacine sistema (OS) vadinamas specialiųjų programų ir
duomenų rinkinys, sukurtas kompiuterinės sistemos
ištekliams valdyti, kompiuterio programų kūrimui
palengvinti ir šių programų vykdymui valdyti.
Operacinės sistemos programos valdo techninius kompiuterio
išteklius ir kitų programų vykdymą, užtikrina ryšį tarp
vartotojo ir programų.
Pagalbinės arba paslaugų programos (angl. utilities) – tai
operacinės sistemos funkcijas papildančios programos,
atliekanti dažnai reikalingus veiksmus, susijusius su
kompiuterio bei jo programinės įrangos panaudojimu.
Pagrindinės operacinių sistemų funkcijos
- procesų valdymas,
- procesų ir išteklių planavimas,
- pagrindinės atmintinės valdymas,
- bylų sistemos valdymas,
- išorinės atmintinės valdymas,
- įvesties ir išvesties valdymas.
Kitos sistemos funkcijos. Papildomai gali būti tokios
operacinių sistemų funkcijos:
- kompiuterio išplėtimas, prijungiant papildomus naujo tipo
įtaisus ar pakeičiant senus įtaisus;
- apsauga - priemonės, reguliuojančios sistemos išteklių
skyrimą;
- tinklo priežiūra - priemonės pranešimams siųsti ir gauti;
- vartotojo komandų interpretavimas: sąsaja tarp vartotojo ir
operacinės sistemos.
Microsoft operacinės sistemos.
Grafinė vartotojo sąsaja (interfeisas) davė pradžią Windows
sistemų šeimai. 1985 metais buvo parduotos pirmosios
Windows 1.0 versijos operacinės sistemos (po 100$). 1987
metais pasirodė Windows 2.0, o 1987 metais – Windows
3.0 ir tų pačių metų gale jau buvo parduota 30 milijonų jų
kopijų!
Microsoft nuo 1985 metų yra pateikusi vartotojams įvairias
šios OS šeimos sistemas.
Dažniausiai naudojamos operacinės sistemos Windows 98,
Windows 2000, Windows XP, Windows 7, Windows 8.