Kursa kods InfT3020

Kredītpunkti 2

Datoru arhitektūra programmētājiem

Zinātnes nozareKopējais stundu skaits kursāLekciju stundu skaitsSemināru un praktisko darbu stundu skaitsKursa apstiprinājuma datumsAtbildīgā struktūrvienība
Informācijas tehnoloģija (nav zn)32161626/09/2017Datoru sistēmu katedra

Kursa izstrādātājs

author asoc. prof.

Vitālijs Osadčuks

Inženierzinātņu doktors

Priekšzināšanas

DatZ1004, Ievads datorstudijās

DatZ1009, Programmēšanas pamati I

DatZ1010, Programmēšanas pamati II

DatZ2055, Datoru uzbūve I

DatZ2056, Datoru uzbūve II

Mate2010, Diskrētā matemātika

Papildliteratūra

1.asm-x86 Reference. [tiešsaiste] [skatīts: 15.05.2017.]. Pieejams: http://ccreweb.org/software/kforth/kforth6b.html
2.Paul A. Carter. PC Assembly Language. E-grāmata. July 23, 2006.
3.Greivulis J., Raņķis I. Iekārtu vadības elektroniskie elementi un mezgli, Rīga: Avots, 1998, 288 lpp.

Piezīmes

Nozares profesionālās specializācijas kurss ITF profesionālās bakalaura studiju programmas „Informācijas tehnoloģijas ilgtspējīgai attīstībai”.

Kursa anotācija

Kurss ir nosacīti iedalāms divās daļās: datoru arhitektūrā un datoru organizācijā. Pirmajā daļā tiek apskatīts abstrakts datora modelis no programmētāja viedokļa. Studenti apgūst procesora un atmiņas darbību, instrukciju (komandu) kopu, instrukciju kopas līmeņa datu tipus un programmas sastādīšanu asamblera līmenī. Datoru organizācijas daļas izklāstā tiek izmantots vairāklīmeņu virtuālo mašīnu sadarbības modelis, lai parādītu galvenos risinājumus un mūsdienu tendences dažādu arhitektūru realizēšanai.

Kursa rezultāti un to vērtēšana

Zināšanas par mūsdienu datoru arhitektūru un organizāciju no programmētāja viedokļa;
prasmes koda rakstīšanā un programmu sastādīšanā asamblervalodā, zema līmeņa iegultās programmēšanas pamati;
kompetence izmantot konkrētās arhitektūras procesora un atmiņas īpatnības, lai paaugstinātu programmas koda efektivitāti.

Kursa plāns

1 Bezzīmes skaitļu, skaitļu ar zīmi un skaitļu ar peldošo punktu aritmētika.
2 Iepazīšanās ar MASM32 asambleri, asamblervalodas programmas uzbūve, asamblēšanas process.
3 Vienkārša asamblervalodas programma.
4 Pārbaudes darbs 1 (kontroldarbs).
5 Darbs ar beznosacījuma un nosacījuma pārejām un cikliem.
6 Datu ievade un izvade, darbs ar simbolu rindām, funkciju izsaukšana.
7 Darbs ar makrosiem.
8 MASM32 bibliotēku apskats, Windows API izmantošana asamblera kodā.
9 Asamblera koda optimizācija un izpildes laika aprēķins.
10 Asamblera programmas atkļūdošana.
11 Asamblera koda integrēšana augstāka līmeņa valodās.
12 Pārbaudes darbs 2 (kontroldarbs).
13 Mašīnkoda interpretācija procesora vadības atmiņā.
14 Kombinacionālo un virknes loģisko shēmu izveide loģisko shēmu simulatorā.
15 Aritmētiski loģiskās iekārtas darbība loģisko shēmu simulatorā.
16 Pārbaudes darbs 3 (tests).

Prasības kredītpunktu iegūšanai

Lai saņemtu sekmīgu ieskaites vērtējumu, jābūt:
1.izstrādātiem visiem mājas darbiem, nokārtotiem visiem kontroldarbiem;
2.kavēto lekciju un praktisko darbu kopskaits nepārsniedz 20% robežu no kopējā skaita;
3.ieskaites atzīmi veido vidējais aritmētiskais no visu mājas darbu un kontroldarbu vērtējumiem.

Pamatliteratūra

1.Tanenbaum A.S. Structured Computer Organization, 6th-edition, Pearson, 2013, 800 p.
2.Baums A. Datoru arhitektūra un organizācija, Rīga: [autorizdevums] Veiters korporācija, 2010, 236 lpp.
3.Patterson D.A., Hennessy J.L. Computer Organization and Design, Fifth Edition: The Hardware/Software Interface. Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 2013, 800 p.