Файл регистров

редактировать

A файл регистров представляет собой массив регистров процессора в центральном процессоре (ЦП). Современные регистровые файлы на основе интегральных схем обычно реализуются в виде быстрых статических ОЗУ с несколькими портами. Такие RAM отличаются наличием выделенных портов для чтения и записи, тогда как обычные многопортовые SRAM обычно читают и записывают через одни и те же порты.

архитектура набора команд ЦП почти всегда будет определять набор регистров, которые используются для передачи данных между памятью и функциональными блоками на кристалле. В более простых ЦП эти архитектурные регистры однозначно соответствуют записям в файле физических регистров (PRF) в ЦП. Более сложные процессоры используют переименование регистров, так что отображение того, какая физическая запись хранит конкретный архитектурный регистр, изменяется динамически во время выполнения. Регистровый файл является частью архитектуры и виден программисту, в отличие от концепции прозрачных кешей.

Содержание
  • 1 Переключение банков регистров
  • 2 Реализация
    • 2.1 Декодер
    • 2.2 Массив
  • 3 Микроархитектура
  • 4 Переименование регистров
  • 5 Окна регистров
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Переключение банков регистров

Файлы регистров могут быть объединены в банки регистров. Некоторые процессоры имеют несколько банков регистров.

Процессоры ARM используют банки регистров ARM для запросов быстрого прерывания. x86 процессоры используют переключение контекста и быстрое прерывание для переключения между инструкциями, декодером, GPR и файлами регистров, если их больше одного, до выдачи инструкции, но это существует только на процессорах, поддерживающих суперскаляр. Однако переключение контекста - это совершенно другой механизм по сравнению с банком регистров ARM внутри регистров.

MODCOMP и более поздние 8051-совместимые процессоры используют биты в слове состояния программы для выбора текущего активного банка регистров.

Реализация
Regfile array.png

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

Файлы регистров имеют одну строку слов на запись на порт, одну строку битов на бит ширины на порт чтения и две строки на бит ширины на порт записи. Каждая битовая ячейка также имеет Vdd и Vss. Следовательно, площадь шага проводов увеличивается пропорционально квадрату количества портов, а площадь транзистора увеличивается линейно. В какой-то момент может быть меньше и / или быстрее иметь несколько избыточных файлов регистров с меньшим количеством портов чтения, чем один файл регистра со всеми портами чтения. Целочисленный блок MIPS R8000, например, имел 9-разрядный 64-битный регистровый файл с 4 портами записи и 9 операций чтения, реализованный в процессе 0,7 мкм, что было видно, если посмотреть на чип с вытянутой руки.

Два популярных подхода к разделению регистров на несколько файлов регистров - это конфигурация файла распределенных регистров и конфигурация файла секционированных регистров.

В принципе, любая операция, которая может быть выполнена с помощью 64-битного Широкий регистровый файл с множеством портов чтения и записи может быть выполнен с помощью одного 8-битного регистрового файла с одним портом чтения и одним портом записи. Однако параллелизм на уровне бит файлов с широким регистром со многими портами позволяет им работать намного быстрее и, таким образом, они могут выполнять операции за один цикл, что потребовало бы многих циклов с меньшим количеством портов или меньшей разрядностью. или оба.

Ширина в битах регистрового файла обычно равна количеству битов в размере слова процессора. Иногда он немного шире, чтобы добавить к каждому регистру «лишние» биты, такие как бит яда. Если ширина слова данных отличается от ширины адреса - или в некоторых случаях, например, 68000, даже если они имеют одинаковую ширину - регистры адреса находятся в отдельном файле регистров, чем регистры данных.

Декодер

  • Декодер часто разбивается на предварительный декодер и собственно декодер.
  • Декодер представляет собой серию логических элементов И, управляющих строками слов.
  • Есть один декодер на порт чтения или записи. Если массив имеет четыре порта чтения и два порта записи, например, он имеет 6 строк слов на битовую ячейку в массиве и шесть логических элементов И на строку в декодере. Обратите внимание, что декодер должен быть согласован по высоте с массивом, что заставляет эти вентили И быть широкими и короткими

Массив

Типичный регистровый файл - «тройной портированный», способный читать из 2 регистров и записывать в 1 регистр одновременно - состоит из битовых ячеек, подобных этой.

Основная схема для битовой ячейки:

  • Состояние хранится в паре инверторов.
  • Данные считываются транзистором nmos в битовую линию.
  • Данные записываются путем замыкания одной или другой стороны на землю через стек из двух НМО.
  • Итак: порты чтения используют один транзистор на битовую ячейку, порты записи принимают 4.

Возможны многие оптимизации:

  • Совместное использование строк между ячейками, например, Vdd и Vss.
  • Битовые строки чтения часто предварительно заряжаются до чего-то между Vdd и Vss.
  • Считанные битовые линии часто колеблются лишь на небольшую часть пути до Vdd или Vss. Усилитель считывания преобразует этот сигнал с небольшим размахом в полный логический уровень. Небольшие сигналы качания быстрее, потому что битовая линия имеет небольшой привод, но большую паразитную емкость.
  • Битовые линии записи могут быть скручены, так что они одинаково связаны с соседними битовыми линиями чтения. Поскольку битовые линии записи идут полным ходом, они могут вызвать значительные нарушения в битовых линиях чтения.
  • Если Vdd является горизонтальной линией, он может быть отключен еще одним декодером, если какой-либо из портов записи записывает эту строку в течение этого цикла. Эта оптимизация увеличивает скорость записи.
  • Методы, которые снижают потребление энергии файлами регистров, полезны в электронике с низким энергопотреблением
Микроархитектура

Большинство файлов регистров не имеют особого значения. положение для предотвращения одновременной записи одной и той же записи несколькими портами записи. Вместо этого аппаратное обеспечение планирования инструкций гарантирует, что только одна инструкция в любом конкретном цикле записывает конкретную запись. Если выдается несколько инструкций, нацеленных на один и тот же регистр, у всех, кроме одной, отключены разрешения записи.

Перекрещенным инверторам требуется некоторое конечное время для установления после операции записи, в течение которого операция чтения может занять больше времени или вернуть мусор. Обычно используются обходные мультиплексоры, которые обходят записанные данные в порты чтения, когда подаются команды одновременного чтения и записи в одну и ту же запись. Эти байпасные мультиплексоры часто являются частью более крупной байпасной сети, которая пересылает результаты, которые еще не были зафиксированы, между функциональными блоками.

Регистровый файл обычно согласовывается с каналом данных, который он обслуживает. Согласование высоты тона позволяет избежать прохождения большого количества автобусов по поворотным углам канала данных, которые занимают много места. Но поскольку каждый модуль должен иметь одинаковый шаг битов, каждый модуль в канале данных получает шаг битов, вызванный самым широким модулем, что может привести к потере площади в других модулях. Файлы регистров, поскольку у них есть два провода на бит на порт записи, и поскольку все битовые линии должны контактировать с кремнием в каждой битовой ячейке, часто можно установить шаг канала данных.

Площадь иногда можно сохранить на машинах с несколькими модулями в канале данных, располагая два канала данных рядом, каждый из которых имеет меньший шаг битов, чем у одного канала данных. В этом случае обычно создается несколько копий файла реестра, по одной для каждого канала данных.

Alpha 21264 (EV6), например, была первой крупной микроархитектурой, реализовавшей «архитектуру файлов теневого регистра». Он имел две копии файла целочисленных регистров и две копии регистра с плавающей запятой, которые располагались во внешнем интерфейсе (будущий и масштабированный файл, каждый из которых содержит 2 порта чтения и 2 порта записи), и потребовался дополнительный цикл для передачи данных между ними во время переключатель контекста. Логика задачи попыталась уменьшить количество операций, пересылающих данные между ними, и значительно улучшила целочисленную производительность и помогла уменьшить влияние ограниченного количества GPR на суперскалярное и спекулятивное выполнение. Позднее конструкция была адаптирована в SPARC, MIPS и в некоторых более поздних реализациях x86.

MIPS также использует файл с несколькими регистрами, модуль с плавающей запятой R8000 имел две копии файла регистров с плавающей запятой, каждая с четырьмя портами записи и четырьмя портами чтения, и записывал обе копии одновременно с переключением контекста. Однако он не поддерживает целочисленные операции, и целочисленный регистровый файл остается единым. Позже от файла теневого регистра отказались в более новой конструкции в пользу встроенного рынка.

SPARC также использует «Архитектуру файлов теневого регистра» для своей высокопроизводительной линейки. Он имел до 4 копий файлов целочисленных регистров (будущие, устаревшие, масштабированные, поцарапанные, каждый из которых содержит 7 чтение 4 порта записи) и 2 копии файла регистров с плавающей запятой. но, в отличие от Alpha и x86, они размещаются в серверной части как удаленный модуль сразу после его Out of Order Unit и переименовывают файлы регистров и не загружают инструкции на этапе выборки и декодирования команд, а переключение контекста в этой конструкции не требуется.

IBM использует тот же механизм, что и многие основные микропроцессоры, глубоко объединяя регистровый файл с декодером, но его регистровый файл работает независимо со стороны декодера и не требует переключения контекста, что отличается от Alpha и x86. большая часть его регистрового файла служит не только для специального декодера, но и до уровня потока. Например, POWER8 имеет до 8 декодеров команд, но до 32 файлов регистров по 32 регистра общего назначения в каждом (4 порта чтения и 4 порта записи), чтобы облегчить одновременную многопоточность, что его инструкция не может использоваться с другими регистровыми файлами (отсутствие переключения контекста).

В линейке процессоров x86 типичный ЦП до 486 не имел отдельного файла регистров, поскольку все регистры общего назначения напрямую работали с его декодером, а стек push x87 был расположен внутри самого модуля с плавающей запятой. Начиная с Pentium, типичный Pentium-совместимый процессор x86 интегрирован с одной копией однопортового архитектурного регистрового файла, содержащего 8 архитектурных регистров, 8 регистров управления, 8 регистров отладки, 8 регистров кода состояния, 8 безымянных регистр на основе, один указатель инструкции, один регистр флага и 6 сегментных регистров в одном файле.

Одна копия сдвигаемого стека 8 x87 FP по умолчанию, регистр MMX виртуально моделировались из стека x87 и требовали регистр x86 для предоставления инструкций MMX и псевдонимов для существующего стека. На P6 команда может независимо сохраняться и выполняться параллельно на ранних этапах конвейера перед декодированием в микрооперации и переименованием при выполнении вне очереди. Начиная с P6, все файлы регистров не требуют дополнительного цикла для распространения данных, файлы регистров, такие как архитектурные файлы и файлы с плавающей запятой, расположены между буфером кода и декодерами, называются «буфером удаления», буфером переупорядочения и OoOE и подключены внутри кольцевой шины (16 байт). Сам регистровый файл по-прежнему остается одним регистровым файлом x86 и одним стеком x87, и оба они служат для хранения на пенсии. Его регистровый файл x86 увеличен до двухпортового, чтобы увеличить пропускную способность для хранения результатов. Такие регистры, как отладка / код состояния / управление / безымянный / флаг, были удалены из основного файла регистров и помещены в отдельные файлы между микропроцессорным ПЗУ и секвенсором команд. Только недоступные регистры, такие как сегментный регистр, теперь отделены от файла регистров общего назначения (кроме указателя команд); они теперь расположены между планировщиком и распределителем команд, чтобы облегчить переименование регистров и выполнение вне очереди. Стек x87 был позже объединен с файлом регистров с плавающей запятой после того, как 128-битный регистр XMM дебютировал в Pentium III, но регистровый файл XMM по-прежнему расположен отдельно от файлов целочисленных регистров x86.

Более поздние реализации P6 (Pentium M, Yonah) представили «Архитектуру файла теневого регистра», которая расширена до 2 копий двухпортового целочисленного архитектурного регистрового файла и состоит из переключения контекста (между будущим и удаленным файлом и масштабированным файлом с использованием того же трюка который используется между целым числом и плавающей точкой). Это было сделано для того, чтобы решить узкое место в регистрах, которое существует в архитектуре x86 после внедрения микроопераций, но у него все еще есть 8 записей 32-битных архитектурных регистров, общая емкость которых составляет 32 байта на файл (регистр сегмента и указатель команд остаются в файле, хотя они недоступны для программы) как спекулятивный файл. Второй файл служит файлом масштабированного теневого регистра, который без переключения контекста масштабированный файл не может хранить некоторые инструкции независимо. Некоторые инструкции из SSE2 / SSE3 / SSSE3 требуют этой функции для целочисленных операций, например такие инструкции, как PSHUFB, PMADDUBSW, PHSUBW, PHSUBD, PHSUBSW, PHADDW, PHADDD, PHADDSW, потребуют загрузки EAX / EBX / ECX / EDX из обоих регистровых файлов, хотя процессор x86 редко использовал другой регистровый файл с той же инструкцией; большую часть времени второй файл используется как файл с сохраненным масштабом. Архитектура Pentium M по-прежнему остается одним двухпортовым регистровым файлом FP ​​(8 записей MM / XMM), совместно используемым с тремя декодерами, а регистр FP не имеет файла теневого регистра с ним, поскольку его архитектура файла теневого регистра не включала функцию с плавающей запятой. Процессор после P6, архитектурный регистровый файл является внешним и находится в бэкэнде процессора после вывода из эксплуатации, напротив внутреннего регистрового файла, который находится во внутреннем ядре для буфера переименования / переупорядочения регистров. Однако в Core 2 он теперь находится в блоке, называемом RAT «таблица псевдонимов регистров», расположенном с распределителем инструкций, но имеет тот же размер регистра, что и вывод из эксплуатации. Ядро 2 увеличило внутреннюю кольцевую шину до 24 байтов (позволяет декодировать более 3 инструкций) и расширило свой регистровый файл с двухпортового (одно чтение / одна запись) на четырехпортовый (два чтения / две записи), в регистре по-прежнему остается 8 записей в 32-битных и 32 байтах (не включая 6-сегментный регистр и один указатель инструкции, поскольку к ним невозможно получить доступ в файле с помощью какого-либо кода / инструкции) в общем размере файла и расширен до 16 записей в x64 итого 128 байт на файл. От Pentium M, поскольку его конвейерный порт и декодер увеличились, но они расположены с таблицей распределения вместо буфера кода. Его регистровый файл FP XMM также увеличен до четырехпортового (2 чтения / 2 записи), регистр по-прежнему остается 8 записей в 32-битном режиме и расширен до 16 записей в режиме x64, а число по-прежнему остается 1, поскольку его архитектура файла теневого регистра не включает плавающие point / SSE функции.

В более поздних реализациях x86, таких как Nehalem и более поздних процессорах, регистры как целых чисел, так и регистры с плавающей запятой теперь включены в унифицированный восьмипортовый (шесть для чтения и две записи) файл регистров общего назначения. (8 + 8 в 32-битных и 16 + 16 в x64 на файл), в то время как регистровый файл расширен до 2 с помощью улучшенной «Архитектуры файлов теневого регистра» в предпочтительном варианте выполнения гиперпоточности, и каждый поток использует независимые зарегистрируйте файлы для своего декодера. Позже Sandy Bridge и последующие заменили таблицу теневых регистров и архитектурные регистры гораздо большим и еще более продвинутым файлом физических регистров перед декодированием в буфер переупорядочения. Пробежался по тому Сэнди-Бридж и дальше, больше не имеют архитектурного реестра.

В линейке Atom была современная упрощенная версия P5. Он включает отдельные копии общего файлового ресурса регистров с потоком и декодером. Регистровый файл имеет двухпортовый дизайн, 8/16 записей GPRS, 8/16 записей отладочного регистра и 8/16 записей кода состояния интегрированы в один и тот же файл. Однако он имеет 64-битный теневой регистр с восемью записями и 64-битный безымянный регистр с восемью записями, которые теперь отделены от основных GPR, в отличие от оригинальной конструкции P5, и расположены после исполнительного блока, а файл этих регистров является однопортовым. и не отображать инструкции, такие как масштабированный файл теневого регистра, найденный на Core / Core2 (файл теневого регистра состоит из архитектурных регистров, а у Боннелла не было из-за отсутствия «Архитектуры файла теневого регистра»), однако файл можно использовать для целей переименования из-за к отсутствию неисправного исполнения, обнаруженного в архитектуре Боннеля. У него также была одна копия файла регистров с плавающей запятой XMM на поток. Отличие от Nehalem в том, что Bonnell не имеет единого файла регистров и не имеет специального файла регистров для его гиперпоточности. Вместо этого Bonnell использует отдельный регистр переименования для своего потока, несмотря на то, что он исправен. Подобно Bonnell, Larrabee и Xeon Phi также имеют только по одному целочисленному регистровому файлу общего назначения, но Larrabee имеет до 16 файлов регистров XMM (8 записей в файле) и Xeon Phi имеет до 128 файлов регистров AVX-512, каждый из которых содержит 32 512-битных регистра ZMM для хранения векторных инструкций, которые могут быть размером с кэш L2.

Есть некоторые другие линейки Intel x86, которые не имеют регистрового файла во внутренней структуре, Geode GX и Vortex86 и многие встроенные процессоры, которые не имеют ' t Pentium - совместимые с процессорами 80x86 или прошедшие обратную разработку. Поэтому у большинства из них нет регистрового файла для своих декодеров, но их георадары используются индивидуально. Pentium 4, с другой стороны, не имеет регистрового файла для своего декодера, поскольку его GPR x86 не существовали в его структуре из-за введения физического унифицированного файла регистров переименования (аналогично Sandy Bridge, но немного отличается из-за неспособности Pentium 4 использовать регистр перед наименованием) для попытки заменить файл архитектурного регистра и пропустить схему декодирования x86. Вместо этого он использует SSE для целочисленного выполнения и хранения перед ALU и после результата, SSE2 / SSE3 / SSSE3 также используют тот же механизм для своей целочисленной операции.

Ранний дизайн AMD, такой как K6, не имеет регистрового файла, как Intel, и не поддерживает «архитектуру теневого регистрового файла», поскольку в нем отсутствуют переключение контекста и обходной инвертор, которые необходимы для работы регистрового файла. соответственно. Вместо этого они используют отдельные GPR, которые напрямую связываются с таблицей регистров переименования для своего ЦП OoOE с выделенным целочисленным декодером и плавающим декодером. Механизм аналогичен линейке процессоров Intel до Pentium. Например, процессор K6 имеет четыре int (один временный файл регистров с восьмью записями + один файл будущих регистров с восемью записями + один выбранный файл регистров с восемью записями + безымянный файл регистров с восемью записями) и два файла регистров переименования FP (два файла ST с восемью записями, один идет fadd, а другой идет fmov), которые напрямую связаны с его x86 EAX для целочисленного переименования и регистром XMM0 для переименования с плавающей запятой, но позже Athlon включен " теневой регистр »во внешнем интерфейсе, он масштабируется до 40 записей в унифицированном файле регистров для выполнения целочисленных операций перед декодированием, регистровый файл содержит 8 записей временного регистра + 16 будущих файлов регистров GPR + 16 файлов регистров безымянных GPR. В более поздних разработках AMD отказалась от конструкции теневого регистра и отдавала предпочтение архитектуре K6 с индивидуальным дизайном прямой связи георадаров. Как и Phenom, он имеет три файла регистров int и два файла регистров SSE, которые находятся в физическом файле регистра, напрямую связанных с GPR. Однако на Bulldozer он масштабируется до одного целого числа + одной с плавающей запятой. Как и в ранних проектах AMD, большинство производителей x86, таких как Cyrix, VIA, DMP и SIS, также использовали тот же механизм, что приводило к отсутствию целочисленной производительности без переименования регистров для их упорядоченных ЦП. Таким компаниям, как Cyrix и AMD, пришлось увеличить размер кеш-памяти в надежде уменьшить узкое место. Целочисленная операция AMD SSE работает иначе, чем Core 2 и Pentium 4; он использует отдельный переименованный целочисленный регистр для загрузки значения непосредственно перед этапом декодирования. Хотя теоретически для этого потребуется только более короткий конвейер, чем реализация SSE Intel, но в целом стоимость прогнозирования ветвлений намного выше и выше, чем у Intel, и для выполнения инструкции SSE потребуется не менее двух циклов независимо от шириной инструкции, поскольку ранние реализации AMD не могли выполнять одновременно FP и Int в наборе инструкций SSE, как это делала реализация Intel.

В отличие от Alpha, Sparc и MIPS, который позволяет только одному файлу регистров загружать / извлекать один операнд за раз; для достижения супермасштабирования потребуется несколько файлов регистров. С другой стороны, процессор ARM не интегрирует несколько файлов регистров для загрузки / выборки инструкций. ARM GPR не имеют специального назначения для набора команд (ARM ISA не требует накопителя, индекса и стека / базовых точек. Регистры не имеют накопителя, а базовая / стекающая точка может использоваться только в режиме большого пальца). Любые GPR могут распространять и хранить несколько инструкций независимо в меньшем размере кода, который достаточно мал, чтобы уместиться в одном регистре, а его архитектурный регистр действует как таблица и используется для всех декодеров / инструкций с простым переключением банков между декодерами. Основное различие между ARM и другими конструкциями заключается в том, что ARM позволяет работать с одним и тем же регистром общего назначения с быстрым переключением банков без необходимости в дополнительном файле регистра в суперскалярном режиме. Несмотря на то, что x86 использует тот же механизм с ARM, что его GPR могут хранить любые данные по отдельности, x86 столкнется с зависимостью данных, если будет сохранено более трех не связанных инструкций, поскольку его GPR на файл слишком малы (восемь в 32-битном режиме и 16 в 64-битный, по сравнению с ARM 13 в 32-битном и 31 в 64-битном) для данных, и невозможно иметь суперскаляр без нескольких файлов регистров для подачи в его декодер (код x86 большой и сложный по сравнению с ARM). Потому что большинство интерфейсов x86 стали намного больше и потребляют больше энергии, чем процессор ARM, чтобы быть конкурентоспособными (пример: Pentium M Core 2 Duo, Bay Trail). Некоторые сторонние процессоры, эквивалентные x86, даже стали неконкурентоспособными с ARM из-за отсутствия специальной архитектуры регистрового файла. В частности, для AMD, Cyrix и VIA, которые не могут обеспечить приемлемую производительность без переименования регистров и выполнения вне очереди, в результате чего только Intel Atom остается единственным исправным ядром процессора x86 в мобильной конкуренции. Так было до тех пор, пока процессор Nehalem x86 не объединил свои целочисленные регистры и регистры с плавающей запятой в один файл, а также не представил большую таблицу физических регистров и расширенную таблицу распределителя во внешнем интерфейсе перед переименованием во внутреннем ядре, вышедшем из строя..

Переименование регистров

Процессоры, которые выполняют переименование регистров, могут организовать для каждого функционального блока возможность записи в подмножество файла физического регистра. Такая компоновка может устранить необходимость в нескольких портах записи на битовую ячейку, что значительно сэкономит площадь. Результирующий регистровый файл, фактически представляющий собой стек файлов регистров с одним портом записи, затем извлекает выгоду из репликации и разделения портов чтения. В крайнем случае, этот метод поместит стек рег-файлов с 1 записью и 2 считыванием на входы каждого функционального блока. Поскольку в reg-файлах с небольшим количеством портов часто преобладает область транзисторов, лучше не доводить этот метод до этого предела, но он все равно полезен.

Окна регистров

ISA SPARC определяет окна регистров, в которых 5-битные архитектурные имена регистров фактически указывают на окно на регистровый файл гораздо большего размера с сотнями записей. Реализация многопортовых файлов регистров с сотнями записей требует большой площади. При перемещении окно регистров сдвигается на 16 регистров, так что каждое имя архитектурного регистра может ссылаться только на небольшое количество регистров в большем массиве, например архитектурный регистр r20 может ссылаться только на физические регистры # 20, # 36, # 52, # 68, # 84, # 100, # 116, если в физическом файле всего семь окон.

Для экономии места некоторые реализации SPARC реализуют регистровый файл с 32 записями, в котором каждая ячейка имеет семь «битов». Только один из них доступен для чтения и записи через внешние порты, но содержимое битов можно менять. Ротация выполняет за один цикл движение окна регистра. Поскольку большинство проводов, выполняющих перемещение состояний, являются локальными, огромная полоса пропускания возможна при небольшой мощности.

Этот же метод используется в файле отображения переименования регистров R10000, в котором хранится 6-битный номер виртуального регистра для каждого из физических регистров. В файле переименования состояние переименования ставится контрольной точкой всякий раз, когда выполняется переход, так что, когда обнаруживается, что ветвление неверно предсказано, старое состояние переименования может быть восстановлено за один цикл. (См. Переименование регистров.)

См. Также
Ссылки
Внешние ссылки
Wikibook Дизайн микропроцессора есть страница по теме: Файл регистрации
Последняя правка сделана 2021-06-03 11:52:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте