жити блоки декодування. Для того щоб блок вибірки інструкцій працював оптимально, в ядрі процесора є провісник переходів.
Провісник переходів намагається визначити, яка послідовність команд буде виконуватися після вчинення переходу. Це необхідно, щоб після умовного переходу максимально навантажити конвеєр ядра процесора.
Блоки декодування, як зрозуміло з назви, - це блоки, які займаються декодуванням інструкцій, тобто визначають, що треба зробити процесору, і які додаткові дані потрібні для виконання інструкції. Завдання це для більшості сучасних комерційних процесорів, побудованих на базі концепції CISC, - дуже складна. Справа в тому, що довжина інструкцій і кількість операндів - нефіксовані, і це сильно ускладнює життя розробникам процесорів і робить процес декодування нетривіальним завданням.
Часто окремі складні команди доводиться замінювати микрокодом - серією простих інструкцій, в сукупності виконують те ж дію, що й одна складна інструкція. Набір микрокода прошитий в ПЗУ, вбудованому в процесорі. До того ж мікрокод спрощує розробку процесора, так як відпадає потреба у створенні сложноустроенную блоків ядра для виконання окремих команд, та й виправити мікрокод набагато простіше, ніж усунути помилку в функціонуванні блоку.
У сучасних процесорах, зазвичай, буває 2-4 блоку декодування інструкцій, наприклад, в процесорах Intel Core 2 кожне ядро ??містить по два таких блоки.
Блоки вибірки даних здійснюють вибірку даних з КЕШ-пам'яті або ОЗУ, необхідних для виконання поточних інструкцій. Зазвичай, кожне процесорний ядро ??містить кілька блоків вибірки даних. Наприклад, в процесорах Intel Core використовується по два блоки вибірки даних для кожного ядра.
Керуючий блок на підставі декодованих інструкцій управляє роботою блоків виконання інструкцій, розподіляє навантаження між ними, забезпечує своєчасне і правильне виконання інструкцій. Це один з найбільш важливих блоків ядра процесора.
Блоки виконання інструкцій включають в себе кілька різнотипних блоків: - арифметичне логічний пристрій; - пристрій з виконання операцій з плаваючою крапкою;
Блоки для обробки розширення наборів інструкцій. Додаткові інструкції використовуються для прискорення обробки потоків даних, шифрування і дешифрування, кодування відео і так далі. Для цього в ядро ??процесора вводять додаткові регістри та набори логіки. На даний момент найбільш популярними розширеннями наборів інструкція є: (Multimedia Extensions) - набір інструкцій, розроблений компанією Intel, для прискорення кодування і декодування потокових аудіо і відео-даних; (Streaming SIMD Extensions) - набір інструкцій, розроблений компанією Intel, для виконання однієї і тій же послідовності операцій над безліччю даних з розпаралелюванням обчислювального процесу. Набори команд постійно удосконалюються, і на даний момент є ревізії: SSE, SSE2, SSE3, SSSE3, SSE4; (Application Targeted Accelerator) - набір інструкцій, розроблений компанією Intel, для прискорення роботи спеціалізованого програмного забезпечення і зниження енергоспоживання при роботі з такими програмами. Ці інструкції можуть використовуватися, наприклад, при розрахунку контрольних сум або пошуку даних;
DNow - набір інструкцій, розроблений компанією AMD, для розширення можливостей набору інструкцій MMX; (A...