Переименование регистров (Hyjynbyukfguny jyinvmjkf)
Переименование регистров (англ. register renaming) — метод ослабления взаимозависимостей команд, применяемый в процессорах с внеочередным исполнением команд. Один из методов, применяемых в вычислительных конвейерах для реализации параллелизма на уровне команд.
В том случае, если в соответствии с двумя или более командами необходимо осуществить запись данных в один регистр, их корректное внеочередное исполнение становится невозможным (более поздняя команда не может быть обработана до завершения более ранней) даже в том случае, если при этом нет зависимости по данным. Такие взаимозависимости часто называют ложными (в случае истинной зависимости существует зависимость и по данным).
Так как количество архитектурных регистров обычно ограничено (например, стандартно архитектура x86 предусматривает только восемь регистров общего назначения), вероятность возникновения ложных взаимозависимостей достаточно велика, что может привести к снижению производительности процессора.
Переименование регистров представляет собой преобразование программных ссылок на архитектурные регистры в ссылки на физические регистры и позволяет ослабить влияние ложных взаимозависимостей за счёт использования большого количества физических регистров вместо ограниченного количества архитектурных (так, например, x86-совместимые процессоры архитектуры Intel P6 содержат 40 физических регистров[1]). При этом процессор отслеживает, состояние каких физических регистров соответствует состоянию архитектурных, а выдача результатов осуществляется в порядке, который предусмотрен программой.
Метод использовался в IBM System/360 Model 91 (1964), POWER1 (1990), MIPS R10000 и более поздних процессорах.
См. также
[править | править код]Примечания
[править | править код]- ↑ The Unadbridged Pentium 4: IA32 Processor Genealogy
Литература
[править | править код]- David A. Patterson, John L. Hennessy. Computer Architecture: A Quantitative Approach, 5th Edition. — Morgan Kaufmann, 2011. — 856 p. — ISBN 012383872X. (англ.)
Ссылки
[править | править код]- https://www.d.umn.edu/~gshute/arch/register-renaming.xhtml
- http://people.ee.duke.edu/~sorin/ece252/lectures/4.2-tomasulo.pdf
- https://courses.cs.washington.edu/courses/cse471/07sp/lectures/Lecture4.pdf
- https://people.eecs.berkeley.edu/~kubitron/courses/cs252-S09/lectures/lec08-prediction.pdf
Это заготовка статьи об аппаратном обеспечении. Помогите Википедии, дополнив её. |
В статье не хватает ссылок на источники (см. рекомендации по поиску). |