Intel Smart Memory Access

Технологии, объединенные под этим собирательным названием, на­правлены на уменьшение задержек, которые могут возникнуть при доступе процессора к обрабатываемым данным. Очевидно, что для этой цели как нельзя лучше подходит предварительная выборка данных из памяти в обла­дающие гораздо более низкой латентностью L1 и L2 кеши процессора. Надо сказать, что алгоритмы предварительной выборки данных эксплуатируются в процессорах Intel достаточно давно. Однако с выходом микроархитектуры Core соответствующий функциональный узел будет усовершенствован.

Микроархитектура Core предполагает реализацию в процессоре шести независимых блоков предварительной выборки данных. Два блока нагружа­ются задачей предварительной выборки данных из памяти в общий L2 кеш, ещё по два блока работают с кешами первого уровня каждого из ядер CPU. Каждый из этих блоков независимо друг от друга отслеживает закономерные обращения (потоковые, либо с постоянным шагом внутри массива) исполни­тельных устройств к данным. Базируясь на собранной статистике, блоки предварительной выборки стремятся подгружать данные из памяти в процес­сорный кеш ещё до того, как к ним последует обращение.


Также, L1 кеш каждого из ядер процессоров, построенных на базе Intel Core Microarchitecture, имеет по одному блоку предварительной выборки ин­струкций, работающий по аналогичному принципу.

Кроме улучшенной предварительной выборки данных, Intel Smart Access предполагает ещё одну интересную технологию, названную memory disambiguation (устранение противоречий в памяти). Данная технология на­правлена на повышение эффективности работы алгоритмов внеочередного исполнения инструкций, осуществляющих чтение и запись данных в памяти. Дело в том, что в современных процессорах, осуществляющих внеочередное исполнение команд, не допускается выполнение команды чтения до того, как не будут завершены все инструкции сохранения данных. Объясняется это тем, что планировщик заранее не обладает информацией о зависимости за­гружаемых и сохраняемых данных.

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








Дата добавления: 2015-08-21; просмотров: 935;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.