Шта је нередовно извршење?

Рачунари су сложене машине без дела сложенијег од ЦПУ-а. На нивоу основног прегледа, чини се да би ЦПУ требао бити релативно једноставан. Потребно је низ команди, обрађује их, а затим шаље податке. Ово ипак мало личи на стварни рад модерних ЦПУ-а.

Субскаларни до суперскаларни

Рани ЦПУ-и су били управо онакви какви бисте очекивали. Узимали су инструкције појединачно, редоследом који су им давали, обрађивали их до краја, а затим прешли на следећу инструкцију. ЦПУ овог типа су били субскаларни, способни да заврше мање од једне инструкције по циклусу такта. Дизајнери ЦПУ-а су идентификовали да постоји много различитих фаза довршавања инструкције. Свака од ових фаза захтевала је другачији хардвер. То је значило да приликом покретања једне инструкције кроз цео низ одједном, неки делови хардвера не раде. У било којој врсти процесора, неактивни хардвер је бескористан хардвер.

Да би се користио овај хардвер у стању мировања, дизајн ЦПУ-а је ажуриран да користи приступ цевовода. Ово је додатно одвојило хардвер за сваку фазу, али је омогућило да се сви истовремено користе низом упутстава. Иако је и даље било потребно неколико циклуса да свака инструкција прође кроз цевовод, укупна пропусност је била једна инструкција по циклусу. Ово је учинило ЦПУ скаларним.

Да би могли да ураде више, процесори су морали да буду суперскаларни. Да би се ово постигло, имплементирано је више паралелних цевовода.

Одржавање цевовода напуњених подацима

Главни проблем са перформансама код рачунара је обично кашњење меморије. Многе инструкције раде на подацима, тако да ти подаци морају бити доступни да би се инструкција извршила. Питање је шта да радите ако морате да сачекате те податке јер нису одмах доступни? Традиционално, одговор је био само да се одуговлачи и чека да постане доступан. Ово оставља цео цевовод празним, потенцијално за стотине ЦПУ циклуса. Ствари постају још горе када две инструкције у паралелним цевоводима морају да сачекају меморију, јер ће прва задржати чак и захтев за другим подацима. Иако кеш меморија ЦПУ-а може помоћи у решавању овог проблема, још увек не може да га реши. Била је потребна нова парадигма да се то реши. Та промена парадигме је била Оут Оф Ордер Екецутион или ООО.

Прва фаза цевовода је декодирање инструкције. То значи да се ради шта треба да се уради и да се провери да ли су подаци потребни за операцију доступни. У ООО ЦПУ-у, декодиране инструкције се додају у ред. Они се уклањају из реда и стварно обрађују када су подаци који су им потребни доступни. Критично, није важно којим редоследом су упутства додата у ред. Ако рана инструкција чека податке, новија инструкција може да прескочи ако је спремна за рад. ООО процесори могу да промене редослед инструкција које би требало да обрађују на основу реда предстојећих инструкција и које су од њих спремне за извршење.

Критичне зависности

Овај процес подразумева две ствари. Пре свега, да је могуће поуздано идентификовати и управљати правим зависностима. Друго, можете поуздано да рукујете и идентификујете лажне зависности. Која је разлика? Па, права зависност је зависност која се уопште не може ублажити у систему ООО. Најлакши пример је читање после писања. Ако имате једну инструкцију која би требало да запише неке податке и другу која би затим требало да прочита те податке, нема начина да промените редослед тих инструкција. Морају бити попуњени редоследом којим су представљени, иначе ћете добити бесмислице.

Лажна зависност је она која се може сакрити другим паметним триком. Узмимо пример писања после читања. На први поглед, можда мислите да не можете преписати податке пре него што их прочитате. Ствари ипак нису тако једноставне. Шта ако имате друго место где можете да упишете нове податке, а онда можете само да замените нове и старе податке када се стари подаци прочитају? Ово је процес преименовања регистра и критичан је за обраду ООО.

Типично, скуп инструкција дефинише скуп број архитектонских регистара који се користе у систему. Ви буквално не можете да се обраћате никоме другом. Али шта ако урадите регистре прекомерних резерви? Можете их једноставно сакрити највећим делом, користити их за складиштење података који још нису требали бити обрађени, а затим једноставно замените ознаке скривених и архитектонских регистара када временска линија поново буде тачна. У сваком тренутку постоји тачна количина архитектонских регистара, само што нису увек на истом месту. Аналогија у стварном свету би била хот-дескинг.

Закључак

Извршење ван редоследа је парадигма обраде где се инструкције могу динамички мењати у време извршења од стране ЦПУ-а. То се ради на основу најраније издатих упутстава која располажу подацима. То значи да су инструкције које се учитавају у цевовод увек спремне за извршење и да нема кашњења док се чекају подаци. Наравно, потребно је имати довољно дугачак ред чекања да се не напуни упутствима која чекају податке, али то је изазов имплементације. Извршење ООО се ослања на преименовање регистра да би се сакриле лажне зависности. Чак и ако се ове инструкције стварно изврше ван реда, регистри се преименују на такав начин да се ова чињеница сакри од остатка рачунара.


Шта је СМПС?

Шта је СМПС?

Сазнајте шта је СМПС и значење различитих оцена ефикасности пре него што изаберете СМПС за свој рачунар.

Зашто се мој Цхромебоок не укључује

Зашто се мој Цхромебоок не укључује

Добијте одговоре на питање Зашто се мој Цхромебоок не укључује? У овом корисном водичу за кориснике Цхромебоок-а.

Како пријавити преваре у вези са „пецањем“ Гоогле-у

Како пријавити преваре у вези са „пецањем“ Гоогле-у

Научите како да пријавите преваранта Гоогле-у да бисте га спречили да превари друге помоћу овог водича.

Роомба се зауставља, држи и окреће – поправите

Роомба се зауставља, држи и окреће – поправите

Решите проблем где се ваш Роомба робот усисивач зауставља, лепи и стално се окреће.

Како променити подешавања графике на Стеам Децк-у

Како променити подешавања графике на Стеам Децк-у

Стеам Децк нуди робусно и разноврсно искуство играња на дохват руке. Међутим, да бисте оптимизовали своје игре и осигурали најбоље могуће

Шта је безбедност заснована на изолацији?

Шта је безбедност заснована на изолацији?

Хтели смо да уђемо у тему која постаје све важнија у свету сајбер безбедности: безбедност заснована на изолацији. Овај приступ ка

Како се користи аутоматски кликер за Цхромебоок

Како се користи аутоматски кликер за Цхромебоок

Данас смо хтели да уђемо у алатку која може да аутоматизује понављајуће задатке кликања на вашем Цхромебоок-у: Ауто Цлицкер. Овај алат вам може уштедети време и

Како променити бројчаник сата на Фитбит Верса 4

Како променити бројчаник сата на Фитбит Верса 4

Промените бројчаник сата свог Фитбит Верса 4 да бисте свом сату дали другачији изглед сваки дан бесплатно. Погледајте како је брзо и лако.

Како уклонити ГПУ са Виндовс рачунара у 2023

Како уклонити ГПУ са Виндовс рачунара у 2023

Да ли треба да уклоните ГПУ са рачунара? Придружите ми се док објашњавам како да уклоните ГПУ са рачунара у овом водичу корак по корак.

Шта је сурфовање раменима?

Шта је сурфовање раменима?

Сурфовање раменима је класа напада социјалног инжењеринга. То укључује нападач који прикупља информације гледајући у ваш екран.