Jūsu ierīces centrālais procesors katru sekundi veic miljoniem aprēķinu un ir atbildīgs par datora darbību. Darbs ar CPU ir aritmētiskās apstrādes vienība (ALU), kas ir atbildīga par matemātiskiem uzdevumiem un kuru vada CPU mikrokods.

Tagad šis CPU mikrokods nav statisks un to var uzlabot, un viens no šādiem uzlabojumiem bija Intel AVX-512 instrukciju kopa. Tomēr Intel ir gatavs iznīcināt AVX-512, uz visiem laikiem noņemot tā funkcionalitāti no saviem CPU. Bet kāpēc? Kāpēc Intel iznīcina AVX-512?

Kā darbojas ALU?

Pirms AVX-512 instrukciju kopas iepazīšanas ir svarīgi saprast, kā darbojas ALU.

Kā norāda nosaukums, aritmētiskās apstrādes vienība tiek izmantota matemātisko uzdevumu veikšanai. Šie uzdevumi ietver tādas darbības kā saskaitīšana, reizināšana un peldošā komata aprēķini. Lai veiktu šos uzdevumus, ALU izmanto lietojumprogrammai specifisku digitālo shēmu, ko darbina CPU pulksteņa signāls.

Tāpēc CPU takts frekvence nosaka ātrumu, ar kādu ALU tiek apstrādātas instrukcijas. Tātad, ja jūsu centrālais procesors darbojas ar 5 GHz takts frekvenci, ALU vienā sekundē var apstrādāt 5 miljardus instrukciju. Šī iemesla dēļ CPU veiktspēja uzlabojas, palielinoties pulksteņa ātrumam.

Tas nozīmē, ka, palielinoties CPU pulksteņa ātrumam, palielinās CPU radītā siltuma daudzums. Šī iemesla dēļ enerģijas lietotāji, pārspīlējot savas sistēmas, izmanto šķidro slāpekli. Diemžēl šī temperatūras paaugstināšanās augstās frekvencēs neļauj CPU ražotājiem palielināt pulksteņa frekvenci, pārsniedzot noteiktu slieksni.

Tātad, kā jaunās paaudzes procesors piedāvā labāku veiktspēju salīdzinājumā ar vecākām iterācijām? CPU ražotāji izmanto paralēlisma jēdzienu, lai uzlabotu veiktspēju. Šo paralēlismu var panākt, izmantojot daudzkodolu arhitektūru, kurā tiek izmantoti vairāki dažādi apstrādes kodoli, lai uzlabotu CPU skaitļošanas jaudu.

Vēl viens veids, kā uzlabot veiktspēju, ir izmantot SIMD instrukciju kopu. Vienkārši izsakoties, vienas instrukcijas vairāku datu instrukcija ļauj ALU izpildīt vienu un to pašu instrukciju dažādos datu punktos. Šāda veida paralēlisms uzlabo CPU veiktspēju, un AVX-512 ir SIMD instrukcija, ko izmanto, lai uzlabotu CPU veiktspēju, veicot konkrētus uzdevumus.

Kā dati sasniedz ALU?

Tagad, kad mums ir pamata izpratne par ALU darbību, mums ir jāsaprot, kā dati sasniedz ALU.

Lai sasniegtu ALU, datiem ir jāpārvietojas caur dažādām uzglabāšanas sistēmām. Šis datu ceļojums ir balstīts uz skaitļošanas sistēmas atmiņas hierarhiju. Tālāk ir sniegts īss šīs hierarhijas pārskats:

  • Sekundārā atmiņa: Sekundārā skaitļošanas ierīces atmiņa sastāv no pastāvīgas atmiņas ierīces. Šī ierīce var pastāvīgi saglabāt datus, taču tā nav tik ātra kā centrālais procesors. Šī iemesla dēļ CPU nevar piekļūt datiem tieši no sekundārās uzglabāšanas sistēmas.
  • Primārā atmiņa: Primārā uzglabāšanas sistēma sastāv no brīvpiekļuves atmiņas (RAM). Šī uzglabāšanas sistēma ir ātrāka nekā sekundārā uzglabāšanas sistēma, taču nevar pastāvīgi uzglabāt datus. Tāpēc, atverot failu savā sistēmā, tas tiek pārvietots no cietā diska uz RAM. Tas nozīmē, ka pat RAM nav pietiekami ātrs CPU.
  • Kešatmiņa: Kešatmiņa ir iegulta CPU un ir ātrākā atmiņas sistēma datorā. Šī atmiņas sistēma ir sadalīta trīs daļās, proti L1, L2 un L3 kešatmiņa. Visi dati, kas jāapstrādā ALU, tiek pārvietoti no cietā diska uz RAM un pēc tam uz kešatmiņu. Tomēr ALU nevar piekļūt datiem tieši no kešatmiņas.
  • CPU reģistri: CPU reģistrs skaitļošanas ierīcē ir ļoti mazs, un, pamatojoties uz datora arhitektūru, šajos reģistros var būt 32 vai 64 datu biti. Kad dati tiek pārvietoti šajos reģistros, ALU var tiem piekļūt un veikt konkrēto uzdevumu.

Kas ir AVX-512 un kā tas darbojas?

AVX 512 instrukciju kopa ir otrā AVX iterācija, un 2013. gadā tā tika ieviesta Intel procesoros. Saīsinājums no Advanced Vector Extensions, AVX instrukciju kopa pirmo reizi tika ieviesta Intel Xeon. Phi (Bruņinieku nosēšanās) arhitektūra un vēlāk nonāca Intel serveru procesoros Skylake-X CPU.

Turklāt AVX-512 instrukciju komplekts nonāca patērētāju sistēmās ar Cannon Lake arhitektūru, un vēlāk to atbalstīja Ice Lake un Tiger Lake arhitektūras.

Šīs instrukciju kopas galvenais mērķis bija paātrināt uzdevumus, kas saistīti ar datu saspiešanu, attēlu apstrādi un kriptogrāfiskiem aprēķiniem. AVX-512 instrukciju komplekts, kas piedāvā divkāršu skaitļošanas jaudu, salīdzinot ar vecākām iterācijām, piedāvā ievērojamus veiktspējas uzlabojumus.

Tātad, kā Intel dubultoja savu CPU veiktspēju, izmantojot AVX-512 arhitektūru?

Kā paskaidrots iepriekš, ALU var piekļūt tikai tiem datiem, kas atrodas CPU reģistrā. Advanced Vector Extensions instrukciju kopa palielina šo reģistru lielumu.

Pateicoties šim apjoma pieaugumam, ALU var apstrādāt vairākus datu punktus vienā instrukcijā, palielinot sistēmas veiktspēju.

Reģistra lieluma ziņā AVX-512 instrukciju kopa piedāvā trīsdesmit divus 512 bitu reģistrus, kas ir divreiz vairāk, salīdzinot ar vecāku AVX instrukciju kopu.

Kāpēc Intel pārtrauc AVX-512?

Kā paskaidrots iepriekš, AVX-512 instrukciju komplekts piedāvā vairākas skaitļošanas priekšrocības. Faktiski populārās bibliotēkas, piemēram, TensorFlow, izmanto instrukciju kopu, lai nodrošinātu ātrākus aprēķinus CPU, kas atbalsta instrukciju kopu.

Tātad, kāpēc Intel atspējo AVX-512 savos nesenajos Alder Lake procesoros?

Alder Lake procesori atšķiras no vecākiem Intel ražotajiem procesoriem. Kamēr vecākajās sistēmās tika izmantoti kodoli, kas darbojas vienā un tajā pašā arhitektūrā, Alder Lake procesori izmanto divus dažādus kodolus. Šie Alder ezera CPU kodoli ir pazīstami kā P un E-serdeņi un tos darbina dažādas arhitektūras.

Kamēr P-serdeņi izmanto Golden Cove mikroarhitektūru, E-serdeņi izmanto Gracemont mikroarhitektūru. Šī arhitektūru atšķirība neļauj plānotājam darboties pareizi, ja konkrētas instrukcijas var darboties vienā arhitektūrā, bet ne otrā.

Alder Lake procesoru gadījumā AVX-512 instrukciju kopa ir viens no šādiem piemēriem, jo ​​P-serdeņiem ir aparatūra instrukciju apstrādei, bet E-serdeņiem nav.

Šī iemesla dēļ Alder Lake CPU neatbalsta AVX-512 instrukciju kopu.

Tomēr AVX-512 instrukcijas var darboties noteiktos Alder Lake centrālos procesoros, kur Intel nav tos fiziski savienojis. Lai to izdarītu, lietotājiem BIOS laikā ir jāatspējo E-kodoli.

Vai AVX-512 ir nepieciešams patērētāju mikroshēmojumos?

AVX-512 instrukciju kopa palielina CPU reģistra izmēru, lai uzlabotu tā veiktspēju. Šis veiktspējas pieaugums ļauj CPU ātrāk uztvert skaitļus, ļaujot lietotājiem palaist video/audio saspiešanas algoritmus ar lielāku ātrumu.

Tomēr šo veiktspējas pieaugumu var novērot tikai tad, ja programmā definētā instrukcija ir optimizēta, lai tā darbotos AVX-512 instrukciju kopā.

Šī iemesla dēļ instrukciju kopu arhitektūras, piemēram, AVX-512, ir vairāk piemērotas servera darba slodzei, un patērētāja līmeņa mikroshēmojumi var darboties bez sarežģītām instrukciju kopām, piemēram, AVX-512.