1 / 21

Kursa darbi

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.

nibaw
Download Presentation

Kursa darbi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kursa darbi Juris Strods

  2. Datoru arhitektūra Assembler Juris Strods

  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 Juris Strods

  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)? Juris Strods

  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 Juris Strods

  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 Juris Strods

  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 • … Juris Strods

  8. Skaitļotāja struktūra Juris Strods

  9. procesorsievada/izvada iekārtas • ievads/izvads procesora vadībā (busy waiting) • procesors cikliski pārbauda IO situāciju un veic datu apmaiņu • pārtraukumi - baitam/zonai • DMA (Direct Memory Access) • IO aparatūra veic pati komunikāciju ar atmiņu • sinhronizācija ar procesoru caur pārtraukumiem Juris Strods

  10. Skaitļotāja struktūra SIO pārtrau- kumi Juris Strods

  11. Pārtraukumu veidi (turpinājums) • ievada/izvada • Ārējie • Pārtraukuma poga • Taimeris • Pulkstenis • … • Mašīnas kļūdu kontrole • Supervizora jeb monitora izsaukums Juris Strods

  12. Supervizora jeb monitora izsaukums • Mehānisms drošam darbam ar resursiem • pārtraukuma komanda (INTx) • Citās mašīnās SVC, MC Juris Strods

  13. Skaņotājs • Speciāls pārtraukums pēc komandas izpildes • Pasūta ar TF (trap flag) Juris Strods

  14. Pārtraukuma apstrāde • pārtraukumu maskēšana • nemaskējami pārtraukumi • atgriešanās no pārtraukuma apstrādes IRET Juris Strods

  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 • …. Juris Strods

  16. RESET • Flags=0002; CS=F000; IP=FFF0 • CS=0000; DS=0000; ES=0000; SS=0000 • tātad F0000+FFF0=FFFF0 BIOS Juris Strods

  17. Makrovaloda Entpt proc far iniexe .... iniexe MACRO push ds sub ax,ax push ax mov ax,Dseg move ds,ax ENDM Juris Strods

  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, ... Juris Strods

  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 Juris Strods

  20. Assume • assume seg_reg:iezīme [, ...] • solījums par vērtību Juris Strods

  21. Programmas sagatave Dseg segment para public ‘DATA’ Dseg ends Cseg segment para public ‘CODE’ assume cs:Cseg,ds:Dseg,es:Dseg,ss:Stack entpt proc far push ds xor ax,ax push ax mov ax,Dseg mov ds,ax Juris Strods

More Related