Що таке мікрооперація?

Комп’ютери програмуються мовами програмування. Ці мови зазвичай читаються людиною та дозволяють програмісту налаштовувати те, що робить комп’ютер. Потім цей код потрібно скомпілювати в комп’ютерні інструкції. Точні деталі цього відрізняються залежно від архітектури набору інструкцій або ISA, які використовує передбачуваний комп’ютер. Ось чому існують різні посилання для завантаження процесорів x86 від Intel і AMD, а також процесорів ARM, які використовуються в сучасних пристроях Apple. ISA x86 і ARM відрізняється; програмне забезпечення має бути скомпільоване окремо. Як продемонструвала Apple, можна створити фантастичний рівень перекладу; просто це не прийнято робити.

Ви можете подумати, що ЦП бачить інструкції, які йому надаються, а потім виконує їх у порядку. Сучасні процесори використовують багато трюків, у тому числі виконання поза порядком, що дозволяє ЦП змінювати порядок речей на льоту для оптимізації продуктивності. Однак розумною частиною, яка досить добре прихована, є мікрооперації.

Конвеєр до мікрооперації

Окремі інструкції в машинному коді можна назвати інструкціями або операціями; терміни взаємозамінні. Одна з труднощів, пов’язаних із обчисленнями зі складним набором інструкцій або архітектурами CISC, такими як x86, полягає в тому, що інструкції можуть відрізнятися за своєю довжиною. Зокрема, це стосується того, скільки даних вони беруть для представлення. У x86 інструкція може бути як короткою, як один байт, так і довжиною до 15. Порівняйте це зі стандартною архітектурою RISC-V, яка використовується в сучасних процесорах ARM із 4-байтовими інструкціями фіксованої довжини.

Порада: RISC означає обчислення зі скороченим набором інструкцій.

Одним із наслідків цієї різниці в структурі є те, що архітектури RISC, як правило, набагато легше ефективно конвеєрувати. Кожна інструкція має кілька етапів виконання, які використовують різне обладнання. Конвеєрна підготовка виконує кілька інструкцій через ці етапи одночасно, з точно однією інструкцією на кожному етапі. Конвеєрна підготовка забезпечує значне підвищення продуктивності при ефективному використанні. Одним із ключових факторів ефективного використання конвеєра є забезпечення того, щоб кожен етап використовувався одночасно. Це забезпечує безперебійну роботу всього в конвеєрі.

Оскільки всі інструкції мають однакову довжину, інструкції RISC, як правило, вимагають однакового часу обробки. Однак у CISC, як і x86, виконання деяких інструкцій може тривати набагато довше, ніж інших. Це створює велику проблему ефективності під час конвеєрної обробки ЦП. Щоразу, коли з’являється довша інструкція, вона довше застряє в конвеєрі. Це спричиняє міхур і затримує все за ним. Мікрооперації - вирішення цієї проблеми.

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

Замість того, щоб розглядати кожну інструкцію як єдиний рівень операції, який можна виконати, мікрооперації вводять новий нижній рівень. Кожну операцію можна розділити на багато мікрооперацій. Ретельно проектуючи мікрооперації, ви можете оптимізувати конвеєр.

Цікаво, що це дає нову перевагу. Хоча загалом ISA, скажімо, x86, залишається незмінним для багатьох різних поколінь ЦП, мікрооперації можуть бути спеціально розроблені для кожного покоління обладнання. Це можна зробити з глибоким розумінням того, скільки продуктивності можна вичавити з кожного етапу конвеєра для кожної мікрооперації.

На початку мікрооперацій це були жорсткі дротові з’єднання, які активували або вимикали певні функції залежно від мікрооперації. У сучасному дизайні ЦП мікрооперація додається до буфера переупорядкування. Саме в цьому буфері ЦП може виконувати перевпорядкування, орієнтоване на ефективність. Перевпорядковуються мікрооперації, а не фактичні інструкції.

У деяких випадках, особливо з більш просунутими процесорами, можна зробити навіть більше. Злиття мікрооперацій — це де кілька мікрооперацій поєднуються в одну. Наприклад, послідовність простих мікрооперацій може виконувати дію, яку можна виконати за допомогою однієї, більш складної інструкції. Зменшивши кількість виконуваних мікрооперацій, процес може завершитися швидше. Це також зменшує кількість змін стану, зменшуючи споживання енергії. Повні інструкції можна навіть проаналізувати та об’єднати в більш ефективні мікроопераційні структури.

Деякі ЦП використовують кеш мікрооперацій. Тут зберігаються повністю розшифровані послідовності мікрооперацій, які можна повторно використати, якщо викликати їх знову. Як правило, розмір такого кеша визначається кількістю мікрооперацій, які він може зберігати, а не ємністю в байтах.

Висновок

Мікрооперація — це специфічна для ЦП реалізація набору інструкцій. Інструкції розшифровуються до серії мікрооперацій. Ці мікрооперації значно легше конвеєрувати ефективніше і, таким чином, краще використовувати ресурси ЦП. Оскільки мікрооперації не закодовані в набір інструкцій, їх можна налаштувати відповідно до конкретного апаратного забезпечення кожного покоління ЦП. Мікрооперації часто скорочуються до мікрооперацій або навіть μops. Тут використовується грецька літера μ ( вимовляється Mu ), символ SI для префікса мікро.


Як клонувати жорсткий диск

Як клонувати жорсткий диск

У сучасну цифрову епоху, коли дані є цінним активом, клонування жорсткого диска в Windows може бути вирішальним процесом для багатьох. Цей вичерпний посібник

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Як виправити помилку завантаження драйвера WUDFRd у Windows 10?

Ви стикаєтеся з повідомленням про помилку під час завантаження комп’ютера, у якому йдеться про те, що драйвер WUDFRd не вдалося завантажити на ваш комп’ютер?

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Як виправити код помилки NVIDIA GeForce Experience 0x0003

Ви відчуваєте код помилки NVIDIA GeForce 0x0003 на робочому столі? Якщо так, прочитайте блог, щоб дізнатися, як швидко та легко виправити цю помилку.

Що таке SMPS?

Що таке SMPS?

Перш ніж вибрати SMPS для свого комп’ютера, дізнайтеся, що таке SMPS і значення різних показників ефективності.

Чому мій Chromebook не вмикається

Чому мій Chromebook не вмикається

Отримайте відповіді на запитання «Чому мій Chromebook не вмикається?» У цьому корисному посібнику для користувачів Chromebook.

Як повідомити Google про фішинг

Як повідомити Google про фішинг

Дізнайтеся, як повідомити про шахрая в Google, щоб запобігти йому обманювати інших за допомогою цього посібника.

Roomba зупиняється, залипає та розвертається – виправлення

Roomba зупиняється, залипає та розвертається – виправлення

Вирішіть проблему, коли ваш робот-пилосос Roomba зупиняється, залипає та продовжує обертатися.

Як змінити налаштування графіки на Steam Deck

Як змінити налаштування графіки на Steam Deck

Steam Deck пропонує надійний і універсальний ігровий досвід прямо у вас під рукою. Однак, щоб оптимізувати вашу гру та забезпечити найкраще

Що таке безпека на основі ізоляції?

Що таке безпека на основі ізоляції?

Я збирався заглибитися в тему, яка стає все більш важливою у світі кібербезпеки: безпека на основі ізоляції. Такий підхід до

Як використовувати Auto Clicker для Chromebook

Як використовувати Auto Clicker для Chromebook

Сьогодні я збирався заглибитися в інструмент, який може автоматизувати повторювані завдання на вашому Chromebook: Auto Clicker. Цей інструмент може заощадити ваш час і