21
2003/04 Juris Strods DA12-1 Kursa darbi

Kursa darbi

  • 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-1

Kursa darbi

2003/04 Juris Strods DA12-2

Datoru arhitektūra

Assembler

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

2003/04 Juris Strods DA12-20

Assume

• assume seg_reg:iezīme [, ...]

• solījums par vērtību

2003/04 Juris Strods DA12-21

Programmas sagataveDseg segment para public ‘DATA’Dseg endsCseg segment para public ‘CODE’

assume cs:Cseg,ds:Dseg,es:Dseg,ss:Stackentpt proc far

push dsxor ax,axpush axmov ax,Dsegmov ds,ax