Instrukciju konveijers — definīcija, posmi un priekšrocības mikroprocesoros

Instrukciju konveijeru savienošana ir paņēmiens, ko izmanto mūsdienu mikroprocesoru, mikrokontrolleru un centrālo procesoru projektēšanā, lai palielinātu to instrukciju caurlaides spēju (instrukciju skaitu, ko var izpildīt laika vienībā).

Kas ir instrukciju konveijers un kāpēc to izmanto

Galvenā ideja ir sadalīt (saukts par "sadalīšanu") procesora instrukcijas apstrādi, kā to nosaka instrukcijas mikrokods, virknē neatkarīgu mikrooperāciju (sauktas arī par "mikroinstrukcijām", "mikrooperācijām" vai "µop"), katra soļa beigās veicot glabāšanu. Tas ļauj procesora vadības loģikai apstrādāt instrukcijas ar lēnākā soļa apstrādes ātrumu, kas ir daudz ātrāks nekā laiks, kas nepieciešams instrukcijas apstrādei vienā solī.

Termins "cauruļvads" attiecas uz to, ka katrs solis nes vienu mikroinstrukciju (kā ūdens piliens) un katrs solis ir saistīts ar citu soli (analoģija; līdzīgi kā ūdens caurules). Konveijera mērķis nav samazināt individuālās instrukcijas latenci (laiku no sākuma līdz beigām), bet gan palielināt sistēmas caurlaidi — cik daudz instrukciju tiek pabeigtas vienā laika vienībā.

Tehniskais darbības pamats

Lielāko daļu mūsdienu procesoru darbina pulkstenis. CPU iekšēji sastāv no loģikas un atmiņas (flip flopiem). Kad pienāk pulksteņa signāls, flip flopi saglabā savu jauno vērtību, tad loģikai nepieciešams laiks, lai atšifrētu flip flopu jaunās vērtības. Tad pienāk nākamais pulksteņa impulss, un flip flopi saglabā citas vērtības, un tā tālāk. Sadalot loģiku mazākos elementos un ievietojot flip flopus starp loģikas elementiem, tiek samazināts laiks, kas nepieciešams loģikai (lai atšifrētu vērtības līdz derīgu izeju ģenerēšanai atkarībā no šīm vērtībām). Šādā veidā var samazināt taktēšanas periodu — t.i., palielināt maksimālo pulksteņa frekvenci, pie kuras droši darbojas katrs posms.

Tipiska RISC konveijera struktūra (5 pakāpju piemērs)

Piemēram, RISC konveijers ir sadalīts piecās pakāpēs ar flip flopu komplektu starp katru pakāpi šādi:

  1. Instrukcijas iegūšana
  2. Instrukciju dekodēšana un reģistra atpazīšana
  3. Izpildīt
  4. Piekļuve atmiņai
  5. Reģistrēties rakstīt atpakaļ

Katrā no šīm pakāpēm tiek izpildīta konkrēta funkcija:

  • Instrukcijas iegūšana (IF) — no programmas atmiņas (instrukciju keša vai RAM) nolasīta nākamā instrukcija un tiek atjaunots norādītājs (PC).
  • Instrukciju dekodēšana un reģistra atpazīšana (ID) — atšifrē instrukcija, identificē multiplicējamās operācijas un tiek nolasīti nepieciešamie reģistru faili.
  • Izpildīt (EX) — atlaiž ALU (aritmētiski loģiskā vienība) darbību vai efektīvas adreses aprēķinu atmiņas piekļuvei.
  • Piekļuve atmiņai (MEM) — ja nepieciešams, veic lasīšanu vai rakstīšanu uz datu kešu/RAM.
  • Reģistrēties rakstīt atpakaļ (WB) — rezultāts tiek ierakstīts atpakaļ reģistru failā, un instrukcija tiek pabeigta.

Konveijera posmu savienojums un modulārā organizācija

Procesori ar konveijeru sistēmu iekšēji sastāv no posmiem (moduļiem), kas var daļēji neatkarīgi strādāt ar atsevišķām mikroinstrukcijām. Katrs posms ir savienots ar flip flopiem ar nākamo posmu (kā "ķēde"), lai posma izeja būtu ieeja citā posmā, līdz instrukciju apstrāde ir pabeigta. Šāda procesora iekšējo moduļu organizācija samazina kopējo instrukcijas apstrādes laiku un ļauj vienlaikus apstrādāt vairākas instrukcijas dažādos apstrādes posmos.

Naudas darījumi: priekšrocības

  • Lielāka caurlaide: ja konveijers var pieņemt jaunu instrukciju katrā takts ciklā, pabeigtās instrukcijas skaits uz laika vienību būtiski pieaug.
  • Augstāka taktēšanas frekvence: sadalot loģiku īsākos posmos, katra posma kritiskais ceļš ir īsāks, ļaujot izmantot lielāku pulksteņa frekvenci.
  • Modulāra dizaina priekšrocības: atsevišķu posmu izstrāde, testēšana un optimizācija ir vienkāršāka nekā liela monolīta bloka optimizācija.
  • Efektīvāka resursu izmantošana: paralēla posmu darbība var labāk izmantot ALU, atmiņu un reģistrus nekā vienpakāpju arhitektūra.

Trūkumi un galvenās problēmas (hazardi)

Bezrindu arhitektūra nav tik efektīva, jo daži procesora moduļi ir dīkstāvē, kamēr cits modulis ir aktīvs instrukciju cikla laikā. Cauruļvadu procesors pilnībā nenovērš dīkstāves laiku, taču, liekot procesora moduļiem strādāt paralēli, tiek palielināta instrukciju caurlaides spēja.

Tomēr konveijeri saskaras ar vairākiem īpašiem izaicinājumiem:

  • Datu hazardi (data hazards): rodas, ja viena instrukcija izmanto iepriekšējās instrukcijas rezultātu, kas vēl nav ierakstīts reģistrā. Risinājumi: forwarding (bypassing), reģistra rakstīšanas un lasīšanas laika sinhronizācija, vai stalli (bubble) ievietošana.
  • Kontroles (zaru) hazardi: zaru instrukcijas (piem., nosacījuma lēcieni) neļauj precīzi zināt nākamo IF posma saturu, tāpēc var būt nepieciešams konveijera iztukšošana (pipeline flush) vai zaru prognozēšana (branch prediction) un spekulatīva izpilde.
  • Strukturālie hazardi: kad divi posmi konkurē par to pašu aparatūras resursu (piem., atmiņas porta), rodas resursu konfliktu risks. Risinājumi: dubultošana resursu vai stalli.
  • Papildu sarežģītība: konveijeri prasa vairākas aparatūras shēmas (forwarding jedinātes, zaru prognozētāji, mehānismi precīzām kļūmēm), kas palielina dizaina sarežģītību un enerģijas patēriņu.

Hazardu risināšanas paņēmieni

  • Forwarding / Data bypass: rezultāts no vēl neierakstītā posma tiek tieši novirzīts uz nepieciešamo EX posmu, izvairoties no stalla.
  • Stalli (bubble) ievietošana: ja forwarding nepietiek, konveijers tiek īslaicīgi apturēts līdz resursam ir pieejami dati.
  • Zaru prognozēšana un spekulatīva izpilde: prognozējot, kura ceļa instrukcijas būs vajadzīgas, un izpildot tās uz priekšu; kļūdas gadījumā spekulatīvās instrukcijas tiek atmestas.
  • Precīzas izpildes nodrošināšana: īpaši operētājsistēmu draudzīgām arhitektūrām svarīgi nodrošināt, ka izņēmumi un pārtraukumi tiek apstrādāti deterministiski, pat ja tiek izmantota spekulatīva izpilde.

Izplestie veidi un mūsdienu paplašinājumi

Instrukciju konveijeri ir pamats daudziem uzlabojumiem:

  • Superpipeline — posmu skaita palielināšana, lai vēl vairāk paātrinātu katra posma kritisko ceļu, atsevišķos gadījumos augstāka frekvence, bet lielāka zaru soda (branch penalty).
  • Superscalar — vairāku instrukciju izpilde paralēli katrā posmā, izmantojot vairākas ALU vienības un dinamisku instrukciju grafiku (issue multiple per cycle).
  • Out-of-order izpilde — instrukcijas izpilda pēc pieejamā datu un resursu gatavības, nevis striktā programmas secībā, lai samazinātu gaidīšanas laiku; prasa sarežģītu atjaunošanas ("reorder buffer") mehānismu, lai saglabātu precīzu arhitektūras stāvokli.
  • VLIW un mikrooperāciju translācija — dažas arhitektūras (piem., modernie x86 kodu dekodētāji) pārvērš sarežģītākas instrukcijas virkni vienkāršāku mikroop formā, kas vieglāk tiek izvadāma caur konveijeru vai superskalāru izpildi.

Instrukciju konveijera efektivitātes rādītāji

Svarīgi atšķirt divus jēdzienus:

  • Latence — laiks, kas nepieciešams, lai viena instrukcija tiktu pabeigta no sākuma līdz beigām (parasti nedomāts galvenais mērķis konveijerā).
  • Caurlaide — cik daudz instrukciju tiek pabeigtas laika vienībā; tieši to konveijers mēģina maksimizēt.

Kopsavilkums

Instrukciju konveijeri ir centrāls paņēmiens mūsdienu procesoru arhitektūrā, kas ļauj sasniegt lielāku caurlaidi un augstāku taktēšanas frekvenci, sadalot instrukciju apstrādi loģiski atdalītos posmos, savienojot tos ar flip flopiem. Lai gan tie ievieš sarežģījumus — datu, kontroles un strukturālos hazardus —, daudzi risinājumi, piemēram, forwarding, zaru prognozēšana un out-of-order izpilde, ļauj šos izaicinājumus mazināt. Instrukciju konveijeru dizains ir kompromiss starp veiktspēju, sarežģītību un enerģijas izmantošanu, un tā uzlabojumi turpina virzīt mikroprocesoru arhitektūras attīstību.

Instrukciju konvejers tiek uzskatīts par pilnībā konveijeru konveijeru, ja tas var pieņemt jaunu instrukciju katrā takts ciklā. Nepilnīgi cauruļvadam ir gaidīšanas cikli, kas aizkavē cauruļvada virzību.

Pamata piecu pakāpju konveijers RISC mašīnā (IF = instrukcijas saņemšana, ID = instrukcijas dekodēšana, EX = izpilde, MEM = piekļuve atmiņai, WB = reģistra ierakstīšana atpakaļ). Vertikālā ass ir secīgas instrukcijas, horizontālā ass ir laiks. Tātad zaļajā slejā agrākais norādījums ir WB stadijā, bet visvēlākais norādījums ir instrukcijas ievākšanas stadijā.Zoom
Pamata piecu pakāpju konveijers RISC mašīnā (IF = instrukcijas saņemšana, ID = instrukcijas dekodēšana, EX = izpilde, MEM = piekļuve atmiņai, WB = reģistra ierakstīšana atpakaļ). Vertikālā ass ir secīgas instrukcijas, horizontālā ass ir laiks. Tātad zaļajā slejā agrākais norādījums ir WB stadijā, bet visvēlākais norādījums ir instrukcijas ievākšanas stadijā.

Cauruļvadu savienošanas priekšrocības un trūkumi

Cauruļvadu savienošanas priekšrocības:

  1. Tiek samazināts procesora cikla laiks, tādējādi palielinot instrukciju caurlaides spēju. Cauruļvadu savienošana nesamazina laiku, kas nepieciešams instrukcijas izpildei; tā vietā tā palielina instrukciju skaitu, ko var apstrādāt vienlaicīgi ("uzreiz"), un samazina aizkavi starp izpildītajām instrukcijām (to sauc par "caurlaides spēju").
    Jo vairāk cauruļvadu posmu procesoram ir, jo vairāk instrukciju tas var apstrādāt "vienlaicīgi" un jo mazāka ir aizkave starp izpildītajām instrukcijām. Katrā mūsdienās ražotajā
    lielākajā vispārējas nozīmes mikroprocesorā izmanto vismaz 2 līdz pat 30 vai 40 pakāpju konveijera posmus.
  2. Ja tiek izmantota konveijeru savienošana, procesora aritmētiskās loģikas bloku var izstrādāt ātrāk, taču tas būs sarežģītāks.
  3. Cauruļvadu savienošana teorētiski palielina veiktspēju salīdzinājumā ar nepipelīnu kodolu par posmu skaita koeficientu (pieņemot, ka arī takts frekvence palielinās par tādu pašu koeficientu), un kods ir ideāli piemērots izpildei pa cauruļvadiem.
  4. Cauruļveida procesori parasti strādā ar augstāku takts frekvenci nekā operatīvās atmiņas takts frekvence (kopš 2008. gada tehnoloģijas operatīvās atmiņas darbojas ar zemāku frekvenci salīdzinājumā ar procesoru frekvenci), tādējādi palielinot datoru kopējo veiktspēju.

Cauruļvadu savienošanas trūkumi:

Cauruļvadiem ir daudz trūkumu, lai gan procesoru un kompilatoru izstrādātāji izmanto daudz paņēmienu, lai pārvarētu lielāko daļu no tiem; turpmāk ir uzskaitīti biežāk sastopamie trūkumi:

  1. Nepilnveidīga procesora konstrukcija ir vienkāršāka un lētāka ražošanā, jo nepilnveidīgs procesors izpilda tikai vienu instrukciju vienā reizē. Tas novērš zaru novilcināšanu (programmvadošajā procesorā katrs zars tiek novilcināts), kā arī novērš problēmas, kad vienlaicīgi tiek izpildītas sērijveida instrukcijas.
  2. Cauruļveida procesorā flip flopu ievietošana starp moduļiem palielina instrukciju latentumu, salīdzinot ar procesoru bez cauruļveida savienojuma.
  3. Procesoram, kas nav pipelīnizēts, būs noteikta instrukciju caurlaides spēja. Cauruļveida procesora veiktspēju ir daudz grūtāk prognozēt, un tā var ievērojami atšķirties dažādām programmām.
  4. Daudzos projektos ir paredzēti 7, 10, 20, 20, 31 un pat vairāk posmu gari cauruļvadi; garu cauruļvadu trūkums ir tas, ka, programmai sazarojoties, viss cauruļvads ir jāizskalo (jāiztīra). Lielāka cauruļvadu caurlaidspēja nav pietiekama, ja izpildītajā kodā ir daudz atzarojumu: procesors nevar iepriekš zināt, kur nolasīt nākamo instrukciju, un tam jāgaida, kamēr atzarojuma instrukcija tiks pabeigta, atstājot aiz tās tukšu cauruļvadu. Šo trūkumu var mazināt, paredzot, vai nosacītā zara instrukcija tiks sazarota, pamatojoties uz iepriekšējām darbībām. Pēc atzarojuma atrisināšanas nākamajai instrukcijai ir jāveic viss ceļš pa cauruļvadu, pirms tās rezultāts kļūst pieejams un procesors atkal atsāk "strādāt". Šādos ekstrēmos gadījumos konveijera procesora veiktspēja var būt sliktāka nekā procesora bez konveijera.
  5. Diemžēl ne visi norādījumi ir neatkarīgi. Vienkāršā cauruļvadā instrukcijas izpildei var būt nepieciešami 5 posmi. Lai darbotos ar pilnu veiktspēju, šim konveijeram būs jāizpilda 4 nākamās neatkarīgās instrukcijas, kamēr tiek pabeigta pirmā. Jebkura no šīm 4 instrukcijām var būt atkarīga no pirmās instrukcijas izejas, liekot cauruļvada vadības loģikai gaidīt un ievietot cauruļvadā kavēšanos vai izšķērdētu takts ciklu, līdz atkarība tiek atrisināta. Par laimi, ar tādām metodēm kā pārsūtīšana var ievērojami samazināt to gadījumu skaitu, kad ir nepieciešams kavēties.
  6. Pašmodificējošās programmas var neizdoties pareizi izpildīt konveijeru arhitektūrā, ja modificējamās instrukcijas atrodas tuvu izpildāmajām instrukcijām. To var izraisīt tas, ka instrukcijas jau var atrasties iepriekšējas ievadei paredzētajā ieejas rindā, tāpēc modifikācija var nestāties spēkā attiecībā uz nākamo instrukciju izpildi. Instrukciju kešatmiņas šo problēmu vēl vairāk saasina.
  7. Bīstamība: Kad programmētājs (vai kompilators) raksta asemblera kodu, viņš parasti pieņem, ka katra instrukcija tiek izpildīta pirms tiek izpildīta nākamā instrukcija. Ja šis pieņēmums netiek apstiprināts ar konveijeru, tas izraisa nepareizu programmas darbību, un šo situāciju sauc par apdraudējumu. Pastāv
    dažādi
    paņēmieni apdraudējumu novēršanai vai apiešanai, piemēram, pārsūtīšana un kavēšana (ievietojot kavēšanos vai izšķērdētu takts ciklu).

Piemēri

Vispārīgs cauruļvads

Labajā pusē ir attēlots vispārējs cauruļvads ar četriem posmiem:

  1. Saņemt
  2. Dekodēt
  3. Izpildīt
  4. Atpakaļierakstīšana

Augšējā pelēkā lodziņā ir saraksts ar instrukcijām, kas gaida uz izpildi; apakšējā pelēkā lodziņā ir saraksts ar instrukcijām, kas ir pabeigtas, un vidējais baltais lodziņš ir konveijers.

Izpilde ir šāda:

Laiks

Izpilde

0

Tiek izpildīti četri norādījumi.

1

  • zaļā instrukcija tiek saņemta no atmiņas

2

  • tiek dekodēta zaļā instrukcija.
  • no atmiņas tiek saņemta violetā instrukcija.

3

  • tiek izpildīta zaļā instrukcija (tiek veikta faktiskā darbība).
  • tiek atšifrēta violetā instrukcija
  • tiek saņemta zilā instrukcija

4

  • zaļās instrukcijas rezultāti tiek ierakstīti atpakaļ reģistru failā vai atmiņā.
  • tiek izpildīta violetā instrukcija
  • zilā instrukcija tiek atšifrēta
  • tiek saņemta sarkanā instrukcija

5

  • zaļā instrukcija ir izpildīta
  • violetā instrukcija tiek ierakstīta atpakaļ
  • tiek izpildīts zilais norādījums
  • tiek atšifrēta sarkanā instrukcija.

6

  • Violetā instrukcija ir izpildīta
  • zilā instrukcija tiek ierakstīta atpakaļ
  • tiek izpildīta sarkanā instrukcija

7

  • zilā instrukcija ir izpildīta
  • sarkanā instrukcija tiek ierakstīta atpakaļ

8

  • sarkanā instrukcija ir izpildīta

9

Visi norādījumi tiek izpildīti

Burbulis

Kad izpildes procesā rodas "aizķeršanās" (pārtraukums), cauruļvadā tiek izveidots "burbulis", kurā nenotiek nekas noderīgs. Ciklā 2 tiek aizkavēta violetās instrukcijas ievākšana, un dekodēšanas posmā ciklā 3 tagad ir burbulis. Viss, kas atrodas aiz violetās instrukcijas, arī tiek aizkavēts, bet viss, kas atrodas pirms violetās instrukcijas, turpina izpildi.

Skaidrs, ka, salīdzinot ar iepriekšminēto izpildi, burbulis dod kopējo izpildes laiku 8 takts tiksi, nevis 7 takts tiksi.

Burbuļi ir kā aizkavēšanās (aizkavēšanās), kurā nekas noderīgs nenotiek, lai iegūtu, atšifrētu, izpildītu un ierakstītu atpakaļ. Tas ir kā NOP (saīsinājums no No OPeration) kods.

1. piemērs

Tipiska instrukcija divu skaitļu saskaitīšanai varētu būt ADD A, B, C, kas saskaita vērtības, kuras atrodas atmiņas vietās A un B, un pēc tam rezultātu ievieto atmiņas vietā C. Cauruļvadu procesorā cauruļvadu kontrolieris to sadalītu virknē uzdevumu, līdzīgi kā:

LOAD A, R1 LOAD B, R2 ADD R1, R2, R3 STORE R3, C LOAD nākamā instrukcija

Vietas "R1" un "R2" ir procesora reģistri. Vērtības, kas glabājas atmiņas vietās, kas apzīmētas ar "A" un "B", tiek ielādētas (kopētas) šajos reģistros, tad saskaitītas, un rezultāts tiek saglabāts atmiņas vietā, kas apzīmēta ar "C".

Šajā piemērā konveijers ir trīs posmi - ielādēšana, izpilde un saglabāšana. Katru no šiem posmiem sauc par cauruļvada posmiem.

Procesorā, kas nav izkliedēts, vienlaicīgi var strādāt tikai viens posms, tāpēc pirms nākamās instrukcijas izpildīšanas ir jāpabeidz visa instrukcija. Cauruļveida procesorā visi posmi var vienlaikus strādāt ar dažādām instrukcijām. Tātad, kad šī instrukcija ir izpildes posmā, otra instrukcija būs dekodēšanas posmā, bet trešā instrukcija būs atvasināšanas posmā.

2. piemērs

Lai labāk izprastu šo jēdzienu, mēs varam aplūkot teorētisku trīs posmu cauruļvadu:

Posms

Apraksts

Ielādēt

Instrukcijas nolasīšana no atmiņas

Izpildīt

Instrukcijas izpilde

Veikals

Rezultāta saglabāšana atmiņā un/vai reģistros

un pseidokoda asamblejas sarakstu, kas jāizpilda:

LOAD #40, A ; ielādēt 40 A MOVE A, B ; kopēt A B ADD #20, B ; pievienot 20 B STORE B, 0x300 ; saglabāt B atmiņas šūnā 0x300

Šādi tas tiktu izpildīts:

Pulkstenis 1

Ielādēt

Izpildīt

Veikals

LOAD

 

 

LOAD instrukcija tiek ielādēta no atmiņas.

Pulkstenis 2

Ielādēt

Izpildīt

Veikals

MOVE

LOAD

 

Tiek izpildīta LOAD instrukcija, bet MOVE instrukcija tiek ielādēta no atmiņas.

Pulkstenis 3

Ielādēt

Izpildīt

Veikals

PIEVIENOT

MOVE

LOAD

Instrukcija LOAD atrodas glabāšanas posmā, kur tās rezultāts (skaitlis 40) tiks saglabāts reģistrā A. Tikmēr tiek izpildīta instrukcija MOVE. Tā kā tai jāpārvieto A saturs uz B, tai jāgaida LOAD instrukcijas beigas.

Pulkstenis 4

Ielādēt

Izpildīt

Veikals

VEIKALS

PIEVIENOT

MOVE

STORE instrukcija tiek ielādēta, kamēr MOVE instrukcija tiek pabeigta un ADD tiek aprēķināta.

Un tā tālāk. Ņemiet vērā, ka dažkārt kāda instrukcija ir atkarīga no citas instrukcijas rezultāta (piemēram, mūsu piemērā MOVE). Ja vairāk nekā viena instrukcija atsaucas uz konkrētu operanda atrašanās vietu, to vai nu nolasot (kā ievadi), vai ierakstot (kā izvadi), šo instrukciju izpilde tādā secībā, kas atšķiras no sākotnējās programmas secības, var radīt bīstamu situāciju (minēts iepriekš).

Vispārējs 4 posmu cauruļvads; krāsainajos lodziņos attēlotas instrukcijas, kas ir neatkarīgas viena no otras.Zoom
Vispārējs 4 posmu cauruļvads; krāsainajos lodziņos attēlotas instrukcijas, kas ir neatkarīgas viena no otras.

Burbulis 3. ciklā aizkavē izpildiZoom
Burbulis 3. ciklā aizkavē izpildi

Saistītās lapas

  • Cauruļvads (skaitļošana)
  • Paralēlā skaitļošana
  • Instrukciju līmeņa paralēlisms

Jautājumi un atbildes

J: Kas ir instrukciju konveijeru izkārtojums?


A: Instrukciju konveijeru savienošana ir metode, ko izmanto mūsdienu mikroprocesoru, mikrokontrolleru un centrālo procesoru konstrukcijā, lai palielinātu instrukciju caurlaides spēju, sadalot procesora instrukcijas apstrādi vairākos neatkarīgos soļos ar glabāšanu katra soļa beigās.

J: Kā darbojas konveijeru savienošana?


A: Cauruļvadu savienošana darbojas, sadalot loģiku mazākos gabaliņos un ievietojot flip flopus starp loģikas gabaliem, kas samazina laiku, kas nepieciešams loģikai, lai atšifrētu vērtības, līdz tiek ģenerēti derīgi izejas rezultāti atkarībā no šīm vērtībām. Tas ļauj paātrināt taktēšanas periodus.

J: Kādi ir daži cauruļvadu piemēri?


A.: Cauruļvada piemērs ir RISC cauruļvads, kas ir sadalīts piecos posmos ar flip flopu kopumu starp katru posmu.

J: Kā konveijeru savienošana palielina instrukciju caurlaides spēju?


A. Cauruļvadu savienošana palielina instrukciju caurlaides spēju, ļaujot procesora moduļiem strādāt paralēli, kas samazina dīkstāves laiku instrukciju cikla laikā un palielina kopējo apstrādes laiku.

J: Vai katrs konveijers ir pilnībā cauruļvadīts?


A.: Nē, ne visi cauruļvadi ir pilnībā savienoti; dažos cauruļvados ir gaidīšanas cikli, kas aizkavē virzību pa cauruļvadu.

AlegsaOnline.com - 2020 / 2025 - License CC3