Улучшенная работа с цифровым медиа-содержанием (Advanced Digital Media Boost)
АЛУ обычно разбивает инструкции на два блока, что приводит к двум микро-операциям и, соответственно, двум тактам выполнения. Intel решила расширить ширину выполнения трёх АЛУ до 128 бит, что позволяет обрабатывать за один такт восемь блоков с одинарной точностью или четыре блока с двойной точностью. Эта функция была названа улучшенной работой с цифровым медиа-содержанием (Advanced Digital Media Boost), поскольку она касается и инструкций SSE. Здесь мы подходим к выполнению команд SSE за один такт (Single Cycle SSE). Например, можно объединить четыре 32-битных вектора в один 128-битный блок.
Intel предполагает, что новая технология даст ощутимое влияние на скорость обработки медиа-содержания (кодирование, перекодирование, сжатие и т.д.), и даже указывает на то, что Core даёт самую высокую в истории IA вычислительную плотность для работы с векторами.
Улучшенный "умный" кэш (Advanced Smart Cache)
Выше мы уже упоминали единый кэш L2. Два ядра совместно используют кэш объёмом 2 или 4 Мбайт. Кэширование производится более эффективно, ведь данные не нужно хранить по два раза в отдельных кэшах L2 (дублировать). Кэш L2 полностью динамический и способен адаптироваться под нагрузку каждого ядра. Например, одно ядро может динамически забрать 100% кэша L2, если это требуется (строчка за строчкой).
Да и обмен данными между ядрами теперь производится более эффективно, поскольку процессорная шина при этом не нагружается (в отличие, скажем, от Pentium D). И задержки, если два ядра пытаются получить доступ к шине, теперь не происходит. В качестве хорошего примера можно привести многопоточное окружение, когда одно ядро записывает в кэш, а второе ядро может в это время что-либо считывать из него. Снижаются промахи кэша, снижаются задержки, да и доступ теперь происходит быстрее, ведь раньше "узким местом" являлась FSB.
"Умный" доступ к памяти (Smart Memory Access)
Улучшенная предварительная выборка
После разработки, без сомнения, более эффективной процессорной архитектуры и мощного кэша L2 Intel создала условия, чтобы они использовались в полной мере. Каждый двуядерный процессор Core оснащён восемью блоками предварительной выборки (prefetch): два блока выборки данных и один блок выборки инструкций на ядро, а также два блока выборки в общем кэше L2. Как утверждает Intel, блоки можно оптимизировать для каждой из моделей Core (Merom/Conroe/Woodcrest), в результате чего они будут по-разному выполнять предварительную выборку для секторов мобильных, настольных или серверных вычислений.
Блок предварительной выборки предоставляет данные вышестоящим блокам, используя сложные алгоритмы предсказания. Он должен запросить данные, которые вероятно будут использоваться в ближайшем времени, что снижает задержки и повышает эффективность. Блоки предварительной выборки памяти постоянно оценивают картину использования памяти, пытаясь предсказать будущие запросы и закачать соответствующие данные в кэш L2. В то же время, блоки предварительной выборки должны следить за потоковым трафиком, кэшировать который смысла не имеет.