- Saugumas be laikrodžio signalo susijęs su asinchroniniais procesoriaus dizainais, kur priklausomybė nuo pasaulinio laikrodžio yra sumažinama arba panaikinama.
- Šiuolaikiniai procesoriai derina talpyklas, MMU, lygiagretumą ir kelis gijų procesus, o tai apsunkina tiek našumą, tiek saugumą.
- Laikrodžio neturintys dizainai gali sumažinti laiko atakas, tačiau jiems reikalingos naujos stebėjimo ir audito formos. techninė įranga.
- Virtualizacija, vCPU ir specializuoti greitintuvai išplečia atakų paviršių, todėl labai svarbu integruoti saugumą nuo silicio lygmens.
Išraiška Apsauga be laikrodžio skamba kaip futuristinė koncepcija.Tačiau iš tikrųjų tai glaudžiai susiję su tuo, kaip dabartiniai procesoriai ir sistemos yra suprojektuoti ir apsaugoti. Norėdami tai tinkamai suprasti, turime pasigilinti į tai, kaip veikia centrinis procesorius (CPU), kaip organizuojamas instrukcijų vykdymas ir kokį vaidmenį garsusis laikrodžio signalas atlieka nustatant visos sistemos tempą.
Pastaraisiais dešimtmečiais procesoriai lenktyniavo, kad padidintų savo greitį. laikrodžio dažnį, integruoti daugiau tranzistorių ir padauginti jų lygiagretumąTuo pačiu metu atsirado projektų, kuriais bandoma išsivaduoti iš priklausomybės nuo pasaulinio laikrodžio – tiek visame luste, tiek atskirose jo dalyse. Ši sritis, asinchroniniai arba be laikrodžio signalo projektai, atveria labai įdomias galimybes energijos suvartojimo ir šilumos išsklaidymo požiūriu... taip pat specifinius saugumo iššūkius, kurie dažnai grupuojami pagal be laikrodžio signalo saugumo koncepciją.
CPU kaip sistemos centras ir jo ryšys su laikrodžiu
Kalbant apie su laikrodžiu susijusį saugumą, pirmiausia reikia prisiminti, kas tiksliai yra centrinis procesorius. Iš esmės, Centrinis procesorius yra kompiuterio smegenys.komponentas, kuris interpretuoja ir vykdo programos instrukcijas, koordinuoja atmintį, įvestį / išvestį ir specializuotus koprocesorius, tokius kaip GPU.
Šiuolaikiniame procesoriuje randame kelis skirtingus blokus. Viena vertus, yra aritmetinis loginis vienetas (ALU)Aritmetinis-loginis blokas (ALU) yra atsakingas už matematines ir logines operacijas su sveikaisiais skaičiais. Taip pat yra registrai – mažos, itin greitos atminties, kurioje saugomi duomenys, su kuriais procesorius šiuo metu dirba. Be viso to, yra valdymo blokas, kuris ciklas po ciklo nusprendžia, ką daryti, ką skaityti iš atminties ir ką rašyti.
Dauguma šiuolaikinių procesorių yra sinchroninio dizaino. Tai reiškia, kad visi šie vidiniai blokai yra koordinuojami naudojant periodinis laikrodžio signalassavotiškas elektroninis metronomas, nustatantis vykdymo tempą. Kiekvienas šio laikrodžio tiksėjimas perkelia instrukcijų ciklą vienu žingsniu į priekį: instrukcija yra surenkama, dekoduojama, vykdoma, rezultatai išsaugomi ir ciklas prasideda iš naujo.
Tradiciniame procesoriuje laikrodžio signalą generuoja išorinis osciliatorius, kuris per sekundę siunčia milijonus ar milijardus impulsų. Šių impulsų dažnis, matuojamas hercais, megahercais arba gigahercais, nurodo, kiek „tikselių“ procesorius turi per sekundę duomenims perkelti ir operacijoms atlikti. Kuo didesnis laikrodžio dažnis, tuo daugiau potencialaus darbo per sekundę.su sąlyga, kad likusi architektūros dalis jį papildys.
Taigi, našumas priklauso ne tik nuo laikrodžio dažnio, bet ir nuo to, kiek instrukcijos per ciklą (IPC) Jis gali užbaigti procesoriaus darbą. Dažnio ir IPC sandauga leidžia susidaryti vaizdą apie milijonus instrukcijų per sekundę, kurias jis gali vykdyti, nors teoriniai skaičiai paprastai yra daug optimistiškesni nei tai, kas iš tikrųjų matoma realiose programose.
Nuo fiksuotos instaliacijos iki integruotų mikroprocesorių
Norint suprasti laikrodžio neturinčių kompiuterinių modelių kontekstą, naudinga apžvelgti, kaip vystėsi procesorius. Ankstyvieji elektroniniai kompiuteriai, tokie kaip ENIAC, buvo laidinės fiksuotos programos mašinosNorint pakeisti užduotis, sistemą reikėjo fiziškai perjungti. Revoliucinė idėja buvo kompiuteris su saugomomis programomis, kuriame instrukcijos saugomos atmintyje; procesorius jas tiesiog nuskaito ir vykdo.
Galiausiai įsigalėjo su Johnu von Neumannu siejama saugomų programų architektūra. Instrukcijos ir duomenys dalijasi ta pačia atminties vietaKitaip nei Harvardo architektūra, kuri fiziškai atskiria abiejų tipų informaciją, šiandien beveik visi bendrosios paskirties procesoriai laikosi von Neumanno architektūros, nors įterptųjų sistemų pasaulyje vis dar egzistuoja daug grynų arba hibridinių Harvardo procesorių.
Pirmieji procesoriai buvo sukurti naudojant reles arba vakuumines lempas. Jie buvo dideli, lėti ir turėjo patikimumas labai ribota. Šuolis prie kietojo kūno tranzistorių 50-aisiais ir 60-aisiais leido radikaliai padidinti greitį ir sumažinti sąnaudas bei dydįNuo tada buvo pereita nuo diskrečiųjų grandinių prie integrinių grandynų (IC), vis daugiau tranzistorių sujungiant į vieną lustą.
Atsiradus integriniams grandynams, pirmiausia mažo masto (SSI), vėliau vidutinio masto (MSI), didelio masto (LSI) ir galiausiai labai didelio masto (VLSI), procesorius buvo suspaudžiamas, kol tilpo. viskas ant vieno ar kelių žetonųŠi integracija baigėsi mikroprocesoriaus sukūrimu, kuriame visas apdorojimo įrenginys pagamintas ant vieno silicio lusto.
El "Intel" 4004„Intel 8080“, išleistas 1971 m., buvo vienas pirmųjų komercinių mikroprocesorių. Netrukus pasirodė galingesni modeliai, pavyzdžiui, „Intel 8080“, kuris tapo asmeninių kompiuterių pagrindu. Nuo to laiko terminas CPU beveik visada buvo vartojamas šiems mikroprocesoriams vadinti.
Pagrindiniai šiuolaikinio procesoriaus vidiniai komponentai
Šiuolaikiniai procesoriai didžiąją dalį savo silicio paviršiaus skiria pagalbiniams elementams, skirtiems kad iš kiekvieno laikrodžio ciklo būtų galima gauti kuo daugiau naudosPavyzdžiui, beveik kiekvienas procesorius turi kelis talpyklos lygius: mažas, bet labai greitas atmintis, esančias šalia branduolių, kuriose saugomos dažniausiai naudojamų duomenų kopijos, kad jiems nereikėtų nuolat pasiekti RAM.
Be L1, L2 ir dažnai L3 talpyklų, sudėtingas centrinis procesorius apima atminties valdymo blokas (MMU) kuris virtualius adresus (tuos, kuriuos tvarko operacinė sistema) verčia į fizinius adresus RAM atmintyje, valdo virtualioji atmintis ir užtikrina procesų izoliaciją.
Skaičiavimo plokštumoje turime kelis specializuotus vykdymo blokus: sveikųjų skaičių ALU, slankiojo kablelio vienetas (FPU) Dešimtainėms operacijoms adresų generavimo blokai (AGU) naudojami greitam atminties vietų skaičiavimui, o daugelyje architektūrų vektoriniai blokai arba SIMD naudojami vienu metu valdyti kelis duomenų taškus.
Taip pat yra valdymo blokas, kuris gali būti pagrįstas laidinine logika arba mikrokodu, t. y. vidinė programa, kuri verčia kiekvieną aukšto lygio instrukciją vidinių valdymo signalų sekoje. Daugelyje procesorių šį mikrokodą galima atnaujinti, o tai leidžia ištaisyti projektavimo klaidas arba pakoreguoti veikimą po fakto.
Galiausiai yra vidinių registrų rinkinys: bendrosios paskirties registrai, akumuliatoriai, programų skaitikliai, būsenos registrai su žymėmis, kurios rodo, pavyzdžiui, ar operacijos rezultatas yra nulis, neigiamas, ar sukėlė perpildymą ir pan. Visa tai koordinuojama pagal klasikinę kilpą. instrukcijų fiksavimas, dekodavimas ir vykdymas.
Kaip žingsnis po žingsnio paleisti programą
Bet kurio procesoriaus pagrindinė veikla yra instrukcijų gavimas iš atminties ir jų apdorojimas vienas po kito. Tai vyksta trimis pagrindiniais etapais. Pirma, etapas užfiksuoti (atgauti), kuriame iš atminties skaitoma instrukcija, kurios adresavimą nurodo programos skaitiklis.
Toliau seka dekodavimo etapas. Naujai užfiksuota instrukcija praeina per dvejetainį dekoderį, kuris patikrina jos operacijos kodą (opkodą) ir paverčia tą bitų modelį konkrečiais signalais kurie įjungia arba išjungia procesoriaus dalis. Būtent tada nusprendžiama, ar tai bus papildymas, šuolis, įkrovimas iš atminties ir pan., ir kurie registrai ar adresai bus naudojami.
Galiausiai operacija atliekama. ALU arba atitinkamas įrenginys atlieka skaičiavimą arba duomenų perkėlimą, o rezultatas paprastai saugomas registre arba atmintyje. Jei programos eigą reikia pakeisti, pavyzdžiui, sąlyginiu šuoliu, programos skaitiklis atnaujinamas nauju adresu. Tas rinkinys instrukcijos, duomenys ir šuoliai Būtent jis galiausiai suformuoja ciklus, funkcijas, sąlygines sąlygas ir visą mūsų programų logiką.
Paprastuose procesoriuose viskas vyksta tiesiškai ir nuosekliai. Tačiau šiuolaikiniuose centriniuose procesoriuose Daugelis šių etapų yra sutampa naudojant paralelizmo metodusTikslas yra, kad kiekvienas laikrodžio ciklas atliktų kuo daugiau darbo ir kad aparatinė įranga nebūtų nenaudojama.
Lygiagretumas, kanalizavimas ir ne eilės tvarka vykdomas procesas
Kad laikrodis nebūtų švaistomas, dizaineriai pristatė instrukcijų srautasDuomenų kelias yra padalintas į kelis etapus, panašiai kaip surinkimo linija. Kol viena instrukcija dekoduojama, kita jau yra nuskaitoma iš atminties, o dar kita gali būti vykdoma ALU.
Problema ta, kad kartais vienai instrukcijai reikia kitos, dar nebaigtos, rezultato. Tai sukuria duomenų priklausomybes ir priverčia konvejeryje atsirasti burbulų arba laukimo laikų. Siekiant sumažinti šiuos vėlavimus, naudojami tokie metodai kaip operandų persiuntimas, šakų numatymas ir vėliau... ne pagal užsakymą vykdomas pavedimas, kuriame procesorius viduje pertvarko instrukcijas tol, kol laikomasi galutinio programos rezultato.
Kitas žingsnis buvo superskaliarinis projektavimas: procesoriaus aprūpinimas keliais to paties tipo vykdymo blokais, kad būtų galima išduoti kelias instrukcijas per laikrodžio cikląjei tarp jų nėra konfliktų. Vidinis dispečeris analizuoja instrukcijų srautą, nustato, kas gali būti vykdoma lygiagrečiai, ir paskirsto jas tarp skirtingų įrenginių.
Visa tai Gudrybės Jie įtraukti į vadinamąjį mokomoji paralelizmas (ILP)Dėl praktinių šių metodų apribojimų ir vis sudėtingesnių būdų toliau didinti taktinį dažnį nepadidinant energijos suvartojimo ir šilumos, tam tikru momentu gamintojai taip pat pradėjo investuoti į... užduočių lygio paralelizmaskelios gijos ir keli branduoliai viename luste (ir tokie mechanizmai kaip branduolių parkavimas).
Štai kaip jie gimsta daugiagysliai procesoriai ir architektūros su aparatinės įrangos daugiasriegiškumu, kur kiekvienas branduolys gali palaikyti kelių vykdymo gijų būseną ir greitai perjungti jas, kad geriau išnaudotų vidinius išteklius, kol kitos gijos laukia duomenų iš atminties.
Laikrodžio dažnio vaidmuo ir jo fizinės ribos
Grįžtant prie laikrodžio, svarbu atkreipti dėmesį, kad signalas, kuris sinchronizuoja procesorių, galiausiai yra elektrinis signalas, sklindantis per lustąDidėjant dažniams ir tranzistorių skaičiui, išlaikyti idealiai suderintą signalą visame signale tampa labai sunku. Atsiranda laikrodžio dažnio pasiskirstymo, fazės poslinkių ir signalo vientisumo problemų.
Kita vertus, kiekvienas laikrodžio perėjimas sukelia daugybės tranzistorių būsenos pasikeitimą, net jei tam tikra procesoriaus sritis tuo metu nedaro nieko naudingo. Tai reiškia energijos suvartojimas ir šilumos išsklaidymas tiesiog palaikyti metronomo veikimą. Siekiant tai sumažinti, buvo įdiegti tokie metodai kaip laikrodžio sinchronizavimas, kuris selektyviai išjungia laikrodžio signalą nenaudojamuose blokuose, taip sumažinant energijos suvartojimą.
Tačiau peržengus tam tikrą ribą, dažnio didinimas nebėra pagrįstas: išauga problemos dėl suvartojimo, temperatūros ir laikrodžio pasiskirstymo. Tas kliūtis Tai viena iš priežasčių, kodėl buvo išnagrinėta idėja visiškai arba iš dalies atsisakyti pasaulinio laikrodžio: čia ir prasideda asinchroniniai arba „be laikrodžio“ modeliai.
Asinchroniniame projekte, užuot turėjęs vieną laikrodį, kuris žymi El Tiempo visam lustui, Būtent duomenys ir valdymo signalai sinchronizuoja operacijasBlokai bendrauja naudodami užklausos ir patvirtinimo protokolus (rankos paspaudimą): kai duomenys yra paruošti, gamintojas praneša vartotojui, o vartotojas reaguoja nelaukdamas fiksuoto laikrodžio krašto.
Jie buvo pastatyti visiškai asinchroniniai procesoriai Suderinamas su žinomais instrukcijų rinkiniais, tokiais kaip ARM pagrindu sukurta AMULET šeima arba iš MIPS gauti projektai. Taip pat yra hibridinių dizainų, kai tik tam tikri įrenginiai (pavyzdžiui, konkretus ALU) veikia be globalaus laikrodžio, o likusi procesoriaus dalis išlieka sinchroninė.
Ką turime omenyje sakydami „saugumas be laikrodžio“?
Kalbant apie saugumą be laikrodžio signalo, susimaišo dvi idėjos: viena vertus, asinchroninis dizainas, kaip technika, skirta sumažinti suvartojimą ir šilumąKita vertus, analizuojant, stebint ir apsaugant sistemos elgseną nuo atakų ar gedimų, reikia atsisakyti laikrodžio.
Sinchroninėse sistemose daugelis saugumo ir stebėjimo įrankių priklauso nuo to, ar egzistuoja stabilus ir nuspėjamas laiko ritmasGana lengva suskaičiuoti ciklus, išmatuoti, kiek laiko trunka tam tikra operacija, arba bandyti aptikti anomalinį elgesį matuojant laiko, kuris turėtų būti pastovus, pokyčius.
Asinchroninėje arba iš dalies be laikrodžio signalo sistemoje šios griežtos laiko nuorodos susilpnėja. Operacijos vykdymo laikas gali priklausyti nuo faktinio duomenų prieinamumo, perkrovos tam tikruose vidiniuose maršrutuose arba nedidelių fizinių skirtumų. Užpuoliko požiūriu, tai gali lemti sunkiau atlikti laiko nustatymu pagrįstas šoninių kanalų atakasnes išnyksta pasaulinis laikrodis, kuris tarnauja kaip bendras atskaitos taškas.
Tačiau tas pats dinamiškas pobūdis apsunkina ir visiems, norintiems stebėti ir audituoti sistemą viduje. Daugelis zondų ir aparatinės įrangos skaitiklių yra sukurti veikti pagal laikrodžio ciklus; be aiškaus pasaulinio laikrodžio, matuoti našumą ir aptikti įtartiną veiklą Tada reikia kitų rodiklių ir mechanizmų.
Be to, asinchroninis dizainas, atlaisvintas nuo laikrodžio, leidžia duomenų kelius aktyvuoti šiek tiek skirtingu metu kiekvieno vykdymo metu, o tai potencialiai atsitiktinai suskirsto laikinus nuotėkius Tačiau tai taip pat galėtų atverti kitas duris, pavyzdžiui, skirtingus ir sudėtingesnius energijos vartojimo modelius, kuriais galėtų pasinaudoti galios analizės atakos.
Duomenų reprezentavimas, žodžių dydis ir saugumas
Kitas svarbus su procesoriaus architektūra susijęs veiksnys yra tai, kaip ji vaizduoja ir apdoroja duomenis. Beveik visi šiuolaikiniai procesoriai naudoja dvejetainis vaizdavimas, su įtampos reikšmėmis, atitinkančiomis 0 ir 1. Žodžio dydis (8, 16, 32, 64 bitai...) lemia sveikųjų skaičių diapazoną, kurį galima apdoroti tiesiogiai, ir adresuojamos atminties kiekį.
Saugumo požiūriu, žodžio dydis turi įtakos adresų erdvei ir tikimybei, kad susidūrimai, perpildymai ir rodyklės klaidos32 bitų sistema su 2^32 galimais adresais turi labai aiškių apribojimų, palyginti su 64 bitų sistema. Be to, daugelis šiuolaikinių apsaugos mechanizmų, pavyzdžiui, tam tikri apsaugoti atminties plėtiniai, reikalauja didelės adresų erdvės.
MMU ir adresų vertimo naudojimas taip pat sukuria papildomą sluoksnį tarp programos ir fizinės atminties, o tai yra labai svarbu. izoliuoti procesusĮdiegti virtualią atmintį ir apsaugoti branduolį. Asinchroniniuose kontekstuose šių vertimų ir rankinių signalų tarp blokų be laikrodžio signalo koordinavimas turi būti labai gerai suplanuotas, kad būtų išvengta saugumo spragų ar lenktynių sąlygų.
Savo ruožtu, vektoriniai plėtiniai (SIMD) ir slankiojo kablelio vienetai leidžia lygiagrečiai dirbti su dideliais duomenų kiekiais. Tai dviašmenis kardas: viena vertus, Tai pagreitina kriptografinius algoritmus ir analizės užduotis.Kita vertus, jei piktavališkai išnaudojama, ji suteikia didelę skaičiavimo galią, skirtą silpniems šiframs nulaužti arba brutalios jėgos atakoms vykdyti.
Be laikrodžio signalo arba iš dalies asinchroninio scenarijaus atveju, šių lygiagrečių skaičiavimo įrenginių programavimo ir apsaugos būdas turi atsižvelgti į tai, kad Vykdymo ir vartojimo modeliai nebesilaiko fiksuoto ritmo, kurį diktuoja laikrodis.bet reaguos į realią duomenų dinamiką, kuri taip pat turi įtakos atsakomųjų priemonių nuo šalutinių kanalų projektavimui.
Masinis lygiagretumas, daugiasriegiškumas ir vektoriai: poveikis laikrodžio nepertraukiamo veikimo saugumui
Šiuolaikiniai procesoriai siekia padidinti našumą ne tik didindami taktinį dažnį, bet ir atlikdami daugiau darbų lygiagrečiai. Tai apima kelis branduolius, aparatinės įrangos daugiasriegį veikimą ir Vektoriniai vienetai, galintys apdoroti kelis duomenų taškus vienai instrukcijaiPrie viso to prisideda ir specifinių greitintuvų, tokių kaip GPU, DSP arba TPU, atsiradimas.
Saugumo požiūriu, kiekvienas naujas vykdymo blokas ir kiekvienas naujas lygiagretumo lygis yra papildomas paviršius, kurį reikia apsaugoti. Būtinas koordinavimas. talpyklos nuoseklumas, bendros atminties valdymas, abipusio išskyrimo mechanizmus ir išvengti lenktynių sąlygų bei informacijos nutekėjimo tarp gijų ar lygiagrečių procesų.
Be laikrodžio signalo arba hibridinėse aplinkose šis koordinavimas labiau priklauso nuo blokų tarpusavio ryšio protokolų, o ne nuo globalių laikrodžio ciklų. Pavyzdžiui, branduolys gali naudoti prašymo ir atpažinimo signalai norint pasiekti atmintį arba bendrinamus išteklius, o efektyvus užlaikymas priklausys nuo faktinio srauto tuo metu, o ne nuo fiksuoto ciklų skaičiaus.
Toks elgesys, žiūrint iš išorės, apsunkina tam tikras atakas, kurios remiasi labai tiksliais laiko matavimais, pagrįstais laikrodžio ciklų skaičiumi. Tačiau tuo pačiu metu saugumo kūrėjai turi neapsiriboti ciklų skaičiavimu ir pasikliauti... įvykių skaitikliai, eismo matavimas, energijos suvartojimas ir kitus požymius, leidžiančius aptikti įtartiną elgesį.
Štai kodėl daugelis gamintojų integruoja aparatinės įrangos našumo skaitiklius, kurie leidžia realiuoju laiku stebėti tokius dalykus kaip talpyklos praleidimai, nepavykusios šakos prognozės, konkrečios atminties prieigos ir kt. Teisingai naudojami šie skaitikliai yra galingas įrankis tiek našumui optimizuoti, tiek... rasti anomalius modelius būdingas kenkėjiška programa arba pažangius spragų išnaudojimus, net ir iš dalies asinchroninėse architektūrose.
Virtualizacija, vCPU ir izoliacija šiuolaikinėse aplinkose
Dar vienas svarbus šiandienos aplinkos elementas yra virtualizacija. Debesyje mes nuolat dirbame su Virtualūs procesoriai (vCPU), kurie yra loginiai apdorojimo pajėgumų fragmentai, priskirti virtualios mašinos arba konteinerius, esančius ant bendros fizinės įrangos.
Kiekvienas vCPU iš esmės yra gijų arba vykdymo laikų rinkinys, kurį hipervizorius suplanuoja fiziniuose branduoliuose. Kad tai veiktų gerai, fizinis CPU siūlo specialūs privilegijuoti režimai kurie leidžia hipervizoriams kurti ir izoliuoti virtualios mašinos, perimti tam tikras slaptas instrukcijas ir valdyti kiekvieno svečio atmintį, jiems netrukdant ar nežiūrint vienas į kitą.
Šiame kontekste saugumas be laikrodžio signalo reiškia, kad procesoriaus laiko paskirstymas tarp virtualių mašinų priklauso ne tik nuo vienodo laikrodžio signalo, bet ir nuo dinamiškesni planavimo mechanizmai palaikoma aparatinės įrangos. Hipervizorius vis dar mato laikrodžio ciklus, tačiau tai, kaip šie ciklai paverčiami efektyviu kiekvieno branduolio darbu, gali būti pakeista vidiniais asinchroniniais blokais.
Saugumo požiūriu, tai reikalauja sukurti stebėjimo įrankius, kurie ne tik skaičiuotų tikravus, bet ir galėtų interpretuoti našumo skaitiklius, naudojimo statistiką ir žemo lygio įvykius. aptikti išteklių piktnaudžiavimą, virtualių mašinų išbėgimus ar netaisyklingus modelius kurie rodo įsilaužimą.
Be to, skaičiavimo reikalaujančiose aplinkose, kur pilnai išnaudojami vektoriniai vienetai, GPU ir kiti greitintuvai, saugumo valdytojai turi atsižvelgti į tai, kad šie blokai, nesvarbu, ar jie būtų sinchroniniai, ar asinchroniniai, gali tapti įrankiais, skirtais paspartinti kriptovaliutų atakas, kriptovaliutų kasimas už vartotojo nugaros arba atlikti didelių pavogtų duomenų kiekių analizę.
Našumas, energijos suvartojimas ir spartinimas, palyginti su dizainu be laikrodžio
Galiausiai turime atsižvelgti į našumo ir energijos suvartojimo santykį. Laikrodžio dažnio didinimas per spartinimą (pavyzdžiui, atliekant Stabilumo bandymas su OCCT) leidžia procesoriui atlikti daugiau operacijų per sekundęTačiau tai žymiai padidina energijos suvartojimą ir temperatūrą. Tiesą sakant, daugelis dabartinių procesorių jau dinamiškai reguliuoja savo dažnį ir įtampą pagal darbo krūvį ir vidinę temperatūrą.
Asinchroniniai projektai siūlo alternatyvą: užuot naudoję labai greitą laikrodį ir bandę viską išlaikyti fazėje, Jie leido kiekvienam blokui veikti tokiu tempu, kokį diktuoja duomenys.Esant mažam apkrovimui, neaktyvios dalys beveik nekeičia būsenos, todėl sumažėja energijos suvartojimas, nereikalaujant sudėtingų laikrodžio pagrindu veikiančių energijos valdymo mechanizmų.
Saugumo požiūriu, mažesnis suvartojimas ir mažiau šilumos yra ne tik aplinkosaugos problema ar elektros energijos sąskaitų klausimas. Tai taip pat reiškia mažesnis komponentų krūvis, mažesnė gedimų, kuriuos sukelia elektromigracija ar srovės nuotėkis, tikimybė ir potencialiai mažesnė atakų, kuriomis bandoma išnaudoti sistemos elgseną esant ekstremalioms temperatūros ar įtampos sąlygoms, rizika.
Tačiau visiškai asinchroninės ir saugios sistemos projektavimas nėra lengvas. Tam reikia labai griežtai patikrinti ryšio protokolus tarp blokų, lenktynių sąlygas ir tarpines būsenas, kad būtų išvengta klaidų. nedeterministinį elgesį, kuriuo gali pasinaudoti užpuolikasDizaino sudėtingumas, brandžių įrankių trūkumas ir atgalinio suderinamumo su esama programine įranga poreikis lėmė, kad kol kas dauguma komercinių procesorių išlieka sinchroniški su mažomis asinchroninėmis salelėmis.
Visų šių veiksnių – vidinės architektūros, laikrodžių valdymo, lygiagretumo, virtualizacijos ir energijos vartojimo – derinys paverčia saugumą aplinkose be globalaus laikrodžio subtilia pusiausvyra. Asinchroniniai dizainai sušvelnina tam tikras laiko nustatymu pagrįstas atakas ir palengvina labai rafinuotas energijos taupymo strategijas, tačiau jie taip pat kelia naujų iššūkių stebint, audituojant ir tikrinant aparatinės įrangos elgseną, todėl svarbiausia slypi integracijoje. tvirti stebimumo ir izoliavimo mechanizmai nuo paties silicio iki aukščiausio lygio programinės įrangos.
Aistringas rašytojas apie baitų pasaulį ir technologijas apskritai. Man patinka dalytis savo žiniomis rašydamas, būtent tai ir darysiu šiame tinklaraštyje, parodysiu jums įdomiausius dalykus apie programėles, programinę įrangą, techninę įrangą, technologijų tendencijas ir kt. Mano tikslas – padėti jums paprastai ir smagiai naršyti skaitmeniniame pasaulyje.

