1.62k likes | 2.21k Views
Transporta elektronikas un telemātikas katedra. RTU ETF. A.Klūga CIPARU ELEKTRONIKA un DATORU ARHITEKTŪRA 2 .daļa 2006. Datoru arhitektūra Programmējamās vadības princips.
E N D
Transporta elektronikas un telemātikas katedra RTU ETF A.Klūga CIPARU ELEKTRONIKA un DATORU ARHITEKTŪRA 2.daļa 2006
Datoru arhitektūraProgrammējamās vadības princips Mūsdienu datoru arhitektūras pamatā ir uzdevuma algoritma risinājuma izveide kā programmas komandu secību. Šāda instrukciju virkne tiek ierakstīta datora atmiņā un secīgi izpildīta. Sākotnēji šo principu izstrādāja Čarlzs Bebidžs 1834. gadā mehāniskam skaitļotājam, bet praktiski to varēja realizēt tikai pēc apmēram 100 gadiem kad izveidojās nepieciešamā elementu bāze.
Programmējamās vadības princips Laika posmā no 1940. līdz 1946. gadam amerikāņu zinātnieks Džons fon Neimans formulēja programmējamās vadības principu, kas kļuva par mūsdienu datoru uzbūves galveno elementu. Datorus, kas veidoti pēc programmējamā vadības principa sauc par fon Neimaņa datoriem. Programmējamās vadības principa būtību var formulēt sekojoši:
Programmējamās vadības princips - skaitļošanas process jāveido programmas veidā kā instrukciju (komandu) sekvence; - komandas izpilda pēc kārtas, kas noteiktos gadījumos var tikt izmainīta ievietojot pārejas vai zarošanās komandas; -instrukcijā jānorada kāda operācija un ar kādiem datiem (operandiem) jāizpilda; - dati un instrukcijas tiek kodētas bināra kodā; - dati un instrukcijas tiek sadalītas vārdos un ievietotas atmiņā ar noteiktām adresēm; - instrukcijās ir vairāki lauki (daļas) ar noteiktu nozīmi, jebkurā instrukcijā ir vismaz divi lauki – operācijas koda lauks un adreses lauks.
Papildatmiņa Ievades ierīce Pamatatmiņa Izvades ierīce Aritmētiski – loģiskā ierīce Vadības ierīce Centrālais procesors Fon Neimaņa datora arhitektūra Fon Neimaņa datora struktūra
Fon Neimaņa datora struktūra Dati un programma tiek ievadīta no ievades ierīces, bet datu apstrādes rezultāti tiek izvadīti uz izvades ierīci. Saikni starp ievades un izvades ierīcēm un skaitļošanas ierīcēm nodrošina ievades izvades aparatūras un vadības kopums, ko sauc par portu. Ievadītā informācija sākumā tiek saglabāta pamatatmiņā, bet ilgstošai glabāšanai var tikt ierakstīta papildatmiņā. Katram programmas vai datu binārajam vārdam pamatatmiņā ir sava adrese un piekļūšana pie noteiktas atmiņas šūnas var notikt neatkarīgi no adreses lieluma. Šādu atmiņu sauc par brīvas pieejas operatīvo atmiņu (angliski RAM – Random Access Memory).
Fon Neimaņa datora struktūra Operatīvā atmiņā (OA) informāciju var gan ierakstīt, gan nolasīt un šāda atmiņa parasti ir enerģijas atkarīga, un pie barošanas sprieguma atslēgšanas informācija tiek zaudēta. Lai saglabātu kādu datora vadības programmu pastāvīgi OA, tās sastāvā iekļauj lasāmatmiņu no kuras informāciju var tikai nolasīt. Atmiņas šūnas lielums pamatatmiņā ir 8 biti vai 1 baits. Lielākas informācijas glabāšanai izmanto vairākus baitus, kurus novieto secīgās adresēs.
Fon Neimaņa datora struktūra Lai grieztos pie šādas informācijas parasti izmanto jaunākā baita adresi (firmas Intel skaitļotāji), bet var tikt izmantota arī vecāka baita adrese (firmas Motorola skaitļotāji). Informācijas ilgstošai glabāšanai izmanto palīgatmiņas ierīces – disku vai lenšu atmiņas ierīces. Šajās atmiņas ierīcēs informācija glabājas speciālā formā, ko sauc par failiem.
Fon Neimaņa datora struktūra Datu apstrāde datorā pēc fon Neimņa arhitektūras notiek aritmētiski – loģiskā ierīcē (ALI). Šī ierīce nodrošina aritmētisko un loģisko operāciju izpildi ar uz tās ieeju padotajiem datiem. Izpildes rezultātā tiek iegūti dati, kas tiek īslaicīgi uzglabāti šajā ierīcē ietilpstošos vispārējas nozīmes reģistros (VNR) vai nosūtīti uz OA. Datu apstrādes procesā bez rezultāta tiek iegūtas arī rezultāta pazīmes (rezultāts negatīvs, vienāds ar nulli, pārnese vai citi) un uzstādīti rezultāta pazīmju karodziņi. Karodziņi tiek izmantoti skaitļošanas procesa vadībai.
Fon Neimaņa datora struktūra ALI ierīces darbs nesaraujami saistīts ar vadības ierīci, kas nodrošina komandu nolasīšanu no pamatatmiņas programmas noteiktajā kārtībā un to izpildi. Parasti ALI un vadības ierīci apvieno vienā ierīcē, ko sauc par centrālo procesoru vai vienkārši par procesoru.
Centrālaisprocesors Papild atmiņa Pamat atmiņa Ievades ierīce Izvades ierīce 2.2. att. Datora moduļveida organizācija Datora moduļveida organizācija Visus datora mezglus var apvienot izmantojot tiešās saiknes starp tā sastāvdaļām vai izmantojot kopēju kopni kā parādīts 2.2. att.
Datora moduļveida organizācija Tiešo saišu pielietošanas priekšrocības ir iespēja variēt ar datu apmaiņas metodēm dažādos posmos un tādējādi palielināt sistēmas efektivitāti. Kopējās kopnes izmantošana ļauj unificēt resursus un tādējādi vienkāršot datora izveidi. Bez tam moduļveida organizācijas priekšrocība ir datora konfigurācijas un sastāva viegla izmaiņa: nepieciešamības gadījumā var pievienot papildus OA moduļus, ievades un izvades moduļus utt.
Datora moduļveida organizācija Tomēr kopējās kopnes izmantošanai datora mezglu apvienošanā ir arī trūkumi un tie galvenokārt saistīti tieši ar kopējas kopnes darbu: vienlaicīgi pa kopni informāciju var nodot tikai viena ierīce. Tā kā vislielākais datu pārraides apjoms ir tieši starp procesoru un pamatatmiņu tad kopējā kopne var ierobežot datora ātrdarbību. Lai novērstu šādu ātrdarbības samazināšanos izmanto vairāku līmeņu kopnes. Saglabājot kopējo moduļveida organizācijas priekšrocību šajā gadījumā iespējams variēt ar kopņu darba intensitāti un samazināt “šaurās” vietas datora ātrdarbībā.
Fon Neimaņa datora darba princips Apskatīsim hipotētiska datora shēmu ar akumulatoru. Pirmkārt, pieņemsim, ka datoram ir vienas adreses komandas. Šī adrese norāda viena operanda atrašanās vietu. Ja nepieciešams izpildīt darbību ar diviem operandiem, tad otram operandam jāatrodas akumulatorā un rezultāts arī tiek ievietots akumulatorā. Otrkārt, pieņemsim, ka komandas kārtu skaits ir vienāds ar datu vārda garumu un komanda atmiņā aizņem vienu atmiņas šūnu. Šajā gadījumā nākošās komandas adresi iegūst pieskaitot 1 tekošās adreses numuram un komandas nolasīšanu no atmiņas var veikt vienreiz griežoties pie atmiņas.
Vadības ierīce Aritmētiski - loģiskā ierīce Ierakst. atm. Atmiņ. lasīš. Ievadīšana Izvadīšana BZ/NZ Apstāšanās +1 KS 0-RG2 A-RG2 NADm NDDm RG1 RG2 0-RG2 Operāciju bloks TI Vadības automāts KR A-RG2 ... +1 KS KS OKD Akumulators BZ/ NZ Instrukciju reģistrs Adreses RG Operācijas koda RG NADmm NDDm Adreses Dm Datu Dm Ievadesports Nr.i Izvadesports Nr.j Atmiņas adreses RG Iev. No PI Izv. Uz PI PA 0....i Adreses DC Atmiņas BRG k...j Ievades -izvades ierīces numura dekodētājs Atmiņas šūnas Ierakst. atm. Ievades - izvades ierīces Atmiņ. lasīš. Fon Neimaņa datora shēma
Fon Neimaņa datora darba princips Parādītajā shēmā ir visas datoram raksturīgās ierīces: Aritmētiski – loģiskā ierīce (ALI), pamatatmiņa (PA), vadības ierīce (VI) un ievades – izvades ierīces (III). Vadības ierīce sastāv no komandas skaitītāja (KS), instrukciju reģistra, atmiņas adreses reģistra, adreses un datu demultipleksoriem, operācijas koda dekodētāja (OKD) un vadības automāta.
Vadības ierīce Komandas skaitītājā glabājas izpildāmās programmas tekošās komandas adrese. Pirms programmas izpildes KS tiek ievietota pirmās izpildāmās komandas adrese. Programmas izpildes gaitā KS saturs pēc katras komandas izpildes palielinās par komandas atmiņā aizņemto šūnu skaitu (mūsu gadījumā par vienu padodot signālu +1 KS) tādējādi iegūstot nākošās komandas adresi. Lai izmainītu programmas komandu izpildes secību nepieciešams KS ievietot jaunu lielumu. KS var būt arī nosaukumi: programmas skaitītājs (angliski PC – Program Counter) vai instrukcijas norādītājs (angliski IP – Instruction Pointer).
Vadības ierīce Instrukciju reģistrs glabā izpildāmās instrukcijas bināro kodu, kas sastāv no operācijas koda un adrešu daļas. Katra no instrukcijas daļām tiek ievietota attiecīgajā reģistrā: adreses RG un operācijas koda RG. Instrukcijas tiek nolasītas no pamat atmiņas. Jāatzīmē, ka ja instrukcija aizņem vairākas atmiņas šūnas vienmēr pirmā tiek nolasīta instrukcijas daļa, kas satur operācijas kodu. Atmiņas adreses RG saglabā pamatatmiņas šūnas adresi informācijas nolasīšanas vai ierakstīšanas laikā.
Vadības ierīce Operācijas koda dekodētājs pārveido operācijas kodu formā, kas nepieciešama vadības automāta darbam. Vienkāršākajā gadījumā tas ir unitārais kods, kas atbilst izpildāmajai instrukcijai. Vadības automāts formē vadības signālu virkni, kas nepieciešami, lai nolasītu instrukcijas kodu no atmiņas un izpildītu nolasīto instrukciju. Vadības automāta formētos signālus nosaka arī operācijas rezultāta pazīmes karodziņu reģistrā (KR). Vadības automātā var tikt izmantots iekšējais takts impulsu ģenerators vai ārējie sinhronizācijas signāli (mūsu gadījumā - ārējie takts impulsi - TI). Vadības signālu formēšanai izmanto cietās loģikas vai mikroprogrammas vadības principus.
Aritmētiski – loģiskā ierīce ALI izpilda aritmētiskās un loģiskās datu apstrādes operācijas. Operāciju bloks tieši veic aritmētiskās un loģiskās operācijas. Tas parasti veidots kā kombinacionālā shēma, piemēram, vienkāršākajā gadījumā tas var būt divu skaitļu summators. Operandu glabāšanai tiek izmantoti vispārējas nozīmes reģistri RG1 un RG2.
Aritmētiski – loģiskā ierīce Karodziņu reģistrā tiek fiksētas un glabātas rezultāta pazīmes. Katrai pazīmei reģistrā ir sava kārta – karodziņš. Ierakstot attiecīgajā kārtā vieninieku, kad operācijas rezultāts vienāds ar nulli vai negatīvs, vai operācijas rezultātā veidojas pārnese vai citos svarīgos gadījumos, saka ka karodziņš ir pacelts un signalizē vadības blokam par notikušo operācijas izpildē. Vadības blokā karodziņu reģistra signālu ietekmē var mainīties operāciju izpildes secība vai tikti veikti citi pasākumi, piemēram, apstāšanās.
Aritmētiski – loģiskā ierīce Akumulators ir viens no ALI reģistriem ar speciālām funkcijām. Akumulatorā parasti atrodas viens no operandiem un tajā tiek ievietots instrukcijas izpildes rezultāts. Akumulators tiek izmantots ievades un izvades operācijās.
Pamatatmiņa Pamatatmiņā tiek glabāti izpildāmās programmas instrukciju kodi un operandi – dati un konstantes. Fon Neimaņa datorā instrukcijas un operanditiek ievietoti atmiņā. Lai nolasītu datus no atmiņas šūnas, kurā glabājas viena informācijas vienība, parasti, viens baits (8 biti), nepieciešams padot adreses informāciju uz adrešu dekodētāja (adreses DC) ieeju kopā ar atmiņas lasīšanas signālu. Šo signālu kopums nodrošina vēršanos pie attiecīgās atmiņas šūnas un aktivizē tās satura ierakstu atmiņas bufera reģistrā (atmiņas BRG). Ierakstīšana atmiņā tiek veikta analoģiski, tikai ierakstāmie dati tiek padoti uz atmiņas BRG, bet adreses informāciju pavada signāls Ierakstīšana atmiņā.
Ievades – izvades ierīces Ievades – izvades ierīces nodrošina perifērijas ierīču pieslēgšanu datora kodolam. Vienkāršotajā datora shēmā informācija no akumulatora tiek izvadīta uz portu, kuru nosaka Ievades - izvades ierīces numura dekodētājs pie Izvadīšanas signāla un pēc tam uz portam pieslēgto perifērijas ierīci. Informācija no perifērijas ierīces padodas uz vienu no ievades portiem. Ja uz Ievades - izvades ierīces numura dekodētāju ir padots vajadzīgais porta numurs un Ievadīšanas signāls, tad informācija no šī porta tiek ierakstīta akumulatorā. Reālajās datora shēmās ievades – izvades ierīču funkcionēšana var stipri atšķirties no apskatītās.
Programmas izpilde hipotētiskajā datorā Lai labāk iepazītos ar vienkāršotā datora darbu apskatīsim kā tiek izpildīta divu skaitļu saskaitīšanas programma. Pieņemsim, ka saskaitāmie skaitļi atrodas atmiņas šūnās ar numuriem 100 un 101, bet rezultāts jānosūta uz portu Nr.10, ja skaitļu summa nav vienāda ar nulli. Lai realizētu programmu nepieciešams izmantot tabulā 2.1 dotās instrukcijas. Programmas izpildes instrukcijas secīgi ievietosim atmiņā sākot ar atmiņas šūnu Nr. 10, bet datus uzdevumā noteiktās šūnās kā parādīts tabulā 2.2.
Komandas operācijas kods Adrešu daļa Instrukcijas apraksts LDA Adr Ievietot akumulatorā pamatatmiņas šūnas ar adresi Adr saturu (angliski Load Direct Accumulator) ADD Adr Saskaitīt akumulatora saturu ar pamatatmiņas šūnas ar adresi Adr saturu (angliski Add Direct) JZ Adr Pāriet pie komandas izpildes kuras adrese ir Adr., ja iepriekšējās operācijas rezultāts ir nulle (angliski Jump Zero), vai turpināt ar nākošo komandu ja rezultāts nav 0 OUT Port Nr. Akumulatora satura izvade uz perifērijas ierīci, kas pieslēgta portam ar numuru Nr. (angliski Out) HLT Skaitļošanas procesa apturēšana (angliski Halt) Programmas izpilde hipotētiskajā datorā Tabula 2.1. Vienkāršotā datora instrukcijas
Atmiņas šūnas adrese Komandas operācijas kods Adrese vai porta Nr. 10 LDA 100 11 ADD 101 12 JZ 14 13 OUT 10 14 HLT 100 1. operands 101 2. operands Programmas izpilde hipotētiskajā datorā Tabula 2.2. Programma divu skaitļu saskaitīšanai
Programmas izpilde hipotētiskajā datorā Programmas izpilde sākas ar komandas skaitītāja nostādīšanu stāvoklī, kas norāda pirmās izpildāmās instrukcijas adresi pamatatmiņā, mūsu programmai tā ir adrese 10. Pēc tam tiek veikta pirmās instrukcijas nolasīšana. Tā notiek sekojošā secībā: • komandas skaitītāja kods (pirmajai instrukcijai tas ir 10) tiek padots uz atmiņas adreses RG un no tā uz pamatatmiņas adreses DC, • instrukcijas kods no atmiņas šūnas, kuru nosaka atmiņas adreses RG ievietotā informācija (pirmās instrukcijas nolasīšanas gadījumā tas ir 10) padodas uz atmiņas BRG (pirmajai komandai tas ir LDA 100) pie signāla Atmiņas lasīšana,
Programmas izpilde hipotētiskajā datorā • NDDm signāla ietekmē informācija no atmiņas BRG ierakstās instrukciju reģistra attiecīgajā daļā (adrešu daļa 100 tiek ierakstīta adreses RG, operācijas kods – operācijas koda RG). Pēc instrukcijas ievietošanas instrukciju reģistrā tā tiek dekodēta un vadības automāts formē visus vajadzīgos vadības signālus tās izpildei. Bez tam instrukcijas nolasīšanas laikā tiek formēta nākošās instrukcijas adrese. Mūsu gadījumā nākamās instrukcijas adrese būs par 1 lielāka. Vispārējā gadījumā KS lielums jāpalielina par instrukcijas garumu baitos.
Programmas izpilde hipotētiskajā datorā Datu ievietošanas akumulatorā instrukcijas izpilde. Mūsu pirmā nolasītā instrukcija ir LDA 100, kuras izpildei jānodrošina datu baita ar adresi 100 pamatatmiņā ievietošana akumulatorā. Tās izpildes secība ir sekojoša: • instrukcijas adreses RG ievietotā adrese (100) tiek padota caur adreses demultipleksoru uz atmiņas adreses RG, demultipleksora vadībai vadības automāts formē signālu NADm, • padodot atmiņas lasīšanas signālu atmiņas adreses RG norādītās atmiņas šūnas saturs tiek padots uz atmiņas BRG, • dati no atmiņas BRG caur datu demultipleksoru tiek ierakstīti akumulatorā vadības signāla NDDm iedarbībā.
Programmas izpilde hipotētiskajā datorā Pēc pirmās instrukcijas izpildes tiek nolasīta un ievietota instrukciju RG otrā komanda no pamatatmiņas 11 šūnas – ADD 101. Pēc instrukcijas nolasīšanas KS saturs atkal tiek palielināts par vienu (+1 KS). Saskaitīšanas instrukcijas izpilde. Komandas ADD 101 izpildes rezultātā pie akumulatora satura jāpieskaita pamatatmiņās 101 šūnas saturs un rezultāts jāievieto akumulatorā. Tās izpildes secība ir sekojoša:
Programmas izpilde hipotētiskajā datorā - instrukcijas adreses RG ievietotā adrese (101) tiek padota caur adreses demultipleksoru uz atmiņas adreses RG, demultipleksora vadībai vadības automāts formē signālu NADm, - padodot atmiņas lasīšanas signālu atmiņas adreses RG norādītās atmiņas šūnas saturs tiek padots uz atmiņas BRG, - dati no atmiņas BRG caur datu demultipleksoru tiek ierakstīti RG1 vadības signāla NDDm iedarbībā. - akumulatorā ievietotais pirmais operands tiek nosūtīts uz RG2 vadības signāla A-RG2 ietekmē, - operācijas bloks formē RG1 un RG2 saturu summu un rezultāts tiek ievietots akumulatorā, bez tam karodziņu reģistrā tiek uzstādītas rezultāta pazīmes, piemēram, ja rezultāts vienāds ar nulli, tad tiek pacelts Z karodziņš.
Programmas izpilde hipotētiskajā datorā Nosacītā zarojuma instrukcijas izpilde. Instrukcijas JZ 14 izpilde sākas ar karodziņa Z analīzi. Ja karodziņš nav pacelts, tad tiek pāriets pie nākošās instrukcijas izpildes (KS saturs vienāds ar 13). Ja karodziņš ir pacelts tad instrukcijas izpilde notiek sekojoši: • uz adreses demultipleksoru tiek padots signāls NADm, kas atļauj instrukcijas reģistrā ievietotās adrešu informācijas padevi uz KS, • signāla BZ/NZ ietekmē adrese informācija, mūsu gadījumā 14, tiek ierakstīta KS. Nākošā izpildāmā instrukcija būs HLT, kas atrodas atmiņas šūnā ar adresi 14.
Programmas izpilde hipotētiskajā datorā Izvades instrukcijas izpilde. Instrukcijas OUT 10 izpilde nodrošina akumulatorā ievietotās informācijas izvadi uz portu Nr.10. Tās izpilde notiek sekojošā secībā: • vadības ierīce izstrādā kodu NADm, kas nodrošina instrukcijas adrešu daļā ievietotās informācijas padevi uz ievades – izvades ierīces numura dekodētāju, • dekodētais signāls padodas uz 10 izvades portu un kopā ar izvadīšanas signālu nodrošina akumulatorā ievietotās informācijas ierakstu porta reģistrā un attiecīgu padevi uz pieslēgto perifērijas ierīci.
Programmas izpilde hipotētiskajā datorā Apstāšanās komandas izpilde. Komandas izpildes rezultātā formējas signāls Apstāšanās, kas nodrošina indikāciju par dotās programmas izpildi nobeigšanu. Signālu formē vadības ierīce dekodējot instrukcijas HLT operācijas kodu.
Komandas cikls Darbības kas nepieciešamas instrukcijas nolasīšanai un izpildei sauc par komandas vai instrukcijas ciklu. Komandas ciklam ir vairākas mašīnas taktis ar ilgumu TMT, ko nosaka iekšējais takts impulsu ģenerators vai ārējo takts impulsu periods. Komandas cikla laiks ir ļoti svarīgs datora ātrdarbības rādītājs un tā samazināšanai izmanto dažādus risinājumus galvenie no kuriem ir sekojošie: • vienlaicīga instrukcijas nolasīšana un izpilde – iepriekšējās instrukcijas izpildes laikā tiek nolasīta no operatīvās atmiņas nākošā izpildāmā instrukcija,
Komandas cikls • izpildāmo instrukciju rindas organizēšana vadības ierīcē, • komandas izpildes konveijerizācija – vienlaicīga dažādu komandu mašīnas taktu izpilde, • paralēlā datu apstrāde, kuras realizācija tiek izmantota vairāku procesoru vai ALI sistēmas (superskalārā datora arhitektūra). Praktiski visos datoros paredzēta iespēja, lai ievades – izvades ierīces varētu īslaicīgi pārtraukt programmas izpildi, lai nodrošinātu datu apmaiņu ar lēnas darbības perifērijas ierīcēm.
Komandas cikls Pārtraukuma procedūra tiek izpildīta sekojošā secībā. Ievades – izvades ierīce, kas pieprasa pārtraukumu padod pārtraukuma pieprasījuma signālu uz vadības ierīci. Katra mašīnas cikla beigās vadības ierīce pārbauda vai ir padots pārtraukuma pieprasījums. Ja šāds signāls ir saņemts, tad tiek saglabāta izpildāmās programmas nākošās instrukcijas adrese (KS saturs) speciālā operatīvās atmiņas daļā, ko sauc par steka atmiņu, un procesors veic pārtraukuma programmas apstrādi. Šo programmu bieži sauc par apakšprogrammu un tā ir izvietota noteiktā operatīvās atmiņas sadaļā.
Komandas cikls Apakšprogrammā bieži iekļauj tādas instrukcijas, kas nodrošina akumulatora, karodziņu reģistra un citu vispārējās nozīmes reģistru satura saglabāšanu steka atmiņā, lai to saturs neizmainītos apakšprogrammas izpildes laikā. Nobeidzot pārtraukuma programmas izpildi visu reģistru saturs tiek atjaunots arī komandu skaitītāja un pamatprogrammas izpilde var turpināties. Komandām ar netiešo adresāciju arī ir savs speciāls komandas cikls.
Datora komandu veidi Neskatoties uz lielo komandu daudzveidību, gandrīz visu datoru komandas var iedalīt sekojošos veidos: - datu pārbīdes komandas, - aritmētisko un loģisko operāciju komandas, - ievades – izvades komandas, - programmas izpildes secības izmaiņas komandas, - datu kopuma apstrādes (SIMD) komandas. Dažreiz izmanto arī bitu apstrādes komandas un rindu apstrādes komandas.
Datora komandu veidi Datu pārbīdes komandas veic datu apmaiņu starp akumulatoru un vispārējas nozīmes reģistriem (VNR), vai starp VNR. Šīs komandas sauc par reģistrs – reģistrs komandām, jo akumulators arī ir viens no reģistriem. Datu pārbīdes komandas nodrošina arī datu apmaiņu starp operatīvo atmiņu un akumulatoru vai VNR. Šīs komandas sauc par atmiņa – reģistrs komandām. Datu apmaiņas komandas tāpat nodrošina datu pārvietošanu no vienas atmiņas šūnas uz otru (atmiņa – atmiņa komandas).
Datora komandu veidi Aritmētisko un loģisko operāciju komandas. Pirmkārt šajā komandu grupā ietilpst aritmētisko operāciju (saskaitīšanas, atņemšanas, reizināšanas un dalīšanas) ar fiksētu komatu instrukcijas. Ja procesors izpilda darbības ar peldošo komatu, tad arī attiecīgās šī formāta komandas. Bez tam abos formātos var tikt veikta operandu salīdzināšana ar attiecīgās pazīmes – lielāks, mazāks vai vienāds iegūšanu. Pie aritmētiskām komandām attiecas arī saskaitīšana ievērojot pārneses bita vērtību, atņemšana ar aizņemšanos, operanda palielināšana (inkrementēšana) vai samazināšana (dekrementēšana) par vienu.
Datora komandu veidi Loģisko operāciju instrukcijas parasti nodrošina visu svarīgāko loģisko funkciju veikšanu ar vārda bitiem. Tās ir NĒ, UN, VAI un saskaitīšana pēc moduļa 2. Bez tam loģiskās operācijas nodrošina arī informācijas nobīdi reģistros (akumulatorā) vai atmiņas šūnā: - loģisko nobīdi (2.4. att. a) un b)), - aritmētisko nobīdi (2.4. att. c) un d)), - ciklisko nobīdi neietverot pārneses bitu (2.4. att. e) un f)), - ciklisko nobīdi ietverot pārneses bitu (2.4. att. g) un h)).
0 0 a) b) 0 d) c) C C e) f) C C h) g) 2.4. att. Nobīdes operācijas: loģiskā nobīde pa labi a), loģiskā nobīde pa kreisi b), aritmētiskā nobīde pa labi c), aritmētiskā nobīde pa kreisi d), cikliskā nobīde pa labi neietverot pārneses bitu e), cikliskā nobīde pa kreisi neietverot pārneses bitu f), cikliskā nobīde pa labi ietverot pārneses bitu g), cikliskā nobīde pa kreisi ietverot pārneses bitu h)
Datora komandu veidi Izpildot loģisko nobīdi pirmajā kārtā no kuras sākas nobīde ierakstās loģiskā nulle. Aritmētiskās nobīdes gadījumā tiek saglabāta skaitļa zīme, kas aizņem vecāko kārtu. Nobīdot pa kreisi jaunākā kārtā tiek ierakstīta nulle. Cikliskās nobīdes tiek veiktas gan neietverot, gan ietverot pārneses bitu C (angliski carry). Tomēr arī neietverot C bitu informācija tajā tiek ierakstīta vai nu no vecākās (kreisās) vai jaunākās (labās) kārtas.
Datora komandu veidi Ievades - izvades instrukcijas ietver tiešās datu apmaiņas komandas starp atmiņas ierīci vai akumulatoru un perifērijas ierīci un dažos gadījumos arī perifērijas ierīces kontroles un vadības komandas.
Datora komandu veidi Programmas izpildes secības izmaiņas komandas. Lai izmainītu programmas dabisko izpildes kārtību komandas adrešu pieauguma kārtībā, izmanto zarošanās jeb pārejas instrukcijas. Šīs komandas ievieto komandu skaitītājā tās programmas vietas adresi, kuru nepieciešams izpildīt. Zarošanās komandas var būt bez nosacījuma, ar nosacījumu vai procedūras (apakšprogrammas) izsaukšanas komandas.
Datora komandu veidi SIMD komandas. Instrukciju nosaukums veidojies no angļu valodas Single Instruction Multiple Data, kas tulkojumā ir vienkārša instrukcija daudziem datiem. Atšķirībā no iepriekš aprakstītām komandām, kas operē ar diviem operandiem, SIMD komandas apstrādā uzreiz divas operandu grupas. Šo komandu pielietošana sākās ar milzīgo grafiskās un skaņas informācijas apstrādi dažādos pielietojumos – galvenokārt spēļu, kas prasa lielu datu masīvu identisku apstrādi. Sākotnēji komandas tika sauktas par multimēdiju instrukcijām (MMX – MultiMedia eXtention) un tās tika izmantotas mikroprocesorā Pentium MMX.
Operācijas kods Adreses kods Fon Neimaņa datora komandas struktūra Komandu formāts Fon Neimaņa datora uzbūves principam raksturīgas ir instrukcijas ar diviem laukiem: Katrs no laukiem aizņem noteiktu kārtu skaitu un kopējais kārtu skaits nosaka instrukcijas garumu bitos. Operācijas koda lauka garums nosaka datorā izmantojamo komandu skaitu. Ja operācijas kodā kārtu skaits ir n tad kopējais datora komandu skaits vienāds ar Kkom=2n. Piemēram, 8 kārtu operācijas kods ļauj izmantot 256 komandas.
Operācijas kods 1. operanda adrese 2.operanda adrese Rezultāta adrese Nākošās ko- mandas adrese Četru adrešu komandas struktūra Komandu formāts Komandas adrešu lauka kārtu skaitu nosaka adresējamās adrešu telpas lielums, adrešu skaits komandā un operandu adresācijas veids. Adrešu skaits komandā. Lai pilnīgi noteiktu visas darbības divu operandu komandā nepieciešams būtu izmantot četras adreses: pirmā operanda adresi, otrā operanda adresi, operācijas rezultāta ievietošanas adresi un nākošās instrukcijas adresi.