Kas ir instrukciju caurule?

Kas ir instrukciju caurule?

Jebkura procesora instrukcija darbojas vairākos posmos. Katram no šiem posmiem ir nepieciešams viens CPU cikls. Šie posmi ir instrukciju ielāde, instrukciju dekodēšana, izpilde, piekļuve atmiņai un atpakaļrakstīšana. Attiecīgi tie saņem aizpildāmo instrukciju, atdala operāciju no operējamām vērtībām, izpilda procesu, atver reģistru, kurā tiks ierakstīts rezultāts, un ieraksta rezultātu atvērtajā reģistrā.

Vēsturiski sakārtoti apstrādātāji

Pirmajos datoros CPU neizmantoja instrukciju cauruļvadu. Šajos CPU katrai viena cikla darbībai bija jānotiek katrai instrukcijai. Tas nozīmēja, ka bija nepieciešami pieci pulksteņa cikli, lai vidējā instrukcija tiktu pilnībā apstrādāta, pirms varēja sākt nākamo. Dažām darbībām, iespējams, nav nepieciešams izrakstīt rezultātu reģistrā, kas nozīmē, ka piekļuves atmiņai un ierakstīšanas posmus var izlaist.

Kas ir instrukciju caurule?

Subskalārajā procesorā bez konveijera katras instrukcijas daļa tiek izpildīta secībā.

Tomēr pastāv problēma, kad tiek izpildīta pilnīga instrukcija, pirms varat pāriet uz nākamo instrukciju. Problēma ir kešatmiņas trūkums. CPU datus, kurus tas aktīvi apstrādā, saglabā reģistrā. Tam var piekļūt ar viena cikla latentumu. Problēma ir tā, ka reģistrs ir mazs, jo tas ir iebūvēts procesora kodolā. Ja dati vēl nav ielādēti, centrālajam procesoram ir jāpāriet uz lielāku, bet lēnāku L1 kešatmiņu. Ja tā nav, tai atkal ir jāiet uz lielāku un lēnāku L2 kešatmiņu. Nākamais solis ir L3 kešatmiņa; pēdējā iespēja ir sistēmas RAM. Katrai no šīm opcijām ir nepieciešams vairāk un vairāk CPU ciklu, lai pārbaudītu.

Tagad šis papildu pievienotais latentums var būt liela problēma sistēmā, kurai pirms nākamās instrukcijas ir pilnībā jāpabeidz katra instrukcija. Tas, kas agrāk bija 5 ciklu uz vienu instrukciju procesors, var pēkšņi pieķerties vienai instrukcijai desmitiem vai simtiem pulksteņa ciklu. Visu laiku datorā nekas cits nevar notikt. Tehniski to var nedaudz mazināt, ja ir divi neatkarīgi kodoli. Tomēr nekas neliedz viņiem abiem darīt vienu un to pašu, iespējams, vienlaikus. Tātad, ejot pa daudzkodolu maršrutu, tas netiek novērsts.

Klasiskais RISC cauruļvads

RISC apzīmē samazinātu instrukciju komplekta datoru . Tas ir procesora dizaina stils, kas optimizē veiktspēju, atvieglojot katras instrukcijas atšifrēšanu. Tas ir salīdzinājumā ar CISC vai Complex Instruction Set Computer, kas izstrādā sarežģītākas instrukciju kopas, ļaujot to pašu uzdevumu veikšanai izmantot mazāk instrukciju.

Klasiskais RISC dizains ietver instrukciju cauruļvadu. Tā vietā, lai jebkurā ciklā palaistu kādu no pieciem instrukciju posmiem, konveijers ļauj izpildīt visus piecus posmus. Protams, jūs nevarat izpildīt visus piecus vienas instrukcijas posmus ciklā. Bet jūs varat ievietot rindā piecus secīgus norādījumus ar viena posma nobīdi. Tādā veidā katru pulksteņa ciklu var izpildīt jaunu instrukciju. Piedāvājot potenciālu 5x veiktspējas pieaugumu salīdzinoši zemam kodola sarežģītības pieaugumam.

Kas ir instrukciju caurule?

Skalārā konveijera procesorā katru instrukciju izpildes posmu var veikt vienu reizi pulksteņa ciklā. Tas nodrošina vienas pabeigtas instrukcijas maksimālo caurlaidspēju ciklā.

Procesori, kuriem nav konveijera, vienmēr var būt tikai subskalāri, jo tie nevar izpildīt vienu pilnīgu instrukciju ciklā. Izmantojot šo primāro piecu pakāpju cauruļvadu, varat izveidot skalāru centrālo procesoru, kas var izpildīt norādījumus katram procesam. Izveidojot vēl tālejošākus cauruļvadus, varat izveidot superskalārus CPU, kas vienā pulksteņa ciklā var izpildīt vairāk nekā vienu instrukciju. Protams, joprojām pastāv iespējamās problēmas.

Joprojām secīgi

Neviens no tiem neatrisina problēmu, kas saistīta ar daudzu ciklu gaidīšanu, lai saņemtu atbildi, kad nepieciešams vaicāt dažādos kešatmiņas un RAM līmeņos. Tas arī ievieš jaunu problēmu. Ko darīt, ja viena instrukcija balstās uz iepriekšējās instrukcijas izvadi? Šīs problēmas tiek patstāvīgi atrisinātas, izmantojot progresīvu dispečeru. Tā rūpīgi plāno izpildes secību, lai neviena instrukcija, kas balstās uz cita izvadi, neatrastos pārāk tuvu viena otrai. Tas arī apstrādā kešatmiņas kļūdas, novietojot instrukciju stāvvietā un aizvietojot to konveijerā ar citām instrukcijām, kas ir gatavas izpildei un kurām nav nepieciešams rezultāts, atsākot instrukciju, kad tā ir gatava.

Šie risinājumi var darboties bezkonveijera procesoros, taču tie ir nepieciešami superskalāram procesoram, kas vienā pulkstenī izpilda vairāk nekā vienu instrukciju. Nozares prognozētājs ir arī ļoti noderīgs, jo tas var mēģināt paredzēt iznākumu norādījumam ar vairāk nekā vienu iespējamo iznākumu un turpināt pieņemt, ka tas ir pareizs, ja vien nav pierādīts pretējais.

Secinājums

Cauruļvads ļauj izmantot visas procesora atšķirīgās iespējas katrā ciklā. Tas tiek darīts, vienlaikus izpildot dažādus dažādu instrukciju posmus. Tas pat nepalielina CPU dizaina sarežģītību. Tas arī paver iespēju vairāk nekā vienai instrukcijai veikt vienu posmu ciklā.


Kā klonēt cieto disku

Kā klonēt cieto disku

Mūsdienu digitālajā laikmetā, kad dati ir vērtīgs īpašums, cietā diska klonēšana operētājsistēmā Windows daudziem var būt ļoti svarīgs process. Šī visaptverošā rokasgrāmata

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Vai datora palaišanas laikā tiek parādīts kļūdas ziņojums, kurā teikts, ka draiveri WUDFRd neizdevās ielādēt datorā?

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Vai darbvirsmā ir redzams NVIDIA GeForce pieredzes kļūdas kods 0x0003? Ja jā, izlasiet emuāru, lai uzzinātu, kā ātri un vienkārši novērst šo kļūdu.

Kas ir SMPS?

Kas ir SMPS?

Uzziniet, kas ir SMPS un dažādu efektivitātes reitingu nozīmi, pirms izvēlaties SMPS savam datoram.

Kas ir uz izolāciju balstīta drošība?

Kas ir uz izolāciju balstīta drošība?

Mēs gatavojāmies iedziļināties tēmā, kas kiberdrošības pasaulē kļūst arvien svarīgāka: uz izolāciju balstīta drošība. Šī pieeja, lai

Kā lietot automātisko klikšķinātāju Chromebook datoram

Kā lietot automātisko klikšķinātāju Chromebook datoram

Šodien mēs grasījāmies iedziļināties rīkā, kas var automatizēt atkārtotus klikšķināšanas uzdevumus jūsu Chromebook datorā: automātisko klikšķētāju. Šis rīks var ietaupīt laiku un

Roomba apstājas, pieturas un apgriežas — labojiet

Roomba apstājas, pieturas un apgriežas — labojiet

Novērsiet problēmu, kurā Roomba putekļsūcējs robots apstājas, pielīp un turpina griezties.

Kāpēc mans Chromebook dators neieslēdzas?

Kāpēc mans Chromebook dators neieslēdzas?

Saņemiet atbildes uz jautājumu, kāpēc mans Chromebook dators neieslēdzas? Šajā noderīgajā rokasgrāmatā Chromebook datoru lietotājiem.

Kā mainīt grafikas iestatījumus Steam klājā

Kā mainīt grafikas iestatījumus Steam klājā

Steam Deck piedāvā robustu un daudzpusīgu spēļu pieredzi, kas ir jūsu rokai. Tomēr, lai optimizētu spēles un nodrošinātu labāko iespējamo

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Mainiet sava Fitbit Versa 4 pulksteņa ciparnīcu, lai katru dienu bez maksas piešķirtu savam pulkstenim citu izskatu. Skatiet, cik tas ir ātri un vienkārši.