Перейменування реєстрів definition of перейменування реєстрів and synonyms of перейменування
Матеріал з Вікіпедії – вільної енциклопедії
Перейменування регістрів(англ.Register Renaming) — метод ослаблення взаємозалежностей інструкцій, що застосовується в процесорах, що здійснюють їх позачергове виконання (англ.Out-of-order execution) .
У тому випадку, якщо відповідно до двох або більше іструкцій необхідно здійснити запис даних в один регістр, їх коректне позачергове виконання стає неможливим (пізніша інструкція не може бути оброблена до завершення більш ранньої) навіть у тому випадку, якщо при цьому немає залежності по даних. Такі взаємозалежності часто називаютьнеправдивими(у разісправжньоїзалежності існує залежність і за даними).
Оскільки кількість архітектурних регістрів зазвичай обмежена (наприклад, архітектура х86 передбачає лише вісім регістрів загального призначення), ймовірність виникнення хибних взаємозалежностей досить велика, що може призвести до зниження продуктивності процесора.
Перейменування регістрів являє собою перетворення програмних посилань на архітектурні регістри на посилання на фізичні регістри і дозволяє послабити вплив помилкових взаємозалежностей за рахунок використання великої кількості фізичних регістрів замість обмеженої кількості архітектурних (так, наприклад, x86-сумісні процесори архітектури Intel P6 містять 40 фізичних регістрів). При цьому процесор відстежує, стан яких фізичних регістрів відповідають стану архітектурних, а видача результатів здійснюється у порядку, передбаченому програмою.