Работа с памятью

Для вычисления адреса памяти, как правило, требуется, по крайней мере, одно сложение. После вычисления адреса может понадобиться его преобразо­вание в физический адрес, осуществляемое буфером трансляции адресов (TLB).

Проблемы конфликтов при доступе к разделяемому ресурсу - ячейкам памяти, по сути те же, что и при доступе к регистрам.

Завершение выполнения команды

Завершающей фазой исполнения команды является фаза изменения состоя­ния процессора в соответствии с выполненной командой. Назначение этой фазы - сохранение последовательной модели исполнения программы, при реальном параллельном выполнении отдельных команд и условном выполнении команд ветвления. Для изменения состояния процессора применяются два основных спо­соба, причем оба основаны на использовании двух состояний: состояния, изме­ненного в результате операции, и состояния, требуемого для восстановления.

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

Второй способ предполагает рассмотрение логического (архитектурно­го) и физического состояния процессора. Физическое состояние изменяется немедленно по завершении очередной команды. Архитектурное состояние из­меняется тогда, когда ясен результат условно выполненных команд. Для реа­лизации этого способа используется переупорядочивающий буфер: результа­ты из буфера отправляются в файл архитектурных регистров и память.

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

Основные компоненты суперскалярного микро­процессора: функциональные модули - выполнения операций с плаваю­щей (FPU) и фиксированной (ALU) точкой, устройство загрузки/сохране­ния, файлы регистров, раздельная кэш-память команд и данных, а также вспомогательные модули, обеспечивающие динамическое планирование вычислительного процесса - устройство связи с кэш-памятью 2-го уровня, блок переупорядочивания команд и блок предварительной дешифрации.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: