Какво е микрооперация?

Компютрите се програмират с езици за програмиране. Тези езици обикновено са лесни за четене и позволяват на програмиста да конфигурира какво прави компютърът. След това този код трябва да се компилира в компютърни инструкции. Точните подробности за това варират в зависимост от архитектурата на набора от инструкции или ISA, които компютърът използва. Ето защо има различни връзки за изтегляне за процесори x86 от Intel и AMD и процесори ARM, използвани в съвременните устройства на Apple. ISA на x86 и ARM е различен; софтуерът трябва да се компилира отделно. Както показа Apple, възможно е да се изгради фантастичен слой за превод; просто не е обичайно да се прави така.

Може да си помислите, че процесорът вижда инструкциите, които му се представят, и след това ги изпълнява по ред. Има много трикове, които съвременните процесори правят, включително изпълнение извън реда, което позволява на процесора да пренарежда нещата в движение, за да оптимизира производителността. Въпреки това, една умна част, която е доста добре скрита, са микрооперациите.

Тръбопроводът към микрооперацията

Индивидуалните инструкции в машинния код могат да бъдат наречени инструкции или операции; термините са взаимозаменяеми. Една от трудностите с Complex Instruction Set Computing или CISC архитектурите като x86 е, че инструкциите могат да варират в зависимост от дължината им. Това се отнася по-специално до това колко данни са необходими за представяне. В x86 една инструкция може да бъде кратка от един байт или дълга до 15. Сравнете това със стандартната RISC-V архитектура, използвана от съвременните процесори ARM с 4-байтови инструкции с фиксирана дължина.

Съвет: RISC е съкращение от Reduced Instruction Set Computing.

Едно от последиците от тази разлика в структурата е, че RISC архитектурите обикновено са много по-лесни за ефективно конвейериране. Всяка инструкция има няколко етапа на своята работа, които използват различен хардуер. Конвейерът изпълнява множество инструкции през тези етапи едновременно, с точно една инструкция във всеки етап. Конвейерната обработка предлага значително повишаване на производителността, когато се използва ефективно. Един ключов фактор за ефективното използване на тръбопровод е да се гарантира, че всеки етап се използва едновременно. Това поддържа всичко да върви гладко през тръбопровода.

Тъй като всички инструкции са с еднаква дължина, RISC инструкциите изискват същото време за обработка една на друга. В CISC обаче, подобно на x86, изпълнението на някои инструкции може да отнеме много повече време от други. Това създава голям проблем с ефективността при конвейерна обработка на процесор. Всеки път, когато се появи по-дълга инструкция, тя остава в конвейера за по-дълго. Това причинява балон и задържа всичко зад него. Микрооперациите са решението за това.

Ефективни микрооперации

Вместо да третират всяка инструкция като единственото ниво на операция, която може да бъде изпълнена, микрооперациите въвеждат нов по-нисък слой. Всяка операция може да бъде разделена на много микрооперации. Като проектирате внимателно микрооперациите, можете да оптимизирате тръбопровода.

Интересното е, че това предлага ново предимство. Докато цялостната ISA, да речем x86, остава същата между много различни поколения процесори, микрооперациите могат да бъдат проектирани по поръчка за всяко поколение хардуер. Това може да се направи с дълбоко разбиране на това колко производителност може да се изтръгне от всеки етап на тръбопровода за всяка микрооперация.

В ранните дни на микрооперациите те бяха твърдо свързани връзки, които активираха или деактивираха специфична функционалност в зависимост от микрооперацията. В съвременния дизайн на процесора микрооперация се добавя към буфер за пренареждане. Това е буферът, чрез който процесорът може да извърши своето ориентирано към ефективността пренареждане. Това са микрооперации, а не действителни инструкции, които се пренареждат.

В някои случаи, особено с по-модерни процесори, може да се направи дори повече. Сливането на микрооперации е мястото, където множество микрооперации се комбинират в една. Например, поредица от прости микрооперации може да извърши действие, което може да бъде извършено с една по-сложна инструкция. Чрез намаляване на броя на извършваните микрооперации процесът може да завърши по-бързо. Това също намалява броя на промените в състоянието, намалявайки консумацията на енергия. Пълните инструкции могат дори да бъдат анализирани и комбинирани в по-ефективни микрооперативни структури.

Някои процесори използват кеш за микро операции. Това съхранява напълно декодирани последователности от микрооперации, които могат да бъдат използвани повторно, ако бъдат извикани отново. Обикновено размерът на такъв кеш се определя от броя на микрооперациите, които може да съхранява, а не от капацитета на байтовете.

Заключение

Микрооперацията е специфична за процесора реализация на набор от инструкции. Инструкциите се декодират до поредица от микрооперации. Тези микрооперации са значително по-лесни за по-ефективно тръбопровод и по този начин използват по-добре ресурсите на процесора. Тъй като микрооперациите не са твърдо кодирани в набора от инструкции, те могат да бъдат персонализирани към специфичния хардуер на всяко поколение CPU. Микрооперациите често се съкращават до микрооперации или дори μops. Това използва гръцката буква μ ( произнася се Mu ), символът SI за микропрефикса.


Leave a Comment

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Држењето на вашите 3D принтери е многу важно за добивање на најдобри резултати. Еве некои важни совети за да се освежите.

5 Причини Защо Вашият Лаптоп Прегрява

5 Причини Защо Вашият Лаптоп Прегрява

Разберете някои от възможните причини, поради които вашият лаптоп прегрява, както и съвети и трикове за избягване на този проблем и поддържане на устройството хладно.

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Поддържането на вашето оборудване в добро състояние е задължително. Ето някои полезни съвети, за да поддържате 3D принтера си в отлично състояние.

Как да намерите IP адреса на принтера

Как да намерите IP адреса на принтера

Имаме решение за вас как да откриете IP адреса на вашия принтер, ако имате проблеми с това.

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Ако вашите Powerbeats Pro не се зареждат, използвайте друг източник на захранване и почистете слушалките. Оставете кутията отворена, докато зареждате слушалките.

Как да използвате AirPods с телефони Samsung

Как да използвате AirPods с телефони Samsung

Ако не сте сигурни дали да закупите AirPods за вашия телефон Samsung, това ръководство определено ще помогне. Най-очевидният въпрос е дали двете устройства са

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

Ако търсите NAS за вашия дом или офис, разгледайте този списък с най-добрите устройства за NAS съхранение.

Canon Pixma MG5220: Сканирайте без мастило

Canon Pixma MG5220: Сканирайте без мастило

Как да активирате сканирането на Canon Pixma MG5220, когато мастилото е свършило.

Как да инсталираме SSD на настолни и лаптоп компютри

Как да инсталираме SSD на настолни и лаптоп компютри

Току-що ли купихте SSD в надеждата да обновите вътрешната памет на компютър си, но не знаете как да инсталирате SSD? Прочетете тази статия сега!

Как да поправите грешка GeForce Now с код 0xC272008F

Как да поправите грешка GeForce Now с код 0xC272008F

Настройвате се за вечер на игри и тя ще бъде голяма – току-що закупихте "Star Wars Outlaws" в стрийминг услугата GeForce Now. Открийте единственото известно решение, което показва как да поправите грешката GeForce Now с код 0xC272008F, за да можете отново да започнете да играете игри на Ubisoft.