Перейменування регістрів

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В архітектурі комп'ютера, перейменування регістрів (англ. Register Renaming) — це метод ослаблення взаємозалежностей команд, що виконуються процесором, при позачерговому виконанні.

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

Так як кількість архітектурних регістрів зазвичай обмежена (наприклад, стандартно архітектура x86 передбачає тільки вісім регістрів загального призначення), ймовірність виникнення помилкових взаємозалежностей досить велика, що може призвести до зниження продуктивності процесора.

Перейменування регістрів являє собою перетворення програмних посилань на архітектурні регістри в посилання на фізичні регістри і дозволяє послабити вплив помилкових взаємозалежностей за рахунок використання великої кількості фізичних регістрів замість обмеженої кількості архітектурних (так, наприклад, x86-сумісні процесори архітектури Intel P6 містять 40 фізичних регістрів). При цьому процесор відстежує, стан яких фізичних регістрів відповідають стану архітектурних, а видача результатів здійснюється в порядку, який передбачений програмою.

Див. також[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.