Ir sācies Wintel ēras gals

Dec 07 2020

Meltdown, Spectre, ZombieLoad, CrossTalk, LVI, Snoop, RIDL ir tikai daļa no drošības kļūdām, kuras pēdējos gados ir atklātas Intel un analogos AMD procesoros. Lai arī problēmas ir dažādas, pamats tām ir viens. CISC un konkrēti x86 arhitektūras procesori ar sarežģītām instrukciju kopām un mikrokodu ir kļuvuši pārāk sarežģīti, lai tos varētu realizēt droši.

Lai arī kopējais saražoto procesoru skaits joprojām pieaug, x86 arhitektūras Intel un AMD procesoru skaits pēdējos gados praktiski nemainās, bet tiek paredzēts, ka turpmāk to ražošanas apjomi ies tikai uz leju.

Att01.png

Var rasties jautājums, kāpēc Intel un AMD vēl arvien ražo tik sarežģītus procesorus, ka ar to sarežģītību paši vairs netiek galā?

Viens iemesls ir tas, ka Intel uzcītīgi turpina īstenot tās dibinātāja 50 gadus atpakaļ paredzēto Mūra likumu par eksponenciālu tranzistoru pieaugumu procesoros. Lai arī tranzistoru skaita pieaugums vairs neatspoguļo lietotājiem pieejamu ātrdarbības uzlabojumu (jo lielāko daļu no tiem izmanto kešatmiņai, kas uzlabo ātrdarbību tikai noteiktos apstākļos), tas palīdz uzturēt tehnooptimistu mīļoto tehnoloģiskās singularitātes mītu.

Otrs iemesls ir tas, ka x86 procesori tiek uzskatīti par procesoru superauto, un par katru x86 procesoru Intel un AMD nopelna vairāk nekā ar "parastākiem" procesoriem, kur ražotāju konkurence ir lielāka.

Trešais iemesls ir tas, ka 30 gadus atpakaļ bija sliktākas izstrādes vides un kompilatori. Personālo datoru pirmsākumos, kad standarti vēl nebija ieviesušies, risinājuma veiksmi noteica tas, vai aparatūrā (ar samērīgu darbu) varēja vai nevarēja nokompilēt un palaist vajadzīgās programmas. Tā gadījās, ka tolaik arvien plašāk izmantoto Microsoft DOS un vēlāk Microsoft Windows praktiski varēja kompilēt un darbināt tikai datoros Intel CISC procesoriem. Tā, "pateicoties" Microsoft (savulaik negodīgajai) ietekmei, par faktisko personīgo datoru standartu kļuva x86 savietojama arhitektūra, kuru vēlāk nodēvēja par Wintel (Windows + Intel) arhitektūru.

Izsenis ir pastāvējušas arī citas datoru arhitektūras un arī procesori ar vienkāršāku dizainu un ierobežotu instrukciju RISC kopu, no kuriem populārākie ir ARM procesori. Mazāka sarežģītība nozīmē mazāku procesoru skaitu, kas nozīmē mazāku elektrības patēriņu. Lai arī takts frekvence šajos procesoros parasti ir mazāka, tie panāk ātrdarbību ar to, ka visas instrukcijas tiek izpildītas tieši vienā taktī, un tās var izpildīt pārklātā rindā t.s. cauruļot pipelining, tāpēc to kopējā ātrdarbība ir līdzvērtīga. Senāk šos procesorus izmantoja lielākoties alternatīvos risinājumos. Tā šie procesori ir vienkāršāki, lētāki un tērē mazāk elektrības, tie bija piemēroti mobilajām ierīcēm. Palīdzēja arī tas, ka tos (samaksājot licenci un ievērojot savietojamības standartus) varēja ražot jebkurš. Un nākotnē vēl vairāk palīdzēs tas, ka līdzīgu RISC-V standartu jebkurš ražotājs var realizēt par velti.

Ar mūsdienu kompilatoriem Microsoft principā var pārkompilēt Windows uz praktiski jebkādas arhitektūras datoriem. Tas bijis darīts priekš datoriem ar Dec Alpha, Intel Itanium un Atom procesoriem. Bet visas iepriekšējās reizes bija neveiksmīgas un būs neveiksmīgas arī turpmāk, jo vairums lietotāju visā pasaulē neizmanto Windows tāpēc, ka tā ir pasaulē labākā operētājsistēma (tā, protams, nav). Vairums lietotāju lieto Windows tāpēc, ka tikai tajā viņi prot darbināt viņiem nepieciešamās programmas. Un, lai arī Microsoft var piedāvāt Windows (un Office), citādos datoros, lielākajai daļai lietotāju no tā nav nekāda labuma, ja uz tiem neiet citas viņiem vajadzīgās lietotnes. Lai veiksmīgi pārnestu Windows citas arhitektūras datoros, Microsoft ir jānodrošina rīki, kā simtiem tūkstošu izstrādātājiem visā pasaulē (ar saprātīgu piepūli) palīdzēt uz šo arhitektūru pārnest arī miljoniem programmu.

Microsoft 2/3 ienākumu veido biznesa risinājumi un mākoņpakalpojumi, un tikai 1/3 Microsoft Windows un Microsoft Office programmatūra. Tāpēc viņiem paliek arvien neizdevīgāk nodrošināt dažādo "PC savietojamo", bet tomēr dažādo datoru darbību. Tāpēc nākotnē izdevīgāk būtu šīs rūpes novelt uz Linux kopienas pleciem. Tas ir viens no iemesliem, kāpēc Microsoft strādā pie Windows apakšsistēmas priekš Linux (WSL) izstrādes. Lai arī ar šo sistēmu var darbināt Linux programmas iekš Windows, Linux rīku lietotājiem tā vietā ir vienkāršāk izmantot uzreiz attiecīgai arhitektūrai nokompilētu Linux. Bet šī sistēma ir ļoti vajadzīga tiem, kas izstrādājuši savas programmas priekš Windows (faktiski Wintel) platformas. Microsoft ir izvēlējies risināt šo kompāniju izstrādāto lietotņu problēmu Wintel datoros tā, ka tie neveido rīkus ar ko šīs programmas automātiski pārnest uz citu aparatūru, bet gan nodrošina, ka citās platformās kā sistēmas pamats ir Linux (tieši Linux kodols, nevis kāds Linux distributīvs), bet Microsoft nodrošinās sadarbības slāni (WSL), kurā varēs turpināt darbināt priekš Windows paredzētas programmas.

Apple kompānija savulaik datoros izmantoja ARM arhitektūras procesorus, tad pārgāja uz Intel un atkal pāries uz ARM ar jaunu M1 procesoru. Tas atvieglos izstrādes darbu un savietojamību starp datoriem, planšetēm un telefoniem, jo visas šīs ierīces darbosies ar ARM arhitektūras procesoriem. Ir paredzēts, ka nākamgad Apple sāks ražot jaunu ARM procesoru, kas būs piemērots tieši datoriem. Atšķirībā no Microsoft, Apple nodrošina rīkus pārejai uz ARM. Bet Apple stāvoklis ir krietni vienkāršāks par Microsoft, jo datorus viņi ražo paši, tāpēc to arhitektūra ir daudz vienādāka par "PC savietojamiem" datoriem ar Windows. Arī citu kompāniju ražoto lietotņu klāsts Apple datoriem ir daudz mazāks, un nopietni vērā ņemamie partneri praktiski ir Microsoft un Adobe.

Att02.jpg

Pasaulē ARM procesorus izmanto praktiski visi mūsdienu vienkristāla datori (Raspberry Pi, Arduino,  u.tml.), mobilie telefoni un planšetes. Arī Amazon EC2 pakalpojumā piedāvā virtuālos datorus ar ARM Graviton procesoru, kuru lietošanas cena ir 1,5..2× mazāka nekā ar x86 procesoru. Protams, uz tiem nevar darbināt Microsoft Windows.

Ja pie "datoriem" pieskaita telefonus, tad manās mājās ARM procesori ir uzvarējuši jau tagad. Serveru grupā ARM ņems virsroku nākamgad, kad migrēšu vietnes odo.lv serveri uz jaunāku Ubuntu versiju. Tikai personīgo datoru grupā x86 procesoru virsroka varētu saglabāties vēl labu laiku.

Ja jūs izstrādājat lietotni Microsoft Windows operētājsistēmai, ņemiet vērā, ka:

  • pēc pāris gadiem tā varētu strādāt labāk, drošāk un ātrāk ja to darbinātu Linux sistēmā;
  • ir vērts izpētīt ietvarus, ar kuriem var kompilēt lietotnes uz dažādām platformām, piemēram, Qt.
Created by Valdis Vītoliņš on 2020-12-07 22:07
Last modified by Valdis Vītoliņš on 2020-12-10 21:16
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License