Реферат: Архитектура IA-32
· когда выбор может быть сделан, основываясь на знании того, какую предвыборку необходимо использовать
Инструкции предвыборки SSE имеют различные характеры поведения в зависимости от уровня кэша и реализации процессора. Например, в процессоре может быть реализована постоянная предвыборка, путем возврата данных в уровень кэша, ближайший к ядру процессора. Такой метод приводит к следующему:
· минимизирует нарушения временных данных в других уровнях кэша
· предупреждает необходимость доступа к внекристальным КЭШам, что может увеличить реализованную мощность относительно неправильной загрузки, которая перегружает данные во все уровни кэша
Ситуации, в которых не желательно использовать программно управляемую предвыборку:
· в случаях, когда запросы определены, предвыборка приводит к увеличению требований запросов
· в случае предвыборки далеко вперед, она может привести к вытеснению кэшированных данных из кэша раньше, чем они будут использованы
· слишком близкая предвыборка может снизить возможность к перекрытию задержек доступа к памяти и выполнения
Программные предвыборки потребляют ресурсы в процессоре, и использование слишком многих предвыборок может ограничить их эффективность. Примеры таких предвыборок включают предвыборку данных в цикле для не зависимости от информации находящейся вне цикла и предвыборку в основных блоках, которые часто исполняются, но которые редко используют ее не зависимо от целей предвыборки.
Автоматическая аппаратная предвыборка – механизм, реализованный в процессорах Intel Xeon и Intel Pentium 4. Она заносит нити кэша в унифицированный кэш второго уровня, основанный на ранних независимых моделях.
Плюсы и минусы программной и аппаратной предвыборки
Программная предвыборка имеет следующие характеристики:
· обрабатывает необычные модели доступа, которые не перехватываются аппаратным предвыборщиком
· обрабатывает предвыборку коротких массивов и не имеет аппаратной начальной задержки перед инициацией выборок
· должна быть добавлена в каждый новый код, так что она не относится к уже запущенным приложениям
Аппаратная предвыборка имеет следующие характеристики:
· работает с уже существующими приложениями
· не требует хорошего знания инструкций предвыборки
· требует постоянных моделей доступа
· предупреждает перегрузку инструкций и выводных портов
· имеет начальную задержку на настройку аппаратного предвыборщика и начало инициации выборок
Аппаратный предвыборщик может обрабатывать множество потоков, как в прямом, так и в обратном направлении. Начальная задержка и «выборка-на-перед» имеет больший эффект на коротких массивах, когда аппаратная предвыборка генерирует запрос на данные уже в конце обработки массива (вообще-то в этих случаях она даже не начинается). Аппаратная задержка уменьшается при обработке более длинных массивов.
Загрузка и хранение
В процессорах Intel Xeon и Pentium 4 реализованы следующие механизмы увеличения скорости обработки операций с памятью:
· спекулятивное выполнение загрузок
· реорганизация загрузок с учетом загрузок и хранений
· буферизация записей
· управление потоком данных из хранилищ в зависимые загрузки
производительность может быть увеличена не с помощью ширины канала вывода памяти, а буферизацией ресурсов предоставляемых процессором. По одной операции загрузки и хранения может быть выдано из станции резервирования портов памяти за цикл. Для того, чтобы быть помещенной в станцию хранения, для каждой операции с памятью должен быть доступен буферизированный вход. Имеются 48 загрузочных и 24 хранящих буфера. Эти буфера содержат микрокоманды и адресную информацию до тех пор, пока операция не выполнена, извлечена и перемещена.