Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
617
Добавлен:
22.05.2015
Размер:
2.56 Mб
Скачать

10.1.3 Intel Advanced Smart Cache

В нынешней линейке семейства Core 2 процессоры имеют L2-кэш объемом 2 или 4 Мбайт. Общий доступ к нему позволяет избежать простоев, как это могло бы случиться при использовании раздельных кэшей L2.

Весь этот объем динамически распределяется между двумя ядрами в зависимости от частоты обращения к оперативной памяти RAM. Поэтому предотвращается ситуация, когда одно из ядер (вместе с отдельной частью L2) простаивает, а другое «захлебывается» из-за нехватки свободного места в собственном кэше второго уровня.

Более того, в Core 2 предусмотрена возможность одновременной работы ядер с одними и теми же данными, которые не дублируются в памяти, а хранятся единожды. Это позволяет использовать имеющийся объем L2 более рационально. Также отпадает необходимость контроля когерентности (соответствия) кэшей в случае, когда ядра работают с одной и той же информацией (рис. 10.3).

Кроме того, общая память L2 упрощает обмен данными, хранящимися в кэшах L1 каждого из ядер.

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

10.1.4 Intel Smart Memory Access

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

Вычислительному ядру быстрее всего обмениваться информацией с кэшами L1 (64 Кбайт) и L2 (2 или 4 Мбайт). Поэтому, чтобы не возникало простоев, данные должны быть заблаговременно в них загружены. За это отвечают алгоритмы предварительной выборки, над которыми инженерные умы из Intel работают уже много лет и добились хороших результатов.

Реализованные в архитектуре Core модули отслеживают потоки информации и на основании собранной статистики пытаются предсказать, какие данные потребуются вычислительным блокам в следующий момент. Всего таких блоков шесть. Два из них являются связующим звеном между оперативной памятью RAM и кэшем L2 и подгружают информацию, которая может понадобиться для работы в перспективе. Оставшиеся четыре разделены поровну (по два) между ядрами и обеспечивают предварительную выборку данных в рабочий кэш L1.

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

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

10.1.5 Intel Advanced Digital Media Boost

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

Поэтому при проектировании Core произошла существенная переработка версии SSE2. Новый набор пополнился восемью инструкциями и получил название SSE3. В этой реализации SSE команды по-прежнему 128-битные, однако, выполняются они не за два такта (по 64 бита за такт), как это было в предыдущей версии, а за один (рис. 10.5).

Это особенно актуально в свете популяризации HDV (видео высокого разрешения), для конвертирования RAW-файлов, создаваемых современными цифровыми фотоаппаратами, а также в других ресурсоемких приложениях.

Если учесть, что за счет этого оптимизируется работа с огромными массивами данных, то нетрудно догадаться, какой выигрыш в плане энергоэффективности дает технология Advanced Digital Media Boost.