Архитектуры intel процессоров – Архитектуры процессора intel за все время
Архитектуры процессора intel за все время
Компания Intel прошла очень длинный путь развития, от небольшого производителя микросхем до мирового лидера по производству процессоров. За это время было разработано множество технологий производства процессоров, очень сильно оптимизирован технологический процесс и характеристики устройств.
Множество показателей работы процессоров зависит от расположения транзисторов на кристалле кремния. Технологию расположения транзисторов называют микроархитектурой или просто архитектурой. В этой статье мы рассмотрим какие архитектуры процессора Intel использовались на протяжении развития компании и чем они отличаются друг от друга. Начнем с самых древних микроархитектур и рассмотрим весь путь до новых процессоров и планов на будущее.
Содержание статьи:
Архитектура процессора и поколения
Как я уже сказал, в этой статье мы не будем рассматривать разрядность процессоров. Под словом архитектура мы будем понимать микроархитектуру микросхемы, расположение транзисторов на печатной плате, их размер, расстояние, технологический процесс, все это охватывается этим понятием. Наборы инструкций RISC и CISC тоже трогать не будем.
Второе, на что нужно обратить внимание, это поколения процессора Intel. Наверное, вы уже много раз слышали — этот процессор пятого поколения, тот четвертого, а это седьмого. Многие думают что это обозначается i3, i5, i7. Но на самом деле нет i3, и так далее — это марки процессора. А поколение зависит от используемой архитектуры.
С каждым новым поколением улучшалась архитектура, процессоры становились быстрее, экономнее и меньше, они выделяли меньше тепла, но вместе с тем стоили дороже. В интернете мало статей, которые бы описывали все это полностью. А теперь рассмотрим с чего все начиналось.
Архитектуры процессора Intel
Сразу говорю, что вам не стоит ждать от статьи технических подробностей, мы рассмотрим только базовые отличия, которые будут интересны обычным пользователям.
Первые процессоры
Сначала кратко окунемся в историю чтобы понять с чего все началось. Не будем углубятся далеко и начнем с 32-битных процессоров. Первым был Intel 80386, он появился в 1986 году и мог работать на частоте до 40 МГц. Старые процессоры имели тоже отсчет поколений. Этот процессор относиться к третьему поколению, и тут использовался техпроцесс 1500 нм.Следующим, четвертым поколением был 80486. Используемая в нем архитектура так и называлась 486. Процессор работал на частоте 50 МГц и мог выполнять 40 миллионов команд в секунду. Процессор имел 8 кб кэша первого уровня, а для изготовления использовался техпроцесс 1000 нм.
Следующей архитектурой была P5 или Pentium. Эти процессоры появились в 1993 году, здесь был увеличен кэш до 32 кб, частота до 60 МГц, а техпроцесс уменьшен до 800 нм. В шестом поколении P6 размер кэша составлял 32 кб, а частота достигла 450 МГц. Тех процесс был уменьшен до 180 нм.
Дальше компания начала выпускать процессоры на архитектуре NetBurst. Здесь использовалось 16 кб кэша первого уровня на каждое ядро, и до 2 Мб кэша второго уровня. Частота выросла до 3 ГГц, а техпроцесс остался на том же уровне — 180 нм. Уже здесь появились 64 битные процессоры, которые поддерживали адресацию большего количества памяти. Также было внесено множество расширений команд, а также добавлена технология Hyper-Threading, которая позволяла создавать два потока из одного ядра, что повышало производительность.
Естественно, каждая архитектура улучшалась со временем, увеличивалась частота и уменьшался техпроцесс. Также существовали и промежуточные архитектуры, но здесь все было немного упрощено, поскольку это не является нашей основной темой.
Intel Core
На смену NetBurst в 2006 году пришла архитектура Intel Core. Одной из причин разработки этой архитектуры была невозможность увеличения частоты в NetBrust, а также ее очень большое тепловыделение. Эта архитектура была рассчитана на разработку многоядерных процессоров, размер кэша первого уровня был увеличен до 64 Кб. Частота осталась на уровне 3 ГГц, но зато была сильно снижена потребляемая мощность, а также техпроцесс, до 60 нм.
Процессоры на архитектуре Core поддерживали аппаратную виртуализацию Intel-VT, а также некоторые расширения команд, но не поддерживали Hyper-Threading, поскольку были разработаны на основе архитектуры P6, где такой возможности еще не было.
Первое поколение — Nehalem
Дальше нумерация поколений была начата сначала, потому что все следующие архитектуры — это улучшенные версии Intel Core. Архитектура Nehalem пришла на смену Core, у которой были некоторые ограничения, такие как невозможность увеличить тактовую частоту. Она появилась в 2007 году. Здесь используется 45 нм тех процесс и была добавлена поддержка технологии Hyper-Therading.
Процессоры Nehalem имеют размер L1 кэша 64 Кб, 4 Мб L2 кэша и 12 Мб кєша L3. Кэш доступен для всех ядер процессора. Также появилась возможность встраивать графический ускоритель в процессор. Частота не изменилась, зато выросла производительность и размер печатной платы.
Второе поколение — Sandy Bridge
Sandy Bridge появилась в 2011 году для замены Nehalem. Здесь уже используется техпроцесс 32 нм, здесь используется столько же кэша первого уровня, 256 Мб кэша второго уровня и 8 Мб кэша третьего уровня. В экспериментальных моделях использовалось до 15 Мб общего кэша.
Также теперь все устройства выпускаются со встроенным графическим ускорителем. Была увеличена максимальная частота, а также общая производительность.
Третье поколение — Ivy Bridge
Процессоры Ivy Bridge работают быстрее чем Sandy Bridge, а для их изготовления используется техпроцесс 22 нм. Они потребляют на 50% меньше энергии чем предыдущие модели, а также дают на 25-60% высшую производительность. Также процессоры поддерживают технологию Intel Quick Sync, которая позволяет кодировать видео в несколько раз быстрее.
Четвертое поколение — Haswell
Поколение процессора Intel Haswell было разработано в 2012 году. Здесь использовался тот же техпроцесс — 22 нм, изменен дизайн кэша, улучшены механизмы энергопотребления и немного производительность. Но зато процессор поддерживает множество новых разъемов: LGA 1150, BGA 1364, LGA 2011-3, технологии DDR4 и так далее. Основное преимущество Haswell в том, что она может использоваться в портативных устройствах из-за очень низкого энергопотребления.
Пятое поколение — Broadwell
Это улучшенная версия архитектуры Haswell, которая использует техпроцесс 14 нм. Кроме того, в архитектуру было внесено несколько улучшений, которые позволили повысить производительность в среднем на 5%.
Шестое поколение — Skylake
Следующая архитектура процессоров intel core — шестое поколение Skylake вышла в 2015 году. Это одно из самых значительных обновлений архитектуры Core. Для установки процессора на материнскую плату используется сокет LGA 1151, теперь поддерживается память DDR4, но сохранилась поддержка DDR3. Поддерживается Thunderbolt 3.0, а также шина DMI 3.0, которая дает в два раза большую скорость. И уже по традиции была увеличенная производительность, а также снижено энергопотребление.
Седьмое поколение — Kaby Lake
Новое, седьмое поколение Core — Kaby Lake вышло в этом году, первые процессоры появились в середине января. Здесь было не так много изменений. Сохранен техпроцесс 14 нм, а также тот же сокет LGA 1151. Поддерживаются планки памяти DDR3L SDRAM и DDR4 SDRAM, шины PCI Express 3.0, USB 3.1. Кроме того, была немного увеличена частота, а также уменьшена плотность расположения транзисторов. Максимальная частота 4,2 ГГц.
Выводы
В этой статье мы рассмотрели архитектуры процессора Intel, которые использовались раньше, а также те, которые применяются сейчас. Дальше компания планирует переход на техпроцесс 10 нм и это поколение процессоров intel будет называться CanonLake. Но пока что Intel к этому не готова.
Поэтому в 2017 планируется еще выпустить улучшенную версию SkyLake под кодовым именем Coffe Lake. Также, возможно, будут и другие микроархитектуры процессора Intel пока компания полностью освоит новый техпроцесс. Но обо всем этом мы узнаем со временем. Надеюсь, эта информация была вам полезной.
Архитектура Intel® 64
Продукция, разработанная на основе архитектуры Intel® 642
Семейство процессоров Intel® Core™ vPro™ оснащает корпоративные ПК аппаратными функциями безопасности, управления и улучшенными возможностями производительности.
Для настольных ПК семейство процессоров Intel® Core™ предлагает самые быстрые и интеллектуальные процессоры корпорации Intel. Способная адаптироваться к потребностям пользователей, данная технология семейства процессоров Intel® Core™ последнего поколения предназначена для автоматической подстройки к изменяющимся требованиям к производительности, сокращая при этом энергопотребление.
Ноутбуки, оснащенные процессором из семейства процессоров Intel® Core™, предоставляют беспрецедентную мобильную технологию для интеллектуального обеспечения производительности в различных приложениях: от цифрового видео и ресурсоемких игр до ответственных бизнес-задач.
Процессоры Intel® Xeon® обеспечивают производительность разнообразных многоядерных 64-разрядных серверов и рабочих станций. Многоядерные процессоры Intel® Xeon® семейства E5 позволяют создавать универсальные одно- и двухпроцессорные 64-разрядные серверы и рабочие станции для широкого спектра инфраструктур, облачных вычислений, приложений с высокой плотностью оборудования и для высокопроизводительных вычислений (HPC). Процессоры Intel® Xeon® семейства E7 обеспечивают исключительную масштабируемость и надежность при выполнении критически важных задач в большинстве ресурсоемких приложений и проектах виртуализации.
www.intel.ru
Изучаем архитектуру процессоров Intel Core последних поколений
В августе 2017 года компания Intel порадовала нас анонсом процессоров Intel Core 8 поколения. Пользователи, скорее всего уже давно перестали ориентироваться в отличиях одних поколений от других, их особенностях, а главное, преимуществах. Ведь маркировка у них более-менее одинаковая. Так есть ли смысл в переходе с одного поколения на другое?
Несколько лет назад мы опубликовали статью, которая покрывала вопросы развития архитектуры процессоров Intel. Там мы рассказали о том, что развитие архитектур ядер подчиняется двухэтапной концепции «Тик-Так»: развитие каждый тик — это появление нового техпроцесса и выпуск процессоров на нем, используя имеющуюся архитектуру, а каждый так — это появление новой архитектуры (второе поколение, если хотите). Весь цикл длится примерно 2 года, по году на каждую стадию.
Существующая нумерация поколений процессоров Core начинается с 2009 года, когда было представлено ядро Westmere, пришедшая на смену Nahalem.
- 1-е поколение «Westmere» и 2-е поколение «Sandy Bridge» (2011 г.). Технологический процесс в этом случае был идентичным — 32 нм, а вот изменения в плане архитектуры чипа существенные — северный мост материнской платы и встроенный графический ускоритель перенесены в ядро CPU.
- 3-е поколение «Ivy Bridge» (2012 г.) и 4-е поколение «Haswell» (2013 г.) — техпроцесс 22 нм. Уменьшено энергопотребление процессоров на 30-50% благодаря внедрению множества новых технологических особенностей в производство, таких как 3D трехзатворные транзисторы, повышены тактовые частоты чипов, при этом производмтельность возросла незначительно. Процессоры Haswell потребовали переход на новый сокет в связи с изменением системной шины и новой шины памяти.
- 5-е поколение «Broadwell» (2014 г.) и 6-е поколение «Skylake» (2015 г.) – техпроцесс 14 нм. Снова повышены частота, еще более улучшено энергопотребление (улучшение автономной работы на 10-30%) и добавлены несколько новых инструкций, которые улучшают быстродействие. Однако, 5-е поколение подкупает не только автономной работой. Помимо этого, такие процессоры способны укладывать загрузку в не более чем 3 секунды, проводить конвертацию видео до 8 раз быстрей, а также работать с некоторыми 3D играми в 12 раз эффективней своих предшественников Haswell. Также новые процессоры поддерживают самые последние технологии, среди которых особенно хочется выделить 4К, беспроводной экран Wi-Di и встроенную опцию безопасности с возможностью быстрого шифрования передаваемых данных.
А вот Skylake стал самым серьезным обновлением микроархитектуры за последние 10 лет: выделим поддержку DDR4 и одновременно DDR3L с пониженным напряжением питания памяти, USB3.1 первого поколения, беспроводной зарядки и работу с Thunderbolt 3. Однако, стоит обратить внимание, что здесь поддержка Thunderbolt 3 требует отдельного Thunderbolt контроллера, который по умолчанию не входит в состав чипсета. Помимо этого в ядро интегрировали достаточно мощное графическое ядро Intel HD 520/530. Надо сказать, что процессор стал удачным маркетинговым решениям, предлагая не только привычное небольшое увлечение производительности за счет оптимизации архитектуры, но и привнес поддержку ряда технологических решений. Это привело к необходимости редизайна материнских плат и переписывая BIOS для поддержки новых возможностей. По признанию HP, их ноутбуки Elitebook имели массу проблем со стабильностью именно из-за включения множества новых необкатанных технологий, включая Thunderbolt 3. Пропатченные версии BIOS сменяли один другого каждый месяц.
7 поколение Core — наше настоящее
Седьмое поколение, носящее кодовое наименование «Kaby Lake», было представлено в 2016 году, а устройства на нем выпускаются до сих пор. Эта платформа удивила использование техпроцесса 14 нм. Да, на этом ядре традиционный цикл обновления ядер Intel сломался – перехода на техпроцесс 10 нм не произошло. Не хватило времени для технологической подготовки к еще большему увеличению плотности чипов за счет уменьшения транзисторов. Kaby Lake — это всего лишь «доработанная» версия Skylake, но она приносит с собой некоторые важные новые функции:
- Новый встроенный видеоадаптер Intel HD 630, обеспечивающий производительность на целых 30% в синтетических тестах выше по сравнению с предыдущим Intel HD 620.
- В новой микроархитектуре существенно улучшено энергопотребление, составляющее 7.5 Вт у Kaby Lake, чего не скажешь о Skylake с его 15-ти ваттным потреблением.
- В Kaby Lake была реализована нативная поддержка портов USB 3.1 в отличие от Skylake, где для этого требовались дополнительные контроллеры на материнской плате.
Поддержка чипсетов
Важный момент заключается в том, что Kaby Lake используют тот же разъем LGA 1151, поэтому вы можете использовать Kaby Lake на материнской плате, на которой был установлен чип Skylake. Однако, материнские платы для Skylake 100-й серии не поддерживают ряд новых функций, поэтому рекомендуется переход на чипсеты 200-й серии. Изменилась системная шина, связывающая процессор и чипсет. Несмотря на то, что оба поколения процессоров имеют 6 PCIe 3.0 линий от CPU, Kaby Lake использует 24 линии PCIe линиями от PCH (Platform Controller Hub), в то время как Skylake обладает только 20-ю линиями.
Я напомню, что процессоры на сокете LGA1150 использовали системную шину DMI 2.0, в то время как начиная со Skylake с разъема LGA1150 стала применяться шина DMI 3.0, имеющая пропускную способность 8 Гигатранзакций в секунду (32 Гбит/с или 4 ГБ/с в каждом направлении). DMI 3.0, по сути, является эквивалентом четырем линиями PCIe 3.0. Все данные с интерфейсов ввода-вывода, включая USB флеш-накопители, SATA SSD и гигабитную сеть Ethernet, проходят сначала через PCH, и уже потом через DMI попадают в системную память, после чего достигают ЦП. Строго говоря, шина DMI 3.0 никогда не загружается на полную, однако при наличии большого числа быстрой периферии типа массива SSD, она имеет смысл. Интересно, что бюджетные чипсеты как 100-го, так и 200-го семейства (например, h210 и С226) использовали DMI 2.0, в то время как более производительные чипсеты в то же время используют DMI 3.0.
Топовый чипсет 100-го семейства Z170 имеет в общей сложности 26 линий шины HSIO (High-Speed Input-Output), шесть из которых выделены под шесть постоянных портов USB 3.0. Таким образом, на чипсете остается 20 конфигурируемых линий HSIO, которые можно назначить для работы с тем или иным устройством или шиной. Каждый порт SATA также использует линию HSIO, если он не подключен через сторонний контроллер (хотя контроллеру также нужна, по крайней мере, одна линия для связи с PCH). На схеме видно, что контроллеры GbE и SSD с интерфейсом PCIe также используют доступные линии HSIO.
А вот скромный чипсет h210 начального уровня использует только 14 линий HSIO. Lkя интересующихся тонкостями того, как производитель вводит нас в заблуждение, я приведу сводную таблицу, описывающую реальное число линий, которые позволяют подключить то или иное число периферии. Именно с этим числом может играть производитель материнских плат, устанавливая то или иное количество нужным ему интерфейсов.
Так выглядит структурная схема топового чипсета Intel Z270:
Kaby Lake процессоры также обладают широким диапазоном требований по теплоотводу, варьирующимся от 3.5Вт и до 95 Вт. Среди общих характеристик, можно выделить поддержку до 4-х ядер в главных процессорах, кеш-память L4 от 64 до 128 Мб. Это самая масштабируемая линейка процессоров за 10 лет, отсюда и множественные индексы в названиях процессоров – Y (ультранизкое энергопотребление 4,5 Вт), U (15 Вт), H и S (десктопные процессоры).
С точки зрения главных фишек для пользователя наиболее значительно, что обновленный графический чип поддерживает аппаратное кодирование и декодирование 4K видео. Для этого применяется кодек HEVC (High Efficiency Video Coding – H.265). Кодек HEVC при высоком качестве изображения позволяет менять на ходу и уменьшить битрейт, а соответственно, и размер файла. Экономия места в сравнении со стандартом H.264 может достигать 25-50% при сохранении качества, кроме того он поддерживает параллельное кодирование! Вычисления на себя берет GPU, что разгружает основное ядро, чем страдал Skylake. Это же привело и к увеличению времени автономной работы.
В целом же производительность во всех остальных приложениях осталось почти прежней: прирост составил несколько процентов за счет увеличения базовой частоты моделей на 100 МГц. Здесь также слегка обновлена технология Turbo Boost.
Turbo Boost — технология компании Intel для автоматического увеличения тактовой частоты процессора свыше номинальной, если при этом не превышаются ограничения мощности, температуры и тока в составе расчетной мощности (TDP). Это приводит к увеличению производительности однопоточных и многопоточных приложений. Фактически, это технология «саморазгона» процессора. Доступность технологии Turbo Boost зависит от наличия одного или нескольких ядер, работающих с мощностью ниже расчетной. Время работы системы в режиме Turbo Boost зависит от рабочей нагрузки. Включается и выключается эта опция через BIOS.
Так вот, Turbo Boost в Kaby Lake усовершенствована за счет более быстрого переключения между частотами ядер.
В 7-ом поколении Intel решила поменять названия моделей процессоров, и если в линейке Skylake у нас были три модели с именами m3, m5 и m7, то Kaby Lake назвала свои модели m3, i5 и i7. Теперь, чтобы не ввести себя в заблуждение, и разобраться, какие перед вами i5 и i7 процессоры – маломощные Kaby Lake или же более мощные Skylake — придется обращать внимание на полное название процессора. Модели «m» содержат букву «Y» в своем названии, тогда как у более мощных процессоров вместо нее будет присутствовать буква «U».
Thunderbolt 3 – раскат грома в платформостроении
Внедрение Thunderbolt 3 на уровне чипсета в Kaby Lake стало важной вехой в развитии интересов и платформостроении. Это до сих пор пока еще странная и малопонятная вещь, которая имеет большие перспективы на рынке. Это универсальный интерфейс, который в себе объединяет совершенно различные порты в одно единое целое. В основе его лежит шина PCI Express, которая и позволяет перекоммутировать все современные последовательные интерфейсы между собой.
Контроллер Thunderbolt 3 обеспечивает подключение со скоростью до 40 Гбит, удвоив скорость предыдущего поколения, он же поддерживает USB 3.1 второго поколения (Gen2) на 10 Гб/с (а не 5 Гб/с как у Skylake) и DisplayPort 1.2, HDMI 2.0, что позволяет подключить два 4К дисплея, выводить видео и аудио сигналы одновременно. Кроме того, Thunderbolt 3 обратно совместим с Thunderbolt 2. Сам же интерфейс Thunderbolt 3 использует разъем на базе USB Type-C как основной.
Вы, наверное, обратили внимание, что многие ноутбуки с 2016 года имеют многие из этих интерфейсов сразу на борту, а заявленная поддержка USB 3.1 как раз реализована новыми портами USB Type-C. Через этот порт, например, происходит, и зарядка планшетных компьютеров, и подключение док-станций, имеющих и видео, и аудио интерфейсы в одном. Так, например, таблетка HP Elite x2 1012 имеет два порта USB-C, к которым подключается док Elite USB-C dock, а все дисплеи, локальная сеть и аудиоустройства уже подключаются к доку. USB Type-C позволяет заряжать ваши устройства до 100 Вт, которых достаточно для зарядки большинства ноутбуков. Это значит, что вы можете использовать один кабель с разъемом USB Type-C для передачи данных в тот момент, когда вы заряжаете его.
На USB Type-C перешла и компания Apple, оставив только такие порты на своих MacBook. Кстати, MacBook 2016 года как раз целиком выполнен на Kaby Lake. Помимо ноутбков MacBook Pro, многие ноутбуки ведущих брендов поддерживают Thunderbolt 3: ASUS Transformer 3 и Transformer 3 Pro, Alienware 13, Dell XPS 13, HP Elite X2 и Folio, HP Spectre и Spectre x360, Razer Blade Stealth, Lenovo ThinkPad Y900, а также ещё несколько десятков других с портами Thunderbolt 3.
Однако нужно понимать, что не все USB Type-C порты поддерживают Thunderbolt 3 – это могут быть и обычные контроллеры USB 3.1. Электрически они совместимы, но функции Thunderbolt контроллера работать не будут. Это означает, что Thunderbolt устройство можно подключить в обычный порт USB-C и наоборот, работать они будут только как обычный USB порт для передачи данных.
Thunderbolt 3 также поддерживает функции безопасности портов, защищая от подключения неавторизованных устройств. Эти функции заложены в прошивке BIOS, однако их можно отключить. Можно настроить различные политики безопасности портов – блокировать порты, спрашивать пользователя при подключении нового устройства, или же подключать без лишних вопросов.
Подводя итоги тому, что мы сейчас имеем на рынке – это весьма удачные с точки зрения графического ядра и тепловыделения процессоры Kaby Lake, можно сказать, идеальные для ноутбуков различного класса, но не сильно отличающиеся по производительности от предшественников. В целом, для тех, кому все перечисленные выше фишки не нужны, и кто пользуется внешней видеокартой, данная покупка в плане апгрейда не имеет смысла.
8 поколение – Озеро Кофе
Текущий 2017 год получился очень насыщенным в процессорном мире. AMD выпустила очень удачные процессоры Ryzen и Threadripper, которые наконец пришлись ко двору, так сказать, в нужное время и за нужную цену, отчего они стали так популярны среди простых покупателей. Intel же, выпустила Core X с 14, 16 и даже 18 ядрами так сказать, с прицелом на будущее. Но мы ждем чуда – реализации продолжения закона Мура, то есть перехода на 10 нанометровый техпроцесс. И это опять не произошло.
Хорошо это или плохо? Наверное, с маркетинговой точки зрения, это грамотный шаг, оставить новый техпроцесс про запас, на вырост. Но что-то же надо выпустить. И Intel выстрелила – наконец, впервые, последовав идеологии AMD, пошли на увеличение числа ядер. И теперь у Core i7 6 ядер/12 потоков, у Core i5 их также 6, а у i3 теперь 4 полноценных ядра, теперь он вообще как целый i5 раньше!
Итак, новый топовый Intel Core i7-8700 имеет в два раза больше ядер на одном кристалле, что стало возможным за счет очередной оптимизации компоновки ядра, более равномерного расположения транзисторов по кристаллу. Площадь кристалла увеличилась на 16% до 150 мм2. Чуть-чуть вырос кэш L1, кэш L2 стал 1,5 Мбайт, а L3 – 12 Мбайт. Эти изменения логичны для обслуживания вычислительной работы ядер. Однако, это все меньше, чем у Ryzen, у которых 4 и 16 Мбайт кэши второго и третьего уровня соответственно при значительно меньшей цене. Хотя это ни о чем напрямую не говорит, ведь эффективность работы с кэшем зависит от длины конвейера и точности попадания при ветвлениях. Но потенциально это проигрыш.
Новый процессор теперь поддерживает только память DDR4, а встроенный контроллер памяти увеличил частот до 2666 МГц, что является рекордом работы с памятью. Уровень TDP увеличился с 91 до 95 Вт в режиме без разгона и до 145 Вт в турборежиме, что потребует очень хорошей системы охлаждения. Частота поднята за счет высокого множителя – максимальный множительный частоты шины – 43x.
Несмотря на то, что количество потоков увеличилось до 12 за счет Hyper-Threading, количество инструкций выполняемых за такт (IPC) осталось таким же, как и у Skylake и Kaby Lake. А это означает, что архитектура вычислительного устройства (ALU), конвейера и блока предвыборки инструкций не изменилась. Иначе говоря, это та же архитектура с тем же набором инструкций.
Графическое ядро не изменилось — Intel UHD Graphics 630, однако слегка увеличена частота GPU. Структурно там все также 24 вычислительных блока. Графика занимает примерно треть всего кристалла.
Что стало неприятной, но ожидаемой новостью – это то, что новые процессоры не смогут работать со старыми чипсетами. И дело даже не разъеме – будет использоваться прежний LGA1151. Дело в том, что из-за новой компоновки ядра, изменится и обвязка питания кристалла, что приводит к иной распиновке выводов. Появилось большее число выводов Vcc (питание) и Vss (заземление). Как результат, Intel следом представила и 300-е семейство чипсетов, топовая модель которого – Z370. На удивление, Z370 ничем не отличается от предшественника Z270, даже имея USB 3.1 первого поколения. Все это в купе создает не слишком приятное впечатление о новинке.
Пожалуй, самая лучшая новость заключается в том, что некогда младшенький Core i3 стал, наконец, полноценным четырехядерным процессором. Вероятнее всего, он и получит наибольшую популярность в своем сегменте.
Говоря о производительности, можно констатировать, что отличия по сравнению с предыдущим поколением по большей части будут заметны только при работе с видео (особенно 4К до 30%), графикой (в Adobe Photoshop до 60%) и играх (до 25%). Средневзвешенная производительность увеличится не более чем на 15%.
(Посещений: 2 655, из них сегодня: 2)
CPUCoffee lake, intel, Kaby Lake, LGA1151, Skylake, TDP, Thunderbolt, USB-C, Z370, архитектура, чипы, ядраПонравилась публикация? Почему нет? Оставь коммент ниже или подпишись на feed и получай список новых статей автоматически через feeder.
hww.ru
Десять имён для одной архитектуры / Intel corporate blog / Habr
На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.
386-ые, Пентиумы и Коры
На самом деле названий для этого феномена, около сорока лет присутствующего на сцене процессорных технологий, было придумано несколько. Даже больше, чем хотелось бы. Они появились из разных источников и используются в разных контекстах, разными компаниями и разными сообществами. Конечно же, это вносит некоторую неразбериху.
Я постарался здесь собрать все известные мне названия. Не хочу пытаться доказать, что одна группа имён лучше другой, — меньше использовать их не станут.
8086 и семейство
В 1978 году был выпущен 16-битный процессор Intel, который имел «имя» 8086. За ним были 8088, 80186, 80286, 80386 (плюс вариации), 80486 (плюс вариации). Легко заметить, что (почти) все эти числовые имена оканчиваются на две цифры 86, что дало название всей серии x86. Оно укрепилось, его продолжили использовать и после того, как процессорам перестали давать цифровые имена, а появились Intel Pentium, Celeron, Xeon, Core, Atom и т.д. Совместимые продукты других вендоров, таких как IBM, AMD, Cyrix, VIA и т.д., также описываются как x86.
По моим наблюдениям, x86 — самый популярный вариант для имени этой архитектуры в Интернете, статьях и прочей литературе, особенно, когда не стоит задачи точно специфицировать разрядность архитектуры или речь явным образом идёт о 32-битном варианте.
Используются также вариации этого названия для 32-битных вариантов, позволяющие более точно указать минимальный набор поддерживаемых инструкций: i386, i486, i586, i686, — например, для различения вариантов сборок бинарных пакетов дистрибутивов Linux.
Пришествие 64 бит
Своими стараниями Intel расширила машинное слово в описанной ранее серии процессоров с 16 до 32 бит. Достигнуть этой архитектуре 64 бит помогла компания AMD, в 2003 году представившая процессор, поддерживающий новые инструкции и регистры и реализующий AMD64.
Для того, чтобы явно указать повышенную битность процессора/кода/пакета, имя x86 стало получать новый суффикс «64». Вот только через какой знак его приписывать не договорились, и иногда видишь x86_64, а порой x86-64. Например, вывод команды
uname
в Linux использует подчерк. Наконец, у пакетов можно увидеть и суффикс amd64 строчными буквами.Intel же обозначала это расширение архитектуры сперва IA-32e, затем EM64T. В настоящее время можно встретить оба варианта в различных именах пакетов, документации и прочем. Тем не менее, есть и третье введённое Intel название…
Как это называет Intel
В официальной документации 32-битная архитектура имеет имя IA-32; её 64-битный вариант получил довольно странное с моей точки зрения имя Intel 64. Почему странное — оно создаёт потенциал для путаницы, как мы увидим ближе к концу статьи.
Компании-поставщики софта
Если кому-то показалось, что у этой несчастной архитектуры как-то мало имён и суффиксов, то сейчас я обозначу ещё одно известное мне. Происходит оно от поставщиков программного обеспечения, которым как-то надо различать варианты поставляемых пакетов для 32 и 64 бит. Тут их мнения разделились примерно вот таким образом (подробнее — в Википедии).
- Дистибутивы Linux: x86 и x86_64, иногда x86 и amd64.
- Apple: x86 и x86_64.
- Microsoft и Oracle: x86 и x64.
Итак, ещё одно имя — x64.
Всё вместе
Подведу предварительный итог упомянутых в моей заметке обозначений вариантов архитектуры Intel.
- Для 32-битного варианта: IA-32, x86, i386, i486, i586, i686.
- Для 64-битного варианта: Intel 64, AMD64, amd64, EM64T, IA-32e, x86_64, x86-64, x64.
Итого четырнадцать. Если отбросить i386 — i686 как несущественные вариации, то десять.
Ложные имена
Как известно, за свою сорокалетнюю историю Intel выпускала (и выпускает сейчас) не только процессоры IA-32. Были и до сих пор присутствуют продукты других архитектур. Они тоже имеют свои имена, иногда несколько созвучные. При этом происходит путаница, от которой хотелось бы предостеречь.
Intel IA-64. Является полным синонимом термина «Intel Itanium». Используется для обозначения 64-битной архитектуры, несовместимой ни с IA-32, ни с 64-битным её вариантом ни по набору команд, ни по принципам работы. Да, существуют аппаратные и программные прослойки для запуска IA-32 приложений на Итаниуме, но это — тема для отдельного и интересного рассказа. Кстати, и для Itanium есть ещё одно обозначение — IPF, используемое изредка как суффикс.
К сожалению, линейки таких семейств процессоров Intel, как i432, i860, i960 или не дожили до наших дней, или же имеют крайне узкую нишу применения. А то глядишь — пришлось бы для каждого из них запоминать ещё по десятку имён.
habr.com
основы архитектуры компьютеров / Habr
Мы воспринимаем центральный процессор как «мозг» компьютера, но что это значит на самом деле? Что именно происходит внутри миллиардов транзисторов, благодаря которым работает компьютер? В нашей новой мини-серии из четырёх статей мы рассмотрим процесс создания архитектуры компьютерного оборудования и расскажем о принципах его работы.
В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.
Мы начнём с очень высокоуровневого объяснения того, чем занимается процессор и как строительные блоки соединяются в функционирующую конструкцию. В том числе мы рассмотрим процессорные ядра, иерархию памяти, предсказание ветвлений и другое. Во-первых, нам нужно дать простое определение тому, что делает ЦП. Простейшее объяснение: процессор следует набору инструкций для выполнения определённой операции над множеством входящих данных. Например, это может быть считывание значения из памяти, затем прибавление его к другому значению, и наконец сохранение результата в память по другому адресу. Это может быть и нечто более сложное, например, деление двух чисел, если результат предыдущего вычисления больше нуля.
Программы, например, операционная система или игра, сами по себе являются последовательностями инструкций, которые должен выполнять ЦП. Эти инструкции загружаются из памяти и в простом процессоре выполняются одна за другой, пока программа не завершится. Разработчики программного обеспечения пишут программы на высокоуровневых языках, например, на C++ или на Python, но процессор не может их понимать. Он понимает только единицы и нули, поэтому нам нужно каким-то образом представить код в этом формате.
Программы компилируются в набор низкоуровневых инструкций, называемых языком ассемблера, который является частью архитектуры набора команд (Instruction Set Architecture, ISA). Это набор команд, которые должен понимать и выполнять ЦП. Одними из наиболее распространённых ISA являются x86, MIPS, ARM, RISC-V и PowerPC. Точно так же, как синтаксис написания функции на C++ отличается от функции, выполняющей то же действие в Python, у каждой ISA есть свой отличающийся синтаксис.
Эти ISA можно разбить на две основных категории: с фиксированной и с переменной длиной. ISA RISC-V использует инструкции с фиксированной длиной, и это означает, что определённое заранее заданное количество битов в каждой инструкции определяет, какой тип имеет эта инструкция. В x86 всё иначе, в нём используются инструкции с переменной длиной. В x86 инструкции могут кодироваться различным способом с разным количеством битов для разных частей. Из-за такой сложности декодер инструкций в процессоре x86 обычно является самой сложной частью всего устройства.
Инструкции с фиксированной длиной обеспечивают простое декодирование благодаря постоянной структуре, но ограничивают общее количество инструкций, которые могут поддерживаться ISA. В то время, как у популярных версий архитектуры RISC-V есть примерно 100 инструкций и все они имеют открытый исходный код, архитектура x86 проприетарна и никто не знает, сколько всего инструкций в ней есть. Обычно считается, что существует несколько тысяч инструкций x86, но точное число никто не публикует. Несмотря на различия между ISA, по сути все они имеют одинаковую базовую функциональность.
Пример некоторых инструкций RISC-V. Опкод справа имеет длину 7 бит и определяет тип инструкции. Кроме того, каждая инструкция содержит биты, определяющие используемые регистры и выполняемые функции. Так ассемблерные инструкции разбиваются на двоичный код, чтобы его понимал процессор.
Теперь мы готовы включить компьютер и начать выполнять программы. Выполнение инструкции имеет несколько базовых частей, которые разбиты на множество этапов процессора.
Первый этап — передача инструкции из памяти в процессор для начала выполнения. На втором этапе инструкция декодируется, чтобы ЦП мог понять, какого типа эта инструкция. Существует множество типов, в том числе арифметические инструкции, инструкции ветвления и инструкции памяти. После того, как ЦП узнает, инструкцию какого типа он выполняет, операнды для инструкции берутся из памяти или внутренних регистров ЦП. Если вы хотите сложить число A и число B, то не можете выполнять сложение, пока не знаете значений A и B. Большинство современных процессоров являются 64-битными, то есть размер каждого значения данных составляет 64 бита.
64 бита — это ширина регистра процессора, канала передачи данных и/или адреса памяти. Для обычных пользователей это означает, какой объём информации компьютер может обработать за один раз, и лучше всего это понять в сравнении с младшим родственником по архитектуре — 32-битным процессором. 64-битная архитектура может обрабатывать за раз в два раза больше бит информации (64 бит против 32).
Получив операнды для инструкции, процессор переносит их на этап выполнения, где производится операция над входящими данными. Это может быть сложение чисел, выполнение логических манипуляций с числами или просто передача чисел без их изменения. После вычисления результата может потребоваться доступ к памяти для его сохранения, или процессор может просто хранить значение в одном из своих внутренних регистров. После сохранения результата ЦП обновляет состояние различных элементов и переходит к следующей инструкции.
Это объяснение, разумеется, сильно упрощено, и большинство современных процессоров для повышения эффективности разбивает эти несколько этапов на 20 или даже больше мелких этапов. Это означает, что хотя процессор начинает и завершает в каждом цикле несколько инструкций, может потребоваться 20 или больше циклов, чтобы выполнить одну инструкцию от начала до конца. Такая модель обычно называется pipeline («трубопровод», на русский обычно переводят как «конвейер»), потому что для заполнения трубопровода жидкостью и полного её прохождения требуется время, но после заполнения расход (вывод данных) будет постоянным.
Пример 4-этапного конвейера. Разноцветные прямоугольники обозначают независящие друг от друга инструкции.
Весь проходимый инструкцией цикл — это очень тщательно скоординированный процесс, но не все инструкции могут завершаться одновременно. Например, сложение выполняется очень быстро, а деление или загрузка из памяти может занимать тысячи циклов. Вместо останова всего процессора до момента завершения одной медленной инструкции большинство современных процессоров выполняют их с изменением очерёдности. То есть они определяют, какую из инструкций выгоднее всего выполнить в текущий момент и буферизируют другие инструкции, которые пока не готовы. Если текущая инструкция ещё не готова, то процессор может перепрыгнуть вперёд по коду, чтобы посмотреть, готово ли что-то ещё.
Кроме выполнения с изменением очерёдности современные процессоры применяют технологию под названием суперскалярная архитектура. Это означает, что в любой момент времени процессор одновременно выполняет на каждом этапе конвейера множество инструкций. Он может также ожидать ещё сотни других, чтобы начать их выполнение, и для того, чтобы иметь возможность одновременного выполнения нескольких инструкций внутри процессоров есть несколько копий каждого этапа конвейера. Если процессор видит, что к выполнению готовы две инструкции, и между ними нет зависимости, то он не ждёт, пока они завершатся по отдельности, а выполняет их одновременно. Одна из популярных реализаций такой архитектуры называется Simultaneous Multithreading (SMT) и также известна, как Hyper-Threading. Процессоры Intel и AMD сейчас поддерживают двухсторонний SMT, а IBM разработала чипы, поддерживающие до восьми SMT.
Для завершения этого тщательно скоординированного выполнения процессор кроме базового ядра имеет множество дополнительных элементов. В процессоре есть сотни отдельных модулей, у каждого из которых есть специфическая функция, но мы рассмотрим только основы. Самыми важными и выгодными являются кэши и предсказатель переходов. Есть и другие дополнительные структуры, которые мы рассматривать не будем: буферы переупорядочивания, таблицы переименования регистров и станции резервирования.
Необходимость кэшей иногда может сбивать с толку, ведь они хранят данные, как и ОЗУ или SSD. Но кэши отличаются задержкой и скоростью доступа. Даже несмотря на то, что память ОЗУ чрезвычайно быстра, она на порядки величин медленнее, чем нужно для ЦП. Для ответа с передачей данных ОЗУ может потребоваться сотни циклов, и процессору в это время будет нечем заняться. А если данных нет в ОЗУ, то могут потребоваться десятки тысяч циклов для получения доступа к ним с SSD. Без кэшей процессоры бы постоянно стопорились.
Обычно процессоры имеют три уровня кэша, образующих так называемую иерархию памяти. Кэш L1 — самый маленький и быстрый, L2 находится посередине, а L3 — самый крупный и медленный из всех кэшей. Выше кэшей в иерархии находятся мелкие регистры, хранящие во время вычислений единственное значение данных. По порядку величин эти регистры являются самыми быстрыми устройствами хранения в системе. Когда компилятор преобразует высокоуровневую программу в язык ассемблера, он определяет наилучший способ использования этих регистров.
Когда ЦП запрашивает данные из памяти, то сначала проверяет, хранятся ли эти данные уже в кэше L1. Если да, то можно всего за пару циклов получить к ним доступ. Если их там нет, то процессор проверяет L2, а затем и кэш L3. Кэши реализованы таким образом, что в общем случае они прозрачны для ядра. Ядро просто запрашивает данные по указанному адресу памяти, и тот уровень в иерархии, на котором они есть, отвечает ему. При переходе к последующим уровням в иерархии памяти размер и задержки обычно растут на порядки величин. В конце концов, если ЦП не находит данные ни в одном из кэшей, то обращается в основную память (ОЗУ).
В обычном процессоре каждое ядро имеет два кэша L1: один для данных и другой для инструкций. Кэши L1 обычно имеют в целом объём порядка 100 килобайт и размер очень варьируется в зависимости от чипа и поколения процессора. Кроме того, обычно для каждого ядра есть свой кэш L2, хотя в некоторых архитектурах он может быть общим для двух ядер. Кэши L2 обычно имеют размер несколько сотен килобайт. Наконец, есть единственный кэш L3, общий для всех ядер, имеющий размер порядка десятков мегабайт.
Когда процессор выполняет код, самые часто используемые инструкции и значения данных кэшируются. Это значительно ускоряет выполнение, потому что процессору не нужно постоянно обращаться за нужными данными в основную память. Во второй и третьей частях серии мы подробнее поговорим о том, как реализованы эти системы памяти.
Кроме кэшей одним из самых важных строительных блоков современного процессора является точный предсказатель переходов. Инструкции переходов (ветвлений) схожи с конструкциями «if» для процессора. Один набор инструкций выполняется, если условие истинно, а другой — если оно ложно. Например, нам нужно сравнить два числа, и если они равны, выполнить одну функцию, а если не равны, то выполнить другую. Эти инструкции ветвления применяются чрезвычайно часто и могут составлять примерно 20% всех инструкций в программе.
На первый взгляд кажется, что эти инструкции ветвления не должны вызывать проблем, но их правильное выполнение может оказаться очень сложным для процессора. В любой момент времени процессор может находиться в процессе одновременного выполнения десяти или двадцати инструкций, поэтому очень важно знать, какие инструкции выполнять. Может потребоваться 5 циклов, чтобы определить, что текущая инструкция — это переход и ещё 10 циклов, чтобы определить истинность условия. В это время процессор уже может начать выполнение десятков дополнительных инструкций, даже не зная, действительно ли это подходящие для выполнения инструкции.
Чтобы обойти эту проблему, все современные высокопроизводительные процессоры используют методику под названием «упреждение» (speculation). Это означает, что процессор отслеживает инструкции ветвления и гадает, будет ли выполнен условный переход, или нет. Если предсказание верно, то процессор уже начал выполнять последующие инструкции, и это обеспечивает рост производительности. Если предсказание неверно, то процессор останавливает выполнение, удаляет все неверные инструкции, которые он начал выполнять, и начинает заново с правильной точки.
Такие предсказатели перехода — одни из самых простейших разновидностей машинного обучения, потому что предсказатель изучает поведение ветвей в процессе выполнения. Если он предсказывает неверно слишком часто, то начинает обучаться правильному поведению. Десятилетия исследований методик предсказания переходов привели к тому, что в современных процессорах точность предсказаний превышает 90%.
Хотя упреждение обеспечивает огромный рост производительности, потому что процессор может выполнять инструкции, которые уже готовы, вместо того, чтобы ожидать в очереди завершения выполняемых, оно в то же время создаёт уязвимости в защите. Знаменитая атака Spectre эксплуатирует баги в предсказании и упреждении переходов. Атакующий использует специально подобранный код, чтобы заставить процессор упреждающе выполнить код, благодаря чему происходит утечка значений из памяти. Для предотвращения утечки данных необходимо было переделать конструкцию отдельных аспектов упреждения, что привело к небольшому падению производительности.
За последние десятилетия используемая в современных процессорах архитектура прошла долгий путь. Инновации и разработка продуманной структуры привели к повышению производительности и более оптимальному использованию аппаратных средств. Однако разработчики центральных процессоров тщательно хранят секреты их технологий, поэтому мы не можем точно узнать, что происходит у них внутри. Тем не менее, фундаментальные принципы работы процессоров стандартированы для всех архитектур и моделей. Intel может добавлять свои секретные ингредиенты, чтобы повысить долю попаданий кэша, а AMD может добавить улучшенный предсказатель переходов, но процессоры обеих компаний выполняют одинаковую задачу.
В этом первом взгляде и обзоре мы рассмотрели основы работы процессоров. В следующей части мы расскажем, как разрабатываются компоненты, входящие в состав процессоров, поговорим о логических элементах, тактовых частотах, управлении питанием, принципиальных электросхемах и другом.
Рекомендуемое чтение
habr.com
Так-Так-Так и никакого Тика. Чем отличаются процессоры Intel Core разных поколений на основе одной архитектуры
С появлением процессоров Intel Core седьмого поколения многим стало понятно, что стратегия «Тик-так», которой Интел следовал всё это время, дала сбой. Обещание уменьшить технологический процесс с 14 до 10 нм так и осталось обещанием, началась долгая эпоха «Така» Skylake, во время которой случился Kaby Lake (седьмое поколение), внезапный Coffee Lake (восьмое) с незначительным изменением техпроцесса с 14 нм до 14 нм+ и даже Coffee Lake Refresh (девятое). Кажется, Интелу и правда нужен был небольшой перерыв на кофе. В итоге мы имеем несколько процессоров разных поколений, которые созданы на основе одной микроархитектуры Skylake, с одной стороны. И уверения Интела о том, что каждый новый процессор — лучше прежнего, с другой. Правда, не очень понятно, чем именно…
Поэтому вернёмся к нашим поколениям. И посмотрим, чем же они отличаются.
Kaby Lake
Появление процессоров в рознице состоялось в начале 2017 года. Что же нового у этого семейства относительно его предшественника? Прежде всего, это новое графическое ядро — Intel UHD 630. Плюс поддержка технологии памяти Intel Optane (3D Xpoint), а также новый чипсет 200-ой серии (6-ое поколение работало с 100-ой серией). И на этом из действительно интересных новшеств всё.
Coffee Lake
8-ое поколение с кодовым названием Coffee Lake было выпущено в конце 2017 года. В процессорах этого поколения добавили ядер и пропорционально кэша третьего уровня, подняли Turbo Boost на 200 мегагерц, добавили поддержку DDR4-2666 (до этого было DDR4-2400), но отрезали поддержку DDR3. Графическое ядро осталось прежним, но ему накинули 50 MHz. За все повышения частот пришлось расплатиться увеличением теплопакета до 95 ватт. Ну и, конечно, новый чипсет 300-ой серии. Последнее было совсем не обязательно, так как достаточно скоро специалисты смогли запустить это семейство на чипсетах 100-ой серии, хотя представители Интел заявляли, что это невозможно из-за особенностей построения цепей питания. Позднее, правда, Интел официально признал, что был не прав. Так что же нового в 8-ом семействе? По факту больше похоже на обычный рефреш с добавлением ядер и частот.
Coffee Lake Refresh
Ха! А вот нам и рефреш! В четвёртом квартале 2018 года были выпущены процессоры Coffee Lake 9-го поколения, оснащённые аппаратными средствами защиты от некоторых уязвимостей Meltdown/Spectre. Аппаратные изменения, внесённые в новые чипы, защищают от Meltdown V3 и L1 Terminal Fault (L1TF Foreshadow). Изменения в программном обеспечении и микрокоде защищают от атак Spectre V2, Meltdown V3a и V4. Защита от Spectre V1 по-прежнему будет осуществляться исправлениями на уровне операционной системы. Появление исправлений на уровне кристалла должно уменьшить влияние программных патчей на производительность процессоров. Но всю эту радость с защитами Интел реализовала только в процессорах для массового сегмента рынка: i5-9600k, i7-9700k, i9-9900k. Всем остальным, включая серверные решения, аппаратных защит не отсыпали. Впервые в истории потребительских процессоров Intel процессоры Coffee Lake Refresh поддерживают до 128 ГБ оперативной памяти. И всё, больше никаких изменений.
Что мы имеем в сухом остатке? Два года рефрешей, игры с ядрами и частотами, плюс набор мелких улучшений. Очень хотелось объективно оценить и сравнить производительность основных представителей этих семейств. Поэтому, когда у меня под рукой оказался комплект от седьмого до девятого поколения — к нашим i7-7700 и i7-7700k недавно добавились свежие i7-8700, i7-9700k и i9-9900k, я воспользовался ситуацией и заставил пять разных процессоров Intel Core показать, на что они способны.
Тестирование
В тестировании участвуют пять процессоров Intel: i7-7700, i7-7700k, i7-8700, i7-9700k, i9-9900k.
Тактико-технические характеристики платформ
Процессоры Intel i7-8700, i7-9700k и i9-9900k имеют одинаковую базовую конфигурацию:
- Материнская плата: Asus PRIME h410T (BIOS 1405),
- Оперативная память: 16 Гб DDR4-2400 MT/s Kingston 2 штуки, итого 32 Гб.
- SSD-накопитель: 240 Гб Patriot Burst 2 штуки в RAID 1 (привычка, выработанная годами).
Процессоры Intel i7-7700 и i7-7700k также работают на одинаковой платформе:
- Материнская плата: Asus h210T (BIOS 3805),
- Оперативная память: 8 Гб DDR4-2400MT/s Kingston 2 штуки, итого 16 Гб.
- SSD-накопитель: 240 Гб Patriot Burst 2 штуки в RAID 1.
Мы используем сделанные на заказ шасси высотой в 1,5 юнита. В них размещаются четыре платформы.
Программная часть: ОС CentOS Linux 7 x86_64 (7.6.1810).
Ядро: 3.10.0-957.1.3.el7.x86_64
Внесённые оптимизации относительно штатной установки: добавлены опции запуска ядра elevator=noop selinux=0.
Тестирование производится со всеми патчами от атак Spectre, Meltdown и Foreshadow, бэкпортированными в данное ядро. Не исключено, что результаты тестирования на более новых и актуальных ядрах Linux могут отличаться от полученных, а показатели будут лучше. Но, во-первых, лично мне CentOS 7 милее, а, во-вторых, RedHat активно занимается бэкпортированием новшеств, связанных с поддержкой оборудования, из новых ядер в своё, LTS. На то и надеюсь 🙂
Тесты, которые использовал для исследования
- Sysbench
- Geekbench
- Phoronix Test Suite
Тест Sysbench
Sysbench — пакет тестов (или бенчмарков) для оценки производительности разных подсистем компьютера: процессор, оперативная память, накопители данных. Тест многопоточный, на все ядра. В этом тесте я замерял два показателя:
- CPU speed events per second — количество выполненных процессором операций за секунду: чем выше значение, тем производительнее система.
- General statistics total number of events — общее количество выполненных событий. Чем показатель выше, тем лучше.
Тест Geekbench
Пакет тестов, проводимых в однопоточном и многопоточном режиме. В результате выдаётся некий индекс производительности для обоих режимов. Ниже есть ссылки на результаты тестов. В этом тесте мы рассмотрим два основных показателя:
— Single-Core Score — однопоточные тесты.
— Multi-Core Score — многопоточные тесты.
Единицы измерения: абстрактные «попугаи». Чем больше «попугаев», тем лучше.
Тест Phoronix Test Suite
Phoronix Test Suite — очень богатый набор тестов. Несмотря на то, что были проведены все тесты из пакета pts/cpu, приведу результаты только тех из них, которые лично мне показались особенно интересными, тем более, что результаты упущенных тестов только подкрепляют общую тенденцию.
Почти все представленные тут тесты — многопоточные. Исключение составляют лишь два из них: однопоточные тесты Himeno и LAME MP3 Encoding.
В этих тестах чем показатель больше, тем лучше
- Многопоточный тест John the Ripper для подбора паролей. Возьмём криптоалгоритм Blowfish. Измеряет количество операций в секунду.
- Тест Himeno — линейный решатель давления Пуассона, использующий точечный метод Якоби.
- 7-Zip Compression — тест 7-Zip с использованием p7zip с интегрированной функцией тестирования производительности.
- OpenSSL — это набор инструментов, реализующих протоколы SSL (Secure Sockets Layer) и TLS (Transport Layer Security). Измеряет производительность RSA 4096-бит OpenSSL.
- Apache Benchmark — тест измеряет, сколько запросов в секунду может выдержать данная система при выполнении 1 000 000 запросов, при этом 100 запросов выполняются одновременно.
А в этих если меньше, то лучше
- C-Ray тестирует производительность CPU на вычислениях с числами с плавающей запятой. Этот тест является многопоточным (16 потоков на ядро), будет стрелять 8 лучами из каждого пикселя для сглаживания и генерировать изображение 1600×1200. Измеряется время выполнения теста.
- Parallel BZIP2 Compression — тест измеряет время, необходимое для сжатия файла (пакет .tar исходного кода ядра Linux) с использованием сжатия BZIP2.
- Кодирование аудио- и видеоданных. Тест LAME MP3 Encoding выполняется в один поток, а тест ffmpeg x264 — многопоточный. Измеряется время прохождения теста.
Как видите, набор для тестирования состоит сугубо из синтетических тестов, позволяющих показать разницу между процессорами при выполнении определённых задач, например, щёлканье паролей, кодирование медиаконтента, криптография.
Синтетический тест, в отличие от теста, который проводится в условиях, приближенных к реальности, способен обеспечить определённую чистоту эксперимента. Собственно, поэтому выбор и пал на синтетику.
Не исключено, что при решении частных задач в боевых условиях вы сможете получить крайне интересные и неожиданные результаты, но всё же «общая температура по больнице» будет максимально приближена к тому, что получилось у меня по результатам тестов. Так же не исключено, что при отключении защиты от Spectre/Meltdown при тестировании процессоров 9-ого поколения, я мог бы получить более высокие результаты. Но, забегая вперед, скажу — они и так отлично себя показали.
Спойлер: балом будут править ядра, потоки и частоты.
Ещё до тестирования я внимательно изучил архитектуру семейств этих процессоров, поэтому ожидал, что существенных отличий между подопытными не обнаружится. Причём, не столько существенных, сколько экстраординарных: зачем ждать интересных показателей в тестах, если проводишь измерения на процессорах, построенных, в сущности, на одном ядре. Мои ожидания оправдались, но кое-что всё же оказалось не совсем так, как я думал…
А теперь, собственно, результаты тестов.
Результат вполне закономерный: у кого больше потоков и выше частота, того и баллы. Соответственно, i7-8700 и i9-9900k впереди. Разрыв между i7-7700 и i7-7700k 10% в однопоточном и многопоточном тесте. Отставание i7-7700 от i7-8700 на 38% и от i9-9900k на 49%, то есть почти в 2 раза, но при этом отставание от i7-9700k всего 15%.
Ссылки на результаты тестов:
Intel i7-7700
Intel i7-7700k
Intel i7-8700
Intel i7-9700k
Intel i9-9900k
Результаты тестов из пакета Тhe Phoronix Test Suite
В тесте John The Ripper разница между братьями-двойняшками i7-7700 и i7-7700k в 10% в пользу «k», за счёт разницы в Турбобусте. У процессоров i7-8700 и i7-9700k разница весьма незначительная. i9-9900k обгоняет всех за счёт большего числа потоков и большей тактовой частоты. Двойняшек почти в 2 раза.
Результат теста C-Ray мне кажется самым интересным. Наличие технологии Hyper-Treading у i9-9900k в этом многопоточном тесте даёт лишь незначительный прирост относительно i7-9700k. А вот двойняшки отстали от лидера почти в 2 раза.
В однопоточном тесте Himeno разница не настолько велика. Ощутимый отрыв 8-ого и 9-ого поколения от двойняшек: i9-9900k обгоняет их на 18% и 15% соответственно. Разница же между i7-8700 и i7-9700k на уровне погрешности.
Тест на компрессию 7zip двойняшки проходят на 44-48% хуже, чем лидер i9-9900k. За счёт большего количества потоков i7-8700 обгоняет i7-9700k на 9%. Но этого не хватает, чтобы обогнать i9-9900k, поэтому наблюдаем отставание почти на 18%.
Тест на время сжатия алгоритмом BZIP2 показывает аналогичные результаты: выигрывают потоки.
Кодирование mp3 — «лестница» с максимальным отрывом в 19,5%. А вот в тесте ffmpeg i9-9900k проигрывает i7-8700 и i7-9700k, но обходит двойняшек. Несколько раз переделал этот тест для i9-9900k, но результат всегда одинаковый. Вот это уже неожиданно 🙂 В многопоточном тесте самый многопоточный из тестируемых процессоров показал такой невысокий результат, ниже чем у 9700k и 8700. Чётких объяснений сему явлению нет, а предположений делать не хочется.
Тест openssl показывает «лестницу» с разрывом между второй и третьей ступенью. Разница между двойняшками и лидером i9-9900k от 42% до 47%. Разрыв же между i7-8700 и i9-9900k 14%. Главное, потоки и частоты.
В тесте Apache i7-9700k обошёл всех, включая i9-9900k (6%). Но в общих чертах разница не существенная, хотя между худшим результатом i7-7700 и лучшим у i7-9700k отрыв в 24%.
В целом, в большинстве тестов лидирует i9-9900k, провал только на ffmpeg. Соберетесь работать с видео, возьмите лучше i7-9700k или i7-8700. На втором месте в общем зачёте i7-9700k, он незначительно отстаёт от лидера, а в тестах ffmpeg и apache даже опережает. Так что его и i9-9900k смело советую тем, у кого регулярно случаются большие наплывы пользователей на сайт. Процессоры подвести не должны. Про видео я уже сказал.
У i7-8700 хорошие показатели по тестам Sysbench, 7zip и ffmpeg.
Во всех тестах i7-7700k лучше i7-7700 от 2% до 14%, в тесте ffmpeg 16%.
Напомню, что никаких оптимизации, кроме указанных в начале, я не делал, а это значит, что при установке чистой системы на свежекупленном у нас дедике, вы получите точно такие же результаты.
Ядра, потоки, частоты — наше всё
В целом, результаты были предсказуемы и ожидаемы. Практически во всех тестах появляется «лестница в небо», демонстрирующая зависимость производительности от количества ядер, потоков и частот: больше вот этого всего — лучше результаты.
Поскольку все испытуемые фактически являются рефрешами одного и того же ядра на одном техпроцессе и не имеют каких-либо фундаментальных архитектурных различий, мы не смогли получить «ошеломляющих» доказательств того, что процессоры качественно отличаются друг от друга.
Разница между процессорами i7-9700k и i9-9900k во всех тестах, кроме Sysbench, стремится к нулю, так как по сути отличаются они лишь наличием технологии Hyper-Threading и сотней дополнительных мегагерц в режиме Turbo Boost у i9-9900k. В тесте же Sysbench как раз наоборот: решает не количество ядер, а количество потоков.
Очень большой разрыв в многопоточных тестах между i7-7700(k) и i9-9900k, местами аж в два раза. Также есть разница между i7-7700 и i7-7700k — лишние 300 MHz добавляют прыткости последнему.
Также не могу говорить о качественном влиянии объёма кэш-памяти на результаты тестов — имеем, что имеем. Тем более, включённая защита семейства Spectre/Meltdown должна изрядно уменьшать влияние его объёма на результаты теста, но это не точно. Если уважаемый читатель потребует «хлеба и зрелищ» от нашего отдела маркетинга, я с удовольствием выкачу вам тестирование с отключенной защитой.
Собственно, если бы меня спросили: а какой процессор ты сам выберешь? — я бы для начала посчитал деньги в кармане, и выбрал тот, на который хватает. Если коротко, то из точки в А в точку Б можно доехать и на «Жигулях», но на «Мерседесе» всё же быстрее и приятней. Процессоры, в основе которых лежит одна архитектура, так или иначе будут справляться с одинаковым спектром задач — кто-то просто хорошо, а кто-то отлично. Да, как показало тестирование, глобальных отличий между ними нет. Но разрыв между i7 и i9 от этого никуда не делся.
При выборе процессора для некоторых частных узкоспециализированных задач, как работа с mp3, компиляция из исходников или рендеринг трёхмерных сцен с обработкой света, имеет смысл ориентироваться на показатели соответствующих тестов. Например, дизайнерам можно сразу смотреть на i7-9700k и i9-9900k, а под сложные вычисления брать процессор с технологией Hyper-Threading, то есть любой, кроме i7-9700k. Тут рулят потоки.
Так что советую выбирать то, что можете себе позволить с учётом спецификации, и будет вам счастье.
В тестировании использовались серверы на базе процессоров i7-7700, i7-7700k, i7-8700k, i7-9700k и i9-9900k с 1dedic.ru. Любой из них можно заказать со скидкой 5% на 3 месяца — обратитесь в отдел продаж с кодовой фразой «Я с Хабра». При оплате за год минус ещё 10%.
Весь вечер на арене Trashwind, системный администратор FirstDEDIC
habr.com
Архитектуры процессора intel за все время
Компания Intel прошла очень длинный путь развития, от небольшого производителя микросхем до мирового лидера по производству процессоров. За это время было разработано множество технологий производства процессоров, очень сильно оптимизирован технологический процесс и характеристики устройств.
Множество показателей работы процессоров зависит от расположения транзисторов на кристалле кремния. Технологию расположения транзисторов называют микроархитектурой или просто архитектурой. В этой статье мы рассмотрим какие архитектуры процессора Intel использовались на протяжении развития компании и чем они отличаются друг от друга. Начнем с самых древних микроархитектур и рассмотрим весь путь до новых процессоров и планов на будущее.
Архитектура процессора и поколения
Как я уже сказал, в этой статье мы не будем рассматривать разрядность процессоров. Под словом архитектура мы будем понимать микроархитектуру микросхемы, расположение транзисторов на печатной плате, их размер, расстояние, технологический процесс, все это охватывается этим понятием. Наборы инструкций RISC и CISC тоже трогать не будем.
Второе, на что нужно обратить внимание, это поколения процессора Intel. Наверное, вы уже много раз слышали — этот процессор пятого поколения, тот четвертого, а это седьмого. Многие думают что это обозначается i3, i5, i7. Но на самом деле нет i3, и так далее — это марки процессора. А поколение зависит от используемой архитектуры.
С каждым новым поколением улучшалась архитектура, процессоры становились быстрее, экономнее и меньше, они выделяли меньше тепла, но вместе с тем стоили дороже. В интернете мало статей, которые бы описывали все это полностью. А теперь рассмотрим с чего все начиналось.
Архитектуры процессора Intel
Сразу говорю, что вам не стоит ждать от статьи технических подробностей, мы рассмотрим только базовые отличия, которые будут интересны обычным пользователям.
Первые процессоры
Сначала кратко окунемся в историю чтобы понять с чего все началось. Не будем углубятся далеко и начнем с 32-битных процессоров. Первым был Intel 80386, он появился в 1986 году и мог работать на частоте до 40 МГц. Старые процессоры имели тоже отсчет поколений. Этот процессор относиться к третьему поколению, и тут использовался техпроцесс 1500 нм.
Следующим, четвертым поколением был 80486. Используемая в нем архитектура так и называлась 486. Процессор работал на частоте 50 МГц и мог выполнять 40 миллионов команд в секунду. Процессор имел 8 кб кэша первого уровня, а для изготовления использовался техпроцесс 1000 нм.
Следующей архитектурой была P5 или Pentium. Эти процессоры появились в 1993 году, здесь был увеличен кэш до 32 кб, частота до 60 МГц, а техпроцесс уменьшен до 800 нм. В шестом поколении P6 размер кэша составлял 32 кб, а частота достигла 450 МГц. Тех процесс был уменьшен до 180 нм.
Дальше компания начала выпускать процессоры на архитектуре NetBurst. Здесь использовалось 16 кб кэша первого уровня на каждое ядро, и до 2 Мб кэша второго уровня. Частота выросла до 3 ГГц, а техпроцесс остался на том же уровне — 180 нм. Уже здесь появились 64 битные процессоры, которые поддерживали адресацию большего количества памяти. Также было внесено множество расширений команд, а также добавлена технология Hyper-Threading, которая позволяла создавать два потока из одного ядра, что повышало производительность.
Естественно, каждая архитектура улучшалась со временем, увеличивалась частота и уменьшался техпроцесс. Также существовали и промежуточные архитектуры, но здесь все было немного упрощено, поскольку это не является нашей основной темой.
Intel Core
На смену NetBurst в 2006 году пришла архитектура Intel Core. Одной из причин разработки этой архитектуры была невозможность увеличения частоты в NetBrust, а также ее очень большое тепловыделение. Эта архитектура была рассчитана на разработку многоядерных процессоров, размер кэша первого уровня был увеличен до 64 Кб. Частота осталась на уровне 3 ГГц, но зато была сильно снижена потребляемая мощность, а также техпроцесс, до 60 нм.
Процессоры на архитектуре Core поддерживали аппаратную виртуализацию Intel-VT, а также некоторые расширения команд, но не поддерживали Hyper-Threading, поскольку были разработаны на основе архитектуры P6, где такой возможности еще не было.
Первое поколение — Nehalem
Дальше нумерация поколений была начата сначала, потому что все следующие архитектуры — это улучшенные версии Intel Core. Архитектура Nehalem пришла на смену Core, у которой были некоторые ограничения, такие как невозможность увеличить тактовую частоту. Она появилась в 2007 году. Здесь используется 45 нм тех процесс и была добавлена поддержка технологии Hyper-Therading.
Процессоры Nehalem имеют размер L1 кэша 64 Кб, 4 Мб L2 кэша и 12 Мб кєша L3. Кэш доступен для всех ядер процессора. Также появилась возможность встраивать графический ускоритель в процессор. Частота не изменилась, зато выросла производительность и размер печатной платы.
Второе поколение — Sandy Bridge
Sandy Bridge появилась в 2011 году для замены Nehalem. Здесь уже используется техпроцесс 32 нм, здесь используется столько же кэша первого уровня, 256 Мб кэша второго уровня и 8 Мб кэша третьего уровня. В экспериментальных моделях использовалось до 15 Мб общего кэша.
Также теперь все устройства выпускаются со встроенным графическим ускорителем. Была увеличена максимальная частота, а также общая производительность.
Третье поколение — Ivy Bridge
Процессоры Ivy Bridge работают быстрее чем Sandy Bridge, а для их изготовления используется техпроцесс 22 нм. Они потребляют на 50% меньше энергии чем предыдущие модели, а также дают на 25-60% высшую производительность. Также процессоры поддерживают технологию Intel Quick Sync, которая позволяет кодировать видео в несколько раз быстрее.
Четвертое поколение — Haswell
Поколение процессора Intel Haswell было разработано в 2012 году. Здесь использовался тот же техпроцесс — 22 нм, изменен дизайн кэша, улучшены механизмы энергопотребления и немного производительность. Но зато процессор поддерживает множество новых разъемов: LGA 1150, BGA 1364, LGA 2011-3, технологии DDR4 и так далее. Основное преимущество Haswell в том, что она может использоваться в портативных устройствах из-за очень низкого энергопотребления.
Пятое поколение — Broadwell
Это улучшенная версия архитектуры Haswell, которая использует техпроцесс 14 нм. Кроме того, в архитектуру было внесено несколько улучшений, которые позволили повысить производительность в среднем на 5%.
Шестое поколение — Skylake
Следующая архитектура процессоров intel core — шестое поколение Skylake вышла в 2015 году. Это одно из самых значительных обновлений архитектуры Core. Для установки процессора на материнскую плату используется сокет LGA 1151, теперь поддерживается память DDR4, но сохранилась поддержка DDR3. Поддерживается Thunderbolt 3.0, а также шина DMI 3.0, которая дает в два раза большую скорость. И уже по традиции была увеличенная производительность, а также снижено энергопотребление.
Седьмое поколение — Kaby Lake
Новое, седьмое поколение Core — Kaby Lake вышло в этом году, первые процессоры появились в середине января. Здесь было не так много изменений. Сохранен техпроцесс 14 нм, а также тот же сокет LGA 1151. Поддерживаются планки памяти DDR3L SDRAM и DDR4 SDRAM, шины PCI Express 3.0, USB 3.1. Кроме того, была немного увеличена частота, а также уменьшена плотность расположения транзисторов. Максимальная частота 4,2 ГГц.
Дальше компания планирует переход на техпроцесс 10 нм и это поколение процессоров intel будет называться CanonLake. Но пока что Intel к этому не готова.
Поэтому в 2017 планируется еще выпустить улучшенную версию SkyLake под кодовым именем Coffe Lake. Также, возможно, будут и другие микроархитектуры процессора Intel пока компания полностью освоит новый техпроцесс. Но обо всем этом мы узнаем со временем.
losst.ru
ualinux.com