Микроархитектура 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. [a]
Первые процессоры, которые использовали эту архитектуру, имели кодовые названия « 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 . Однако процессоры на базе Core не имеют технологии гиперпоточности , как в процессорах 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 на базе Core. И кэш L3, и гиперпоточность были снова введены в потребительскую линейку в микроархитектуре Nehalem .
Хотя микроархитектура Core является крупным архитектурным пересмотром, она частично основана на семействе процессоров Pentium M , разработанном Intel Israel. [5] Конвейер Core/ Penryn имеет длину 14 этапов [6] — менее половины конвейера Prescott . Преемник Penryn Nehalem имеет штраф за неправильное предсказание ветвления на два цикла выше, чем Core/Penryn. [7] [8] Core в идеале может поддерживать скорость выполнения до 4 инструкций за цикл (IPC) по сравнению с возможностью 3 IPC микроархитектур P6 , Pentium M и NetBurst . Новая архитектура представляет собой двухъядерную конструкцию с общим кэшем L2, спроектированную для максимальной производительности на ватт и улучшенной масштабируемости.
Одной из новых технологий, включенных в проект, является Macro-Ops Fusion , которая объединяет две инструкции x86 в одну микрооперацию . Например, общая последовательность кода, такая как сравнение, за которым следует условный переход, станет одной микрооперацией. Однако эта технология не работает в 64-битном режиме.
Ядро может спекулятивно выполнять загрузки перед предыдущими сохранениями с неизвестными адресами. [9]
Другие новые технологии включают пропускную способность в 1 цикл (ранее 2 цикла) всех 128-битных инструкций SSE и новую конструкцию энергосбережения. Все компоненты будут работать на минимальной скорости, динамически повышая скорость по мере необходимости (аналогично технологии энергосбережения Cool'n'Quiet от AMD и собственной технологии SpeedStep от Intel из более ранних мобильных процессоров). Это позволяет чипу выделять меньше тепла и минимизировать потребление энергии.
Для большинства процессоров Woodcrest системная шина (FSB) работает на частоте 1333 МТ/с ; однако она снижена до 1066 МТ/с для младших вариантов 1,60 и 1,86 ГГц. [10] [11] Мобильный вариант Merom изначально был нацелен на работу на частоте FSB 667 МТ/с, в то время как вторая волна Merom, поддерживающая FSB 800 МТ/с, была выпущена как часть платформы Santa Rosa с другим сокетом в мае 2007 года. Настольные Conroe начались с моделей с FSB 800 МТ/с или 1066 МТ/с, а линейка 1333 МТ/с была официально запущена 22 июля 2007 года.
Потребление энергии этими процессорами очень низкое: среднее потребление энергии должно быть в диапазоне 1–2 Вт в вариантах со сверхнизким напряжением, с тепловой расчетной мощностью (TDP) 65 Вт для Conroe и большинства Woodcrest, 80 Вт для 3,0 ГГц Woodcrest и 40 или 35 Вт для низковольтного Woodcrest. Для сравнения, процессор AMD Opteron 875HE с частотой 2,2 ГГц потребляет 55 Вт, в то время как энергоэффективная линейка Socket AM2 укладывается в тепловой пакет в 35 Вт (указано другим способом, поэтому напрямую не сопоставимо). Merom, мобильный вариант, указан с TDP 35 Вт для стандартных версий и 5 Вт для TDP для версий со сверхнизким напряжением (ULV). [ необходима цитата ]
Ранее Intel объявила, что теперь она будет фокусироваться на энергоэффективности, а не на чистой производительности. Однако на Intel Developer Forum (IDF) весной 2006 года Intel рекламировала и то, и другое. Вот некоторые из обещанных цифр:
Процессоры микроархитектуры Core можно классифицировать по количеству ядер, размеру кэша и сокету; каждая комбинация этих значений имеет уникальное кодовое имя и код продукта, который используется несколькими брендами. Например, кодовое имя «Allendale» с кодом продукта 80557 имеет два ядра, 2 МБ кэша L2 и использует сокет 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), 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 МБ кэша L2, что значительно снижает себестоимость производства и энергопотребление процессора за счет производительности по сравнению с двухъядерной версией. Он используется только в процессорах Core 2 Solo U2xxx с ультранизким напряжением и в процессорах Celeron и идентифицируется как CPUID family 6 model 22.
В цикле Intel Tick-Tock , 2007/2008 "Tick" был сокращением микроархитектуры Core до 45 нм как CPUID model 23. В процессорах Core 2 он используется с кодовыми названиями Penryn (Socket P), Wolfdale (LGA 775) и Yorkfield (MCM, LGA 775), некоторые из которых также продаются как процессоры Celeron, Pentium и Xeon. В бренде Xeon кодовые названия Wolfdale-DP и Harpertown используются для MCM на базе LGA 771 с двумя или четырьмя активными ядрами Wolfdale.
С точки зрения архитектуры, 45-нм процессоры Core 2 оснащены SSE4.1 и новым механизмом деления/перемешивания. [12]
Чипы выпускаются в двух размерах: с кэшем L2 объемом 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, а не как Core 2.
Микроархитектура Core использует несколько уровней степпинга (степпингов), которые в отличие от предыдущих микроархитектур представляют собой постепенные улучшения и различные наборы функций, таких как размер кэша и режимы низкого энергопотребления. Большинство этих степпингов используются во всех брендах, как правило, путем отключения некоторых функций и ограничения тактовых частот на чипах начального уровня.
Steppings с уменьшенным размером кэша используют отдельную схему именования, что означает, что релизы больше не идут в алфавитном порядке. Добавленные steppings использовались во внутренних и инженерных образцах, но не указаны в таблицах.
Многие высокопроизводительные процессоры Core 2 и Xeon используют многочиповые модули из двух чипов для получения большего размера кэша или более двух ядер.
Ранние степпинги ES/QS: B0 (CPUID 6F4h), B1 (6F5h) и E0 (6F9h).
Степпинги B2/B3, E1 и G0 процессоров модели 15 (cpuid 06fx) являются эволюционными шагами стандартного кристалла Merom/Conroe с кэшем L2 объемом 4 МБ, при этом недолговечный степпинг 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 появляются только для платформы Mobile Intel 945 Express ( Napa refresh ) на базе Socket M.
Модель 22 степпинга A1 (cpuid 10661h) знаменует собой существенное изменение дизайна, всего с одним ядром и 1 МБ кэша L2, что еще больше снижает энергопотребление и стоимость производства для low-end. Как и более ранние степпинги, 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 нм с FSB 1600 MT/s) имеет ограниченную совместимость с чипсетом — совместимы только материнские платы X38, P35 (с разгоном ) и некоторые высокопроизводительные материнские платы X48 и P45. Обновления BIOS постепенно выпускались для обеспечения поддержки технологии Penryn, и QX9775 совместима только с материнской платой Intel D5400XS. Модель Wolfdale-3M E7200 также имеет ограниченную совместимость (по крайней мере, чипсет Xpress 200 несовместим [ требуется цитата ] ).
Хотя материнская плата может иметь требуемый чипсет для поддержки Conroe, некоторые материнские платы на основе вышеупомянутых чипсетов не поддерживают Conroe. Это связано с тем, что все процессоры на основе Conroe требуют нового набора функций подачи питания, указанного в Voltage Regulator-Down (VRD) 11.0. Это требование является результатом значительно более низкого энергопотребления Conroe по сравнению с процессорами Pentium 4/D, которые он заменил. Материнская плата, которая имеет как поддерживающий чипсет, так и VRD 11, поддерживает процессоры Conroe, но даже в этом случае некоторым платам потребуется обновленный BIOS для распознавания FID (Frequency ID) и VID (Voltage ID) Conroe.
В отличие от предыдущей конструкции Pentium 4 и Pentium D , технология Core 2 получает больше преимуществ от работы памяти синхронно с системной шиной (FSB). Это означает, что для процессоров Conroe с FSB 1066 MT/с идеальной производительностью памяти для DDR2 является PC2-8500 . В некоторых конфигурациях использование PC2-5300 вместо PC2-4200 может фактически снизить производительность. Только при переходе на PC2-6400 наблюдается значительный прирост производительности. Хотя модели памяти DDR2 с более жесткими спецификациями таймингов действительно повышают производительность, разница в реальных играх и приложениях часто незначительна. [18]
Оптимально, пропускная способность памяти должна соответствовать пропускной способности FSB, то есть ЦП с номинальной скоростью шины 533 МТ/с должен быть сопряжен с ОЗУ, соответствующей той же номинальной скорости, например, DDR2 533 или PC2-4200. Распространенный миф [ требуется ссылка ] заключается в том, что установка чередующейся ОЗУ обеспечит удвоение пропускной способности. Однако, самое большее увеличение пропускной способности при установке чередующейся ОЗУ составляет примерно 5–10%. AGTL+ PSB, используемый всеми процессорами NetBurst и текущими и среднесрочными (до QuickPath ) процессорами Core 2, обеспечивает 64-битный путь данных. Текущие чипсеты обеспечивают пару каналов DDR2 или DDR3.
При выполнении задач, требующих доступа к большим объемам памяти, четырехъядерные процессоры Core 2 могут получить значительную выгоду [19] от использования памяти PC2-8500 , которая работает на той же скорости, что и системная шина процессора; это официально не поддерживаемая конфигурация, но несколько материнских плат ее поддерживают.
Процессор Core 2 не требует использования DDR2. Хотя чипсеты Intel 975X и P965 требуют эту память, некоторые материнские платы и чипсеты поддерживают как процессоры Core 2, так и память DDR . При использовании памяти DDR производительность может снизиться из-за меньшей доступной пропускной способности памяти.
Блок управления памятью Core 2 (MMU) в процессорах X6800, E6000 и E4000 не работает в соответствии с предыдущими спецификациями, реализованными в предыдущих поколениях оборудования x86 . Это может вызвать проблемы, многие из которых являются серьезными проблемами безопасности и стабильности, с существующим программным обеспечением операционной системы . В документации Intel говорится, что их руководства по программированию будут обновлены «в ближайшие месяцы» информацией о рекомендуемых методах управления буфером трансляции lookaside (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 для устранения проблемы.