Микроархитектура Intel Core (условно называемая микроархитектурой следующего поколения , [1] и разработанная как Merom ) [2] — это микроархитектура многоядерных процессоров , выпущенная Intel в середине 2006 года. Это серьезное развитие по сравнению с Yonah , предыдущей версией серии микроархитектур P6 , которая началась в 1995 году с Pentium Pro . Она также заменила микроархитектуру NetBurst , которая страдала от высокого энергопотребления и теплоемкости из-за неэффективного конвейера , рассчитанного на высокую тактовую частоту . В начале 2004 года новой версии NetBurst (Prescott) требовалась очень высокая мощность для достижения тактовой частоты, необходимой для конкурентоспособной производительности, что делало ее непригодной для перехода на двух-/многоядерные процессоры. 7 мая 2004 года Intel подтвердила отмену следующих NetBurst, Tejas и Jayhawk . [3] Intel разрабатывала Merom, 64-битную версию Pentium M , с 2001 года, [2] и решила распространить ее на все сегменты рынка, заменив NetBurst в настольных компьютерах и серверах. Он унаследовал от Pentium M выбор короткого и эффективного конвейера, обеспечивающий превосходную производительность, несмотря на то, что он не достигал высоких тактовых частот NetBurst. [а]
Первые процессоры, использовавшие эту архитектуру, имели кодовые названия Merom , Conroe и Woodcrest ; Merom предназначен для мобильных компьютеров, Conroe — для настольных систем, а Woodcrest — для серверов и рабочих станций. Несмотря на идентичность архитектуры, три линейки процессоров различаются используемым сокетом, скоростью шины и энергопотреблением. Первые процессоры для настольных компьютеров и мобильных устройств на базе ядра Core назывались Core 2 , а затем были расширены до более дешевых моделей Pentium Dual-Core , Pentium и Celeron ; в то время как процессоры на базе процессоров Core для серверов и рабочих станций назывались Xeon .
Микроархитектура Core вернулась к более низким тактовым частотам и улучшила использование как доступных тактовых циклов, так и мощности по сравнению с предыдущей микроархитектурой NetBurst процессоров Pentium 4 и D. [4] Микроархитектура Core обеспечивает более эффективные этапы декодирования, исполнительные блоки, кэши и шины , снижая энергопотребление процессоров Core 2 и одновременно увеличивая их вычислительную мощность. Процессоры Intel сильно различаются по энергопотреблению в зависимости от тактовой частоты, архитектуры и полупроводникового процесса, как показано в таблицах рассеиваемой мощности процессора .
Как и последние процессоры NetBurst, процессоры на базе Core имеют несколько ядер и поддержку аппаратной виртуализации (продаваемые как Intel VT-x ), а также Intel 64 и SSSE3 . Однако процессоры на базе ядра не поддерживают технологию гиперпоточности , как в процессорах Pentium 4. Это связано с тем, что микроархитектура Core основана на микроархитектуре P6 , используемой в Pentium Pro, II, III и M.
Кэш L1 микроархитектуры Core с размером 64 КБ Кэш-память L1/ядро (32 КБ данных L1 + 32 КБ инструкций L1) такой же большой, как в Pentium M, по сравнению с 32 КБ на Pentium II / III (16 КБ данных L1 + 16 КБ). Инструкция L1). В потребительской версии также отсутствует кэш L3, как в ядре Gallatin Pentium 4 Extreme Edition, хотя он присутствует исключительно в высокопроизводительных версиях Xeon на базе ядра. И кэш L3, и гиперпоточность были снова представлены в потребительской линейке в микроархитектуре Nehalem .
Хотя микроархитектура Core представляет собой серьезную архитектурную модернизацию, она частично основана на семействе процессоров Pentium M, разработанном Intel Israel. [5] Длина конвейера Core / Penryn составляет 14 стадий [6] – меньше половины от конвейера Прескотта . Преемник Penryn, Nehalem, имеет на два цикла больший штраф за неправильное предсказание ветвления, чем Core/Penryn. [7] [8] В идеале ядро может поддерживать скорость выполнения до 4 инструкций за цикл (IPC) по сравнению с возможностью 3 IPC в микроархитектурах P6 , Pentium M и NetBurst . Новая архитектура представляет собой двухъядерную конструкцию с общим кэшем L2 , разработанную для максимальной производительности на ватт и улучшенной масштабируемости.
Одной из новых технологий, включенных в проект, является Macro-Ops Fusion , которая объединяет две инструкции x86 в одну микрооперацию . Например, обычная последовательность кода, такая как сравнение, за которой следует условный переход, станет одной микрооперацией. Однако эта технология не работает в 64-битном режиме.
Ядро может спекулятивно выполнять загрузки перед предыдущими хранилищами с неизвестными адресами. [9]
Другие новые технологии включают в себя пропускную способность за 1 цикл (ранее — за 2 цикла) для всех 128-битных инструкций SSE и новую энергосберегающую конструкцию. Все компоненты будут работать на минимальной скорости, динамически повышая скорость по мере необходимости (аналогично технологии энергосбережения AMD Cool'n'Quiet и собственной технологии Intel SpeedStep , использовавшейся в более ранних мобильных процессорах). Это позволяет чипу выделять меньше тепла и минимизировать энергопотребление.
Для большинства процессоров Woodcrest внешняя шина (FSB) работает со скоростью 1333 МТ/с ; однако для нижних вариантов 1,60 и 1,86 ГГц эта скорость уменьшена до 1066 МТ/с. [10] [11] Первоначально мобильный вариант Merom был рассчитан на работу со скоростью FSB 667 МТ/с, в то время как вторая волна Merom, поддерживающая FSB 800 МТ/с, была выпущена как часть платформы Santa Rosa с другим сокетом. в мае 2007 года. Ориентированная на настольные компьютеры Conroe началась с моделей, имеющих FSB 800 МТ/с или 1066 МТ/с, а линейка 1333 МТ/с была официально запущена 22 июля 2007 года.
Энергопотребление этих процессоров очень низкое: среднее энергопотребление должно находиться в диапазоне 1–2 Вт в вариантах со сверхнизким напряжением, при этом расчетная тепловая мощность (TDP) составляет 65 Вт для Conroe и большинства Woodcrests, 80 Вт для 3.0. ГГц Woodcrest и 40 или 35 Вт для низковольтного Woodcrest. Для сравнения, процессор AMD Opteron 875HE с тактовой частотой 2,2 ГГц потребляет 55 Вт, в то время как энергоэффективная линейка Socket AM2 укладывается в тепловой диапазон 35 Вт (указывается другим способом, поэтому непосредственное сравнение невозможно). Merom, мобильный вариант, имеет TDP 35 Вт для стандартных версий и TDP 5 Вт для версий со сверхнизким напряжением (ULV). [ нужна цитата ]
Ранее Intel объявила, что теперь сосредоточится на энергоэффективности, а не на чистой производительности. Однако весной 2006 года на форуме разработчиков Intel (IDF) Intel рекламировала оба варианта. Некоторые из обещанных цифр были:
Процессоры микроархитектуры Core можно разделить на категории по количеству ядер, размеру кэша и сокету; каждая их комбинация имеет уникальное кодовое имя и код продукта, которые используются несколькими брендами. Например, кодовое имя «Allendale» с кодом продукта 80557 имеет два ядра, кэш-память L2 объемом 2 МБ и использует сокет 775 для настольных компьютеров, но продается как Celeron, Pentium, Core 2 и Xeon, каждый из которых имеет разные наборы включенных функций. Большинство процессоров для мобильных и настольных компьютеров выпускаются в двух вариантах, которые различаются размером кэша L2, но конкретный объем кэша L2 в продукте также можно уменьшить, отключив детали во время производства. Двухъядерные процессоры Tigerton и все четырехъядерные процессоры, кроме — представляют собой многокристальные модули, объединяющие два кристалла. Для процессоров 65 нм один и тот же код продукта может использоваться процессорами с разными кристаллами, но конкретную информацию о том, какой из них используется, можно получить из степпинга.
Исходные процессоры Core 2 основаны на тех же кристаллах, которые можно идентифицировать как CPUID Family 6 Model 15. В зависимости от конфигурации и упаковки их кодовые названия: Conroe ( LGA 775 , 4 МБ кэш-памяти L2), Allendale (LGA 775, 2 МБ кэш-памяти L2). МБ кэша L2), Merom ( Socket M , 4 МБ кэша L2) и Kentsfield ( многочиповый модуль , LGA 775, 2x4 МБ кэша L2). Процессоры Merom и Allendale с ограниченными возможностями входят в состав процессоров Pentium Dual Core и Celeron , а Conroe, Allendale и Kentsfield также продаются как процессоры Xeon .
Дополнительные кодовые названия процессоров на базе этой модели: Woodcrest (LGA 771, 4 МБ кэш-памяти L2), Clovertown (MCM, LGA 771, 2 × 4 МБ кэш-памяти L2) и Tigerton (MCM, Socket 604 , 2 × 4 МБ кэш-памяти L2), все из которых продаются только под брендом Xeon.
Процессоры Conroe-L и Merom-L основаны на том же ядре, что и Conroe и Merom, но содержат только одно ядро и 1 МБ кэш-памяти второго уровня, что значительно снижает производственные затраты и энергопотребление процессора за счет производительности по сравнению с процессорами Conroe-L и Merom-L. двухъядерная версия. Он используется только в процессорах Core 2 Solo U2xxx со сверхнизким напряжением и в процессорах Celeron и обозначается как семейство CPUID 6, модель 22.
В цикле Intel Tick-Tock 2007/2008 «Tick» представлял собой сокращение микроархитектуры Core до 45 нанометров как модель CPUID 23. В процессорах Core 2 он используется с кодовыми названиями Penryn (Socket P), Wolfdale (LGA). 775) и Yorkfield (MCM, LGA 775), некоторые из которых также продаются как процессоры Celeron, Pentium и Xeon. В бренде Xeon кодовые названия Wolfdale-DP и Harpertown используются для MCM на базе LGA 771 с двумя или четырьмя активными ядрами Wolfdale.
Архитектурно процессоры Core 2, изготовленные по 45-нм техпроцессу, оснащены SSE4.1 и новым механизмом разделения/перетасовки. [12]
Чипы выпускаются в двух размерах: с кэш-памятью второго уровня 6 МБ и 3 МБ. Меньшую версию обычно называют Penryn-3M, Wolfdale-3M и Yorkfield-6M соответственно. Одноядерная версия Penryn, обозначенная здесь как Penryn-L, не является отдельной моделью, такой как Merom-L, а является версией модели Penryn-3M только с одним активным ядром.
Процессор Xeon «Dunnington» (семейство CPUID 6, модель 29) тесно связан с процессором Wolfdale, но имеет шесть ядер и встроенный кэш L3 и предназначен для серверов с разъемом Socket 604, поэтому он продается только как Xeon, а не как процессор Ядро 2.
Микроархитектура Core использует несколько уровней шага (степпингов), которые, в отличие от предыдущих микроархитектур, представляют собой дополнительные улучшения и различные наборы функций, таких как размер кэша и режимы низкого энергопотребления. Большинство этих степпингов используются в разных брендах, обычно путем отключения некоторых функций и ограничения тактовой частоты на чипах младшего класса.
Степпинги с уменьшенным размером кэша используют отдельную схему именования, что означает, что выпуски больше не располагаются в алфавитном порядке. Добавленные степпинги использовались во внутренних и инженерных образцах, но не указаны в таблицах.
Многие высокопроизводительные процессоры Core 2 и Xeon используют многочиповые модули из двух чипов, чтобы получить больший размер кэша или более двух ядер.
Ранние степпинги ES/QS: B0 (CPUID 6F4h), B1 (6F5h) и E0 (6F9h).
Степпинги B2/B3, E1 и G0 процессоров модели 15 (cpuid 06fx) представляют собой этапы эволюции стандартного кристалла Merom/Conroe с 4 МБ кэш-памяти L2, при этом кратковременный степпинг E1 используется только в мобильных процессорах. Степпинг L2 и M0 — это чипы Allendale с кэш-памятью L2 всего 2 МБ, что позволяет снизить себестоимость производства и энергопотребление для процессоров младшего класса.
Степпинги G0 и M0 улучшают энергопотребление в режиме ожидания в состоянии C1E и добавляют состояние C2E в процессоры для настольных ПК. В мобильных процессорах, все из которых поддерживают состояния простоя от C1 до C4, степпинги E1, G0 и M0 добавляют поддержку платформы Mobile Intel 965 Express ( Santa Rosa ) с Socket P , тогда как более ранние степпинги B2 и L2 появляются только для Socket. Платформа Mobile Intel 945 Express ( обновление Napa ) на базе M.
Модель 22 Stepping A1 (cpuid 10661h) знаменует собой существенное изменение конструкции: всего одно ядро и 1 МБ кэш-памяти второго уровня, что еще больше снижает энергопотребление и производственные затраты для бюджетных моделей. Как и предыдущие шаги, A1 не используется с платформой Mobile Intel 965 Express.
Степпинги G0, M0 и A1 в основном заменили все старые степпинги в 2008 году. В 2009 году был представлен новый степпинг G2, который заменил исходный степпинг B2. [16]
В модели 23 (cpuid 01067xh) Intel начала продавать одновременно полный (6 МБ) и уменьшенный (3 МБ) кэш L2, присваивая им одинаковые значения cpuid. Все степпинги имеют новые инструкции SSE4.1 . Степпинг C1/M1 представлял собой версию C0/M0 с исправлением ошибок, специально предназначенную для четырехъядерных процессоров и используемую только в них. Шаг E0/R0 добавляет две новые инструкции (XSAVE/XRSTOR) и заменяет все предыдущие шаги.
В мобильных процессорах степпинг C0/M0 используется только в платформе Intel Mobile 965 Express ( обновление Santa Rosa ), тогда как степпинг E0/R0 поддерживает более позднюю платформу Intel Mobile 4 Express ( Montevina ).
В модели 30 степпинг A1 (cpuid 106d1h) добавлен кэш L3 и шесть вместо обычных двух ядер, что приводит к необычно большому размеру кристалла — 503 мм 2 . [17] По состоянию на февраль 2008 года он нашел свое применение только в серии Xeon 7400 очень высокого класса ( Dunnington ).
Conroe, Conroe XE и Allendale используют разъем LGA 775 ; однако не каждая материнская плата совместима с этими процессорами.
Поддерживаемые чипсеты :
Модель Yorkfield XE QX9770 (45 нм с частотой системной шины 1600 МТ/с) имеет ограниченную совместимость с наборами микросхем: совместимы только материнские платы X38, P35 (с разгоном ) и некоторые высокопроизводительные материнские платы X48 и P45. Обновления BIOS постепенно выпускались для обеспечения поддержки технологии Penryn, а QX9775 совместим только с материнской платой Intel D5400XS. Модель E7200 Wolfdale-3M также имеет ограниченную совместимость ( по крайней мере , чипсет Xpress 200 несовместим ) .
Хотя материнская плата может иметь необходимый набор микросхем для поддержки Conroe, некоторые материнские платы на основе вышеупомянутых наборов микросхем не поддерживают Conroe. Это связано с тем, что всем процессорам на базе Conroe требуется новый набор функций подачи питания, указанный в понижении напряжения регулятора (VRD) 11.0. Это требование является результатом значительно более низкого энергопотребления Conroe по сравнению с процессорами Pentium 4/D, которые он заменил. Материнская плата, имеющая как поддерживающий набор микросхем, так и VRD 11, поддерживает процессоры Conroe, но даже в этом случае некоторым платам потребуется обновленный BIOS для распознавания FID (идентификатор частоты) и VID (идентификатор напряжения) Conroe.
В отличие от предыдущих моделей Pentium 4 и Pentium D , технология Core 2 обеспечивает большую выгоду от работы памяти синхронно с внешней шиной (FSB). Это означает, что для процессоров Conroe с частотой FSB 1066 МТ/с идеальной производительностью памяти для DDR2 является PC2-8500 . В некоторых конфигурациях использование PC2-5300 вместо PC2-4200 может фактически снизить производительность. Только при переходе на PC2-6400 наблюдается существенный прирост производительности. Хотя модели памяти DDR2 с более жесткими характеристиками синхронизации действительно улучшают производительность, в реальных играх и приложениях разница часто незначительна. [18]
В оптимальном случае предоставляемая пропускная способность памяти должна соответствовать пропускной способности FSB, то есть ЦП с номинальной скоростью шины 533 МТ/с должен работать в паре с ОЗУ, соответствующей той же номинальной скорости, например DDR2 533 или PC2-4200. . Распространенный миф [ нужна ссылка ] заключается в том, что установка чередующейся оперативной памяти обеспечит удвоение пропускной способности. Однако в лучшем случае увеличение пропускной способности за счет установки чередующейся оперативной памяти составляет примерно 5–10%. PSB AGTL+, используемый всеми процессорами NetBurst , а также процессорами Core 2 текущего и среднесрочного выпуска (до QuickPath ), обеспечивает 64-битный путь передачи данных. Современные чипсеты обеспечивают пару каналов DDR2 или DDR3.
В задачах, требующих большого объема доступа к памяти, четырехъядерные процессоры Core 2 могут значительно выиграть [19] от использования памяти PC2-8500 , которая работает с той же скоростью, что и FSB процессора; это не официально поддерживаемая конфигурация, но ее поддерживают несколько материнских плат.
Процессор Core 2 не требует использования DDR2. Хотя наборы микросхем Intel 975X и P965 требуют наличия этой памяти, некоторые материнские платы и наборы микросхем поддерживают как процессоры Core 2, так и память DDR . При использовании памяти DDR производительность может снизиться из-за меньшей доступной пропускной способности памяти.
Блок управления памятью Core 2 (MMU) в процессорах X6800, E6000 и E4000 не соответствует предыдущим спецификациям, реализованным в предыдущих поколениях оборудования x86 . Это может вызвать проблемы, многие из которых являются серьезными проблемами безопасности и стабильности, с существующим программным обеспечением операционной системы . В документации Intel говорится, что их руководства по программированию будут обновлены «в ближайшие месяцы» информацией о рекомендуемых методах управления резервным буфером трансляции (TLB) для Core 2, чтобы избежать проблем, и признается, что «в редких случаях неправильное аннулирование TLB может привести к непредсказуемому поведению системы, например, к зависаниям или неверным данным». [20]
Среди вопросов заявлено:
Ошибки Intel Ax39, Ax43, Ax65, Ax79, Ax90, Ax99 считаются особенно серьезными. [21] 39, 43, 79, которые могут вызвать непредсказуемое поведение или зависание системы, были исправлены в последних обновлениях .
Среди тех, кто назвал эти ошибки особенно серьезными, — Тео де Раадт из OpenBSD [22] и Мэтью Диллон из DragonFly BSD . [23] Противоположную точку зрения высказал Линус Торвальдс , назвав проблему TLB «совершенно незначительной», добавив: «Самая большая проблема заключается в том, что Intel следовало просто лучше документировать поведение TLB». [24]
Microsoft выпустила обновление KB936357 для устранения ошибок путем обновления микрокода [25] без снижения производительности. Также доступны обновления BIOS для решения этой проблемы.