Upload
nibaw
View
79
Download
7
Embed Size (px)
DESCRIPTION
Kursa darbi. Datoru arhitektūra. Assembler. Orgjaut ājumi. Jaungada bonuss līdz 5.01.2004 1 2 :00 jāiegūst ieraksts Nav iespējams eksāmens Statuss++ Tiem, kam arī tad nesanāk nekas rakstāms -> 4 J.Plūmem iepriekš jāpiesakās pa e-mail. Komandu izpilde jeb ko dara procesors. - PowerPoint PPT Presentation
Citation preview
2003/04 Juris Strods DA12-3
Orgjautājumi
• Jaungada bonuss – līdz 5.01.2004 12:00 jāiegūst ieraksts– Nav iespējams eksāmens– Statuss++– Tiem, kam arī tad nesanāk nekas rakstāms -> 4
• J.Plūmem iepriekš jāpiesakās pa e-mail
2003/04 Juris Strods DA12-4
Komandu izpilde jeb ko dara procesors
• procesors neizpilda programmu• procesors atbilstoši savam stāvoklim (komandas
adrese, pazīmes, …) izpilda komandu– komandas adrese CS:IP -> komanda no atmiņas.
Parasti arī IP pabīdīšana.
– komandas izpilde (tai skaitā CS vai IP maiņa)
• Ko darīt, ja procesors nevar izpildīt norādīto komandu (piemēram, nepareiza komanda)?
2003/04 Juris Strods DA12-5
Pārtraukums (interrupt)
• Pārtraukums notiek, ja procesors ārēja vai iekšēja iemesla dēļ nevar turpināt darbu parastajā kārtībā (CS:IP)
• Pārtraukums:– pabeidz (varbūt, slikti) komandu– saglabā atmiņā procesora (veco) stāvokli– no fiksētas vietas atmiņā ielādē procesora
(jauno) stāvokli
2003/04 Juris Strods DA12-6
Pārtraukums IBM PC
• pārtraukuma vektors– jaunais IP + jaunais CS– atrodas atmiņā ar absolūto adresi 0 atbilstoši
pārtraukumu numuriem (sākot ar 0)
• secība– pabeidz (varbūt, slikti) komandu– stekā saglabā Flags, CS, IP– no vektora ielādē CS, IP; TF=0;IF=0
2003/04 Juris Strods DA12-7
Programmas pārtraukumu veidi
• dalīšana ar nulli• nepareiza komanda• neeksistējošas atmiņas pieeja• pieeja svešai atmiņai• priviliģēta komanda• pārpildīšanās• kārtas izzušana• …
2003/04 Juris Strods DA12-8
Skaitļotāja struktūra
C P U
D is k D is k
D isk C o n tro lle r
T a pe T a pe
T a p e C o n tro lle r
C h an n e l
P rin te r
P rin te r C o n tro lle r
C h an n e l M a th P U
M e m o ry
2003/04 Juris Strods DA12-9
procesorsievada/izvada iekārtas
1. ievads/izvads procesora vadībā (busy waiting)
• procesors cikliski pārbauda IO situāciju un veic datu apmaiņu
2. pārtraukumi - baitam/zonai3. DMA (Direct Memory Access)
– IO aparatūra veic pati komunikāciju ar atmiņu– sinhronizācija ar procesoru caur
pārtraukumiem
2003/04 Juris Strods DA12-10
Skaitļotāja struktūra
C P U
D is k D is k
D isk C o n tro lle r
T a pe T a pe
T a p e C o n tro lle r
C h an n e l
P rin te r
P rin te r C o n tro lle r
C h an n e l M a th P U
M e m o ry
SIO pārtrau-kumi
2003/04 Juris Strods DA12-11
Pārtraukumu veidi (turpinājums)
• ievada/izvada• Ārējie
– Pārtraukuma poga– Taimeris– Pulkstenis– …
• Mašīnas kļūdu kontrole• Supervizora jeb monitora izsaukums
2003/04 Juris Strods DA12-12
Supervizora jeb monitora izsaukums
• Mehānisms drošam darbam ar resursiem– pārtraukuma komanda (INTx)– Citās mašīnās SVC, MC
2003/04 Juris Strods DA12-13
Skaņotājs
• Speciāls pārtraukums pēc komandas izpildes
• Pasūta ar TF (trap flag)
2003/04 Juris Strods DA12-14
Pārtraukuma apstrāde
• pārtraukumu maskēšana– nemaskējami pārtraukumi
• atgriešanās no pārtraukuma apstrādes IRET
2003/04 Juris Strods DA12-15
Pārtraukumu numuri
• 0 dalīšanas kļūda
• 1 soļa režīms (TF)
• 2 nemaskējams pārtraukums (NMI)
• 3 INT (vienbaitīga)
• 4 zīmes pārpildīšanās (INTO)
• 6 nepareiza komanda
• ….
2003/04 Juris Strods DA12-16
RESET
• Flags=0002; CS=F000; IP=FFF0
• CS=0000; DS=0000; ES=0000; SS=0000
• tātad F0000+FFF0=FFFF0 BIOS
2003/04 Juris Strods DA12-17
Makrovaloda
iniexe MACRO push ds sub ax,ax push ax mov ax,Dseg move ds,ax ENDM
Entpt proc far iniexe ....
2003/04 Juris Strods DA12-18
Translatora darbība
• mašīnkomandas MOV, INC, ADD, ...
• assambler komandas– listinga utt. vadība TITLE, PAGE, ...– atmiņas rezervēšana DB, DW, DD, ORG– tehniskas komandas LABEL, ASSUME– starpprogrammu sakari EXTRN, GROUP, ...– īsrakstīšanas MACRO, INCLUDE, ...
2003/04 Juris Strods DA12-19
Segments
• neatkarīgi adresējama telpa - saistās ar atbilstošo segmenta reģistru
seg_vārds segment [izlīdz] [kombinēt] [klase] ....seg_vārds ends