Kas ir Reģistrs?

Ja jūs īpaši neinteresē datori, jums tiks piedots pieņēmums, ka vienīgie atmiņas veidi datorā ir cietais disks un operatīvā atmiņa. Tie, kas interesējas par datoriem, visticamāk, zinās, ka tas tā nav un ka centrālajam procesoram ir arī kešatmiņu kopa, kas tiek izmantota datu kešatmiņai no RAM, lai CPU varētu tai ātrāk piekļūt. Visas šīs ir reklamētas funkcijas, galvenokārt tāpēc, ka ātrums un/vai jauda ir pienācīgs pārdošanas punkts un kopumā ietekmē veiktspējas līmeni.

Tomēr patiesībā ir vēl viens atmiņas slānis. Lai arī kā jūs varētu domāt, ka L1 kešatmiņa ir pēc iespējas tuvāk faktiskajam apstrādes kodolam, atmiņas hierarhijā ir vēl viens augstāks slānis. Tie ir CPU reģistri. Iemesls, kāpēc tie nav īsti reklamēti vai pieminēti, ir tas, ka tie nemaz nav mainīti. Tehniski tie varētu būt, taču reģistru skaits un lielums patiesībā ir arhitektūras pamatā. Tas nozīmē, ka visiem x86-64 CPU ir vienāds reģistru skaits. Tie netiek tirgoti, jo tie nav konkurējošs punkts.

Ko dara reģistrs?

Reģistrs ir ātri pieejama procesora uzglabāšanas vieta. Piekļuve reģistram ir tūlītēja ar nulles latentumu, savukārt pat L1 kešatmiņai mūsdienu centrālajos procesoros ir aptuveni 4–5 ciklu latentums. Šī piekļuves tūlītējība norāda uz reģistru lietošanas gadījumu. Reģistrus izmanto, lai saglabātu instrukcijas, kuras aktīvi darbina centrālais procesors. Tie arī glabā datu punktus, kas ir jāapstrādā. Dažiem reģistriem ir vispārējs mērķis, savukārt citiem ir ļoti konkrēts mērķis. Īpaša mērķa reģistra piemērs varētu būt programmu skaitītājs, kurā procesors izseko savu pozīciju programmas secībā.

Daudzi reģistri tiek uzskatīti par lietotājiem pieejamiem. Tomēr tas nenozīmē, ka datora lietotājs var izvēlēties, kādu vērtību tiem pievienot. Tas nozīmē, ka darbojošā programmatūra var norādīt datus, kas jāielādē šajos reģistros. Mazāks skaits reģistru ir iekšēji, kas nozīmē, ka programmatūra tos vispār nevar risināt. Instrukciju reģistrs, kurā tiek saglabāta pašlaik izpildāmā instrukcija, ir iekšējā reģistra piemērs.

Reģistrācijas pārdēvēšana

Lai gan CPU arhitektūra var atļaut tikai vienu reģistru konfigurāciju, patiesībā tajā ir neliela nianse. Visi mūsdienu CPU izmanto reģistru pārdēvēšanu. Tas ir paņēmiens, kurā varat izveidot vairāk fizisko reģistru un izmantot tos, lai iepriekš ielādētu datus vai saglabātu datus, kas saistīti ar ārpuskārtas instrukciju, kas pretējā gadījumā būtu pārrakstīta. Kad centrālais procesors nonāk līdz punktam, ka tam ir nepieciešami dati papildu reģistros, tas tos vienkārši pārdēvē, lai tie būtu adresējami, vienlaikus padarot iepriekš adresētu reģistru neadresējamu.

Reģistra pārdēvēšanas process var būt ļoti noderīgs ārpuskārtas izpildei. Piemēram, ja atmiņas vieta ir ieprogrammēta nolasīšanai, sākot no tās rakstīšanas, un instrukcijas tika izpildītas šādā secībā, tas ir labi. Tomēr, ja instrukcijas tiek pārkārtotas, lai vispirms veiktu rakstīšanu, lasīšanas instrukcija saņems nepareizu vērtību. Lai to novērstu, sākotnējā nolasāmā vērtība tiek saglabāta neizmantotā reģistrā, kas pēc tam tiek pārdēvēta, kad tiek apstrādāta attiecīgā instrukcija.

Secinājums

Reģistri ir augstākais līmenis atmiņas hierarhijā. Tās ir vienīgās daļas, kuras CPU tieši adresē, un tām nav latentuma. Reģistrus izmanto, lai saglabātu datus, ko aktīvi izpilda CPU. Tos izmanto arī, lai saglabātu citus datu punktus, piemēram, programmu skaitītāju, kas seko tam, kura instrukcija ir nākamā, kas jāizpilda. Ir pieejams ļoti ierobežots skaits reģistru ar x86-64 arhitektūru ar 16 vispārējas nozīmes reģistriem un 16 vai 32 peldošā komata reģistriem atkarībā no tā, vai tiek atbalstīts AVX-512.


Leave a Comment

10 labākie NAS uzglabāšanas risinājumi mājai un profesionālai lietošanai

10 labākie NAS uzglabāšanas risinājumi mājai un profesionālai lietošanai

Ja meklējat NAS risinājumu mājai vai birojā, iepazīstieties ar šo labāko NAS uzglabāšanas iekārtu sarakstu.

Kā atrast drukātāja IP adresi

Kā atrast drukātāja IP adresi

Vai jums ir grūtības noskaidrot, kāda IP adrese jūsu drukātājam tiek izmantota? Mēs parādīsim, kā to atrast.

Kā novērst GeForce Now kļūdas kodu 0xC272008F

Kā novērst GeForce Now kļūdas kodu 0xC272008F

Jūs gatavojaties vakaram ar spēlēšanu, un tas būs liels vakars – jūs tikko esat iegādājies “Star Wars Outlaws” GeForce Now straumēšanas pakalpojumā. Uzziniet vienīgo zināmo risinājumu, kas parāda, kā novērst GeForce Now kļūdas kodu 0xC272008F, lai jūs varētu sākt spēlēt Ubisoft spēles atkal.

5 Iemesli, Kāpēc Jūsu Klēpjdators Pārkarst

5 Iemesli, Kāpēc Jūsu Klēpjdators Pārkarst

Uzziniet dažus iespējamos iemeslus, kāpēc jūsu klēpjdators pārkarst, kā arī padomus un trikus, lai izvairītos no šīs problēmas un uzturētu savu ierīci vēsu.

3D drukāšanas pamati: obligāta apkopes pārbaudes liste

3D drukāšanas pamati: obligāta apkopes pārbaudes liste

Uzturēt aprīkojumu labā stāvoklī ir svarīgi. Šeit ir daži noderīgi padomi, kā saglabāt jūsu 3D printeri augstā stāvoklī.

Kā instalēt SSD galddatoros un portatīvajos datoros

Kā instalēt SSD galddatoros un portatīvajos datoros

Vai jūs tikko iegādājāties SSD, cerot uzlabot sava PC iekšējo atmiņu, bet nezināt, kā to instalēt? Izlasiet šo rakstu tagad!

Canon Pixma MG5220: Skaņojiet bez tintes

Canon Pixma MG5220: Skaņojiet bez tintes

Kā iespējot skenēšanu Canon Pixma MG5220, kad ir beigusies tinti.

3D Drukāšanas Pamatprincipi: Apkopes Padomi Jūsu 3D Dr printerim

3D Drukāšanas Pamatprincipi: Apkopes Padomi Jūsu 3D Dr printerim

Uzturot savus 3D printerus, ir ļoti svarīgi iegūt labākos rezultātus. Šeit ir daži svarīgi padomi, par kuriem jāpatur prātā.

Kā rīkoties, ja Powerbeats Pro netiek uzlādēti kārbā

Kā rīkoties, ja Powerbeats Pro netiek uzlādēti kārbā

Ja jūsu Powerbeats Pro netiek uzlādēti, izmantojiet citu enerģijas avotu un notīriet ausu aizbāžņus. Atstājiet kārbu atvērtu, kamēr uzlādējat ausu aizbāžņus.

Kas ir saziņas ierīce?

Kas ir saziņas ierīce?

Sakaru ierīcei ir dažas iespējamās nozīmes. Jebkura elektroniska ierīce, kas elektroniski sazinās ar citām ierīcēm.