LINUX.ORG.RU

История изменений

Исправление uin, (текущая версия) :

Интел все эти свои 8 регистров отображает на более чем 100+ внутренних физических. То есть по простому говоря x86 наименование регистров давно уже тупо виртуальные, которые переотображаются на физические.

Вот только не все OoO суперскаляры пропускают входной код через фронтенд как интел. То есть это мало того что проблема любого ппроцессора любой архитектуры с большим количеством регистров (именно большое количество регистров создает эту проблему о том как их все использовать, а не твои какие то фантазии про неумеющие компиляторы vs могучие суперскаляры), так еще и давно решенная двумя способами: 1) фронтенд как у интела 2) регистровое окно (спарк, итаниум, эльбрус).
Одна процедура создает окно в одном месте регистрового файла, другая в другом, третья в третьем во всех трех регистры именуются от 0-XX в соответствии с размером окна, окные могут перехлестываться и передавать таким образом в другую аргумент, компилятор это спокойно рассчитывает, физическое расположение и доступность места в файле ему побоку, этим железо занимается - хоть у влив, хоть интела с фронтендами и ооо, хоть у риск без таковых.

К слову в RISС-V тупо сделали мало регистров, нет регистров нет проблем с их использованием.

Исходная версия uin, :

Интел все эти свои 8 регистров отображает на более чем 100+ внутренних физических. То есть по простому говоря x86 наименование регистров давно уже тупо виртуальные, которые переотображаются на физические.

Вот только не все OoO суперскаляры проопускают входной код через фронтенд как интел. То есть это мало того что проблема любого ппроцессора любой архитектуры с большим колличеством регистров (именно большое колличество регистров создает эту проблему о том как их все использовать, а не твои какие то фантазии про неумеющие компиляторы vs могучие суперскаляры), так еще и давно решенная двумя способами: 1) фронтенд как у интела 2) регистровое окно (спаркб итаниум, эльбрус).
Одна процедура создает окно в одном месте регистрового файла, другая в другом, третья в третьем во всех трех регистры именуются от 0-XX в соответствии с размером окна, окные могут перехлестываться и передавать таким образом в другую аргумент, компилятор это спокойно рассчитывает, физическое расположение и доступность места в файле ему побоку, этим железо занимается хоть хоть влив хоть интел с фронтендами и ооо, хоть риск без таковых.

К слову в RISС-V тупо сделали мало регистров