Jump to content

Полочный буфер

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

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

Проблемы с зависимостями данных

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

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

Возьмем, к примеру, следующую последовательность инструкций:

г1 = г2 + г3
г7 = г1 + г4

Обновление r7 вводит зависимость данных (чтение после записи) . Первая строка инструкций должна завершиться до начала выполнения второй, поскольку r7 требует, чтобы перед выполнением было известно правильное значение r1 (регистр 1). Команды этого типа не могут выполняться одновременно или одновременно, порядок операций неявно последовательный.

Как это работает

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

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

Рассмотрим окно инструкций шириной в 3 инструкции, содержащее i1, i2, i3 (инструкции 1, 2 и 3). Предположим, что i2 зависит от инструкции, которая еще не завершила выполнение и еще не может быть выполнена.

Без использования полочного буфера суперскалярный процессор выполнит i1, подождет, пока можно будет выполнить i2, а затем выполнит i2 и i3 одновременно.

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

Следовательно, процессор имеет больше шансов одновременно выполнить максимальное количество инструкций и максимизировать пропускную способность.

  • Дезсо Сима, Дизайнерское пространство стеллажей (PDF) , заархивировано из оригинала (PDF) 28 сентября 2013 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c047293a9549b5e31898e621f66b3ba5__1593374520
URL1:https://arc.ask3.ru/arc/aa/c0/a5/c047293a9549b5e31898e621f66b3ba5.html
Заголовок, (Title) документа по адресу, URL1:
Shelving buffer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)