Расщепляем quark. микроархитектура нового процессора intel

Расщепляем quark. микроархитектура нового процессора intel

Кварк — это фундаментальная, другими словами бесструктурная элементарная частица, введенная в теорию в первой половине 60-ых годов двадцатого века, которую сейчас не удалось обрисовать как составную. Intel Quark — это процессор для Интернета Вещей, производимый Intel с осени 2013, но до сих пор не имеющий публичного описания собственной внутренней структуры и воспринимающийся вне Intel как «тёмный ящик». — Как вы яхту назовете, так она и поплывет? Но я в это не верю.

Скорее уж, как вы яхту назовете, так она вас назовет (в случае если в ней стоит бортовой компьютер). В общем, в этом посте я исправлю обстановку и поведаю, как устроен Quark.
Смотрите кроме этого: Intel объявила Quark, процессор для «Интернета вещей»

Да, корпорация Intel также не следует на месте. Управление компании объявило процессор Quark, что, наподобие как, есть одним из самых мелких процессоров. Его размер — всего 1/5 от размера Atom. Quark, при других равных условиях, потребляет на порядок меньше энергии, чем Atom. На Intel Developer Forum СЕО компании Брайан Кржанич представил чип Quark X1000.

В ходе презентации Кржанич растолковал, что данный процессор будет употребляться для «Интернета вещей», компания будет поставлять платы и такие процессоры на его базе производителям бытовой электроники и техники.

История современная — Quark.Итак, в сентябре 2013 Intel анонсирует новый процессор Intel Quark, предназначенный для Интернета Вещей, и для разнообразной носимой техники и бытовых устройств. Quark — это вправду процессор (от греческого «микро» = мелкий), с размером приблизительно в 1/5 часть Атома (другими словами, Intel Atom, само собой разумеется), и на порядок меньшим энергопотреблением.

В то время это — единственные узнаваемые технические подробности про Quark — их мало, как это в большинстве случаев и не редкость при анонсах для того чтобы уровня. А вот интерес к этому процессору совсем немаленький. Вот, например, свободный пост с анонсоми соответствующей реакцией читателей на habrahabr.ru.

Через месяц по окончании объявления в продаже появляется первый представитель семейства Quark — Quark SoC X1000, являющийся базой первого Arduino-совместимого микрокомпьютера на платформе Intel — Galileo. Тогда же информации про Quark делается больше. Quark X1000 SoC — это одноядерный 32 битный процессор с частотой до 400 MHz, выполненный по 32 нм технологии и имеющий архитектуру, совместимую с комплектом руководств Pentium (Pentium Instruction Set Architecture).

Полные характеристикиQuark X1000 SoC на Intel ARK додают к этому описанию пара технических подробностей: 16 Kb кэш, отсутствие Hyperthreading, большая скорость обмена данными с памятью 1.6 GB/s, …., но основной вопрос внутреннего устройства Quark CPU остается открытым.И, наконец, в январе 2014 Intel воображает компьютер под кодовым заглавием Edison — устройство размером с SD-карту, трудящееся под управлением Linux OS, со встроенным WiFi и Bluetooth. Нетрудно додуматься, что Edison кроме этого базируется на процессоре семейства Quark, но НЕ на Quark SoC X1000, а на втором, двухядерном, выпуск которого по разработке 22 нм начнется летом 2014. Журналисты, побывавшие на презентации Edison, упоминают раздавшиеся в том месте слова «компьютер класса Pentium», но что же как раз имеется в виду? — классы, сами осознаёте, бывают разнообразные.

История древних времен — PentiumPentium показался в первой половине 90-ых годов двадцатого века и был назван так вследствие того что воображал собой пятое поколение IA32. Это первенствовала суперскалярная, другими словами, реализующая внутренний параллелизм на уровне руководств, микроархитектура.

Как видно на схеме ниже, Pentium включает 2 конвейера (Pipeline) для обработки целочисленных данных — «U» и «V» и два ALU (арифметико-логическое аккуратное устройство для целых чисел), отдельные кэши для данных (Data Cache) и руководств (Code Cache) и блок предсказания ветвлений (Branch Target Buffer):Векторных руководств в данной версии еще нет, они покажутся позднее, в Pentim MMX.Но, если сравнивать с 486, в Pentium было добавлено пара новых руководств, самые узнаваемые из которых — CPUID (CPU IDentification), разрешающая получить данные о фичах данного CPU, и RDTSC (ReaD Time Stamp Counter), возвращающая количество тиков с момента включения процессора и употребляющаяся для измерения производительности. Согласитесь, что инструкции такие полезные, что думается, что они существовали неизменно.

Кстати, CPUID по окончании дебюта в Pentium была добавлена в особую модель i486 (SL-Enhanced 486), вышедшую сразу после Pentium. Действительно, увлекательный поворот?Quark. Что в?Сейчас возвратимся в настоящее — к Intel Quark.

Его сообщение с Pentium подчеркивает входящий в набор поставки Galileo (быть может, не во всех магазинах) интеловский космонавт, похожий на собственного сотрудника, трудившегося в рекламе Pentium в конце прошлого века. Причем, как раз сотрудника — это очевидно не тот же персонаж, отличия видны не только в современном логотипе Intel на его скафандре, но и во всей фигуре.Кроме этого и Quark. Это — ни за что не разогнанный и уменьшенный Pentium, произведенный по новейшей разработке.А что же это?

Для полного ответа на данный вопрос нужно изучить два публично дешёвых документа, каковые находятся несложным поиском по главным словам intel quark reference manual:Intel® Quark SoC X1000 Core Developer’s Manual, 311 страниц сведений по темеIntel® Quark SoC X1000 Core Hardware Reference Manual, 143 страницы нужной информации.Но нас из всего этого богатства интересует основное — устройство ядра Quark. Вот оно, на схеме из второго мануала: Как видите, это заметно отличается от приведенной выше диаграммы устройства Pentium, и не только вследствие того что рисунок не цветной. Главные отличия:

  • единственное ALU, соответственно, отсутствие двух конвейеров «U» и «V», другими словами НЕ суперскалярность Quark.
  • полное отсутствие механизма предсказания ветвлений
  • неспециализированный кэш первого уровня для данных и кода.

В помощь кэшу блок интерфейса шины (светло синий interface unit) имеет временный буфер, талантливый хранить до 4 32-битных записей, разрешая многим внутренним операциям длиться, не ждя окончания записи на процессорной шине…Наряду с этим, увидим, что конвеерная обработка данных в Quark присутствует. Pipeline складывается из пяти стадий — выборка, две стадии декодирования, запись и исполнение данных в регистры. Любая стадия занимает один цикл процессора.

Но еще раз повторю — это не суперскаляр, не смотря на то, что в комментариях к хорошему посту про Quark моего коллеги vtsymbal возможно отыскать жаркий спор на эту тему.А сейчас давайте посмотрим еще на одну ветхую схему — устройство процессора Intel 80486:Действительно, похоже на Quark? Как говорится, отыщите 10 отличий. Либо, хотя бы, два. Не смотря на то, что, в действительности, их минимум, в десять раз больше, и искать их нужно не на данной схеме.

Quark — не i486! Как уже было сообщено выше, Quark совместим с Pentium ISA, другими словами, поддерживает все новые инструкции Pentium, и, более того, последовательность новых руководств, показавшихся в процессорах менее пяти лет назад и связанных с обеспечением безопасности совокупности — архиважной штуки в наше время и помощи современных ОС.

Это Supervisor Mode Execution Protection (SMEP), и PAE (Physical Address Extension), дающий 32 битным процессорам возможность применять более 4 GB физической памяти и являющийся условием работы NX (No-Execute) функциональности, кроме этого поддерживаемой Quark. Также, Quark поддерживает отладку JTAG и есть синтезируемым (synthesizable) CPU, другими словами, разрешает сторонним производителям додавать к ядру Quark собственные блоки. Так отчего же за базу Quark не забрана более сложная и продвинутая микроархитектура Pentium?

Самое разумное предположение — из-за уменьшения энергопотребления и достаточной для предполагаемых применений производительности архитектуры более несложного CPU. Но кроме того при достаточной теоретической скорости работы, как показывает практика, на практике часто требуется оптимизация. Кстати, она может потребоваться и лично вам — Intel планирует в скором будущем запустить конкурс разработчиков приложений под совокупности на базе Quark с призовым фондом свыше миллиона долларов!

И познание внутреннего устройства Quark может оказать помощь в увеличении производительности приложений — при компиляции под Quark стОит применять комплект опций наподобие для того чтобы -march=pentium -mtune=i486, другими словами, комплект руководств Pentium, а их исполнение — для i486. Воистину, новое — это прекрасно забытое старое. Либо, как в этом случае, кроме того не забытое, а просто хорошее старое.

Случайная статья:

Процессор AMD Ryzen 7 1800X с новой микроархитектурой Zen: долгожданный прорыв


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.