Vienlaicīga daudzpavedienu izmantošana

Vienlaicīga daudzkāršošana, saīsinājums SMT, ir metode, ar ko uzlabo superskalāro procesoru kopējo efektivitāti, izmantojot aparatūras daudzkāršošanu. SMT ļauj izpildīt vairākus neatkarīgus izpildes pavedienus, lai labāk izmantotu mūsdienu datoru arhitektūru nodrošinātos resursus.

Daudzkāršošanas koncepcija ir līdzīga daudzuzdevumu veikšanai, taču modernajos superskalārajos procesoros tā tiek īstenota izpildes pavedienu līmenī.

Procesoru projektēšanā ir divi veidi, kā palielināt mikroshēmas paralēlismu ar mazākām resursu prasībām:

  1. Superskalārā metode: ar to mēģina palielināt instrukciju līmeņa paralēlismu (ILP), izpildot vairākas instrukcijas vienlaicīgi (tā dēvēta: vienlaicīgi); "vienlaicīgi" nosūtot instrukcijas (tā dēvēta: instrukciju nosūtīšana) uz vairākām liekajām izpildes vienībām, kas iebūvētas procesorā.
  2. Mikroshēmas līmeņa daudzvirzienu (CMT) metode: Thread level parallelism (TLP) izmantošana, lai vienā procesora mikroshēmā vienlaikus izpildītu instrukcijas no vairākiem pavedieniem.

Ir vairāki veidi, kā mikroshēmā uzturēt vairāk nekā vienu pavedienu, proti:

  1. Daudzpavedes daudzpavedienu sistēma (IMT) : vairāku instrukciju izdošana no dažādiem pavedieniem, ko dēvē arī par temporālo daudzpavedienu sistēmu (Temporal multithreading). To var iedalīt sīkgraudainā vai rupjgraudainā multitreadingā atkarībā no pārklāšanās biežuma. Fine-grain multithreading izdod instrukcijas dažādiem pavedieniem pēc katra cikla, savukārt coarse-grain multithreading pārslēdzas uz instrukciju izdošanu no cita pavediena tikai tad, kad pašreiz izpildītais pavediens izraisa kādu notikumu ar ilgu kavēšanos (piemēram, lapas kļūdas u. c.). Biežāk izmanto rupjgraudu daudzpavedienu sistēmu, lai mazāk pārslēgtos kontekstā starp pavedieniem. Procesoriem ar vienu konveijeru katrā kodolā vienīgais iespējamais veids ir daudzpavedienu virknēšana, jo vienā ciklā var izdot ne vairāk kā vienu instrukciju.
  2. Vienlaicīga daudzvirzienu apstrāde (SMT): Viena cikla laikā izdod vairākus norādījumus no vairākiem pavedieniem. Procesoram jābūt superskalāram, lai to varētu izdarīt.
  3. Mikroshēmas līmeņa daudzkodolu procesors (CMP jeb daudzkodolu procesors): vienā mikroshēmā integrēti divi vai vairāki superskalāri procesori, katrs no tiem izpilda pavedienus neatkarīgi.
  4. Jebkura IMT/SMT/CMP kombinācija

Galvenais faktors, lai tos atšķirtu, ir aplūkot, cik daudz instrukciju procesors var izdot vienā ciklā un cik pavedieni ir tie, no kuriem nāk instrukcijas.

Mūsdienu SMT procesoru piemēri

  1. Intel Pentium 4 bija pirmais mūsdienu galddatoru procesors, kurā tika ieviesta vienlaicīga daudzpavedienu apstrāde, sākot ar 3,06 GHz modeli, kas tika izlaists 2002. gadā, un kopš tā laika tas tika ieviests vairākos procesoru modeļos. Intel šo funkcionalitāti dēvē par Hyper-Threading Technology (HTT) un nodrošina divu pavedienu SMT pamatdzinēju. Intel apgalvo, ka salīdzinājumā ar identisku Pentium 4 bez SMT ātrums uzlabojas līdz pat 30 %.
  2. Jaunākajos MIPS arhitektūras projektos ir iekļauta SMT sistēma, kas pazīstama kā "MIPS MT".
  3. IBM POWER5, par kuru tika paziņots 2004. gada maijā, tiek piedāvāts kā divkodolu DCM vai četrkodolu vai astoņkodolu MCM, kur katrs kodols ietver divu pavedienu SMT dzinēju. IBM implementācija ir sarežģītāka nekā iepriekšējās, jo tā var piešķirt atšķirīgu prioritāti dažādiem pavedieniem, ir precīzāka, un SMT dzinēju var dinamiski ieslēgt un izslēgt, lai labāk izpildītu tās slodzes, kurās SMT procesors nepalielinātu veiktspēju. Šī ir otrā IBM vispārpieejamā aparatūras daudzpavedienu sistēmas implementācija.
  4. 2008. gadā izlaistais Intel Atom ir pirmais Intel produkts, kas aprīkots ar SMT (pārdots kā Hyper-threading) bez instrukciju pārkārtošanas, spekulatīvās izpildes vai reģistru pārdēvēšanas atbalsta.

Saistītās lapas

  • Vītne (datorzinātne)
  • Paralēlā skaitļošana
  • Instrukciju līmeņa paralēlisms
  • Daudzkodolu procesori

Jautājumi un atbildes

J: Kas ir vienlaicīga daudzvirzienu apstrāde?


A: Vienlaicīga daudzkārtu lasīšana (SMT) ir metode, ar ko uzlabo superskalāro procesoru kopējo efektivitāti, izmantojot aparatūras daudzkārtu lasīšanu (Hardware multithreading). Tā ļauj izpildīt vairākus neatkarīgus izpildes pavedienus, lai labāk izmantotu resursus, ko nodrošina mūsdienu datoru arhitektūras.

J: Kā SMT var salīdzināt ar daudzuzdevumu režīmiem?


A: Daudzkāršošana ir līdzīga koncepcija kā daudzuzdevumu veikšana, taču modernajos superskalārajos procesoros tā tiek īstenota izpildes pavedienu līmenī, savukārt daudzuzdevumu veikšana tiek īstenota procesu līmenī.

J: Kādi ir divi veidi, kā palielināt mikroshēmas paralēlismu?


A: Divi veidi, kā palielināt mikroshēmas paralēlismu, ir superskalārā tehnika un mikroshēmas līmeņa daudzvirzienu apstrāde (CMT).

J: Kādi ir daži dažādi mikroshēmas līmeņa daudzpavedienu veidi?


A.: Dažādi mikroshēmas līmeņa daudzpavedzes veidi ir Interleaved Multithreading (IMT), Fine-Grain Multithreading, Coarse Grain Multithreadin un Simultaneous Multithreadin (SMT).

J: Kā jūs varat atšķirt IMT/SMT/CMP?


A: Galvenais IMT/SMT/CMP atšķiršanas faktors ir tas, cik instrukciju procesors var izdot vienā ciklā un no cik pavedieniem šīs instrukcijas nāk.

J: Kāda tipa procesors jāizmanto SMT?


A: SMT ir jāizmanto superskalārais procesors.

J: Kāda tipa procesors tiek izmantots mikroshēmu daudzprocesoru režīmā (Chip Level MultiProcessing)?


A.: Mikroshēmas līmeņa daudzprocesoru apstrādei izmanto daudzkodolu procesorus, kas vienā mikroshēmā integrē divus vai vairākus superskalāros procesorus, no kuriem katrs izpilda pavedienus neatkarīgi.

AlegsaOnline.com - 2020 / 2023 - License CC3