58
1. jēdziena – universāla skaitļojamā mašīna – rašanās, universālas un specializētas skaitļojamās mašīnas. Šo terminu arvien biežāk sāka lietot kopš 20. gs. 20ajiem gadiem, un tas atbilst jebkurai mašīnai, kas skaitļo izmantojot efektīvas metodes. 1940 un 50 sākumā gados, kad parādās elektroniskās skaitļojamās mašīnas, šis termins tiek aizstāts ar “dators”. 1. aprēķināmās funkcijas bez ierobežujumiem. 2. nav ierobežojumu skaitļa zīmei. 3. mainīgo skaitam jābūt bez ierobežojumiem. 4. mašīnai jāspēj strādāt ar jebkura garuma konstantēm. 5. konstantu skaitam jābūt bez ierobežojumiem. 6. aritmētiskās operācijas 4, bet to atkārtojumu skaitam jābūt bez ierobežojumiem. 1833 Č. Bebidžs izveidoja analītisko mašīnu. Jau 80. gados tika noteikts, kādas būs piektās paaudzes skaitļojamās mašīnas. Tām būs jābūt apveltītām ar mākslīgo intelektu, t. i., zinot faktus, izdarīt secinājumus vai ieteikumus. Bez tam sazināšanās ar datoru notiks, izmantojot balsi, tas nozīmē, ka cilvēks datoram komandas nevis rakstīs uz klaviatūras, bet vienkārši skaļi pateiks un arī dators cilvēkam atbildēs “mutiski”. 2. Atšķirība starp kalkulatoru un skaitļojamo mašīnu. Atšķirība starp tiem ir to kodaa un atmiņā, mašīna dara visu par, bet kalkulatoram pec katras darbības japieliek roka. Skaitļojamā mašīna komandas vietā ir algoritms. Apsteidzot Dž. fon Neimanu gandrīz par diviem gadiem, ideju par atmiņā glabājamu programmu realizēja Kembridžas (Anglijā) universitātes profesors Maurīcijs Vilkss (Maurice Wilkes). M. Vilkss apmeklēja Dž. Mouklija un P. Ekerta lekcijas Mūra skolā un, kā redzams, tajās negulēja. 1952. gadā viņš izgatavoja skaitļotāju EDSAC (Electronic Delay Storage Automatic Calculator – elektroniskais kalkulators ar atmiņu uz aiztures līnijām). Līdz ar to EDSAC kļuva par pirmo skaitļotāju pasaulē, kuram bija atmiņā glabājama programma. Vēlreiz nosauksim Dž. fon Neimana principus: • aritmētiski loģiskā iekārta glabā matemātiskās un loģiskās operācijas; • iekārta ievada datus skaitļotājā; • kontroles iekārta vada skaitļotāja pavēļu (komandu jeb programmas) secību; • iekšējā (primārā jeb operatīvā) atmiņa glabā datus un programmas; • ievades iekārta ievada datus skaitļotājā; • izvades iekārta izvada datus no skaitļotāja; • ārējā (sekundārā) atmiņā dati un programmas tiek glabāti patstāvīgi.

1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

1. jēdziena – universāla skaitļojamā mašīna – rašanās, universālas un specializētas skaitļojamās mašīnas.

Šo terminu arvien biežāk sāka lietot kopš 20. gs. 20ajiem gadiem, un tas atbilst jebkurai mašīnai, kas skaitļo izmantojot efektīvas metodes. 1940 un 50 sākumā gados, kad parādās elektroniskās skaitļojamās mašīnas, šis termins tiek aizstāts ar “dators”.

1. aprēķināmās funkcijas bez ierobežujumiem.2. nav ierobežojumu skaitļa zīmei.3. mainīgo skaitam jābūt bez ierobežojumiem.4. mašīnai jāspēj strādāt ar jebkura garuma konstantēm.5. konstantu skaitam jābūt bez ierobežojumiem.6. aritmētiskās operācijas 4, bet to atkārtojumu skaitam jābūt bez ierobežojumiem.1833 Č. Bebidžs izveidoja analītisko mašīnu.

Jau 80. gados tika noteikts, kādas būs piektās paaudzes skaitļojamās mašīnas. Tām būs jābūt apveltītām ar mākslīgo intelektu, t. i., zinot faktus, izdarīt secinājumus vai ieteikumus. Bez tam sazināšanās ar datoru notiks, izmantojot balsi, tas nozīmē, ka cilvēks datoram komandas nevis rakstīs uz klaviatūras, bet vienkārši skaļi pateiks un arī dators cilvēkam atbildēs “mutiski”.

2. Atšķirība starp kalkulatoru un skaitļojamo mašīnu.

Atšķirība starp tiem ir to kodaa un atmiņā, mašīna dara visu par, bet kalkulatoram pec katras darbības japieliek roka. Skaitļojamā mašīna komandas vietā ir algoritms.

Apsteidzot Dž. fon Neimanu gandrīz par diviem gadiem, ideju par atmiņā glabājamu programmu realizēja Kembridžas (Anglijā) universitātes profesors Maurīcijs Vilkss (Maurice Wilkes). M. Vilkss apmeklēja Dž. Mouklija un P. Ekerta lekcijas Mūra skolā un, kā redzams, tajās negulēja. 1952. gadā viņš izgatavoja skaitļotāju EDSAC (Electronic Delay Storage Automatic Calculator – elektroniskais kalkulators ar atmiņu uz aiztures līnijām). Līdz ar to EDSAC kļuva par pirmo skaitļotāju pasaulē, kuram bija atmiņā glabājama programma. Vēlreiz nosauksim Dž. fon Neimana principus:• aritmētiski loģiskā iekārta glabā matemātiskās un loģiskās operācijas;• iekārta ievada datus skaitļotājā;• kontroles iekārta vada skaitļotāja pavēļu (komandu jeb programmas) secību;• iekšējā (primārā jeb operatīvā) atmiņa glabā datus un programmas;• ievades iekārta ievada datus skaitļotājā;• izvades iekārta izvada datus no skaitļotāja;• ārējā (sekundārā) atmiņā dati un programmas tiek glabāti patstāvīgi.

3. Skaitļojamo mašīnu komponentu realizācijas piemēri.

Matemātisko aprēķinu automatizēšanas pirmsākumi ietiecas tāltālā senatnē, piemēram, skaitīkļus ķīnieši izgudroja jau pirms 2000 gadiem.Pirmo mehānisko skaitļojamo mašīnu uzbūvēja Blēzs Paskāls (1623-1662).Vācu matemātiķis Gotfrīds Leibnics uzbūvēja mašīnu, kura spēja ne tikai saskaitīt un atņemt, bet arī reizināt. 1820. gadā Šarls Ksavjērs Tomass de Kalmārs izveidoja mašīnu, kas izpildīja visas četras matemātiskās darbības. Šo mehānisko skaitļotāju ar dažādiem uzlabojumiem intensīvi izmantoja līdz pat Pirmajam pasaules karam.Otrā pasaules kara sākumā radās sarežģītas konstrukcijas ieroči, kuru vadīšanai bija nepieciešams veikt apjomīgus aprēķinus. Šai nolūkā 1942. gadā sāka projektēt pirmo elektronisko skaitļotāju ENIAC, kurš tika iedarbināts 1946. gadā. ENIAC apstrādātie skaitļi varēja sastāvēt pat no 10 cipariem. Skaitļotājs varēja sareizināt divus tādus skaitļus ar ātrumu 300 vienību sekundē. Kā pamatelements šajā skaitļotājā tika izmantotas vakuuma lampas. Pirmās paaudzes skaitļotāji bija ļoti lieli un aizņēma veselas telpas vairāku simtu kvadrātmetru platībā.

Page 2: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

1948. gadā izgudroja pirmo tranzistoru. Tranzistoru izmantošana ievērojami samazināja skaitļotāju izmērus. Šāda veida skaitļotājus sauc par datoru otro paaudzi. Tos sāka plaši izmantot augstākajās mācību iestādēs, valdībā un biznesā. Šiem skaitļotājiem jau bija daudzas no mūsdienu datora sastāvdaļām: printeris, ārējā atmiņa, operētājsistēma. Skaitļotāja izmantošanu efektīvu padarīja programmēšanas valodu ieviešana.1958. gadā tika izveidota pirmā integrālā shēma, kas uz maza silīcija diska apvienoja trīs elektroniskas komponentes. Līdz ar to skaitļotāju izmēri samazinājās vēl vairāk. Šī ir trešā skaitļotāju paaudze.Par šodien plaši izmantoto galda jeb personālo datoru (personal computer - PC) priekšteci uzskata 1974. gadā radīto mikroskaitļotāju. 1977. gadā tapa pirmais Apple dators, bet 1980. gadā - IBM (International Business Machines) dators.Tagad tranzistoru skaits vienā integrālajā mikroshēmā, piemēram, procesorā, ir pārsniedzis 20 miljonus. Tāpēc kļuvis iespējams radīt arvien mazākus datorus - piezīmjdatorus, plaukstdatorus. Datora ātrdarbība gada laikā palielinās par 50%. Dažādu ražotājfirmu lielā konkurence spiež tās meklēt arvien jaunus risinājumus datora sastāvdaļu parametru uzlabošanai. Palielinās dažādu datoram pieslēdzamu ierīču daudzums un veidi. Strauji attīstās vizuālās un audio iespējas.Bez datoriem praktiski neiztikt visās mūsu darbības sfērās. Sākumā skaitļotāju pamatuzdevums bija aprēķinu veikšana, bet tagad tos izmanto arī citiem mērķiem:tekstu un attēlu ievadīšanai un salikšanai (avīzes, žurnāli, grāmatas);informācijas uzglabāšanai un apmaiņai (internets, bibliotēkas, biļešu rezervēšana);lielu informācijas apjomu uzglabāšanai, sakārtošanai, atlasei (iedzīvotāju reģistrs, uzņēmumu reģistrs, skolēnu uzskaite);projektēšanā (arhitektūrā, rūpniecībā).Sīkāku informāciju par datortehnikas attīstības vēsturi skatīt Ingas Pakalnes izveidotajā materiālā "Skaitļošanas tehnikas attīstības vēsture".

4. Ko nozīmē Fon Neimana arhitektūra?

Fon neimanis drīzumā apzinājās, ka skaitļojamo mašīnu radīšana ar lielu pārslēdzēju un kabeļu skaitu prasa lielu laiku un ir sarežģīti. Vinjsh naaca pie atzinjas, ka programma jaaglabaa atminjaa kopaa ar datiem.Atmiņa, kas satur datus un instrukcijas. Atļauj lasīt un rakstīt kā datus tā instrukcijas jebkurā kārtībā.Vadības iekārta, interpretē instrukcijas no atmiņas un atkarībā no nākamā rezultāta, izvēlas nākamo instrukciju.ALU , kas ļauj izpildīt aritmētiskās un loģiskās operācijās.

Dž. fon Neimana principi:• aritmētiski loģiskā iekārta glabā matemātiskās un loģiskās operācijas;• iekārta ievada datus skaitļotājā;• kontroles iekārta vada skaitļotāja pavēļu (komandu jeb programmas) secību;• iekšējā (primārā jeb operatīvā) atmiņa glabā datus un programmas;• ievades iekārta ievada datus skaitļotājā;• izvades iekārta izvada datus no skaitļotāja;• ārējā (sekundārā) atmiņā dati un programmas tiek glabāti patstāvīgi.

ENIAC izgatavošana neapturēja skaitļojamās tehnikas attīstību. Tika meklēti jauni ceļi un iespējas.

Viņš sāka izstrādāt loģisko shēmu, kurā būtu iespējams izmantot tādu atmiņā ierakstīto programmu, ko varētu viegli mainīt, nepārbūvējot visu mašīnas shēmu. Tajā bija izteikti divi pamatprincipi, kas ieguva praktisku lietojumu visās mūsdienu elektronu skaitļojamās mašīnās: pamatota binārās skaitīšanas sistēmas izmantošana skaitļu attēlošanā atmiņā glabājama programma.

Atmiņā uzglabājamā programma ļāva pārvarēt būtiskāko ENIAC trūkumu – laika patēriņu programmas salikšanai un sagatavošanai uz komutāciju dēļa. Programmu, tāpat kā sākuma skaitļus, viņš piedāvāja glabāt mašīnas atmiņā. Ar vadības iekārtu atsevišķas komandas tika izsauktas no atmiņas nepieciešamo darbību izpildei un rezultāta nosūtīšanai atmiņā.

Kā izriet no ziņojumiem par šo tēmu, 1946. gadā Džons fon Neimans pirmo reizi ESM shēmā izdalīja 4 galvenos blokus un nosauca tos par

aritmētiski loģisko iekārtu,

Page 3: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

atmiņu datiem un komandām, vadības iekārtu, ievada–izvada iekārtu.

Citēšu dažus fragmentus no Dž. Neimana grāmatas.

“Tā kā pabeigta iekārta būs universāla skaitļojamā mašīna, tad tajā jābūt vairākiem pamatelementiem, tādiem kā aritmētikas, atmiņas, vadības elementiem un sakaru elementiem ar operatoru. Mēs gribam, lai pēc skaitļošanas sākuma mašīnas darbs nebūtu atkarīgs no operatora. (..) Acīmredzot mašīnai jābūt spējīgai kaut kādā veidā atcerēties ne tikai skaitlisko informāciju, kas ir nepieciešama dotajai skaitļošanai, bet arī komandas, kas vada programmu darbam ar šiem skaitļiem.”

“Ja nu tomēr mašīna varētu atšķirt skaitli no pavēles (komandas), tad atmiņas elementu varētu izmantot kā skaitļu, tā arī pavēļu (komandu) glabāšanai.” (Lūk, Dž. Neimana princips programmas glabāšanai; Č. Bebidžam tāda nebija.)

“Ja atmiņa pavēlēm (komandām) ir vienkārši atmiņas elements, tad vēl jāeksistē elementam, kurš var automātiski izpildīt šīs pavēles (komandas), kas glabājas atmiņā. Nosauksim to par vadības elementu.”

“Tā kā mūsu iekārtai jābūt skaitļojamajai mašīnai, tad tajā jābūt arī aritmētiskajam elementam – ierīcei, kas spējīga skaitīt, atņemt, reizināt, dalīt.”

“Visbeidzot – jāeksistē ievada un izvada elementam, ar kura palīdzību realizējas saikne starp operatoru un mašīnu.”

Vēlāk šādas konfigurācijas ESM tika sauktas par Neimana tipa ESM.

Apsteidzot Dž. fon Neimanu gandrīz par diviem gadiem, ideju par atmiņā glabājamu programmu realizēja Kembridžas (Anglijā) universitātes profesors Maurīcijs Vilkss (Maurice Wilkes). M. Vilkss apmeklēja Dž. Mouklija un P. Ekerta lekcijas Mūra skolā un, kā redzams, tajās negulēja. 1952. gadā viņš izgatavoja skaitļotāju EDSAC (Electronic Delay Storage Automatic Calculator – elektroniskais kalkulators ar atmiņu uz aiztures līnijām). Līdz ar to EDSAC kļuva par pirmo skaitļotāju pasaulē, kuram bija atmiņā glabājama programma.

5. Kādas priekšrocības dod programmu glabāšana kopā ar datiem operatīvajā atmiņā

Galvenais – ātrums.Atmiņas elementi ir jebkura datora iekšējās darbības pamats. Lai procesors varētu izpildīt programmas, tām ir jābūt ielādētām darba (tā kura ir pieejama lietotājam) atmiņā. Datora sastāvā ir vairākas atšķirīgas atmiņas formas - RAM, ROM un video atmiņa uc. Taču bieži nosaukums atmiņa tiek izmantots kā sinonīms RAM atmiņai. CPU ir tieša piekļuve datiem, kuri atrodas operatīvajā atmiņā (Random Access Merory, RAM), ar citu ārējo atmiņu (diskiem) procesors strādā caur buferiem, kuri ir operatīvās atmiņas veids (lietotājam nav pieejama). Operatīvā atmiņa RAM ir pati atrākā atmiņas iekārta un informāciju tajā var gan ierakstīt, gan nolasīt no tās. RAM trūkums ir tas, ka informācija tajā glabāja tikai tik ilgi, kamēr tai ir nodrošināta barošana.Datora darbība tiek sinhronizēta ar taktētāja palīdzību (clock generator). Taktētāja signāli nosaka, cik ātri instrukcijas var būt izlasītas no atmiņas un izpildītas.       Bāzes apstrādes cikls sākas ar atmiņas lasīšanas ciklu. Instrukciju rādītājs (instruction pointer - IP), kuru sauc arī par programas skaitītāju, satur atmiņas šūnas adresi, kura ir jāizvēlās. Šī šūna satur instrukciju, kura ir jāizlasa. Piemērā, kurš ir parādīts zīmējumā, IP reģistrs glabā adresi 672356, un šīs adreses binārais ekvivalents tiek izvadīts sistēmas adreses kopnē (bus) un tiek pārsūtīts uz atmiņu.      Atmiņa sastāv no secīgu šūnu zināma daudzuma, katrai no kurām ir sava unikāla adrese. Katra šūna var glabāt vai nu datu elementu, vai datora instrukciju. Šajā piemērā mēs pieņemam, ka atmiņas platums ir 8 biti, vai 1 baits. Tāda atmiņas organizācija ir tipiska Intel 16-bitu mirkroprocessoriem.      Atmiņas bloka adreses selektors/dekoders pārbauda adresi adreses kopnē un izvēlas pareizu šūnu. Tā kā CPU jāizlasa no atmiņas, tas aktivizē savu MEMORY READ (lasīt no atmiņas) vadības signālu. Tas liek atmiņā izvēlētam datu baitam tikt ievietotam datu kopnes vados un pārsūtītam uz instrukciju reģistru CPU.

Page 4: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

6. Loģiskie elementi, to apzīmējumi shēmās, realizācijas piemēri.

Page 5: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā
Page 6: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

7. Trigeris, reģistrs un dešifrators.

Page 7: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Loģiskās shēmas ar atmiņu.       Šīs shēmas no kombināciju tipa shēmām atšķiras ar to, ka viņām izejas signāli saglabājas arī pēc ieejas signālu, kuri noteica izejas signālus, darbības izbeigšanās. Tādā veidā viņi it kā atceras savu stāvokli un nemainu viņu līdz ieejā neparādās jaunu stāvokli nosakoši signāli. Skaitļošanas tehnikā loģiskās shēmas ar atmiņu tiek izmantotas ļoti plaši un tādu shēmu ir daudz. Pirmos apskatīsim trigerus, kuri ir pamatā daudzām datoru veidojošām ierīcēm. Trigeri.       Par trigeriem sauc loģiskās shēmas ar diviem stabīliem izejas stāvokļiem (attiecīgi loģiskais “1” un loģiskā “0”), kuri var saglabāties praktiski neierobežotu laiku un kuri lēcienveidīgi mainās vadības signālu iedarbības rezultātā.       Parasti trigeri satur atmiņas elementu un kombinacionālu shēmu, kura ieejas signālus pārveido signālos, nepieciešamos atmiņas elementa vadībai. Vienkāršākie trigeri satur tikai atmiņas elementu. Trigeriem ir divas izejas: tiešā izeja – apzīmē ar burtu Q un inversā izeja – apzīmē ar Q (lasa kā ne Q). Ja trigers ir vieninieka stāvoklī, tad tiešā izeja Q ir “1” un inversā izeja ne Q ir “0”, bet ja trigers ir nulles stāvoklī, tad tiešā izeja Q ir “0” un inversā ne Q ir “1”. Ieeju skaits dažādiem trigeriem var būt dažāds: ir trigeri ar vienu ieeju, divām kā arī ar lielāku ieeju skaitu. Trigerus klasificē (iedala) pēc trim pazīmēm:      1/ pēc reakcijas uz vadības signāliem izšķir asinhronos un sinhronos trigerus.            Asinhronie trigeri stāvokli maina jebkurā brīdī pēc attiecīga ieejas signāla       saņemšanas.            Sinhronie trigeri stāvokli var mainīt tikai tajā laikā, kad ir stāvokļa maiņu            atļaujošs signāls – sinhroimpulss.      2/ pēc vadības signālu veida izšķir statiskos un dinamiskos trigerus.            Statiskie trigeri reaģē uz vadības signāla līmeni.            Dinamiskie trigeri reaģē uz ieejas signāla izmaiņām.      3/ pēc realizācijas veida izšķir vienpakāpju un divpakāpju trigerus.

Page 8: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

            Divpakāpju trigeriem, atšķirībā no vienpakāpju, ir divi atmiņas elementi un            stāvokļa maiņa (pārslēgšanās) notiek divos etapos (divās pakāpēs): no sāku-            ma informācija ierakstās pirmajā atmiņas elementā (pirmais etaps) un pēc tam                  pārrakstās otrajā atmiņas elementā (otrais etaps)      Parasti nosaukumus “statiskais” un “vienpakāpju” nelieto, tos pieņem pēc noklusēša-nas. Tas nozīmē, ja trigera nosaukumā nav vārda dinamisks vai divpakāpju, viņš ir statisks vai attiecīgi vienpakāpju.

8. Taktsģenerātors. Svārstību frekvence, periods. Minimālais taktssignāla periods.

Šajā grafikā ir izvēlēta viena svārstība. Svārstību periods ir laiks, kurā sākas skaņas atkārtojums. Svārstību biežumu raksturo ar frekvenci. Svārstību frekvence un periods ir savstarpēji apgriezti lielumi.

Page 9: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Frekvences vienība ir Hertz (Hz), kas nozīmē vienu svārstību vienā sekundē. Izmantojot datoru, nosaki vairāku svārstību kopējo laiku un aprēķini vienas svārstības periodu: Svārstību periods = __________ s (Atceries, ka dators laiku rāda milisekundēs) Frekvence = ___________ Hz

9. Būla algebra. Loģiskie mainīgie, teorēmas. Pilna loģisko operāciju kopa.

Page 10: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Šīs algebras pamatā ir objekts, kurš izveidojās, aprakstot izteikumu loģiku algebriskā valodā. Tā kā Būla algebru aksiomātika būtiski atšķiras no klasisko "tīri" algebrisko objektu aksiomātikas, tad aplūkosim šīs algebras pilnu aksiomu sarakstu. Rakstot aksiomu sarakstu, varam iedomāties divus klasiskos Būla algebras piemērus:

1. Kopa, kas sastāv no diviem izteikumiem , un izteikumu loģikas operācijas.

2. Pamatkopa ir fiksētas kopas A visu apakškopu kopa , ar kurām izpilda šādas operācijas: papildinājums, apvienojums, šķēlums.Definīcija 1.13. Būla algebra sastāv no vienas kopas B, kurā definētas 5 pamatoperācijas :

-- negācija, unāra operācija;-- disjunkcija, bināra operācija;-- konjunkcija, bināra operācija;

0 -- nulles elements, konstante (nullāra operācija);1 -- vienības elements, konstante (nullāra operācija).Aksiomas (visas aksiomas ir identitātes):(1) (1') komutatīvie likumi;(2) (2') idempotence;

(3) (3') associativitāte;

(4) (4') absorbcijas likums;(5) (5') neitrālie elementi;

Page 11: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

(6) (6') distributivitāte;

(7) (7') papildinājuma likums.Būla algebras ir matemātiskās loģikas operāciju vispārinājums – izmanto mikroshēmu teorijā (un praksē). Atkārtot loģikas algebras operācijas. DEFINĪCIJA Par Būla (Boole) algebru sauc algebru , kur ir kopa,  ir bināras operācijas, ir unāra operācija un ir divi izdalīti elementu 0 un 1. Izpildās šādi nosacījumi: 1) binārās operācijas ir komutatīvas:  2) binārās operācijas ir distributīvas:3) izpildās nosacījumi:    Divas Būlas algebras sauc par izomorfām, ja .... Būla algebras elementu sauc par atomu, ja no tā, ka seko, ka vai .   Fakti par Būla algebrām (bez pierādījuma): Katra Būla algebra ir ierobežots, distributīvs režģis un , Katrā Būla algebrā ir spēkā asociativitātes un absorbcijas likumi.

Tam, ka šeit parādās iedomāti slēdži ar diviem stāvokļiem, ir dziļas saknes matemātikā un tehnikā. Jau 19. gadsimtā angļu matemātiķis Džordžs Būls (Boole) izstrādāja loģikas algebru. Tāpat kā parastajā algebrā, arī Būla izveidotajā algebrā ir mainīgie lielumi, darbības ar tiem, izteiksmes, kuras var pārveidot, taču neparasti ir tas, ka šī algebra operē nevis ar skaitļiem, bet īpašiem lielumiem, kas var pieņemt tikai 2 vērtības! Būla pētījumi, no vienas puses, kļuva par pamatu ļoti interesantai matemātikas nozarei – matemātiskajai loģikai, bet no otras – atrada svarīgu praktisku pielietojumu. Proti, konstruējot sarežģītas elektriskās shēmas, kurās ir daudzi slēdži, loģikas algebra palīdz izsekot to darbībai. Bez nekļūdīgām shēmu analīzes metodēm nebūtu iedomājami arī mūsdienu mikroprocesori, kuros ir miljoni pārslēdzamu elementu. Un neaizmirsīsim, ka datora atmiņa sastāv no bitiem – elektroniskiem slēdžiem, kuriem ir 2 stabili stāvokļi; var teikt, ka biti ir abstraktu matemātisku objektu - loģisko mainīgo – tehniski modeļi. Par godu Džordžam Būlam daudzās programmēšanas valodās, arī VB, loģiskos mainīgos sauc par Būla mainīgajiem (Boolean).

Loģiskās operācijasSalīdzinot skaiļus pēc lieluma, vārdus pēc alfabēta, utml., izveidojas t.s. Būla mainīgie, jeb izteikumi. Tiem ir divas vērtības true (patiess) un false (aplams). Par izteikumu sauc tādu apgalvojumu, kurš atkarībā no situācijas var būt patiess vai aplams. Programmēšanā daudzi, bet ne visi izteikumi rodas salīdzinot skaitļus vai vārdus. Piemēram, izteikums "3<4" ir patiess, bet "2*2=5" - aplams. Izteikums "Šodien ir ceturtdiena" var būt gan patiess, gan aplams atkarībā no aplūkotā laika momenta, ģeogrāfiskās vietas un laika joslas (dators parasti zin visu nepieciešamo, lai atbildētu uz šādu jautājumu). Arī izteikumi "x2 > 4" vai "Vārds w ir alfabētiski pēc vārda 'EGLE'" var būt gan patiess, gan aplams atkarībā no tā kādas ir mainīgo x un w vērtības dotajā situācijā.Programmēšanā lieto divus konstantus izteikumus: true (patiess), un false (aplams). Tādējādi izteikuma "3<4" vērtība ir true, bet "2*2=5" vērtība ir false. Izteikuma "x2 > 4" vērtība ir atkarīga no x (tas ir false, ja x ir no intervāla [-2,2], bet true citos gadījumos). Loģiskās operācijasNo izteikumiem ar loģisko operāciju palīdzību var veidot citus izteikumus. Visbiežāk lietotās loģiskās operācijas ir loģiskā konjunkcija, ko programmēšanā apzīmē ar &&, loģiskā disjunkcija, ko apzīmē ar ||, "izslēdzošais VAI" jeb XOR (tai programmēšanā nav stabila apzīmējuma), un loģiskā negācija, ko apzīmē ar !. Tās var aprakstīt ar šādām tabulām: true && true = truetrue && false = falsefalse && true = false

true || true = truetrue || false = truefalse || true = true

Page 12: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

false && false = false false || false = false

true XOR true = truetrue XOR false = falsefalse XOR true = falsefalse XOR false = true

! true = false! false = true

Piemēram, "x>0 && x<1" ir patiess tikai tad, ja vienlaikus "x>0" UN "x<1", t.i. x pieder vaļējam intervālam (0,1). Izteikums "Tagad ir ceturtdiena || tagad ir pēcpusdiena" ir patiess ceturtdienās visu dienu un visu citu dienu pēcpusdienās. Izteikums "! (x%7 == 0)" ir patiess tad, ja x nedalās ar 7, t.i. tad, kad ir aplams apgalvojums "x dod atlikumu 0 dalot ar 7". Bitu loģiskās operācijasLīdzās parakstajām loģiskajām operācijām kon pastāv arī bitu līmeņa operācijas: & (bitu konjunkcija), | (bitu disjunkcija), ~ (bitu negācija) un ^ (bitu XOR, jeb bitu izslēdzošais VAI). Tās darbojas nevis ar patiesuma vērtībām true un false, bet ar veseliem skaitļiem, kuri aizņem, teiksim, 8, 16 vai 32 bitus datora atmiņā. Šīs operācijas veic atbilstošās loģiskās operācijas katrā binārā pozīcijā atsevišķi. Ciparu "1" uzskata par true un "0" par false. Piemēram, 00110011 & 10101010 = 00100010. Veicot darbības ar bitiem, jāatceras, ka pozitīva skaitļa pieraksts datora atmiņā sākas ar bitu "0", bet negatīva skaitļa pieraksts - ar bitu "1". Pozitīvus skaitļus interpretē kā skaitļus, kas uzrakstīti divnieku skaitīšanas sistēmā, bet negatīviem skaitļiem lieto papildkodu.Starp bitu operācijām minēsim arī šādas operācijas: bitu nobīde par kreisi: x << n (x - skaitlis, n - par cik bitiem nobīdīt). No labās puses atbrīvotajās vietās raksta nulles. Pēc absolūtās vērtības nelieliem skaitļiem šī darbība sakrīt ar reizināšanu ar 2n. Piemēram, 00001011 << 3 = 01011000. bitu nobīde par labi: x >> n (x - skaitlis, n - par cik bitiem nobīdīt). Kreisajā pusē atbrīvotajās vietās raksta nulles. Pozitīviem skaitļiem šī darbība sakrīt ar dalīšanu ar 2n. Piemēram, 00001011 << 3 = 01011000. Analoģiski iepriekšējām definē bitu rotāciju pa kreisi un pa labi, t.i. bitus nobīda un pārpalikumu pieraksta skaitlim otrā galā. Piemēram 00001011 rotējot trīs bitus pa labi būs 01100001.

10. Loģiskās un pabitu loģiskās operācijas skaitļojamajās mašīnās

Page 13: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

11. Minimālā loģisko komandu kopa. Iespējas izteikt vienas loģiskās komandas ar citām

12. Skaitīšanas sistēmas. Pozicionālās un nepozicionālās skaitļošanas sistēmas. Cipari un skaitļi

      Skaitīšanas sistēmas ir skaitļu kodēšanas veids: dažiem skaitļiem tiek ieviesti īpaši apzīmējumi – cipari, bet citu skaitļu pieraksti tiek veidoti no cipariem saskaņā ar noteiktiem likumiem. Svarīgākās skaitīšanas sistēmas ir pozicionālās, t. i., tādas, kurās cipara lomu skaitļa pierakstā nosaka ne tikai šis cipars, bet arī tā atrašanās vieta. Pazīstamākais pozicionālās skaitīšanas sistēmas piemērs ir decimālā sistēma ar cipariem 0;1;...;9; skaitli desmit sauc par decimālās sistēmas bāzi.      Pieņemsim, ka b – naturāls skaitlis, turklāt B>=2. Saka, ka naturālais skaitlis N ir izsacīts pozicionālā sistēmā ar bāzi b, ja       N = am*bm+am-1*bm-1+...+a1*b+a0, Kur am, am-1, ..., a1, a0 ir skaitļi no 0 līdz b-1 ieskaitot, turklāt am≠0. Šos skaitļus sauc par skaitļa N cipariem skaitīšanas sistēmā ar bāzi b un rakstaN = (am,am-1,...,a1,a0)b.      Nulli katrā pozicionālā sistēmā pieraksta kā 0.      Teorēma. Ja N un b ir naturāli skaitļi, b>=2, tad skaitli N var izsacīt skaitīšanas sistēmā ar bāzi b, turklāt vienā vienīgā veidā.      Pastāv sešas metodes kā pārveidot vienas sistēmas skaitli otrā: Decimālā sistēma → binārā (divnieku) sistēma – tās divnieku pakāpes, kuras ietilpst decimālās sistēmas skaitlī attēlojas kā vieninieki, pārējās – kā nulles,Decimālā sistēma → jebkura cita sistēma – decimālās sistēmas skaitli dala ar vajadzīgās sistēmas bāzi un jauno skaitli no otra gala veido iegūtie atlikumi,

Page 14: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Binārā sistēma → divnieka pakāpes sistēma – sagrupē binārās sistēmas skaitli no beigām pa tik cipariem grupā, kuras divnieka pakāpes sistēmā skaitlis jāpārvērš un pārvērš katru grupu atsevišķi par divnieka pakāpes sistēmas ciparu,Divnieka pakāpes sistēma → binārā sistēma – pārvērš katru divnieka pakāpes sistēmas ciparu atsevišķi par binārās sistēmas skaitli,Jebkura sistēma → jebkura sistēma – dala skaitli ar iegūstamās sistēmas bāzi tā, kā būtu jādala sākotnējās sistēmas vidē.

Skaitišanas sitemas (pozicionalas un nepozicionalas)Pozicionala skaitišanas sistema – katram ciparam sava vieta vai pozicija.Base 10 ir pozicionala 0123456789Bloka ir pie bazes 2 01Oktala pie bazes 8 01234567Hexadecimala 16 0123456789ABCDEFSkaitļi dažādās lomāsVienkāršākie ir naturālie skaitļi: 0,1,2,utt. (programmēšanā arī 0 uzskata par naturālu skaitli) - tie raksturo elementu skaitu kādā apkopojumā, piemēram kaķu skaitu tumšā istabā. Veselie skaitļi bez naturālajiem satur arī negatīvos skaitļus -1,-2, utt., bet daļskaitļi, gan pozitīvie, gan negatīvie, satur veselo un daļveida daļu, piemēram 3.14 (programmēšanā daļveida daļu atdala ar punktu, nevis ar komatu). Skaitļi bieži saistās arī ar mērvienībām, piemēram 1.0in = 2.56cm (viena colla ir 2.56 centimetri). Reizēm skaitlis ir attiecība, piemēram, nogrieznis AB ir 75% no nogriežņa AC, nozīmē, ka AB/AC=0.75. (Procentveida skaitļus pārveido par parastiem skaitļiem, izdalot ar 100 un tie parasti izsaka kādu attiecību). Romiešu pierakstsRomiešu stilā dokumentos mēdz pierakstīt kārtas skaitļus. Tie norāda vai elements ir pirmais, otrais, utt. (kārtas skaitļi tātad sākas nevis ar 0, bet ar 1). To pierakstīšanai izmanto sekojošus simbolus:

I - viens V - pieci

X - desmit L - piecdesmit

C - simts D - pieci simti

M - tūkstotis

Citus skaitļus pieraksta, izmantojot šos simbolus līdzīgi kā ar 1, 5, 10, utml. santīmu monētām var nomaksāt jebkuru naudas summu. Tādējādi:

I - viens X - desmit C - simts

II - divi XX - divdesmit CC - divi simti

III - trīs XXX - trīsdesmit CCC - trīs simti

IV - četri XL - četrdesmit CD - četri simti

V - pieci L - piecdesmit D - pieci simti

VI - seši LX - sešdesmit DC - seši simti

VII - septiņi LXX - septiņdesmit DCC - septiņi simti

VIII - astoņi LXXX - astoņdesmit DCCC - astoņi simti

IX - deviņi XC - deviņdesmit CM - deviņi simti

Citus skaitļus darina, savienojot tūkstošus, simtus, desmitus un vienus. Piemēram, skaitli 1985 raksta: MCMLXXXV. Skaitļus, kas lielāki par 5000 ar romiešu cipariem nemēdz pierakstīt. Pozicionālās skaitīšanas sistēmasAtšķirībā no romiešu skaitīšanas sistēmas, decimālajā sistēmā par pamatelementiem izvēlas desmitnieka pakāpes: 1 (viens), 10 (desmit), 100 (simts), utt., bet visus pārējos skaitļus veido, saskaitot noteiktā secībā šos pamatelementus, piemēram, 1985 = 1*1000 + 9*100 + 8*10 + 5*1 = (viens tūkstotis + deviņi simti + astoņi desmiti + pieci vieni) Šajā sistēmā neviens elements nav jāņem vairāk kā deviņas reizes, jo, piemēram, desmit simtnieku vietā var pieskaitīt vienu tūkstoti, tādēļ ikviena skaitļa decimālai pierakstīšanai pietiek ar cipariem 0,1,2,3,4,5,6,7,8,9.

Page 15: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Analoģiski par pamatelementiem var izvēlēties arī skaitļa 2 pakāpes, kuras pieraksta šādi: 1 (viens), 10 (divi), 100 (četri), 1000 (astoņi), utt. Katru citu skaitli iegūst, saskaitot šos pamatelementus, piemēram, 1011 = 1000 + 10 + 1 = astoņi + divi + viens = vienpadsmit Šoreiz pietiek ar cipariem 0,1, jo, piemēram, divi divnieki ir tas pats, kas viens četrinieks. Šajā vietā dokumentā iekļauts rīks, kurš pārveido skaitļa bināro (divnieku) pierakstu par decimālo un atpakaļ: Daļskaitļu pierakstīšanai decimālajā sistēmā lieto papildus vēl šādus pamatelementus: 0.1 (desmitdaļa), 0.01 (simtdaļa), 0.001 (tūkstošdaļa). Piemēram, 3.14 = 3*1 + 1*0.1 + 4*0.01 = trīs vieni + viena desmitdaļa + četras simtdaļas Ievērojiet, ka programmēšanas valodās pirms desmitdaļu cipara raksta punktu (.), nevis komatu. Heksadecimālā skaitīšanas sistemaDatora atmiņa sastāv no bitiem, t.i. maziem slēdzīšiem, kas var atrasties divos stāvokļos: "0" un "1". Tādēļ viss, ko dators var atcerēties, ir izsakāms ar skaitli binārajā pierakstā. Piemeram, skaitlis 1985 izsakās 11111000001. Datoram tas ir ērti, bet cilvēkiem tik gars pieraksts nepatīk. Tādēļ divnieku ciparus mēdz grupēt pa četri. Skaitļa "1985" pierakstam tas izskatītos šādi: 0111_1100_0001. Iegūtās četrciparu grupas apzīmē šādi:

0000 - 0 0100 - 4 1000 - 8 1100 - c

0001 - 1 0101 - 5 1001 - 9 1101 - d

0010 - 2 0110 - 6 1010 - a 1110 - e

0011 - 3 0111 - 7 1011 - b 1111 - f

Iegūto rezultātu sauc par heksadecimālo pierakstu, piemēram, skaitlim ar decimālo pierakstu 1985, heksadecimālais pieraksts ir 7c1. Heksadecimālo pierakstu var uzskatīt kā saīsinājumu pierakstam divnieku skaitīšanas sistēmā, tādējādi 7c1 ir divnieku pieraksta 0111_1100_0001 ērtāks ekvivalents. Heksadecimālo pierakstu var uzskatīt arī kā patstāvīgu skaitīšanas sistēmu ar bāzi 16 ("heksa" ir latīņu aizguvums, kas nozīmē seši). Sešpadsmitnieku sistēmas cipari ir mums jau pazīstamie simboli {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}, kur a ir desmit, ..., f ir piecpadsmit. Heksadecimālās sistēmas popularitāti nosaka fakts, ka vienā baita parasti ir astoņi biti, tādēļ divi heksadecimālie cipari atbilst astoņiem bitiem, jeb vienam baitam. Aritmētiskās darbībasSaskaitīšana, atņemšana, reizināšana un dalīšana ir definētas gan veseliem, gan daļskaitļiem. Saskaitot, atņemot un reizinot savā starpā veselus skaitļus, rezultāts arī ir vesels skaitlis, tāpat dalot veselus skaitļus, kas izdalāmi bez atlikuma. Visos citos gadījumos rezultāts ir daļskaitlis. Pat tad, ja daļveida daļa pazūd, piemēram, 3.14+2.86=6.0, rezultātu programmēšanā parasti uzskata par daļskaitli, jo daļveida daļas pazušana tādos gadījumos mēdz būt nejaušība, kuru radījusi daļskaitļu noapaļošana. Programmēšanā lieto divu veidu kāpināšanu. Kāpināšana ar atkārtotu reizināšanu vai dalīšanu: an = a*a*...*a (n reizes)a-n = 1/(a*a*...*a). Šeit nepieciešams, lai kāpinātājs n (vai -n) būtu vesels skaitlis. Kāpināšana izteikta ar eksponentes un logaritma funkcijām: ab = Exp(b*Ln(a)). Tai vajag, lai pakāpes bāze (t.i. a) būtu pozitīva. Pārskatu par Exp(x), Ln(x) un citām funkcijām var atrast nodaļā Funkcijas Lai varētu veikt veselo skaitļu dalīšanu, ir vēl divas aritmētiskas darbības MOD un DIV. Izteiksme "a MOD b" nozīmē atlikumu dalot a ar b, un "a DIV b" nozīmē dalījuma veselo daļu. Piemēram: 17MOD3 = 217DIV3 = 5-17MOD3 = 1-17DIV3 = -6 Programmēšanas valodās bieži ir pieejama operācija %, kas ir līdzīga MOD, bet citādi definēta, dalot negatīvos skaitļus ar pozitīvajiem. "Atlikumi" tad sanāk negatīvi. Darbību DIV var izteikt ar MOD:a DIV b = (a - a MOD b) / b. Kopsavilkums Skaitļus datora atmiņā glabā binārajā pierakstā. Programmēšanas valodās cilvēka ērtību dēļ ļauj tos rakstīt decimālajā sistēmā.

Page 16: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Skaitļu binārais pieraksts ir vairākas reizes garāks par decimālo, ja nepieciešams īsi pierakstīt bitu virknes, lieto heksadecimālo pierakstu. Heksadecimālajā pierakstā bitus grupē pa 4 un apzīmē bitu četriniekus ar desmit cipariem un pirmajiem sešiem latīņu alfabēta burtiem.Romiešu pierakstu lieto uzskaitot saraksta apakšpunktus, numurējot nodaļas grāmatās un citur, kur jāuzskaita pēc kārtas ne pārāk daudzi elementi. Romiešu pieraksta (I,II,III,IV,...) vietā mēdz lietot arī kārtas skaitļu vārdus (pirmkārt, otrkārt,... vai pirmais, otrais,...), arābu ciparus (1), 2), 3),... jeb 1., 2., 3., ), vai latīņu vai grieķu burtus (a), b), c),...). Aritmētiskās darbības atšķiras atkarībā no tā vai tās lieto veseliem skaitļiem vai daļskaitļiem. Ja kaut viens darbībā iesaistītais skaitlis ir daļskaitlis, arī rezultāts ir daļskaitlis.Veselo skaitļu dalīšanai lieto darbības DIV (dalījuma veselā daļa) un MOD (atlikums).

13. Reālu skaitļu pieraksts Radix formā.

Skaitļu sistēmas bāze, jeb radix norāda to, cik simboli tiek izmantoti šajā skaitīšanas sistēmā. Jebkuras skaitīšanas sistēmas bāze tiek izteikta decimālajā sistēmā. (Naturāls skaitlis, ar kura pakāpju summu izsaka visus skaitļus pozicionālajā skaitīšanas sistēmā. Piem., binārās skaitīšanas sistēmas bāze ir 2, bet decimālās - 10.)

Page 17: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

14. Binārā un heksadecimālā skaitīšanas sistēma.

Tips Byte un binārā skaitīšanas sistēma. Iebūvēto tipu tabulā ir redzams, ka šī tipa mainīgie atmiņā aizņem 1 baitu un var glabāt veselos skaitļus intervalā no 0 līdz 255, tātad pavisam 256 dažādas vērtības. Atceroties, ka baitā ir 8 biti, bet biti ir līdzīgi slēdžiem, jāsecina, ka šis skaitlis acīmredzot ir visu to stāvokļu  kopskaits, kādos var pārslēgt 8 slēdžus. Tiešām, ja vienam slēdzim ir 2 stāvokļi – 0 un 1, tad diviem jau 22=4 kombinācijas: 00, 01, 10, 11, trim - 222=23=8 kombinācijas, bet, ja slēdži ir 8, tad kombināciju skaits ir 28=256. Tālākajās lappusēs atrodama diezgan gara tabula, kurās visi šie 256 iespējamie baita stāvokļi ir uzskaitīti. Lai bitu stāvokļiem piekārtotu skaitļus, pieņem, ka biti ir cipari t.s. binārajā skaitīšanas sistēmā. Ievērojiet, ka tabulā bitu kombinācijas ir sakārtotas noteiktā secībā: sākot no stāvokļa, kurā ir tikai nulles, un ejot pa tabulu uz priekšu, 0 un 1 visātrāk mijas pēdējā bitā, priekšpēdējā – jau divreiz lēnāk utt., pirmajā bitā 0 nomainās ar 1 tikai vienreiz. Tātad tiešām bitu saturs uzvedas līdzīgi cipariem dažādos mehāniskos skaitītājos, taču šeit 10 ciparu vietā ir tikai divi: 0 un 1.

heksadecimālā skaitīšanas sistēma. Pirmajā nodaļā tika aplūkots heksadecimālais atmiņas satura pieraksts kā paņēmiens, lai izvairītos no garām bināro ciparu virknēm. Īstenībā šim paņēmienam ir dziļāka jēga: 16 simbolus 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F var uzskatīt par cipariem sešpadsmitnieku jeb heksadecimālajā skaitīšanas sistēmā. Šajā sistēmā, tāpat kā jebkurā citā, var attēlot skaitļus un izpildīt ar tiem darbības. Protams, tas ir sarežģītāk, nekā līdz šim pierasts –piemēram, ir jāzina, ka 9+B=14, bet FF=E1 (pārbaudiet!). Ir ļoti vienkārši pāriet no binārās uz heksadecimālo sistēmu un atpakaļ, – vajag tikai pārrakstīt skaitli saskaņā ar pirmajā nodaļā doto pārejas tabulu, un tas arī ir iemesls, kāpēc šī sistēma datorikā tiek lietota. (Datorikas pirmsākumos tika lietota arī astotnieku jeb oktālā sistēma ar 8 cipariem 0, 1, 2, 3, 4, 5, 6, 7. Šajā gadījumā, pārejot uz bināro sistēmu vai atpakaļ, katrs oktālais cipars atbilst 3 bitiem. Oktālā sistēma kļuva neērta, kad no atmiņas dalījuma t.s. mašīnvārdos jeb šūnās pārgāja uz 8-bitu baitiem.)

15. Skaitļu pārveidošana starp skaitīšanas sistēmām

Page 18: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā
Page 19: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Pastāv sešas metodes kā pārveidot vienas sistēmas skaitli otrā: Decimālā sistēma → binārā (divnieku) sistēma – tās divnieku pakāpes, kuras ietilpst decimālās sistēmas skaitlī attēlojas kā vieninieki, pārējās – kā nulles, Decimālā sistēma → jebkura cita sistēma – decimālās sistēmas skaitli dala ar vajadzīgās sistēmas bāzi un jauno skaitli no otra gala veido iegūtie atlikumi, Binārā sistēma → divnieka pakāpes sistēma – sagrupē binārās sistēmas skaitli no beigām pa tik cipariem grupā, kuras divnieka pakāpes sistēmā skaitlis jāpārvērš un pārvērš katru grupu atsevišķi par divnieka pakāpes sistēmas ciparu, Divnieka pakāpes sistēma → binārā sistēma – pārvērš katru divnieka pakāpes sistēmas ciparu atsevišķi par binārās sistēmas skaitli, Jebkura sistēma → jebkura sistēma – dala skaitli ar iegūstamās sistēmas bāzi tā, kā būtu jādala sākotnējās sistēmas vidē.

Daļskaitļi, tāpat kā veselie skaitļi, datorā glabājas binārā formā. Līdzīgi tam, kā decimāldaļskaitlī cipari aiz komata secīgi nozīmē desmitdaļas, simtdaļas, tūkstošdaļas utt., binārajā daļskaitlī to vietā ir puses, ceturtdaļas, astotdaļas. Piemēram,

0,510 = 0,12;

0,2510 =0,012,

Page 20: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Lai pārvērstu bināro daļskaitli decimālajā, ir jāsaskaita visi tie daļskaitļi no virknes: kuriem binārajā

daļskaitlī atbilst vieninieki. Piemēram, Otrādi, lai pārvērstu decimāldaļskaitli binārajā, ir atsevišķi jāpārvērš veselā daļa, ja daļskaitlis ir neīsts. Atlikušo decimāldaļu pārvērš ar “izreizināšanas” metodi: daļu atkārtoti reizina ar 2 un kā binārā daļskaitļa ciparus reģistrē tos vieniniekus, kas parādās veselajā daļā. No tālākas reizināšanas šos vieniniekus izslēdz. Piemēram, skaitli 0,37510 binārajā sistēmā pārvērš šādi:

Esam ieguvuši, ka 0,37510=0,0112. Eksperimentējot ar binārajiem daļskaitļiem,    negaidīti izrādās, ka

0,110=0,0001100110011...2 – galīga desmitdaļa binārajā sistēmā izrādās bezgalīgs periodisks daļskaitlis, un tātad, kā jau tika atzīmēts agrāk, “vairumu” pavisam parastu decimāldaļu datorā nevar attēlot precīzi.

16. Kas nosaka binārās skaitīšanas sistēmas pielietojumu datoros ?

Dators attēlo vērtības, izmantojot divus sprieguma līmeņus (parasti 0 V un +2.4..5V).Ar diviem līmeņiem mēs varam attēlot tieši divas dažādas vērtības. Tās var būt jebkuras 2 vērtības, bet ierasti tās attēlo vērtības nulle un viens. Šīs 2as vērtības atbilst diviem binārās sistēmas cipariem. Tā kā pastāv atbilstība starp 80x86 CPU loģiskajiem līmeņiem un šiem 2iem binārās sistēmas cipariem, nav pārsteigums, ka PC izmanto bināro sistēmu.

17. Biti, baiti, vārdi. Informācijas daudzuma mērvienības

Ciparus 0 un 1 sauc par binārcipariem.Par informācijas daudzumu ziņojumā sauc tā kodēšanai (skatīt 2.1.2.) nepieciešamo binārciparu skaitu.Par bitu sauc informācijas daudzumu, kura kodēšanai nepieciešams viens binārais cipars.Bieži lieto lielāku informācijas vienību, kuru sauc par baitu (B). Viens baits satur 8 bitus.1 B (baits) = 8 biti1 KB (kilobaits) = 1024 baiti1 MB (megabaits) = 1024 kilobaiti1 GB (gigabaits) = 1024 megabaiti1 TB (terabaits) = 1024 gigabaitiPar kodēšanu sauc informācijas attēlošanu ar iepriekš norunātiem simboliem vai signāliem pēc iepriekš noteiktas kārtulas. Ja kāds ziņojums ir attēlots ar minētajiem simboliem vai signāliem, tad saka, ka tas ir kodēts. Kodēta ziņojuma pārveidošanu sākotnējā formā sauc par šī ziņojuma dekodēšanu. Ikdienā visu informāciju parasti izsakām dzimtajā valodā, arī tā ir uzskatāma par noteiktu kodēšanas veidu. Teksta tulkošana no vienas valodas citā ir šī teksta kodēšana vai dekodēšana.

Page 21: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Atkarībā no informācijas glabāšanas vai pārraides ierīču īpatnībām lieto dažādas pieļaujamo simbolu kopas jeb koda alfabētus. Katram simbolam atbilst ierīces elementu noteikts stāvoklis, kuram jābūt droši atšķiramam no stāvokļiem, kas atbilst citiem simboliem. Elektroniskajās ierīcēs visvieglāk ir realizēt divus stabilus stāvokļus: “strāvas nav” (slēdzis ir izslēgts) un “strāva ir” (slēdzis ir ieslēgts). Šos divus stāvokļus ir pieņemts apzīmēt ar cipariem 0 un 1. Elektroniskajos skaitļotājos visa informācija tiek kodēta ar binārciparu virknēm, citiem vārdiem, tiek lietots binārais kods, kura alfabēts sastāv no dieviem simboliem – 0 un 1. Katra informācija vienmēr ir kodēta, tas ir, tā nevar eksistēt nekodētā veidā. Ar grupām, kas satur n binārciparus, var kodēt 2n dažādus ziņojumus. Tas nozīmē, ka, piemēram, ja jākodē informācija par notikumu, kuram ir divi dažādi iznākumi (piemēram, monētas mešana), tad tos var kodēt ar 0 vai 1, tātad 21=2 ziņojumus (šāds ziņojums aizņem 1 bitu informācijas). Savukārt, informāciju par notikumu ar 4 vienādi iespējamiem iznākumiem var kodēt ar binārciparu grupām 00,01,10,11, tātad ir 22 iespējas. Ziņojums par šāda notikuma iznākumu satur 2 bitus informācijas. Kodējot informāciju un ierakstot to datora atmiņā, par vienotu veselu parasti uzskata atmiņas iecirkni, kurā var ierakstīt 8 binārciparus, t. i., 1 baitu. Baitam atbilst 28=256 dažādi binārie kodi: 00000000,00000001,00000010, ...,11111110,11111111. Parasti informāciju var pierakstīt kā tekstu kādā valodā, lietojos šīs valodas alfabēta burtus, pieturas zīmes, ciparus, matemātiskās zīmes un citas zīmes. Lai šo informāciju ierakstītu datora atmiņā, katrs simbols (zīme) tiek kodēts ar binārcipariem. Parasti dažādo simbolu ir krietni mazāk nekā 256, t. i., katrs simbols satur mazāk nekā 1 baitu informācijas. Tomēr datoros katra simbola kodam tiek atvēlēts tieši 1 baits (8 binārcipari), jo tad kodētajā tekstā viegli izdalīt atsevišķos simbolus. Mērvienību pierakstos jāpievērš uzmanība divām lietām:

* mērvienību nosaukumi var būt pierakstīti kā ar lieliem, tā maziem burtiem vai jaukti, piemēram, kB vai Kb;* atšķirībā no pierastā kilo - 1000 (103) informātikā tiek lietots 1024 (210), tāpēc viens megabaits nav miljons baitu (1 000 000), bet gan 1024(1024 = 1 048 576 baiti.

Retāk par pamatvienību tiek izmantots bits un kilobits. Parasti baitu apzīmē ar lielo burtu B, bet bitu - ar mazo b. Taču vairāku autoru darbos baits ir apzīmēts arī ar mazo burtu.

Vārds - Informācijas vienība, kas sastāv no rakstzīmēm, bitiem vai baitiem un ko apstrādā un uzglabā datora atmiņā kā vienotu veselumu. Rakstzīmju virkne, kas identificē kādu programmas komponentu vai datu struktūru, piemēram, programmu, datu kopu, procedūru u. tml.

18. Jēdziens par statisko (Šenona) informācijas mēru.

Page 22: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

19. Veselu pozitīvu skaitļu attēlošana skaitļojamā mašīnā. Skaitļa garums, mašīnas vārda garums.

Veselu pozitīvu skaitli attēlo bināri. Skaitļa garums var būt lielāks par mašinas vārda garumu.

20. Kā saskaita skaitļus kuru garums lielāks kā mašīnas vārds? Pabitu loģiskās operācijas ar gariem bitu laukiem.

21. Veselu negatīvu skaitļu attēlošana. Operācijas X*(-1) realizācija

. Mainīgo tipi Integer un Long. Šo tipu mainīgie ir paredzēti veselo skaitļu glabāšanai attiecīgi 2 un 4 baitos. Salīdzinot ar tipu Byte, ir palielinājies pieļaujamais skaitļu diapazons, bet jauns ir arī tas, ka skaitļi var būt negatīvi. Acīmredzot ir jābūt kādai norunai, kā atpazīt negatīvus skaitļus. Piemēram, varētu pašu pirmo bitu atvēlēt zīmei un “+” kodēt kā 0, “–“ kā 1. Tomēr ir atrasts asprātīgāks risinājums un negatīvie skaitļi tiek attēloti t.s. papildkodā. Aplūkosim piemērā papildkoda veidošanu 16-bitu mainīgajam Integer. Pieņemsim, ka 2 baitos, t.i., 16 bitos, glabājas skaitlis 5210 = 1101002 :

0000 0000 00110100

Lai uzzinātu, kādā izskatā glabājas atbilstošais negatīvais skaitlis –52, ir jāveido papildkods. Šajā nolūkā:– visus bitus invertē jeb “apgriež otrādi”: 0 aizstāj ar 1, bet 1 – ar 0:

1111 1111 1100 1011– inversajam kodam pieskaita 1:

Page 23: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

1111 1111 1100 1100 .

Iegūtā bitu kombinācija ir skaitlis –5210 papildkodā. Pozitīvi ir tas, ka tagad skaitļu saskaitīšanas laikā nav jārūpējas par saskaitāmo zīmēm – viss notiek automātiski. Mēs zinām, ka, ja saskaitāmie var būt gan pozitīvi, gan negatīvi, ir jāskatās, vai zīmes ir vienādas vai dažādas; pēdējā gadījumā jāskatās, kurš saskaitāmais ir lielāks, un no saskaitīšanas jāpāriet uz atņemšanu. Turpretī, lietojot negatīviem skaitļiem papildkodu, skaitļus var saskaitīt “stabiņā” neatkarīgi no zīmēm. Saskaitīšanas beigās pēdējais pārneses bits ir jāatmet, bet mainīgā bitos atradīsies pareizais rezultāts.

22. Skaitļi ar peldošo komatu/punktu

Lai datorā varētu glabāt gan ļoti lielus skaitļus, gan arī ļoti mazus, visus reālos skaitļus glabā normalizētā formā. Šis paņēmiens ir pazīstams arī decimālskaitļiem kā t.s. normālforma, piemēram, ķīmijā pazīstamo Avogadro skaitli pieraksta kā NA=6,021023 . Šeit skaitļa pieraksts sastāv no divām daļām – mantisas (6,02), kura satur skaitļa zīmīgos ciparus, un kārtas (23), kas norāda, kurā vietā skaitlī jāatrodas komatam. Šādi glabātus skaitļus mēdz saukt arī par skaitļiem ar peldošo komatu (floating point). Glabājot atmiņā reālos skaitļus, daļa no atmiņas lauka (4 baitiem tipam Single, 8 baitiem tipam Double) ir jāatvēl kārtai, daļa – mantisai. Sīkāk šis iedalījums ir redzams 6.4. attēlā.

Attēls rāda, ka pirmais bits ir atvēlēts skaitļa (mantisas) zīmei, negatīvas mantisas glabāšanai papildkodu neizmanto. Speciālgadījums ir nulle, – tad visi biti gan mantisā, gan kārtā satur nulli. Visos pārējos gadījumos mantisā ir vismaz viens vieninieks, un mantisu normalizē – pārceļ skaitlī bināro komatu tā, lai pirmais vieninieks nostātos tieši pirms komata. Aplūkosim kā piemēru decimālskaitli –247,37510. Pārejot uz bināro sistēmu, iegūstam –11110111,0112, jeb, pēc normalizēšanas, –1,111011101127.  Vieninieks pirms binārā komata ir visos skaitļos, kuri nav nulle, un tāpēc to neglabā, glabāšanai paliek tikai mantisas daļa aiz komata. Visbeidzot, binārajai kārtai 710=1112 pieskaita 12710=111 11112 formātā Single un 102310= 111 1111 11112 formātā Double, šī t.s. nobīde vienkāršo aparatūru, jo izslēdz negatīvu kārtu parādīšanos. Tādējādi aplūkojamais skaitlis formātā Single tiek glabāts šādi:

Formātā Double rezultāts ir līdzīgs, tikai kārtai ir atvēlēti 11, bet mantisai – 52 biti.

Kā redzams tabulā 88. lpp., datorā glabājamo reālo skaitļu kopa sadalās negatīvajā un pozitīvajā daļā (protams, var glabāt arī nulli). Tas tāpēc, ka skaitļa kārta nevar būt pārāk liela vai pārāk maza, jo arī kārtai ir atvēlēts ierobežots bitu skaits. Rezultātā no skaitļu diapazona tiek izslēgti ne vien ļoti lielie skaitļi, bet arī nulles apkārtne.

Page 24: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Norādot reālo skaitļu vērtības programmās, ir jāievēro, ka:1. decimālkomata vietā ir jālieto decimālpunkts, piemēram,

4.76 vai -0.03482;2. lietojot normālformu, skaitļa 10 vietā ir jāraksta burts E (exponent – kāpinātājs), piemēram, 6.02E23 -1.6E-19      kas nozīmē attiecīgi skaitļus 6,021023, -1,610-19. Programmā drīkst reālo tipu mainīgo Single vai Double vērtības piešķirt veselo tipu mainīgajiem, un otrādi, ja vien vērtība neiziet ārpus diapazona, kas pieļaujams attiecīgajam mainīgajam. Tāpat kā veselo skaitļu gadījumā, piešķirot mainīgā Single vai Double vērtību mainīgajam Boolean, nulle pārvēršas par False, visas citas vērtības – par True.

23. Neskaitliski dati. Lielumu skalas. Piemēri informācijas veidiem, kurus var apstrādāt ar datoru.

24. Tekstuālā informācija. ASCI un UNICODE, atšķirības, ekonomiskums – universalitāte, pielietojums.

Unicode  specifikācijas - tā ir praktiski bieza grāmata, kurā ietverti visi eksistējošie, izmirušie un mākslīgi radītie alfabēti, kā arī matemātiskie, ķīmiskie, muzikālie u.t.t. simboli. Pašlaik (no 1998. g. janvāra ir vers. 2.1, taču aprakstos galvenokārt sastopama vers. 2.0) unikoda standarts Unicode Standard, Version 2.0 nosaka 38885 zīmes. Šajā standartā vēl ir rezervēta vieta paplašinājumiem - 18000 zīmēm un personīgai lietošanai (piem., var izmantot dažādu programmu izstrādātāji) - 6000 zīmēm. Visām šīm zīmēm atbilstošie kodi  norādīti Unicode standarta   UCS-2 (Universal Character Set, two-octet form) kodu tabulā. Ja jūsu draugs ir aizbraucis uz ASV, tad elektronisko vēstuli latviešu valodā labāk rakstiet Unikodā. Būs lielāka varbūtība, ka viņš to varēs izlasīt. UCS-2 kodu tabulā katras zīmes kodēšanai ir atvēlēti 2 baiti. Tas nozīmē, ka teksta fails

Page 25: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

aizņems gandrīz divas reizes vairāk vietas, taču tas ļauj ietvert vienā teksta failā praktiski jebkuras valodas burtus. Latviešu specifiskie burti atrodas UCS-2 kodu tabulas  "Latin Extended-A"  apakškopā. Šīs apakškopas kods sākas ar 0x0100 pozīciju(256 – decimal (decimālajā [skaitīšanas] sistēmā) , "Character Map" tabulas apakšējā labajā stūrī " Unicode: 0100" ir "hexdecimal" (sešpadsmitnieku jeb heksadecimālajā [skaitīšanas] sistēmā).  Tā kā pasaulē vēl pastāv daudz vecu datoru, kuri izmanto 7 bitu ASCII kodu vai vēl sliktāk pat nenodrošina  pilnu ASCII tabulu (piem., vecie "mainframe router" maršrutētāji, kuri izmanto  EBCDIC kodu tabulu), 8-bitu tabulu un UCS-2 kodēšanas  ieviešana sagādā lielas grūtības. To pārvarēšanai izmanto dažādus "uzlabojumus". Plašāk pazīstamie "uzlabojumi":"Escape Sequences" - jebkurā valodā burti, kuru kodi ir mazāki par 128, netiek pārkodēti. Specifiskie burti tiek kodējot aizvietoti ar burtu(kuru kods mazāks par 128)  salikumu no speciālas tabulas. Piemēram,            Ä (capital A with dieresis or umlaut mark), tiek attēlots kā  &Auml;  kur & - "Escape Sequences" kodējuma sākuma pazīme, A - pamata zīme, uml - specifiskais salikums no tabulas, ; - "Escape Sequences" kodējuma beigu pazīme. Uz datora jābūt attiecīgām programmām, kuras nodrošina šādu kodēšanu un/vai atkodēšanu. Šo kodēšanu plaši izmanto Netscape, nepareizi nokonfigurēts Word97, u.c.  kopā ar Latin 1 kodu tabulu. Tāpēc Internetā bieži sastopamas kļūdainas HTML lapas Latviešu valodā.          Vēl 1998 gada jūnijā mājas lapā http://www.saeima.lanet.lv/latvian/satversme.html varēja skatīt  HTML tekstu.<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1257">     Šī rinda norāda pārlūkprogrammai,  ka teksta "izgaismošanai" jāizmanto Baltic Rim kodu tabula, tātad Latvijas standarts. Taču tālāk tekstā: "Satversmes Sapulces  1922.gada 15.febru&acirc;ra kops&ccedil;d&ccedil; pie&ograve;emt&acirc;"

Būtībā Unicode ir tikai standarts, kas definē abstraktu kodējumu valodas simboliem, katram simbolam piekārtojot savu kodu. Unicode pasaka, ka "a" == "U+0061", "ā"="U+0101" un tamlīdzīgi, bet nav runas par to, kā to nokodēt bitu virknēs.UTF-16 ir tieša Unicode implementācija - ja ir pateikts, ka a=U0061, tad a kodējam to ar 16 bitiem, tas ir, diviem baitiem - 00 un 61, kas atbilst 003D heksadecimālajā sistēmā.Unicode apzīmējumus var apskatīt programmā Character Map (Start->Programs->Accessories->System tools->Character map). Tur arī var pamanīt, ka visiem "normālajiem" Ascii burtiem pirmais baits ir vienmēr 00, bet, piemēram, latviešu simboliem pirmajam baitam ir nenulles vērtība (01).Nez kāpēc amerikāņu un angļu programmētājiem sāka šķist, ka Unicode pamatīga liekvārdība — kāpēc gan viņiem starp katriem diviem baitiem būtu jāraksta 00???? - jo tiešām, viņiem Unicode ne ar ko citu neatšķiras no ASCII.Tāpēc tika izdomāts UTF-8 kodējums, kuram, ja pirmais baits ir 00, tas tiek izlaists. Līdz ar to priekš "plain ASCII" valodām kā angļu (vai .... hmmm, vai ir vēl kāda?) UTF-8 ir praktiski vienbaitīgs. Toties tekstos, kuri satur arī reģionālos kodējumos nepieciešamos burtus, ik pa brīdim būs "vairāk nekā vienbaitīgi" simboli, tas ir, piemēram, latviešu burtu apzīmēšanai tiek lietoti vismaz divi baiti.Patiesībā gan UTF-8 rada daudz problēmu. Piemēram, par journal.bad.lv aptaujām zināms, ka atbildes garums drīkst būt ne vairāk kā 255 simboli. Tomēr patiesībā ar to ir domāti 255 baiti, nevis simboli. Tātad, ja tu raksti ar latviešu burtiem, daži no tiem aizņems nevis vienu, bet vairākus baitus, līdz ar to kopējais teksta garums būs mazāks nekā 255 simboli.Līdzīgi arī problēmas rodas ar tādu vienkāršu uzdevumu kā teksta garuma noskaidrošana - līdz šim varēja paskatīties, cik vietas atmiņā aizņem string tipa mainīgais, tagad ir katru reizi jāpārbauda, vai tajā gadījumā nav vairākbaitīgu simbolu. Arī string tipa vērtību sakārtošana augošā vai dilstošā secībā kļuvusi sarežģītāka - atmiņas apgabalā var būt biti, kas nav jāievēro, salīdzinot divus mainīgos.Patiesībā priekš mums ērtāks būtu UTF-16 kodējums - salīdzināšana darbotos, garuma noteikšanas funkcijas darbotos, tikai rezultāts būtu jādala ar 2. Vienīgā problēma - tas aizņem tieši divreiz vairāk diska vietas, divreiz vairāk atmiņas un rada divreiz lielāku datu plūsmu, kad nepieciešams pārsūtīt informāciju.Paldies sm par papildinājumu: UTF-8 var būt vienbaitīgs, bet var arī aizņemt līdz pat sešiem baitiem uz simbolu

Nospiežot uz klaviatūras kādu taustiņu, dators saņem kodu. Teksta kodēšanai izmanto speciālas kodu tabulas, kurās elektroniskā veidā ir norādīts, kāds binārais kods kurai rakstzīmei piešķirts. Ja kodēšana nenotiek pareizi, tad ievadīta simbola vietā uz ekrāna varat redzēt pavisam ko citu.

ASCII kodu tabulaASCII (American Standard Code for Information Interchange) - Amerikas informācijas apmaiņass standartizēto kodu - ieviesa 1963. gadā. Tajā katrs simbols ir kodēts ar vienu baitu un tabulā kopā ir 256 simboli. Pirmā puse tabulas ir

Page 26: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

nemainīga, un tajā atrodas cipari, lielie un mazie burti, kā arī citas rakstzīmes. Otro tabulas pusi izmanto specifisko nacionālo simbolu kodēšanai, kā arī grafiskiem simboliem.Nākamajā tabulā parādīts rakstzīmju kodu tabulas fragments kodiem no 32 (tukšumzīme) līdz 127. Pirmie 32 kodi (0-31) ir dažādu komandu kodi.

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

32   ! " # $ % & ` ( ) * + ' - . /

48 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

64 @ A B C D E F G H I J K L M N O

80 P Q R S T U V W X Y Z [ \ ] ^ _

96 , a b c d e f g h i j k l m n o

112 p q r s t u v w x y z { | } ~   Rakstzīmju kodu vērtības izmanto datu sakārtošanā

Unicode kodu tabulaTā kā tabulas otrajā daļā izvietotie nacionālie simboli dažādās valstīs vai pat vienas valsts ietvaros varēja atrasties dažādās kodu tabulas vietās, radās nepieciešamība izveidot vienotu kodu tabulu. Tā tika radīta Unicode kodu tabula, kurā tika iekļauti daudzu valodu nacionālie simboli. Šādu rakstzīmju ir daudz, tāpēc simbola kodēšanai izmanto 2 baitus. Rezultāts - iespējamo kodējamo simbolu skaits ir sasniedzis 65 536. Vienīgais šā koda trūkums ir tas, ka teksts aizņem divreiz vairāk vietas.Tieši Unicode kodu tabula ir tā, kuru izmanto turpmāk aplūkotajās Microsoft Office 2000 programmās.

Tā kā datoru jomā ASV ir vienmēr bijusi priekšgalā, tā "sagrāba izdevīgāko vietu" angļu valodas burtu kodēšanai   šajās (visās) tabulās, no 32-ās līdz 127 pozīcijai. Amerikāņu standarta  ASCII 7-bitīgā kodu tabula ietver arī vadības simbolus  ("C0 Controls" no 1 - 31, bet  "C1 Controls" ir no 128 - 159)),  tātad visus simbolus no 1-ās līdz 127-ai pozīcijai. Vadības simboli būtībā ir komandu kodi nevis attēlojami simboli, piem., printeris sastopot (LF) linefeed kodu sāk drukāt no jaunas rindas, t.i., LF ir printera komanda.

    ISO 8859-1 ("Latin alphabet No. 1" vai biežāk sauc "ISO Latin 1") standarta  tabula ir 8-bitu kodu tabula, kurā ASCII kodu tabula ietverta kā apakškopa.  Šī tabula  ir Interneta pamattabula(by default) un tā ietverta Unikoda UCS-2 kodu tabulā kā apakškopa no 1 - 256 pazicijai.  Papildus ASCII zīmēm, tā ietver Rietumeiropas valodu  specifiskos burtus (piem., ä, å, æ, ç,  … ).  Šā iemesla dēļ, angļu valodā rakstītu tekstu jūs varat nolasīt uz praktiski jebkura datora. Latviešu valodā rakstītu tekstu jūs varat "precīzi" nolasīt tikai tad, ja uz jūsu datora ir instalēts tas pats šrifts un tajā pašā kodu tabulā kā datorā, uz kura tas uzrakstīts. Kā Latvijas Valsts Standarts Windows vidē kalpo

    Baltic Rim (LVS 8-92 standarta kodu tabula "Windows Baltic Microsoft code page – cp 1257"). (Par Baltic Rim sauc Ziemeļeiropas reģiona valstis ap Baltijas jūru (plus Norvēģija). Rim tulkojumā no angļu valodas - apmale, mala, loks. Šajā regionā mīt ap 110 milj. iedzīvotāju. Tas ir viens no pasaules bagātākajiem reģioniem. Bruto iekšzemes produkts uz vienu iedzīvotāju reģiona rietumu valstīs ir vidēji ap 19000 USD un ap 4000 USD austrumvalstīs). Baltic Rim kodu tabula satur visus latviešu, lietuviešu, igauņu, poļu, vācu, dāņu, norvēģu, zviedru un somu  specifiskos (ā,ž,õ,ŗ, …) burtus (Ž-222 un  ž-254-ā pozīcijās). Šo burtu atrašanās vieta sakrīt ar vietu minēto  valstu standartu tabulās. Kā nespecifiskie burti tiek izmantoti angļu valodas burti.  Šī tabula ir arī lietuviešu valsts standarts LST 1285:1993 un igauņu EVS 8:1993.  Šī tabula akceptēta arī kā IBM cp  921, un ECMA – ECMA 179. Plašāk pazīstami fonti: RimTimes, RimHelvetica, … (Tilde) ,

Page 27: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Arial(Baltic), Courier(Baltic) …(Microsoft), u.c.

      MS DOS vidē izmanto PC-8/LR tabulu. Tā ir vecā DOS latviešu/krievu tabula. Fonti: Terminal Latvian (Dosltv.fon), . . .

   MS DOS Baltic ir jaunā latviešu Microsoft kodu tabula, kura satur tikai latviešu un Baltijas valstu (sk.    Baltic Rim augstāk) specifiskos burtus, bet vairs nesatur krievu valodas burtus. Fonti: Terminal, Lucida Console,  . . .

Līdz šim tiek izmantotas arī nestandarta kodu tabulas, kurās tikai daži burti ir izvietoti savādāk. Latvijā plaši izplatīta "Baltijas" kodu tabula (Ž-221 un  ž-253-ā pozīcijās), kuru radīja "Tilde" 1991. gadā.

Atšķirība: ASCII ir base 256 simboli. Unicode ir papildtabula, kur var ielikt vēl vienu valodu. Unicode nav encoding nosaukums. Tas ir nosaukums visiem encodingiem, kuriem ir multilanguage.

UTF-8 kods, atšķirība no ASCI un UNICODE.

"UTF-8" (UCS Transformation Format 8) -  Šis  formāts tiek izmantots Internetā diezgan plaši. Tekstā UTF-8 ir viegli pamanīt pēc tā specifiskā koda, kā arī daudz efektīvāk(ātrāk) pārkodēt UCS-2/4 kodos nekā "escape sequences",  "Quoted-Printable", u.c.  Līdzīgi kā UTF-7, burti, kuru kodi ir mazāki par 128 (t.I. ASCII) netiek pārkodēti Pārējie tiek specifiskā veidā pārkodēti, piem.,

UCS-2/UTF-8  (hexdecimal):  0001/01  007F/7F   0080/C2 80     07FF/DF BF    0800/E0 A0 80     FFFF/EF BF BF.

Kodu vērtībām no 0080 līdz 07FF (ietilpst Latvian specifiskie un Cyrillic burti) algoritms ir sekojošs:

    - izveido 16 bitu matricu:      1 1 0 x x x x x   1 0 x x x x x x

                       0 1 2 3 4 5 6 7   8 9 a b c d e f  (bita kārtas numurs)

-ņem no UCS-2 burta koda, sākot no beigām, bitus un iesūta matricā (sākot no beigām) x bitu vietā, t.i. f->f, e->e,

     …, 9->7, 8->6, 7->5, 6->4, 5->3, piem., (UCS-2/UTF-8)   Ā - 0000 0001  0000 0000/1100 0100  1000 0000 (bit),

     Ā-0100/C480, Ē-0112/C492, Č-010C/C48C, Ž-017D/C5BD, ā-0101/C481, ē-0113/C493, Ы-042B/D0AB, я-044F/D18F.

UCS-2, UTF-8 piemērus skat.arī:            http://www.lang.duke.edu/unichtm/unichtm.htm

Atšķirība tāda, ka ar utf-8 vienā dokumentā var rakstīt vairākās valodās. Japāņu, krievu

Unicode nav UTF-8. UTF-8 ir Unicode. Liidziigi kaa Ford ir automobiilis, bet automobiilis nav Ford. Jo Unicode var tikt enkodeets arii kaa UTF-7 vai UTF-16.

25. Skaitļa iekodējuma maiņa tā dažādos apstrādes etapos (ievads, aprēķini, izvads uz ekrāna vai drukas).

26. Jēdziens par informācijas redundanci un tās saistību ar datu saspiešanu (arhivēšanu), kļūdas konstatējoši un labojoši kodi. Jēdziens par kriptogrāfijas saistību ar redundanci

Hafmaņa kodējums: pieraksta svarus kā attiecīgā simbola indeksu un grupē simbolus sekojošā veidā. Izvēlās divus simbolus vai grupas ar mazākajiem indeksiem un apvieno jaunā grupā. Grupas svars būs elementu svaru summa.

Page 28: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Arhīvs ir fails, kas satur citus failus. Parasti arhīvā esošie faili ir saspiestā veidā. Arhīva faila nosaukuma paplašinājuma daļa ir atkarīga no saspiešanas veida. Arhīva failu nosaukumiem var būt šādi paplašinājumi:LZH, ARJ vai ARC - vecāki failu arhīvu veidi;TAR, Z, GZ, ZAZ, TGZ - operētājsistēmas Unix interneta faili;CAB - Microsoft programmu uzstādīšanas (setup) faili;Uencoded, XXencoded, BinHex, MIME - bināro failu pārraidei internetā;RAR, ZIP - vieni no populārākajiem arhīvu veidiem Windows vidē.

Kāpēc jāveido arhīvi?

Arhivēšanas programmu lietošanas nepieciešamību nosaka dažādi faktori. Var ietaupīt vietu uz diska. Programmas un datus, kurus izmanto reti, var turēt arhivētā formā, ietaupot apmēram 60% no diska ietilpības. Ar arhivēšanas programmas palīdzību var ērti organizēt datu rezervēšanu. Laba arhivēšanas programma sameklēs jaunos un izmainītos (no pēdējās arhivēšanas reizes) failus un ierakstīs tos arhīvā. Jums vienmēr būs pieejami diska kļūdu vai neuzmanīgas lietošanas dēļ pazudušie faili. Elektronisko vēstuļu pielikumus parasti sūta arhivēta faila formā. Daļa FTP serveros glabāto failu arī ir arhivēti, un pēc to saņemšanas tie ir jāatarhivē. Piešķirot arhīvam paroli, var pasargāt failus no nesankcionētas lietošanas. Programmu, kas ir arhīvā, nevar inficēt datoru vīrusi. Ir antivīrusu programmas, kas spēj atklāt un "izārstēt" inficētus failus arī arhivētā formā.

Arhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā failā, saspiežot tajos esošo informāciju. Saspiešanu panāk, speciālā formātā pierakstot daļas, kas failos atkārtojas. Tā, piemēram, Word vai Paint faili pēc saspiešanas var aizņemt 10-20% no oriģinālā izmēra. Labi var saspiest arī tabulas un datu bāzes. Grūtāk saspiest programmas, skaņas un īsus failus. Arhivēšana atvieglo failu grupēšanu, pārvietošanu un kopēšanu.

Rīda – Solomona kods. Dati=k, paritāte = 2t, Dati+paritāte=nPiemērs. Populārs variants ir RS(255,233), kur n=255,k=233,s=8,2t=32. Kods var automātiski izlabot 16 simbolu kļūdas virknē n.Izmanto:Atmiņas iekārtas (CD,DVD)

Redundance un irrevalenceRedundance (termins) - Vienu un to pašu datu atkārtošanās divos vai vairākos datu ierakstos. No šādas datu redundances vēlams pēc iespējas izvairīties, jo tā var radīt vienkāršas kļūdas (piem., burtu atkārtošanos). Relāciju datu bāzes pārvaldības programmas parasti pieļauj samazināt datu redundanci.

Videosignālu kompresijas gadījumā (skat., piemēram, SP 1999, 1 (13), 21. lpp.) runājām tikai par redundanci — datu pārbagātību un tās samazināšanu, bet digitālā audiosignālu tehnikā vienlīdz nozīmīga ir kā redundance, tā arī irrevalence. Pilnais audiosignāls var saturēt tik daudz datu, ka dažus no tiem cilvēka dzirdes aparāts nemaz neuztver. Tie tātad ir nesvarīgi, nevajadzīgi jeb irrevalenti dati. Taču tas pats audiosignāls atkarībā no sarežģītības pakāpes var saturēt informāciju, kas ir prognozējama un tādēļ izslēdzama tikai datu pārraides procesā, bet pēc vajadzības atjaunojama dekoderā (uztvērējā). Šādus datus audiotehnikā sauc par redundantiem. Aplūkotā GSM runas kodera izejā parametri P1 un P2 samazina pārraidīto runas signālu redundanci, bet R — runas ierosināšanas signālu datu kopa — samazina šo signālu irrevalenci (izmestie dati dekoderā vairs nav rekonstruējami).

Tīrie toņi un trokšņi

Tīrie toņi ir ar lielu redundanci un mazu irrevalenci. Tos var saspiest samērā vienkārši, izmantojot statistisko kompresijas procesu. Sarežģītas skaņas un trokšņu signāli ir ar mazu redundanci un lielu irrevalenci. Tos kompresē ar t.s. perceptuālo

Page 29: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

koderu, irrevalentos datus pilnīgi zaudējot. Lai labāk izprastu audiosignāla ciparu kodēšanas un kompresijas procesus, piemēram, saprastu, kāpēc runas traktu modelē ar lineārām filtru kopām, nepieciešams sīkāk iepazīties ar cilvēka dzirdes aparātu un t.s. maskēšanas efektiem.

27. Nepārtraukta signāla, piemēram, skaņas iekodēšanas princips.

Skaņas kodēšanaSkaņas kodēšanas metodes un paņēmieni tika ieviesti vieni no pēdējiem. Skaņas kodēšanai nebija senāk izveidotu kodēšanas paņēmienu, kā, piemēram, tas bija tekstam (Morzes ābece vai Braila raksts neredzīgajiem) vai grafikai (poligrāfijā). Tāpēc arī skaņas kodēšanai dažādas kompānijas izmantoja atšķirīgus paņēmienus. Plašāku izplatību ieguvuši divi no tiem.1. FM (Frequency modulation) metode izmanto skaņas signāla sadalīšanu mazākos intervālos, kuru vērtības kodē. No mikrofona iegūto skaņu pārveido ar speciālas aparatūras (analogo ciparu pārveidotāju) palīdzību. Mikrofona elektriskos signālus sadala sīkos, vienāda lieluma intervālos. Katrā no intervāliem nosaka vērtību tā viduspunktā, tādējādi iegūstot kāpņveida līniju. Jo mazāks ir laika intervāls, jo pārveidošana notiek precīzāk. Iegūtos līmeņus kodē ar skaitļiem.

Saglabājot iegūto skaņu datorā, ir iespējams norādīt arī skaņas kvalitāti: frekvences diapazonu, bitu skaitu, mono vai stereo. Arī šeit ir spēkā sakarība: jo vairāk bitu izmanto skaņas kodēšanai, jo tā būs kvalitatīvāka, taču palielināsies informācijas apjoms. Tā, piemēram, 22 050 Hz (intervālu biežums) 16 bitu kodēšanas stereo varianta skaņas ierakstīšanas apjoms ir 86 kilobaiti sekundē. Ierakstot 5 minūtes, informācijas apjoms ir 25 MB. Datorā šādi kodētie faili ir .wav. Kā redzams, tad skaņa aizņem ļoti daudz vietas, tāpēc tiek meklēti citi, efektīvāki kodēšanas paņēmieni.2. Viļņu tabulas sintēzes metodes (wave table) pamatā ir tabulu kopas, kurās atrodas dažādu mūzikas instrumentu un ne tikai to skaņu paraugi. Skaitliskie kodi norāda instrumenta tipu, toņa augstumu, skaņas stiprumu, u. c. skaņas īpatnības. Tā kā paraugos ir izmantoti reāli instrumenti, tad sintēzē iegūtās skaņas kvalitāte ir augsta un ļoti tuva reālu mūzikas instrumentu skaņām.3. Plašu izplatību pašlaik iegūst MP3 kodēšanas metode. Tās pamatā ir datu pārveidošana, izmantojot speciālu algoritmu, kas samazina kvalitātes zudumus. Tiek ņemtas vērā arī cilvēka dzirdes akustiskās īpatnības, neņemot vērā cilvēkam neuztveramās skaņas nianses. Tā, piemēram, 5 minūšu ilga CD kvalitātei līdzvērtīga MP3 formāta audiofaila apjoms ir 5 MB. Salīdzinājumā - 5 minūšu CD audiofails aizņem aptuveni 43 MB.Pašlaik vispopulārākais MP3 failu atskaņotājs ir programma Winamp, kas atbalsta arī virkni citu skaņu failu formātus.

28. Kļūdas, kas rodas iekodējot nepārtrauktu signālu, to pieļaujamība.

29. Attēla iekodēšana. Jēdziens par rastra un vektorgrafiku.

Attēla kodēšanas pamatā ir tā sadalīšana sīkos elementos un katra elementa kodēšana ar vienu binārciparu vai vairāku binārciparu virknīti. Piemēram, melnbalta ekrāna melnos punktus var kodēt ar 1, bet baltos – ar 0.  Ja attēls sastāv no n*m punktiem, tad attēla binārais kods ir n binārciparu virknītes, kurās katrā ir m binārcipari. Citiem vārdiem, attēla kodā ir n*m binārcipari. Tas nozīmē, ka šādi kodēts ziņojums par attēlu aizņem baitus.

Page 30: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

      Taču, ja šādā veidā gribētu kodēt nevis melnbaltu svītrainu attēlu, bet, piemēram, kādas ainavas melnbaltu fotogrāfiju, attēla kvalitāte nebūtu īpaši augsta. Pieņemsim, ka mēs tagad varam izšķirt jau 4 gradācijas – balts, gaiši pelēks, tumši pelēks un melns. Tad katru attēla punktu varam raksturot ar divu binārciparu kombināciju:       00 – punkts pilnīgi balts;      01 – punkts gaiši pelēks;      10 – punkts tumši pelēks;      11 – punkts melns.      Vēl labāku rezultātu varētu iegūt, ja pelēkajai krāsai paredz vairāk nekā divas gradācijas. Protams, attiecīgi palielinās arī ziņojuma apjoms par šādā veidā kodētu attēlu.      Jebkuru krāsu var iegūt ka dažāda spilgtuma zaļas, zilas un sarkanas krāsas sajaukumu. Ja katras krāsas spilgtumam ir astoņas gradācijas, tas to var izteikt ar triju binārciparu virknīti, piemēram, šādi:      000 – krāsas spilgtums ir nulle;      001 – ļoti vājš spilgtums;      ................................      110 – stipri spilgta;      111 – ļoti spilgta.      Tādējādi informācija, ko satur viens punkts, tiek kodēta ar deviņu binārciparu virknīti.      Lai informācija būtu pilnīga un to varētu viennozīmīgi dekodēt, punkti vēl ir jānumurē un jāpievieno punkta kārtas numura binārais kods. Rezultātā iegūstam binārās informācijas masīvu, kas ar noteiktu precizitāti apraksta attēlu.

Grafiskas informācijas kodēšanai izmanto dažādus kodēšanas paņēmienus.1. Attēlu sadala sīkākos elementos - rūtiņās - un katram šādam elementam kodē tā krāsu un vietu. Kodam nepieciešamo bitu skaits ir atkarīgs no fiksējamo krāsu daudzuma. Ja attēlu vēlas saglabāt ar 16 krāsām - kodēšanai nepieciešami 4 biti, 256 krāsām - 8, bet, ja kodēšanai izmanto 24 bitus, iespējamo krāsu skaits pārsniedz 16,7 miljonus. Šo kodēšanas principu izmanto fotogrāfijām. Jo lielāks kodēšanas bitu skaits, jo iespējams saglabāt vairāk dažādus toņus, taču ļoti pieaug datorā saglabājamās informācijas apjoms. Tādā veidā, piemēram, kodē Bitmap (.bmp) failus. Bitmap tipa failus var izveidot Windows programmā Paint.

Krāsu skaits 16,7 miljoni 256 16Apjoms baitos 47 174 16 950 8 054

2. Lai samazinātu informācijas daudzumu par attēlu, izstrādāti dažādi kodēšanas veidi, kuros izmanto matemātiskas formulas. Viens no šādiem veidiem ir JPEG (Joint Photographers Expert Group) izstrādātā metode. Kodējamo attēlu sadala noteikta izmēra blokos, piemēram, 88 punktos. Katrā blokā veic pārveidojumus, izmantojot speciālu diskrēto konusa pārveidošanas tehnoloģiju (DCT). Attēls aizņem daudz mazāk vietas, taču ir redzami kropļojumi. Šādi kodējot attēlus, ir iespējams arī norādīt pārveidošanas kvalitātes līmeni. Šo kodēšanas veidu izmanto fotogrāfiju ievietošanai internetā (.jpg formāts).

Kvalitāte 10% 30% 80%Apjoms baitos 1601 2698 5661

3. Zīmēšanas un projektēšanas programmās par pamatelementu uzskata elementāru figūru, kuru sauc par objektu. Objekts var būt taisne, riņķis, taisnstūris u. c. Saglabājot attēlu, glabā informāciju par katru zīmējuma objektu: tā atrašanās vietu (koordinātas), izmērus, krāsu u. c. Šo zīmēšanas un kodēšanas veidu sauc par vektorgrafiku. Šādus zīmēšanas un kodēšanas principus izmanto Microsoft Office programmās. Vektorgrafika izmantota arī Windows Metafile (.wmf) formātā gatavajos zīmējumus, kurus var ievietot, piemēram, no Microsoft Office attēlu kolekcijām.

Grafiskā informācija datorāJau kopš datoru ēras pirmsākumiem viena no datora funkcijām ir bijis darbs ar grafisku informāciju – sākotnēji ģeometrisku uzdevumu risināšana, topogrāfija, teksta atpazīšana, vēlāk arī attēlu apstrāde, poligrāfijas darbi un citi uzdevumi. Atšķirībā no tekstuālas informācijas ievades, grafikas aprakstīšana ir sarežģītāks uzdevums, jo attēlam piemīt gan forma, gan krāsa, kas jāpārvērš datoram saprotamās nuļļu un vieninieku virknēs.

Vēsturiski tiek lietotas divas dažādas metodes grafisku datu interpretācijai – vektorgrafika un rastra grafika. Vektorgrafika apraksta attēla atsevišķus fragmentus kā pamatelementu (taisnes, punkti, līknes) konstrukcijas, piekārtojot fragmentiem krāsas, virzienus un izmērus. Šī iemesla dēļ vektorgrafikas lietojums ir ierobežots, jo ar pamatelementiem ir ļoti grūti attēlot, piemēram, otas triepienu. Vektorgrafikas attēlu iespējams palielināt vai samazināt, nezaudējot kvalitāti, jo

Page 31: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

nepieciešams tikai mainīt tā mērogu pret citiem objektiem. Populāri vektorgrafikas failu formāti datorā ir WMF (Windows Metafile), PS (PostScript file) un AI (Adobe Illustrator file).

Otra tehnoloģija – rastra grafika – apraksta attēlu kā punktu kopu, sadalot attēlu rindās un kolonnās un fiksējot katra rindu un kolonnu krustpunkta krāsu un spilgtumu. Tādējādi attēls tiek interpretēts kā krāsainu punktu sakārtojums. Svarīgs ir mērījumu punktu (rindu un kolonnu krustpunkti) kopskaits, ko sauc par attēla izšķirtspēju. Pēc oficiālās terminoloģijas, punkts ir garuma mērvienība – 1/72 daļa collas, tas ir, aptuveni 0,35mm –, bet pikselis ir attēla mazākā daļa, mērījuma punkts, taču teksta uztveramības dēļ šajā rakstā termins punkts lietots attēla fragmenta nozīmē. Rastra attēlu izmēra mainīšanai izmanto interpolāciju vai ekstrapolāciju, lai ģenerētu trūkstošo punktu informāciju vai aprēķinātu vairāku punktu sapludināšanas rezultātu, tādējādi zaudējot attēla kvalitāti (sk. 1. attēlu). Populāri rastra grafikas failu formāti datorā ir BMP, TIFF, JPG, GIF.

Ierīču izšķirtspējaDarbam ar grafiku datorā tiek izmantotas dažādas perifērijas ierīces, piemēram, monitori, drukas iekārtas, skeneri, kuru pamatfunkcija ir pārvērst attēlu no cilvēkam saprotamas formas datoram saprotamā vai pretēji. Grafiskās ierīces, līdzīgi rastra formāta pieejai, attēlu uztver kā daudzu krāsainu punktu kopu, tādēļ izšķirtspēja ir viens no grafisko ierīču raksturlielumiem, kas nosaka, cik lielā mērā detalizētu attēlu konkrēta ierīce spēj parādīt vai uztvert.

Piemēram, vidusmēra skeneri spēj skenēt attēlu 200 – 1200 dpi (punkti collā) izšķirtspējā, tādējādi, pieņemot, ka tiek skenēta 3x4 collas liela fotogrāfija 200x200 punktu izšķirtspējā, tiks iegūts 600x800 punktu liels attēls.

Vektorgrafikas mērvienībasVektorgrafikas attēli nav tieši piesaistīti izmēram, taču bieži tiek noteikts mērogs, kādā attēls veidots. Piemēram, daudzās vektorgrafikas programmās attēls tiek veidots uz iedomātas papīra lapas, līdz ar to mērogojot attēlu pret tā potenciālo izdruku.

Vektorgrafikā izmanto dažādas mērvienību sistēmas, kas galvenokārt atšķiras vēsturiski ģeogrāfisku iemeslu dēļ – Eiropā lieto metrisko sistēmu, kas atšķiras no Lielbritānijas/ASV sistēmas, kuras pamatvienība ir colla. Tādēļ grafikas programmas ļauj izvēlēties, kuru no mērīšanas sistēmām lietot. Papildus tiek lietotas dažādu nozaru specifiskās mērvienības, piemēram, tipogrāfijas mērvienība pica, kas ekvivalenta 1/6 collas.

Bieži vien ir nepieciešams vektorgrafikas failu pārveidot rastra grafikā, piemēram, drukājot attēlu ar printeri vai eksportējot tālākai izmantošanai rastra grafikas apstrādes programmās. Ņemot vērā to, ka vektorgrafikas faili ir bezgalīgi kvalitatīvi, iespējams iegūt pēc patikas lielu rastra attēlu, taču jāizvēlas tāda eksporta konfigurācija, kas nodrošina, ka iegūto rastra attēlu izmērus un izšķirtspēju nevajadzēs mainīt, lai saglabātu attēla kvalitāti. Piemēram, 2. attēlā redzams datorprogrammas CorelDraw rastra attēlu eksporta funkcijas dialoglogs, kurā jāizvēlas iegūstamā attēla parametri. Tajā izvēlēts, ka attēla platums būs 700 punktu, bet augstums – 540 punktu. Attēlam izvēlēta izšķirtspēja 300 dpi, kas būs svarīga, ja iegūto attēlu vajadzēs bez izmaiņām drukāt vai importēt citā vektorgrafikas programmā, bet kam ir maz nozīmes, ja attēls tiks importēts rastra grafikas programmā.

Pastāv arī rīki, kas pārveido rastra grafiku vektorgrafikā, mēģinot atrast attēlā figūras, kas veidotas no regulāriem vienādas krāsas laukumiem, taču šo rīku darba rezultāti ne vienmēr pilnībā apmierina.

Rastra grafikas mērvienībasVektorgrafikas mērīšana ir salīdzinoši vienkārši saprotama, bet rastra grafika ir nedaudz sarežģītāka. Svarīgi ir izprast, ka galvenā rastra vienība ir punkts jeb pikselis, kas apraksta krāsu nelielā attēla fragmentā. To, cik liels šis fragments tiks attēlots kādā multimediju ierīcē, piemēram, datora ekrānā, nenosaka pats attēls, bet gan tā lietojums. Piemēram, 15 collu ekrānā ar 1024 punktu izšķirtspēju pa horizontāli viena punkta izmērs ir apmēram 0,29 mm, bet 21 collas ekrānam ar tādu pašu izšķirtspēju – 0,41mm. Tieši tādēļ ir pieņemts lielākiem monitoriem izmantot augstāku izšķirtspēju, kurā punkta izmērs ir 0,2–0,3 mm, lai gan šī norma nav absolūta, jo vienmēr būs datorlietotāji, kas 17 collu monitoram izmantos 1600x1200 punktu izšķirtspēju, un tādi, kas šādam pašam monitoram izvēlēsies 800x600 punktu izšķirtspēju.

Page 32: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Rastra attēlus iespējams mērīt ne tikai garuma un platuma punktos, bet arī citās ekvivalentās vienībās. Populārākā attēlu mērīšanas metode ir noteikt attēla izmērus centimetros (vai collās) un paskaidrot, kādā izšķirtspējā attēls ir uztverams. Piemēram, 10x15centimetri, 300 dpi (punkti collā). Izšķirtspēju pieņemts aprēķināt punktos collā (dpi), kā to dara gan skeneru, gan printeru ražotāji, gan arī tipogrāfiju darbinieki. dpi viegli pārrēķināt punktos centimetrā, atceroties, ka viena colla ir ekvivalenta 2,54 centimetriem. Tādējādi 300 dpi ir tas pats, kas 118 punkti centimetrā, taču šāds pieraksts ir neierasts un ikdienā netiek lietots.

Digitālo fotogrāfiju pasaulē pieņemta cita, līdz šim ne tik populāra attēlu mērīšanas sistēma, pēc kuras tiek aprēķināts kopējais punktu skaits attēlā. Piemēram, saka, ka attēlam ir 6,3 megapikseļu (6,3x106) sensors, kas nozīmē, ka aparāts spēj radīt attēlus ar sešu miljonu punktu izšķirtspēju. Šī mērīšanas sistēma radusies tādēļ, ka ne visu digitālo fotoaparātu attēliem ir vienādas malu proporcijas (kā klasiskajā fotogrāfijā – 2:3), tādēļ, uzrādot malu garumus, varētu rasties grūtības ar fotoaparātu parametru salīdzināšanu.

30 .Informācijas daudzuma aprēķināšana nekustīgā attēlā. Iespējas un nepieciešamība lietot saspiestus attēlu formātus.

31. Kustīga attēla iekodēšanas princips. Kadru skaits sekundē, un kas nosaka šī lieluma minimālo vērtību.

32. Video datu plūsmas lieluma novērtējums. Apstrāde reālā laikā.Video vai audiosignālu kompresēšanas algoritmu un programmatūras izstrādes procesā tiek pieņemta sākumdatu jeb parametru kopa, piemēram, bitu skaits, kas atvēlēts vienas nolases raksturošanai, kvantēšanas soļa lielums un raksturs, kustību vektoru meklēšanas apgabals (kodējot videosignālus!), Hafmana kodu grāmatas apjoms u. c. Taču algoritms (piemēram, MUSICAM, ASPEC – audio signāliem) ir kodeka dvēsele! Audiosignālu gadījumā par svarīgu sistēmas parametru jāuzskata pat koderā iebūvētais cilvēka dzirdes aparāta (CDzA) modelis.

Šie sākotnēji pieņemtie ļoti plašas izpratnes parametri beigu beigās nonāk firmas (koncerna) kodeka standartā. Tie var būt atšķirīgi, ja kodekus paredzēts izmantot dažādos lietojumos. Piemēram, izstrādājot attēla pārraides kodekus, svarīgi, vai tie paredzēti medicīnas darbinieku vajadzībām, domāti masu medijiem, izklaidei vai arī lietojumam jābūt universālam.

Tātad šiem sākotnēji pieņemtajiem parametriem ir ārkārtīgi liela nozīme algoritma praktiskajā realizācijā. Tie nosaka kodeka datu apstrādi līdz pat nepieciešamajam bitu plūsmas ātrumam un, kas pats svarīgākais, beigu beigās arī attēla vai atskaņojuma kvalitāti. Diemžēl, nav daudz vispārēju likumu, piemēram, tādi kā Naikvista kritērijs diskretizācijas frekvences izvēlē, kas dotu ērtu iespēju visus šos daudzos sākotnējos parametrus izvēlēties optimālus, vadoties no galvenā kodeka izejas lieluma (attēls, atskaņojums) kvalitātes. Tas tāpēc, ka pati kvalitāte ir pietiekoši sarežģīts jēdziens un bieži tiek neviennozīmīgi vērtēta.

par video!!

Nolašu secība, kas iegūta analogsignāla diskretizācijas rezultātā. Diskrēts signāls ir fizikālu lielumu (sprieguma, strāvas, gaismas) impulsu sērija

33. Kopnes. Kopņu funkcijas. Apakškopnes.

Page 33: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Kopnes, kas savieno 3 galvenās datorsistēmas daļas tiek sauktas par kontrolkopnēm, datu kopnēm un adrešu kopnēm. Kontroles kopne padod signālu (1 un 0) starp trim komponentēm. Piemēram, ja CPU vēlas nolasīt atmiņas saturu, tas signalizē kontroles kopnei. Adrešu kopne tiek izmantota, lai piekļūtu atmiņai vai ievad/izvadierīču moduļiem (Unificēts elektroniskās aparatūras konstruktīvs elements, kas veic noteiktas funkcijas.) Atmiņas adreses vai I/O moduļu portu adreses ir novietotas šajā kopnē. Datu kopne tiek izmantota, lai padotu datus.

As an example of the use of these buses, we can list the steps involved in the CPU reading data from an address in memory. These steps are:

the CPU places the memory address on the address bus the CPU requests a memory read operation on the control bus the memory recognises the memory read operation and examines the address on the address bus memory moves the data from cells at the address on the address bus to the data bus the CPU reads the data off the data bus.

Elektrisko signālu vadītāju (vadu) komplekts, pa kuru notiek informācijas apmaiņa starp dažādiem datora funkcionālajiem blokiem (procesoriem, atmiņu, pieslēgvietām, ārējo iekārtu vadības ierīcēm u.c.) Personālajos datoros parasti izmanto standartizētās kopnes, ko veido trīs dažādu kopņu apvienojums. Pa tām tiek pārsūtīti dati (datu kopne), informācija par datu atrašanas vietu (adrešu kopne) un vadības informācija (vadības kopne). Kopnes galvenokārt raksturo ar bitu skaitu, ko vienlaicīgi var pārsūtīt pa kopni (izšķir 8, 16, 32 utt. bitu kopnes), un ar maksimālo datu ātrumu, ko norāda MHz.Ierīce, kas vada kopni datu pārraides procesā. Parasti šīs funkcijas veic centrālais procesors. Augstas veiktspējas personālajos datoros kopnes vadībai bieži izmanto tīkla kartē vai videoadapterī iebūvētus palīgprocesorus, kas atbrīvo no šī uzdevuma veikšanas centrālo procesoru.

Adresu kopņu skaņošana    Adresu kopņu pārbaudei izpildīt sekojošas darbības: 8) Iestādīt visus adresu tumblerus uz 0 un ieslēgt barošanu. 9) Pārslēgt adresu kārtu AO vairākas reizes stāvokļos 1 un 0 un pārbaudīt, vai šī adresu kārta atbilstoši izmaina sprieguma līmeni uz visu to mikroshēmu izvadiem, kur tā pēc shēmas pievienota. Īpaši pievērst uzmanību tam, lai 1 un 0 līmeņi atbilstu mikroshēmu tehniskajos noteikumos uzdotajiem. Te jāievēro, ka daļa agrāk izgatavoto mikroshēmu prasa 3,6 V viennieka līmeni. 10) Augšminēto procedūru atkārto ar visām adresu kārtām. Vēlams pārbaudīt, vai neparādās arī dažādi "krustiskie" efekti. 11)Viegli ievērot, ka šīs pārbaudes var izdarīt arī ar oscilogrāfu, ja attiecīgajā adresu kārtā padod ārējo signālu no signālu ģenerātora. Par signālu ģeneratoru var izmantot oscilogrāfa iekšējā kalibrēšanas ģenerātora izeju, kura praktiski ir visiem jaunākajiem oscilogrāfiem. Frekvence šeit nav svarīga. 12) Pārbauda korpusa izvēles signālu pienākšanu pie atmiņas shēmu korpusiem un ārējo iekārtu interfeisiem, adresu kopnē iestādot vajadzīgās korpusa izvēles adreses.

Vadības kopnes pārbaude13) Visus tumblerus iestāda stāvoklī, lai dotajam mikroprocesoram netiktu ģenerēts neviens vadības signāls. 14) Izmantojot vadības signālu ģenerēšanas noteikumus, iestāda tumblerus tā, lai pēc kārtas ģenerētos atmiņas vai ārējo iekārtu lasīšanas vai rakstīšanas signāli, un pārbauda, vai šie signāli nonāk shēmā paredzētajos punktos.

Datu kopnes pārbaude    Atmiņas un ārējo iekārtu interfeisu mikroshēmas pievienotas datu kopnei ar trīsstāvokļu izejām, kas veido montāžas "vai", un sprieguma līmeni kopnē var noteikt jebkura no tām. Shēmas izlodēt praktiski nav iespējams, tāpēc jau principiālajā shēmā jāparadz adresu dešifrātora vadīšana tā, lai vienlaicīgi varētu aizliegt visu korpusu izvēles signālus. To visvienkāršāk panākt ar speciāla pārvienojuma palīdzību dešifrātora vadības ieejā. Pārējo vadības signālu vērtībām līdz ar to turpmāk nav nozīmes. 15) Datu kopnes pārbaudei:     a) ar pārvienojumu aizliedz visu korpusu izvēles signālus;     b) vadības kopnē padod datu rakstīšanas signālu;     c) pārslēgt datu kārtu DO vairākas reizes stāvokļos 1 un 0 un pārbaudīt, vai šī     datu kārta atbilstoši izmaina sprieguma

Page 34: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

līmeni uz visu to mikroshēmu izvadiem, kur tā pēc shēmas pievienota. Slēdzi pārslēdzot, atbilstošajā datu kopnes kārtā bez tam jāiedegās un jānodziest indikācijas mirdzdiodei. Skatīt arī 9).     d) procedūru atkārtot ar visām datu kopnes kārtām.

Sinhrona kopne – visas iekartas strada ar vienadu atrumSinhrona kopne prasa, lai visas pievienotas arejas iekartas stradatu ar to pašuatrumu ka procesors.Asinhrona kopne – strada ar dažadiem atrumiemAsinhrona kopne lauj procesoram adaptet cikla periodu atkariba no iekartas arkuru tas dotaja bridi sazinas vai komunicejas.1. Datu kopne – 32,64 bitu plata2. Adrešu kopne – 32 bitu plata3. Kontroles jeb vadibas kopne – 15 linijas (system clock) to rada augstasfrekvences kristalu oscilators.FEC sastav no vairakiem mikro cikliem vai fazem. Tas genere sistemaspulkstenis. Pie sistemas pulkstena 100MHz mikro cikla periods bus 100ns. FSB– (Front Side Bus) Savienots ar atminu , bet backside savienots ar cache atminu.

CPU programmēšanas modelis.CPU arhitektūra.

Zīm. 2.1 ir parādīts 8086 CPU modelis. Tas ir organizēts kā divi atsevišķi procesori: kopnes interfeisa bloks (bus interface unit - BIU) un izpildes bloks (execution unit - EU).      Kopnes interfeisa bloks nodrošina aparatūras funkcijas, ieskaitot atmiņas un I/O adrešu ģenerēšanu datu pārraidei starp ārējo pasauli, t.i., ārpus CPU, un EU.     Izpildes bloks saņem komandu kodus un datus no BIU, izpilda komandas un saglabā rezultātus universālreģistros. Pēc datu pārsūtīšanas uz BIU, dati var tikt saglabāti atmiņas šūnās, vai ierakstīti I/O iekārtās.     Atzīmēsim, ka EU nav savienojuma ar sistēmas kopnēm. Tas saņem un izvada visus savus datus caur kopnes interfeisa bloku - BIU. CPU sadalījums šādos atsevišķos blokos BIU un EU ļauj lasīšanas (fetch) un izpildes (execute) cikliem daļēji pārklāties (overlap).    Izskatīsim, kas notiek, kad 8086 vai 8088 mikroprocesors tiek palaists. BIU izvada instrukciju rādītāja (instruction pointer - IP) reģistra saturu adreses kopnē, liekot izvēlētam baitam vai vārdam tikt izlasītam BIU blokā.Reģistrs IP tiek palielināts par vienu vienību, lai sagatavotos nākamās instrukcijas lasīšanai.BIU blokā instrukcija tiek pārsūtīta rindā (queue). Tas ir FIFO (first-in, first-out) krātuves reģistrs, kuru dažreiz sauc par “konveijeru” (“pipeline”).Pieņemot, ka rinda sākumā ir tukša, EU uzreiz ņem šo instrukciju no rindas un sāk tās izpildi.Kamēr EU pilda šo instrukciju, BIU pāriet pie jaunas instrukcijas lasīšanas. Atkarībā no pirmas instrukcijas izpildes laika, BIU var aizpildīt rindu ar vairākām jaunām instrukcijām pirms EU būs gatavs saņemt nākamo instrukciju. BIU ir ieprogrammēts tā, ka tas lasa jaunu instrukciju tiklīdz rindā parādās vieta vienam (8088 gadījumā) vai diviem (8086 gadījumā) papildbaitiem. Tādas konveijera arhitektūras priekšrocība ir tā, ka EU var izpildīt instrukcijas gandrīz nepārtraukti, tam nav jāgaida, kad BIU izlasīs jaunu instrukciju. Tas shematiski ir parādīts Zīm.2.2. 

34. Virknes un paralēla datu pārraide. Priekšrocības, trūkumi. Daži vadības signālu piemēri.Sistēmas vadības signāli ir nepārtrauktas laika funkcijasvirkne ir standarts, kad tiek padoti vieni dati pēc otriem.paralēlais, kad tiek padoti vairāki vienlaicīgi. šis ir ātrāks, līdz kādai robežai trūkums sarezģītāk uztaisīt speciālas programmas

35. Jēdziens par laika diagrammu. Taktsfrekvence un datu pārraides ātrums sinhronā paralēlā kopnē.

36. Jēdziens par kopnes/interfeisa protokolu.

Page 35: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

37. Procesori, to pamatbloki, pamatbloku funkcijas

Procesors ir datora centrālās vadības un informācijas apstrādes mezgls. Tā sastāvā ietilpst aritmētiski -loģiskais mezgls, vadība, universālo reģistru bloks īslaicīgai datu un adrešu uzglabāšanai un speciālie reģistri: komandu skaitītājs, komandas reģistrs, steka rādītājs un karodziņu reģistrs. Visus šos mezglus kopā saista universāla divvirzienu datu maģistrāle.

Procesors izpilda informācijas apstrādi saskaņā ar doto programmu un organizē datora centrālo vadību, nodrošinot visu datora agregātu saskaņotu darbību. Lai to nodrošinātu, centrālais procesors atšifrē un secīgi izpilda visas programmā norādītās komandas, vajadzīgā brīdī ierosinot citu sistēmas agregātu darbu, piemēram, griešanos pie operatīvās atmiņas vai ārējām iekārtām. Uzrādīto funkciju izpildīšanai izmanto šādas centrālā procesora sastāvdaļas.

1. Aritmētiski loģiskais mezgls veic datu un komandu aritmētisku un loģisku pārveidošanu. Tas parasti piemērots veselu skaitļu apstrādei, bet skaitļu ar peldošo komatu apstrādei lieto speciālu aritmētiski loģisko mezglu.

2. Vadības iekārta nodrošina kārtējās komandas saņemšanu no atmiņas, tās koda dašifrēšanu, operandu saņemšanu no atmiņas un komandā norādītās operācijas izpildīšanu aritmētiski loģiskajā mezglā, rezultāta ievietošanu atmiņā, kā arī procesora atsaukšanos uz kanāla (DMA) vai citu datora mezglu prasības pēc apkalpošanas.

3. Reģistru bloks noder par ātru vietējo atmiņu vadības informācijas uzglabāšanai. Tā adresējamos vispārējās nozīmes reģistrus pēc programmētāja vēlēšanās var izmantot par akumulatoriem, bāzes vai indeksu reģistriem, kā arī bieži lietojamo datu īslaicīgai uzglabāšanai.

4. Sakaru mezgls jeb interfeiss organizē informācijas apmaiņu ar operatīvo atmiņu vai ārējām iekārtām. Šodienas datoros tas vada standartizētu datora maģistrāli (agrāk komutāciju izpildīja ar multipleksoriem), kas nodrošina pārējo datora mezglu vienveidīgu sadarbību ar centrālo procesoru, kā arī dod iespēju daudziem ražotājiem vienlaicīgi izgatavot dažādus datora mezglus.

5. Dažādi palīgmezgli nodrošina pašreizējā laika uzskaiti, pārtraukumu pieņemšanu un apkalpošanu, sadarbību ar palīgprocesoru un DMA kontroleri, darbības traucējumu kontroli un diagnostiku, atmiņas daudzlīmeņu organizāciju, apkalpošanu un aizsardzību, un virkni citu funkciju.38. Komandu sistēmu izstrādes principi.39. Procesoru tipi RISC/CISC, pamat atšķirības, piemēri.40. Komandu sistēmas. Mašīnu komandu pamat grupas. Piemēri..

41. Komandas izpildes soļi. Konveijerizācija.

Soļu režīms    i8080 (K580 IK80 ) un dažos citos mikroprocesoros ir speciāls izvads soļu režīma aparatūras realizācijai. Tas izmanto procesora īpašību  izpildīt gaidīšanas stāvokli, ja no atmiņas nav saņemts apstiprinājums  READY par datu izstādīšanu maģistrālē. i8080 procesoram tam nolūkam signāla RDY formēšanas ķēdē jāieslēdz trigeri, kā parādīts 3. zīm.. Pie tam signāla M1 izmantošana nodrošina izpildīšanu pa vienai komandai, bet signāla SYNC -pa vienam mašīnas ciklam. Par cik otrā trigera C ieejā tiek padots vadības signāls, ķēdei jābūt ar dzirksteļošanas novēršanas shēmām.

Superskalārā arhitektūraSuperskalārā arhitektūra procesoram dod iespēju izpildīt vairāk par vienu komandu takts periodā, tā sasniedzot jaunu ražīguma līmeni. Tas nozīmē, ka procesoram ir vairāk kā viens izpildošais mezgls (pipeline), kurš apstrādā pārējās sistēmas piegādāto informāciju. Rezultātā procesors vienā takts periodā izpilda komandas, kuru izpildīšanai iepriekšējie 32 bitu procesori patērēja vairākas taktis.

Page 36: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Procesora divi iekšējie konveijeri sadala darbības ar veseliem skaitļiem piecos etapos: komandas izvēle, pirmā dekodēšanas pakāpe, otrā dekodēšanas pakāpe, darbības izpildīšana un rezultāta saglabāšana. Tas atļauj vairākām komandām atrasties dažādās izpildīšanas stadijās, tā palielinot procesora ražīgumu.Procesorā atšķirībā no iepriekšējām paaudzēm daudzas komandas realizētas aparatūrā, nevis kā mikroprogrammas. Tas vienkāršo to pielietošanu, saglabājot savietojamību ar iepriekšējiem procesoriem, kā arī palielina procesora ātrdarbību.

42. Konveijera garuma, taktsfrekvences un ātrdarbības atkarības.

43. Datu un kodu atkarība, to ietekme uz komandu konvejerizpildi, veidi, kā šo ietekmi mazināt.

44. Līdzekļi procesora darbības paātrināšanai.

Nopērkot kādu detaļu, mēs vēlamies no tās gūt maksimālo labumu. To ir iespējams izdarīt ar overclockinga palīdzību. Šoreiz runa ies par to, ar kādiem līdzekļiem "uzdzīt" sava datora procesoru (CPU). Šo rakstu esmu veidojis kā jautājumu un atbilžu kopumu. Šeit ir apskatīti paši overclockinga pamati, tāpēc zinātājiem šajā jomā neko jaunu uzzināt neizdosies. Kā vēsta virsraksts pirmās daļas nosaukums ir Ievads. Šajā nodaļā apskatīti pamatjēdzieni un daži sagatavošanās darbi.

Lai varētu runāt par overclockingu ir jāizprot daži jēdzieni un likumsakarīgas. Sākšu ar dažu skaidrojumiem. Skaidrojumi nebūs zinātniski, bet lietas būtību izskaidrojoši.

FSB - pilnais nosaukums Front Side Bus. FSB ir maģistrāle, pa kuru notiek datu apmaiņa starp procesoru un operatīvo atmiņu. RAM, AGP, PCI un CPU takts frekvences tiek iegūtas FSB frekvenci pareizinot ar kādu reizinātāju.

AGP - maģistrāle, pa kuru notiek apmaiņa starp CPU un videokarti, kura ir iesprausta AGP slotā. Frekvence - 66 MHz.

PCI - maģistrāle, pa kuru notiek apmaiņa starp PCI slotos iespraustajām komponentēm un pārējo sistēmu. Frekvence - 33 MHz.

BIOS - kā liecina pats nosaukums Basic Input Output System - paša zemākā līmeņa programma datorā. BIOS'ā var mainīt vairāku datora komponenšu darbības apstākļus (izmainīt frekvences, spriegumus un citas lietas). BIOS'ā var iekļūt datora startēšanas pašā sākumā paturot Del (Delete) pogu. Par to, kā viņā var veikt izmaiņas (tieši kurā sadaļā un ko labāk izvēlēties) jūs varat atrast grāmatiņā kura nāca līdzi mātesplatei. Ja jūs BIOS'ā nekad neesat veicis nekādas izmaiņas, tad šīs grāmatiņas atrašana un izpētīšana būtu ļoti nederīga lai varētu turpināt mūsu uzsākto ceļu, jo BIOS būs tā lieta, ar kuru mums nāksies nopietni darboties. Es nevaru iedot vienu recepti kā BIOS'ā veikt izmaiņas, jo katra ražotāja mātesplatē izvēlnes BIOS'ā ir veidotas nedaudz savādāk.

Kāpēc iespējams overclockings?

Parasti tam ir trīs iespējamie iemesli. Pirmais: katra detaļa, kura tiek pārdota ir taisīta nedaudz spēcīgāka par tiem parametriem ar kuriem viņa tiek pārdota. Tā ir tā sauktā rezerve. Tāpat kā 700MB matricās var ierakstīt nedaudz vairāk, tā arī CPU ir neliela rezervīte. Otrs iemesls: tā kā procesori sastāv no daudziem miljoniem tranzistoru, tad praktiski nav iespējams uztaisīt divus pilnīgi vienādus procesorus. Procesorus ražo partijās. Katrai partijai veic pārbaudi - notestē kāds "izcepums" izdevies. Ja testu rādītāji ir ļoti labi, tad procesoru nomarķē kā, piemēram, 2 GHz, bet ja rādītāji ir sliktāki kā 1.8 GHz. Bet tā kā uz frekvencēm netiek testēti pilnībā visi procesori, tad, piemēram, 1.8 GHz partijā var būt tādi procesori, kuri ir spējīgi darboties uz 2 GHz vai pat vairāk. Trešais: ja ražotājam pēkšņi ir beigušies, piemēram, 1.8 GHz procesori, bet ir pietiekami daudz 2 GHz, tad viņš daļu 2 GHz procesoru nomarķē kā 1.8 GHz.

Vai overclockings ir drošs?

Atkarīgs no metodes un tā cik ļoti sistēma tiek uzdzīta. Vienmēr pastāv risks procesoru vai pat mātesplati un citas detaļas nodedzināt. Un atceraties vienu, ja jūs esat sabojājis sava datora kādu detaļu overclockinga rezultātā viņai ZŪD GARANTIJA. Jaunie procesori avārijas gadījumā māk atslēgties un nesadegt, bet vecāki procesori dega nost itin viegli. Nedaudz par to kā procesors jūtas ja strādāt atsakās tā ventilators jūs varat redzēt šajā video (9.59 MB). Video atrodas uz boot.lv servera, bet ir ņemts no tomshardware.com. Ja overclockingā neizmantojiet sprieguma palielināšanu vai arī bojātu ventilatoru, tad kaut ko nodedzināt ir maza iespējamība (bet risks pastāv).

Page 37: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Kāpēc vajag overclockot procesoru?

Uz šo jautājumu atbildēt viennozīmīgi nevar. Citiem tā ir iespēja uzlabot datora veiktspēju, citiem tas ir azarts, sports, citiem vienkārši ziņkāre. Bet vienmēr pirms ķerties klāt vajag padomāt - vai man tas ir vajadzīgs?

Kāds ir ieguvums no overclockinga?

Ja procesoru uzdzīsiet par kādiem 200 MHz, tad nekādu ievērojamu veiktspējas pieaugumu nejutīsiet, bet jūs jau būsiet pievienojies overclockeru saimei un varēsiet lepni runāt, ka jūs mākat. Bet ja jūsu sistēma ir uzdzenama par kādiem 500 MHz un pat vairāk, tad jau rezultāti tiešām ir jūtami. Protams, veiktspējas atkarība no megahercu pieauguma ir atkarīga no konkrētās firmas procesora. Ja jums ir AMD, tad katrs papildus megahercs dos jūtamāku jaudas pieaugumu nekā Intel. Bet tā ir iekārtojies, ka Intel procesori frekvenču ziņā, bieži vien, ir uzdzenami augstāk. Īpaši labi uzdzīšanai padodas jaunie Pentium 4 procesori. Piemēram P4 2.4c stabili spēj darboties pie 3.2 GHz un pat vairāk. Bet te rodas otrs jautājums - kādēļ pie pastiprinātas noslodzes turēt procesoru, kurš jau pie nominālās frekvences ikdienas situācijās ne tuvu neizmanto savu potenciālu? Atbildes varētu būt divas. Pirmā - tas ir sports. Otra - ir patīkami apzināties, ka jūsu procesors ir tik pat jaudīgs, kā tie, kuri maksā 100 un pat vairāk latus dārgāk.

Kāda ir normāla CPU temperatūra?

Tas ir ļoti diskutējams jautājums. Normālas temperatūras robeža ir dažāda katram procesoram. Bet ja jums miera stāvoklī procesors darbojas pie 40 grādiem, bet pie 100% noslodzes ilgākā periodā pie 60 grādiem, tad tas ir labi. Bet ja temperatūra jau sasniedz 80 grādus vai pat tikai 70, tad jāsāk nopietni uztraukties. Kā piemēru varu minēt savu procesoru - P4 2.4c - miera stāvoklī temperatūra 42 grādi, bet pie 100% noslodzes 58. Ja tiek uzdzīts līdz 3GHz, tad temperatūra pakāpjas par pāris grādiem. Tas cik ļoti liels ir temperatūras kāpums overclockinga rezultātā ir atkarīgs no izmantotā metodes. Par metodēm, nedaudz vēlāk.

Ko darīt, ja neuzdzīta CPU temperatūra ir liela?

Ir jāatrod iemesls. Pārbaudīt vai nav pieputējis procesora radiators. Ja ir - iztīriet to. Pārbaudiet cik ļoti mainās temperatūra, ja attaisiet vaļā sistēmbloku. Ja pēc sistēmbloka attaisīšanas temperatūra krītas par 5 grādiem vai vairāk, ir jāpadomā vai nevajadzētu mainīt sistēmbloku (īpaši aktuāli ir mazajiem blokiem, ja procesors atrodas tuvu vai zem paša barošanas bloka), vai arī sistēmas blokā ielikt papildus ventilatoru (īpaši aktuāli klusinātajiem korpusiem). Ja vaina nav korpusā, tad jums ir jāpārbauda vai uz procesora nav uzsmērēts pārāk daudz termālās pastas vai gluži otrādi pamaz. Ja pašam to ir bail darīt, tad palūdziet kādu kas to māk. Sliktākajā gadījumā griezieties veikalā kurā pirkāt datoru ar sūdzību par to, ka procesora temperatūra ir pārāk liela. Ja veikals ir pietiekami augstas kvalitātes viņi pārbaudīs un vajadzības gadījumā nomainīs vai nu radiatoru, vai nu ventilatoru, vai arī veiks izmaiņas pastas daudzumā. Bet pirms nesat savu kasti uz veikalu uzziniet kāda ir standarta temperatūra tieši jūsu procesoram. Varat to izdarīt vai nu tajā pašā veikalā, vai arī ražotāja mājas lapā.

Vai uzclockotam procesoram samazinās mūža ilgums?

Samazinās. Samazināšanās lielums ir atkarīgs no tā pie kādas noslodzes jūs viņu lietojat. Bet samazināšanās laiks nav tik liels lai par to vajadzētu īpaši uztraukties. Aptuvenais dzīves ilgums uzclockotam procesoram svārstās no 5 gadiem un uz augšu, bet pēc pieciem gadiem tādu procesoru kādu lietojat jūs pašlaik lietos retais...1. Metodes

Var izdalīt divas lielas overclockingā pielietotās metodes. Viena ir uzdzīšana izmantojot tikai FSB, bet otra CPU reizinātāja palielināšanu. Pirmā metode jāizmanto visiem samērā jauniem Intel procesoriem, un daļai no AMD procesoriem. AMD bija izslavēts, kā overclockeru iecienītākais ražotājs, tieši nebloķēto procesora reizinātāju dēļ. Taču tagad tirdzniecībā plaši pieejami AMD procesori ar bloķētiem reizinātājiem.

Kura metode labāka?

Katrai metodei ir savas priekšrocības un trūkumi. Apskatīsim nedaudz sīkāk katru metodi.

Overclockings izmantojot FSB palielināšanu

Page 38: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Kā minēts augstāk - šī metode jāizmanto praktiski visiem Intel procesoriem (vecākās ar Intel procesoriem aprīkotās sistēmās, var atrast eksemplārus ar nebloķētiem reizinātājiem), kā arī aizvien pieaugošam skaitam AMD procesoru.Šīs metodes plusi: ceļot FSB frekvenci automātiski tiek paaugstināta gan AGP, gan PCI, gan RAM frekvence. AGP un PCI frekvenču automātiskais pieaugums var pārvērsties arī par mīnusu. Izmainot vienu parametru, jūs uzreiz uzdzenat lielu daļu no datorā esošām lietām. Ātrdarbības pieaugums izmantojot FSB palielināšanu būs nedaudz lielāks, nekā izmantojot reizinātāju maiņu, jo papildus jaudas pieaugumu nodrošina palielinātā FSB caurlaidība.Šīs metodes mīnusi: ja jūsu sistēma neļauj nofiksēt AGP un PCI frekvences, tad īpaši augstu CPU uzdzīt neizdosies, jo PCI un AGP pie paaugstinātām frekvencēm kļūst nestabilas. Ja PCI vai AGP frekvences pārsniegs pieļaujamo normu, tad jūsu dators nemaz nestartēsies. Normas ir atkarīgas no konkrētās sistēmas. Jūsu sistēmas robežas varat atrast eksperimentu ceļā. Otrs mīnuss - lielāka siltuma izdalīšanās un nestabilāki spriegumi. Izmantojot FSB palielināšanu, procesors karsīs vairāk, nekā ja jūs izmantosiet manipulācijas ar reizinātāju. Tāpat arī pie paaugstinātas FSB frekvences ir lielākas spriegumu svārstības, kas negatīvi iespaido sistēmas stabilitāti. Svārstību lielums stipri atkarīgs no mātesplates un barošanas bloka.

Kādu metodi izvēlēties

Lielas lietotāju daļas vietā to jau ir izlēmis ražotājs. Ja vēl datoru tikai vēlaties pirkt un esat izvēlējies AMD sistēmu un tieši Athlon XP 2500+ (Barton), tad vajadzētu pārliecināties vai viņam nav bloķēts reizinātājs. Tagad AMD tieši šīs sērijas procesorus piedāvā ar bloķētiem reizinātājiem. Un šajā gadījumā nelīdzēs ar vecākiem AMD procesoriem izmantotās metodes (grafīts un citas), jo reizinātāji ir noslēgti ļoti sarežģītā veidā.Ja jums ir procesors ar nebloķētu reizinātāju, tad es nevaru jums ieteikt labāko metodi. Tas ir jāizlemj katram pašam. Taču, ja jūs nevarat fiksēt AGP un PCI frekvences, tad reizinātāja palielināšana būtu labākā izvēle. Kādēļ? Skatīties pie FSB metodes mīnusiem. Taču ja jūs varat fiksēt AGP un PCI frekvences, tad grūti ieteikt, jo ja jūs izmantojat tikai reizinātāja palielināšanu, tad nemainīsies FSB, kura maiņa savukārt sniegtu vēl papildus jaudas pieauguma procentus.45. Jēdzienns par superskaitļotājiem. Uzdevumu klases kuras risina ar superskaitļotājiem..

Superskaitļotāji mūsdienās – paralēli skaitļotāji.

Lieldatori, angliski “mainframe”, ir lielas jaudas datori, ko lieto valsts un komerciālās iestādes lielu uzdevumu veikšanai. Tie tipiski sastāv no vairākiem skapju lieluma komponentiem, un instalācijas aizņem istabu vai mājas stāvu.Precīzi runājot, arhitektūra ir datora interfeiss ar tiešo lietotāju, kas ir programma. Tā ir darbības principu specifikācija, kas ļauj programmai darboties un dot sagaidītos rezultātus. Tā iekļauj visu, kas ir nepieciešams datora programmēšanai, ieskaitot instrukciju un datu formātus un kodus un pilnīgu funkcionālo specifikāciju. Ja diviem datoriem ir tā pati arhitektūra, programmas var pārnest no viena uz otru.---Lieldators (mainframe computer) ir dators, kuru kāds lietotājs (organizācija, tās struktūrvienība) izmanto kā galveno datoru savu problēmu risināšanai. Lieldatori var būt vidēja un liela apjoma. To pamatatmiņas un diskatmiņas ietilpības diapazons ir ļoti plašs un tiem pievienoto termināļu skaits var būt visai atšķirīgs - no dažiem termināļiem līdz dažiem tūkstošiem termināļu. (TTC datubāze)Lieldators tiek izmantots kā galvenais dators (serveris), kas vienlaicīgi spēj apkalpot daudzas programmas. Tā kā lieldatoram ir jānodrošina daudzi tam pieslēgtie lietotāji ar informāciju, tam ir nepieciešama ievērojami lielāka jauda un vieta datu glabāšanai. Tāpēc arī lieldatori ir ātrāki un tiem ir vairāk atmiņas. Rezultātā tie ir dārgi - lieldatora cena var pārsniegt vairākus miljonus dolāru.Lieldatori tiek izmantoti lielās organizācijās un valsts iestādēs, kurās lielam daudzumam lietotāju ir nepieciešams piekļūt lielam informācijas daudzumam. Lieldatori ļauj šo informāciju centralizēti uzglabāt un vadīt.Lieldatora lietotāji nesēž pie tā tieši, bet pieslēdzas lieldatoram, izmantojot citus mazākus datorus vai termināļus. Tā, piemēram, izmantojot bankomātu jūs varat piekļūt centrālajam bankas lieldatoram, kurā glabājas informācija par jūsu kontu.Superdators (supercomputer) ir visjaudīgākā tipa dators, kas izstrādāts sarežģītu aprēķinu veikšanai ar tādu ātrumu, kādu pieļauj vismodernākā tehnoloģija. Superdatorus parasti izmanto zinātniskajos pētījumos sarežģītu procesu modelēšanai, meteoroloģisko prognožu izstrādāšanai, ekonomiskajām analīzēm un citu līdzīga rakstura uzdevumu risināšanai. (TTC datubāze)

Uzdevumu klases, kuras var izpildīt uz superskaitļotājiem.

Lai realizētu algoritmus:

Page 39: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

modularitāte, konkurence, lokalitāte, mērogojamība.

Risina parametru piemērojamības problēmu – salada parametrus, apkopo rezultātus. Var veikt simulācijas.

46. SIMD komandas un multimediju uzdevumu specifika.Pentium III ir jaunākais IA saimes procesors. Tā pamatā ir Pentium Pro papildinājums ar 70 jaunu instrukciju kopu, kuru mērķis ir nodrošināt jauno funkcionālo moduļu izmantošanu. Ievesta arī SIMD arhitektūra [SIMD arhitektūra, vienas instrukcijplūsmas un daudzu datplūsmu arhitektūra - Datorarhitektūra, kuras īstenošanā ar dažādām datu kopām tiek veikta viena un tā pati operācija. Šādas arhitektūras piemērs ir masīvu procesors. Viens dators vai procesors tiek izmantots vadībai, pārējie izpilda vienu un to pašu instrukciju.]

In computing, SIMD (Single Instruction, Multiple Data) is a set of operations for efficiently handling large quantities of data in parallel, as in a vector processor or array processor. First popularized in large-scale supercomputers (as opposed to MIMD parallelization), smaller-scale SIMD operations have now become widespread in personal computer hardware. Today the term is associated almost entirely with these smaller units.

In the past there were a number of dedicated processors for this sort of task, commonly referred to as Digital Signal Processors, or DSPs. The main difference between SIMD and DSP is that DSPs were complete processors with their own (often difficult to use) instruction set, whereas SIMD designs rely on the general-purpose portions of the CPU to handle the program details, and the SIMD instructions handle the data manipulation only. DSP's also tend to include instructions to handle specific types of data, sound or video for instance, whereas SIMD systems are considerably more general purpose.

Contents

Whether modelling how air flows across a wing or testing the function of the human brain, mathematics plays an important role in our growing understanding of the world. Computers allow scientists to perform vast numbers of computations very quickly. However, even with the fastest computers currently available, it can require days for a computer to do an analysis of brain activity.

Standard desktop PCs using AMD or Intel CPUs are very fast at integer mathematics (e.g. 3*4), but are relatively slow for real number mathematics (e.g. 3.01*4.1). Therefore, scientists have traditionally relied on Sun and Alpha workstations to do their number crunching. These expensive computers are typically much faster than desktop PCs with real number computations.

One solution to increasing the speed of real number processing is to use integers instead. For example, to compute 3.01*4.1, I could get a similar answer using the integers 3010*4100 (as long as I remember I have scaled the input values). These integer maths techniques are very useful for computer graphics, where precision is not critical. However, integer maths of real numbers will either have low precision or a small range. Therefore, this trick is not suitable for most scientific applications.

Recent desktop computers have included 'Single Instruction, Multiple Data' (SIMD) commands that allow computers to do several mathematical computations simultaneously. Motorola chips (used in the Macintosh series) have Altivec instructions, Intel chips support SSE and SSE2 intructions, while AMD chips support 3DNow! instructions. For example, the Intel SSE set allows you to multiply four numbers simultaneously. Programs that support these instructions can potentially run much more quickly.

However, very few scientific programs currently support SIMD. One problem is that it is generally difficult for programmers to create SIMD programs. A second problem is precision. Most scientific questions require 64-bit precision

Page 40: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

real numbers (a.k.a. 'double' precision, giving 15-16 significant digits of precision). Unfortunately, the popular SIMD sets (Altivec, SSE, 3DNow!) only support 32-bit real numbers (a.k.a. single precision, giving 7-8 significant digits of precision). Fortunately, the recently released SSE2 supports double precision SIMD (albeit, only two double-precision numbers at a time, instead of four single-precision numbers).

The SSE2 functions of the Pentium 4 processor offer great potential. Unfortunately, most current floating-point software runs very slowly on the Pentium 4. In fact, Matlab (a popular tool for scientists) does not support SSE2 and only versions 6.1 or later support the Pentium4 (see Matthew Brett's [Linux] and Kevin Sheppard's [Windows] pages on updating MATLAB to take advantage of the Pentium4). Most scientists will be better served by an Athlon system than a Pentium 4. However, as my software below demonstrates, Penitum 4 optimization can be as easy as recompiling the software with specific compiler directives (e.g. quad-word byte alignment).

Scientists and other individuals interested in seeing the performance benefit of SIMD commands can try my Simdtest program, that runs on Windows computers. It measures the time to complete a large number of mathematical operations using either standard or SIMD commands. It also demonstrates the speed difference between single and double precision standard instructions. The project includes Delphi source code (requires Delphi 4+ and Stefano Tommesani's lovely free Exentia SIMD code). The code also demonstrates how to use the Windows 'QueryPerformanceCounter' to measure time with a fair degree of accuracy (as described by Gordon Bamber). I am also distributing a Linux executable and Kylix source code, which demonstrates the use of the high performance Libc timers (n.b. this is a 3.2 Mb download, the executable 'startsimd' will run the program).

Left: My program allows you to set the number of computations by adjusting the Array Size and number of repititions (cycles). You can also set whether the data uses 'Default byte alignment' (the operating system returns the memory address) or whether the data is forced into alignment (with addresses evenly divisible by 16) or forced into poor alignment (when addresses are divided by 16, there is always a remainder of 1). When you press 'Compute' you will see the processing time as well as information on the byte alignment. In this example when addresses are divided by 16, the remainders are 8,12,0,12,0 and 4 (shown as s8s12s0 d12d0d4, for the three single precision arrays and three double precision arrays). In this example, all addresses are divisible by 4, but not 8: single multiplication will be fast, but double precision will be slow. When forced alignment is chosen, this label wil report 's0s0s0 d0d0d0', when data is forced to have poor alignment, the label will read 's1s1s1 d1d1d1'. Note that computation times will randomly vary when 'default byte alignment' is chosen, as the arrays will be randomly assigned better alignment on some runs than others.

This software is not designed as any kind of benchmark. However, I think it can illustrate a few simple principles for writing faster floating point software. Here are some values from a few computers (all running Windows98, except the Athlon [Linux] and the P3 [Windows 2000] and 2.5 GHz P4 [Windows XP]).

Multiply/Divide Time (ms)  p:233

[w98]k6-2:333[w98]

c:300[w98]

p3:800[w2000]

pM: 1000banias

p4:1300[w98]

Athlon: 1400 [Linux]

p4:2500[wXP]

AthlonXP2500

Athlon643400+:

dual Xeon:3000

 

Page 41: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

[wXP] 1870[wXP]

2200[wXP] [wXP]

single 1070/4307 930/3290 370/258

0 130/950 158/769 100/620 136/307 68/359 317/23

4 89/198 54/287  

singleSIMD - 100/310 - 35/220 26/176 35/155 25/111 18/90 17/84 13/73 11/65  

double 1590/4740

1470/3700

600/2570

450/1300

363/1045

1030/1518

always 8byte aligned

always 4byte aligned

always 4byte aligned

always 4byte aligned

always 4byte aligned

 

doubleALIGNED

1450/4630

1300/3520

480/2570 170/950 83/765 100/620 83/414 61/451 80/234 39/200 40/287  

doubleSIMD - - - - 52/640 70/550 - 35/296 - 26/163 26/230  

Divides are much slower than multiplies. If you want to divide many numbers by the same value, it is often much quicker to compute the values reciprocal (1/x) and then perform multiplication. For example, instead of dividing a series of numbers by 4, it is much quicker to multiply by 0.25 (i.e. 1/4). In fact, in my test program, the multiplies are always the reciprocals of the values used in the divides, illustrating the difference between divides and multiplies when looking at the same data. Note that in some situations, reciprocals can retain slightly less precision than divides.

For Windows: Eight-byte-align data. The Pentium 4 has a reputation for being slow with real numbers when running software that has not been optimized. In particular, there is a large cost for processing 8-byte double precision numbers that are not aligned in memory (where the address of the memory is evenly divisible by 8, a.k.a "aligned on quad-word boundaries"). The red and green boxes above illustrate this - note that multiplies are ten times faster on the Pentium 4 when the data is byte-aligned. It is also worth noting that other fast processors (e.g. Pentium3) also benefit from byte-alignment. With some compilers, byte-alignment is a simple task of setting a compiler directive and recompiling the software (Delphi does not appear to allow this: even the {$A8} directive does NOT align memory allocated with GetMem). Fortunately, the memory managers in modern operating systems do this automatically (e.g. in Linux GetMem returns addresses evenly divisible by 8, while GetMem returns addresses evenly divisible by 4 with WindowsXP). Therefore, users who upgrade to Windows XP will automatically notice better floating-point performance (more so for single precision than double precision, as the addresses are always divisible by four but not necessarily by eight); the software does not need to recompiled.

NaN multiplication is slow with the Pentium 4. My test program also has a button called 'NaN Test' that computes the processing time required to multiply real numbers (specifically 1x1) and "Not A Number" values (specifically 1xNAN). With an AMD Athlon, there is no difference (41ms for real: 41 ms for NaN on a 1800Mhz Athlon XP 2200, 33:33 for a 2200MHz Athlon64 3400+). The Pentium 3 is 14 times slower for NaN calcuations (126:1795ms with a 800 Mhz system), with the Banias PentiumM also somewhat slowers for NaNs (94:2256 for 1Ghz system). Finally, the Pentium 4 is 135 times slower (40:5425 for a 2000Mhz Northwood P4; 61:3225 for a 3000Mhz Xeon). This test is calculated using double precision floats, and my tests were conducted based on 10,000 repititions with a 1024 entry array (10,240,000 calculations). One solution is to use SSE/SSE2 instructions, as SSE NaN calculations do not incur a penalty (i.e. NaNs are computed just as fast as real numbers). For further information, see and this excellent article at Cygnus-Software as well as Earl F. Glynn's NaN page.

47. Datora ātrdarbības mērīšana un novērtēšana. Šo datu objektivitāte.

Uzreiz gan jāteic, ka vārds «tests» šajā gadījumā nav domāts kā diagnoze vai labošana, bet gan ierīces jaudas mērīšana. Patlaban popularitāti ir guvuši daudzi dažādi datora jaudas noteikšanas testi, tādi, kā «SiSoft Sandra», «AquaMark» vai «Business Winstone», taču sīkāk pastāstīšu tikai par vienu no populārākajiem — «3DMark03». Pēc būtības šī programma ļauj palaist testu virkni, kurus attēlo jūsu dators un pēc tam izvada šajos testos gūtos rezultātus. Neraugoties uz tik necilām iespējām, jau pirmajā mēnesī pēc programmas izveides to bija lejupielādējuši vairāk nekā 2 500 000 lietotāju. Kas gan ir popularitātes pamatā?

Page 42: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Mazliet vēsturesTālajā 1999. gadā līdz šim nepazīstama kompānija «MadOnion.com» laida klajā programmproduktu ar nosaukumu «3DMark99» — multimediju datora veiktspējas mērīšanai domātu testu. Šis tests ievērojami atšķīrās no citiem tajā laikā populārajiem testiem, jo testēšanas laikā lietotāja acīm pavērās ainiņas ar tiem laikiem patiešām augstvērtīgu 3D grafiku.Līdz 2003. gadam kompānija izveidoja vēl citus testus, respektīvi:«XL-R8R» — tests, kas cenšas pats lietotājam rekomendēt tā datora uzlabošanas iespējas;«Video2000» — video attēlošanas kvalitātes un iespēju tests;«SYSmark2000/2001/2002» — testi, kas mēra datora ātrdarbību biroja programmās («Word», «Excel» u. c.);«WebMark2001» — mēra datora veiktspēju internetā;«MobileMark2002» – klēpjdatoru veiktspējas mērīšanas rīks;«PCMark2002» — datora CPU/RAM un cietā diska novērtējums;«3DMark99/2000/2001/2001SE/03» — testi, kas nosaka datora veiktspēju multimediju vidē.Šoreiz tuvāk aplūkosim tikai pēdējo no visiem pieminētajiem — «3DMark03». Kā jau minēju, «3DMark» nav tikai cipari un stabiņi — tā būtībā ir datorspēlēm līdzīgu ainiņu attēlošana uz ekrāna, izmērot, cik ātri (ar cik kadriem sekundē jeb fps) testējamais dators ir spējīgs tās atainot. Jāpiebilst gan, ka neviena no šīm ainiņām nav ņemta no kādas jau eksistējošas spēles, bet gan ir pašu «trako sīpolu» roku darbs. Šie testi ir veidoti ar tādu aprēķinu, lai pēc katra no tiem var izdarīt secinājumus par kādas konkrētas datora komponentes darbību. Tā, piemēram, vienu no testiem visvairāk ietekmē centrālā procesora ātrums, bet citu kāda no videokartes specifiskajām īpašībām. Pats rezultāts tiek izskaitļots no visiem «spēļu testiem» kopumā un atainots kā viens skaitlis, kas ļauj vēl ērtāk salīdzināt dažādus datorus.«3DMark03» ir pēdējais no radošās grupas veikumiem, kuri nesen sevi pārdēvēja par «FutureMark Corporation». Atšķirībā no testa iepriekšējām versijām tas cenšas noteikt datora veiktspēju, izmantojot visas trīs pēdējās «DirectX» versijas: 7., 8. un 9. Kā tas izdodas — viedokļi dalās. Problēma radās tad, kad daudzi ļoti jaudīgu datoru īpašnieki saņēma salīdzinoši zemus rezultātus, un radās jautājums, vai patiešām «3DMark03» ir spējīgs objektīvi atainot situāciju mūsdienu multimediju datoru tirgū. Domāju, ka visprātīgāko atbildi sniedza paši veidotāji: ««3Dmark» ir tests, kas veidots, lai pēc iespējas precīzāk izmērītu datorspēļu datora ātrdarbību divus gadus ilgā periodā.» Tādēļ arī domāju, ka ir pieļaujamas dažas neprecizitātes šodienas novērtējumos.Lūk, dažas no īpatnībām:1) Šis tests testē datora ātrdarbību multimediju vidē, tāpēc to ir grūti piemērot, salīdzinot dažādus biroja darbiem piemērotus datorus. Ja jūs savu datoru izmantojat datorspēlēm vai 3D grafikai, tests būs tieši laikā.2) Tests ir kļuvis daudz atkarīgāks no videokartes nekā no pārējām datora komponentēm. Pat dators ar īpaši jaudīgu procesoru nedos ievērojamu pārsvaru pār citiem, kā tas nereti bija novērojams «3DMark2001SE» testā.3) Tests dod divas, pat trīs reizes augstākus rezultātus tiem datoriem, kam ir jaunākās paaudzes videokartes, kas atbalsta «DirectX 9.0» sniegtās iespējas. Atgādināšu, ka populārākās videokartes ar «DirectX 9.0» atbalstu ir «ATI Radeon» kartes, sākot no modeļa «Radeon 9500», un «Nvidia GeForceFX» kartes, sākot no modeļa «FX5200».«3DMark» testi ir papildināti ar virkni papildlīdzekļu, kas palīdz labāk orientēties sava datora veiktspējā. Pirmais no tiem ir ORB jeb «Online Result Browser». Daudzi pamatoti uzskata, ka šī lieta arī ir «3DMark» testu milzīgās popularitātes pamatā. ORB pēc būtības ir milzīga datubāze, kas atrodas internetā, kurā lietotāji no visas pasaules var iesūtīt savus testa rezultātus, papildinātus ar sīku datora konfigurācijas aprakstu. Pēc tam katrs no interesentiem var salīdzināt savus testā iegūtos rezultātus ar citiem, tā gūstot dziļāku izpratni par sava datora ātrdarbību. Piemēram, sava datora rezultātu ir iespējams salīdzināt ar rezultātiem, kurus uzrādījusi virkne citu datoru, kuriem, piemēram, ir cita videokarte, taču pārējie rādītāji ir identiski jūsējiem, tā diezgan precīzi uzzinot, cik ātrāks jūsu dators kļūtu, iegādājoties konkrēto videokarti.Otra no «3DMark» priekšrocībām, kas gan nav cieši saistīta ar testiem, ir kļuvusi ļoti populāra lietotāju vidū. Tas ir «Futuremark» diskusiju forums. Šeit, tāpat kā «Apollo» forumā, cilvēki var meklēt atbildes uz sevi interesējošiem jautājumiem. «Futuremark» forumi nav tikai par «3DMark» vien, bet arī par dažādām datora komponentēm, datorspēlēm un citām datora lietotājiem aktuālām lietām. Tomēr vajadzētu atrast atbildi uz galveno no jautājumiem: kas vilina cilvēkus pavadīt tik daudz laika pie tik šķietami maznozīmīgas darbības kā datora testēšana? Vietā būtu analoģija ar pēdējā laikā populāro «Street Race» jeb «Drag Race» kultūru. Auto tiek uzposts līdz pēdējam sīkumam, motors maksimāli forsēts, uzmontētas īpašas riepas un antispārni, un veikti vēl 1000 īpašu uzlabojumu, lai panāktu vēl mazumiņu jaudas. Un tas viss tikai viena brauciena, vienas taisnes dēļ.Pirmkārt, tā ir mūžsenā vēlme izcelties citu vidū. Tāpat kā akmens laikmetā alu cilvēki lielījās ar to, ka nogāzuši mamutu tikai ar dažiem sitieniem, tā tagad datoru entuziasti sacenšas savā starpā, iegūstot aizvien augstākus rezultātus. Turklāt, ja iegūtais rezultāts ir lielāks nekā kādam dārgākam vai jaudīgākam datoram, tas dod iemeslu lepoties ar testētās sistēmas sakārtotību vai kādas īpašas, sistēmas jaudu palielinošas metodes izmantošanu.Otrkārt, salīdzinot savus rezultātus ar citu datoru rezultātiem, ir vieglāk noskaidrot datora vājo vietu (bottleneck — «pudeles kakls» jeb lieta, kas ierobežo pārējās) un optimāli to uzlabot. Arī parastam lietotājam testā redzamie skaitļi būs uzskatāmāks piemērs par pārdevēja solījumiem.

Page 43: 1fizmati.lv/faili/macibu_materiali/datorsisteemu_biljetes_20…  · Web viewArhivēšanas programma ir programma, kas ar speciālu metodi vienu vai vairākus failus ieraksta citā

Treškārt, šādu testu veikšana spēj laikus norādīt uz iespējamajiem datora darbības traucējumiem. Dators testa laikā tiek stipri noslogots, un, ja arī tam atklāsies kāda kļūme, tas vismaz nenotiks tad, kad tiek veidota atskaite vai bakalaura darbs.Tas arī īsumā būtu viss par tādu datoru pasaules fenomenu kā benchmark. Centos neiedziļināties testu tehniskajā pusē, jo tas aizņemtu vēl pāris lapu, bet gan radīt priekšstatu par šiem produktiem, kā arī datora testēšanu kopumā. Ja arī jūsu datora veiktspēja jūs neinteresē, tomēr gribētu ieteikt izmēģināt kādu no «3DMark» testiem, kaut vai lieliskās tajā redzamās grafikas dēļ.