Архитектура
Intel Atom является CISC-процессором с архитектурой x86. Intel Atom может исполнять до двух инструкций за такт (за счет использования u- и v-конвейеров).
Поколения
- Intel Bonnell (45 нм; 2011-х-2013 гг.)
- Intel Saltwell (32 нм; 2012-2013 гг.)
- Intel Silvermont (22 нм; с 2013 гг.)
- Intel Cherry Trail (14 нм; с 2020 г.)
Производительность
Распространено мнение, что производительность одноядерного процессора Atom составляет примерно половину от эквивалентного Pentium M. Например, 1,6-ГГц Atom, применяемый во многих современных нетбуках (Asus Eee PC и др.), обеспечивает производительность 3300 MIPS и 2,1 GFLOPS в стандартных тестах[2] против 7400 MIPS и 3,9 GFLOPS у Pentium M 740 (1,73 ГГц)[3].
Опубликовано мнение, что система на двухъядерном Atom N330 и система на двухъядерном Core Duo 2300 (1,66 ГГц) схожи по производительности.[4] Хотя, например, результаты более авторитетного исследования говорят, что по скорости Atom 330 сопоставим лишь с Intel Celeron M 520.[5]
Тестовый стенд
Для проведения испытания была собрана следующая конфигурация:
- Материнская плата: Gigabyte MA10-ST0 с распаянным на нем процессором Intel Atom C3958.
- Память: 4x 16GB DDR4-2400 RDIMMs (Micron).
- SSD: Intel DC S3710 400GB.
- Загрузочное устройство: Intel DC S3700 200GB.
Немного подробнее про системную плату. Она весьма интересна для построения хранилищ данных. «На борту» у нее 4 слота для установки памяти, флеш-память eMMC объемом 32 ГБ производства Kingston, 2 10-гигабитных порта SFP и столько же гигабитных сетевых портов. При этом имеется разъем PCIe x8, а также 4 разъема SFF8087 для подключения 16 SATA накопителей.
Подробный обзор данной материнской платы скоро будет, но сейчас можно сказать, что максимальное потребление с двумя 10Gb SFP+ подключениями и двумя подключенными гигабитными интерфейсам составило 61 Вт.
Применение
Существует мнение, что имея два виртуальных ядра, CISC-архитектура меньше подходит для реализации процессоров мобильных устройств (где и находят основное применение данные процессоры), нежели RISC (например, процессоры ARM, основанные на архитектуре RISC, широко применяются в современных мобильных устройствах).[6]
В настоящее время платформа Atom имеет достаточно низкое энергопотребление для применения её в смартфонах и планшетах и даже более низкое в сравнении с аналогичными по производительности ARM процессорами, конкурирующими в этом сегменте мобильной электроники. А меньшая популярность SoC на платформе Atom продиктована не энергопотреблением и ценой, а малой адаптированностью софта к архитектуре x86.
Процессор Intel Atom: Всё, что вы хотели знать, но не могли найти
Часть 1: Предыстория, Теория, Ядро, Сила
До Атома
Компания Intel давно стала обращать пристальное внимание на мобильный потребительский сектор и выпускать ориентированные на него продукты. Поначалу это были процессоры, подобранные по малому энергопотреблению при прочих равных параметрах (разве что частоты пониже, да корпус поменьше). Затем стали выпускать ЦП, специально доработанные для подобных применений. Историю можно начать с чипа i80386SL, у которого впервые появился SMM (System Management Mode — режим управления системой), динамическое ядро было заменено на статическое (т. е. для сохранения энергии частота может падать до нуля), и добавлены контроллеры кэша, памяти и шин ISA и PI (Peripheral Interface). Все эти изменения увеличили число транзисторов аж втрое (с 275 000 у обычного 386SX/DX до 855 000), но инженеры посчитали, что такой бюджет оправдан. Помимо этого также были версии i386CX и i386EX без встроенной периферии с тремя режимами энергосбережения.
Много воды утекло, каждый следующий ЦП (кроме серверных) выпускался как в обычном, так и в мобильном (иногда ещё и во встроенном) варианте, но все манипуляции в основном заключались в добавлении к ядру энергосберегающих режимов и отборе чипов, способных работать на пониженном напряжении при пониженных частотах. Между тем, конкуренция со стороны архитектур, разработанных специально для мобильных устройств, усилилась: 1990-е принесли появление PDA (начиная с Apple Newton MessagePad), а 2000-е дали коммуникаторы, интернет-планшеты (полузабытая аббревиатура MID) и ультрамобильные ПК (UMPC). В довесок ко всему оказалось, что основные задачи для пользователя таких устройств имеют небольшие вычислительные потребности, так что почти любой ЦП, выпущенный после 2000 г., уже обладал нужной мощностью для мобильного применения, кроме, разве что, современных игр (для которых как раз тогда появились мобильные консоли с 3D-графикой).
Назрела необходимость сделать специальную архитектуру для компактного мобильного устройства, где главное — не скорость, а энергоэффективность. В Intel такую задачу взяло на себя израильское отделение компании, создавшее до этого весьма удачное семейство мобильных процессоров Pentium M (ядра Banias и Dothan). В этих ЦП энергосберегающие принципы были поставлены во главу угла с самого начала разработки, так что динамическое отключение блоков в зависимости от их загрузки и плавное изменение напряжения и частоты стало залогом экономности серии. Особенно ярко Pentium M смотрелись на фоне выпускаемых тогда же Pentium 4, которые в сравнении с ними казались раскалёнными сковородками. Причём, работая на одной частоте, Pentium M выигрывали у «четвёрок» по производительности, что вообще впервые случилось в практике процессоростроения — обычно мобильный компьютер расплачивается за свою компактность всеми остальными характеристиками. Впрочем, и сами-то Pentium 4 были, скажем так, не очень хороши в роли универсального ЦП…
Успех платформы показал, что такая высокая скорость нужна не всем, а вот сэкономить ещё энергии было бы неплохо. На тот момент (середина 2007 г.) Intel выпустила «папу» наших сегодняшних героев — процессоры A100 и A110 (ядро Stealey). Это 1-ядерные 90-нанометровые Pentium M с четвертью кэша L2 (всего 512 КБ), сильно заниженными частотами (600 и 800 МГц) и потреблением 0,4–3 Вт. Для сравнения — стандартные Dothan при частотах 1400–2266 МГц имеют энергорасход 7,5–21 Вт, низковольтные (подсерия LV) — 1400–1600 МГц и 7,5–10 Вт, а впервые введённые ультранизковольтные (ULV) — 1000–1300 МГц и 3–5 Вт. Резонно полагая, что современный компьютер большую часть времени проводит в ожидании очередного нажатия клавиши или сдвига мыши ещё на один пиксель, главным отличием A100/A110 от подсерии ULV Intel сделала умение очень глубоко засыпать, когда считать не надо совсем, благодаря чему потребление при простое падает на порядок. А сильно сокращённый кэш (большой L2 на таких частотах не очень-то и нужен) помог уменьшить размер кристалла, что сделало его дешевле. Размер корпуса процессора уменьшился впятеро, а суммарная площадь ЦП и чипсета — втрое. Как мы увидим далее, такие приёмы были использованы и в серии Atom.
Несмотря на в принципе верное целеполагание, A100/A110 остались мало востребованы рынком. То ли 600–800 МГц оказалось всё же маловато даже для простенького интернет-планшета, то ли всего два чипа (что даже модельным рядом назвать трудно) с самого начала были экспериментальным продуктом для обкатки технологии, то ли процессор просто не раскрутили маркетологи, зная, что ему на смену идёт кое-что куда более продвинутое… Менее чем через полгода после выпуска A100/A110 26 октября 2007 г. Intel объявила о близком выпуске новых мобильных ЦП с кодовыми именами Silverthorne и Diamondville и ядром Bonnell — будущих Атомов. Кстати, название Bonnell произошло от имени холмика высотой 240 м в окрестностях г. Остин (штат Техас), где в местном центре разработки Intel располагалась малочисленная группа разработчиков Атома. «Как вы яхту назовёте, так она и поплывёт.» ©Капитан Врунгель
В 2004 г. эта группа, после отмены ведомого ею проекта Tejas (наследника Pentium 4), получила прямо противоположное задание — проект Snocone по разработке крайне малопотребляющего x86-ядра, десятки которых объединит в себе суперпроизводительный чип с потреблением 100–150 Вт (будущий Larrabee, недавно переведённый в статус «демонстрационного прототипа»). В группе оказалось несколько микроэлектронных архитекторов из других AMD, а её глава Belli Kuttanna работал в Sun и Motorola. Инженеры быстро обнаружили, что различные варианты имеющихся архитектур не подходят их нуждам, а пока думали дальше, в конце года CEO Intel Пол Отеллини сообщил им, что этот же ЦП также будет и 1-2-ядерным для мобильных устройств. Тогда было тяжело предположить, как именно и с какими требованиями такой процессор будет применяться через отведённые на разработку 3 года — руководство с большой долей риска указало на наладонники и 0,5 Вт мощности. История показала, что почти всё было предсказано верно. Устройство CE4100
Интересно, что уже вслед за Атомом летом 2008 г. был выпущен EP80579 (Tolapai) для встраиваемых применений с ядром Pentium М, 256 КБ L2, 64-битным каналом памяти, полным набором контроллеров периферии, частотами 600–1200 МГц и потреблением 11–21 Вт. А почти сразу после него — модель Media Processor CE3100 (Canmore) для цифрового дома и развлечений: архитектура Pentium М, частота 800 МГц, 256 КБ L2, три 32-битных канала контроллера памяти, 250 МГц RISC-видеосопроцессор и два 340 МГц ядра DSP (цифровой сигнальный процессор) для аудио. Как покупались эти штуки — не ясно, т. к. после анонса о них не было слышно ничего в т. ч. и от Intel. Видимо, не очень… Уже после расцвета Атома, в сентябре 2009-го, Intel повторила попытку и выпустила CE4100, CE4130 и CE4150 (Sodaville) уже на «атомном» ядре частотой 1200 МГц, двумя 32-битными каналами DDR3, обновлённой периферией и технормой 45 нм. И вновь с тех пор об этих высокоинтегрированных системах-на-чипе (SOC) мало слышно. Может быть, рынок не готов встретить героя? Слева CE4100, справа — CE3100
Теория Атома
Для начала рассмотрим основные характеристики процессора с точки зрения потребителя. Их три: скорость, энергоэффективность, цена. (Правда, энергоэффективность — не очень-то «потребительская» характеристика, но, тем не менее, именно по ней проще всего судить о некоторых важных параметрах конечного устройства.) Далее вспомним, что у идеальной КМОП-микросхемы (по этой технологии изготавливаются все современные цифровые чипы) потребление энергии пропорционально частоте и квадрату напряжения питания, а пиковая частота линейно зависит от напряжения. В результате, уполовинив частоту, мы можем уполовинить напряжение, что в теории уменьшит потребление энергии в 8 раз (на практике — в 4–5 раз). Таким образом, мобильный процессор должен быть низкочастотным и низковольтным. Как же тогда он окажется быстрым? Для этого надо, чтобы за каждый такт он выполнял как можно больше команд, что чаще всего означает увеличение числа конвейеров (степени суперскалярности) и/или числа ядер. Но это ведёт к резкому росту транзисторного бюджета, что увеличивает площадь чипа, а значит и его стоимость.
Таким образом, выиграть по всем трём пунктам не получится даже теоретически (чем и объясняется присутствие на рынке такого разнообразия процессорных архитектур). Поэтому где-то придётся сдать позиции. Исторический экскурс говорит, что сдать надо в скорости, что даст возможность сделать ядро ЦП максимально простым. Именно по этому пути и пошли инженеры из Остина. Обдумав варианты, они решили вернуться к архитектуре 15-летней давности, первый и последний раз (среди процессоров Intel) использовавшейся в первых Pentium. А именно: процессор остаётся суперскалярным (т. е. 2 команды за такт у нас будет — но не 3–4, как в современниках Атома), лишается механизма перетасовки команд перед исполнением (OoO), но приобретает то, чего у Pentium не было — технологию гиперпоточности (HyperThreading, HT), позволяющую на базе одного физического ядра эмулировать для ОС и ПО наличие двух логических. Чтобы объяснить, почему был сделан именно такой выбор, читателю рекомендуется сначала вспомнить все возможные способы увеличения производительности ЦП. А теперь оценим их с позиции потребления энергии и транзисторных затрат.
Использование многопроцессорной конфигурации в карманном или наколенном устройстве недопустимо, а вот многоядерность — вполне, если не хватает скорости одного ядра. Поначалу Intel сделала это тем же способом, что и в первых 2-ядерных Pentium 4 — поставив пару одинаковых 1-ядерных чипов на общую подложку и общую шину до чипсета. Из других разделяемых ресурсов есть лишь питающее напряжение, которое выбирается из максимума двух запросов. Т. е. ядра могут отдельно изменять свои частоты, но засыпают и пробуждаются синхронно. В декабре 2009 г. Intel выпустила первые интегрированные версии Атомов, где на одном кристалле есть 1–2 ядра и северный мост. На плате остался южный мост, соединённый с ЦП шиной DMI, что чуть быстрее и экономней предыдущей комбинации. Больше двух ядер нам скоро не предложат, так что основной скоростной упор сделан на их внутренности.
Вопрос повышения частотного потолка инженеров Intel на этом этапе тоже не очень волновал, хотя отказываться от принципа конвейерности и декодирования команд х86 во внутренние микрооперации (мопы) никто не собирался — это был бы слишком радикальный шаг назад. А вот предсказатели переходов, предзагрузчики данных и прочие вспомогательные системы заполнения конвейера стали очень важны, т. к. простаивающий конвейер, не умеющий исполнять другие команды в обход застрявшей, означает выкинутые насмарку драгоценные ватты — и у Атома все необходимые «подпорки» сделаны ненамного хуже, чем у Pentium M и более современных ему Core 2, разве что размеры буферов поменьше (опять же ради экономии). В итоге, основная битва разыгрывается вокруг производительности за такт.
Рассмотрев , мы видим, что среди качественных способов увеличения производительности значится увеличение разрядности скалярных и векторных операций, а также усложнение системы команд разнообразными дополнениями со специализированными командами, выполняющими больше операций над аргументами. Всё это есть в Атоме — и самый последний на момент разработки набор команд SSSE3 и даже 64-битное расширение x86-64. Так что действий на команду выполняется достаточно. Вся суть Атома — в числе команд за такт, т. е. в показателе IPC.
Экстенсивным (количественным) путём было бы увеличение числа конвейеров и размеров разных кэшей и буферов. Очевидно, что начиная с определённого момента это слишком дорого обходится для транзисторного бюджета, принося всё меньше процентов ускорения от очередной добавки. Поэтому в Intel решили остановиться лишь на необходимом минимуме. А вот насчёт качественных мер вопрос посложней. Из возможных вариантов лишь обильное использование микрослияния мопов (mOP microfusion) не вызывает вопросов — необходимо, чтобы как можно меньшее число команд при декодировании генерировало более одного мопа, занимая оба конвейера и препятствуя исполнению двух команд за такт. Макрослияние не внедрено либо по причине его малой эффективности (если брать за пример реализацию в Core 2), либо из-за 50%-ного шанса на срабатывание (т. к. первая сливаемая команда должна попасть на первый декодер, а вторая на второй, и не иначе). С уменьшением числа тактов для исполнения команд мы ещё разберёмся.
Остались технологии максимизации заполнения конвейеров. Использовать их одновременно будет жирновато, так что придётся выбрать что-то одно — либо всем привычная за 15 лет перетасовка команд, либо более молодая HT, появившаяся у Intel лишь в последних моделях Pentium 4. Прежде всего следует сказать, что при использовании современных компиляторов (но без ручной оптимизации) число подряд идущих в программе команд, которые можно исполнить параллельно, колеблется около двух. Т. е. для 2-путного (2-way) конвейера перетасовка команд вроде бы не нужна. Кроме того, конвейер может быть частично заполнен или даже полностью остановлен не только невозможностью одновременного исполнения мопов, но и особо долгим кэш-промахом или неверно предсказанным переходом. Выходит, что вариант использования HT как альтернативы OoO выглядит разумно, хоть и непривычно для классических схем.
Добавим также, что так называемый «буфер переупорядочивания» и «резервационные станции» — довольно ресурсоёмкие блоки, которым приходится решать сложную задачу определения свободных ресурсов и взаимозависимостей в претендующих на исполнение командах. Единственный способ сделать это за 1 такт — разменять вычислительную сложность на избыточность. Для 3–4-путных конвейеров это делается с помощью сотен и тысяч компараторов, срабатывающих каждый такт и проверяющих все возможные комбинации запуска мопов. Что, разумеется, требует немалой площади и изрядного количества энергии. Гиперпоточность же требует лишь дополнительных буферов для хранения второго состояния конвейера (для «другого» потока), дубликата регистрового файла и относительно несложной логики, согласующей и переключающей потоки, а остальные ресурсы — общие.
Сразу возникает вопрос: если HT такая замечательная штука, почему её не внедряют повсеместно? Во-первых, для 3–4-поточного суперскаляра с OoO средняя загрузка конвейера такова, что второй поток команд поднимет скорость лишь процентов на 10. Ведь для его исполнения тоже нужны свободные ресурсы, а если обе программы спотыкаются об одно и то же (например, нехватку кэша), им ничто не поможет. Во-вторых, однопоточное приложение так не ускоришь, хотя общая отзывчивость системы улучшится. Т. е. общее ускорение будет сильно зависеть от подбора пары запущенных программ (тут везде мы предполагаем, что «гипер-» означает «двух-»). Однако за малую заплаченную цену в транзисторах это вполне неплохо. Intel, впрочем, приводит другие цифры, акцентируя на экономии: увеличивая потребление на 20%, включение HT даёт ускорение аж 30–50% (оставим эти цифры, особенно вторую, на совести заявителя).
Ядро Атома
Проведя необходимую теоретическую подготовку, мы наконец-то дошли до собственно архитектуры. Её сильное упрощение позволило сократить число транзисторов в ЦП до 47 млн. (из них на ядро, включая оба кэша L1 — 13,8 млн.), а площадь — до 26 мм² (используется 45-нанометровый техпроцесс с 9 слоями медных дорожек, металлическими затворами и подзатворными диэлектриками с высокой проницаемостью). Для сравнения — 90-нанометровые Pentium М занимали 84 мм², но там вчетверо больший кэш L2. Ядро Pentium М занимает примерно 35 млн. транзисторов, а Core 2 — 50 млн. Хотя, конечно, сравнения с первым Pentium (3,3 млн.) Атом не выдерживает — совсем уж простым его назвать тоже нельзя, что косвенно видно по размеру статьи.
Atom проще всего описать как очень сильно модернизированный Pentium, но так можно сказать о почти любом современном процессоре. Больше всего с 15-летним старичком его роднит 2-путная суперскалярность и отсутствие OoO (первые наброски Атома и вовсе были 1-путными, как 486), зато отличает почти всё остальное. Прежде всего то, что «атомный конвейер» имеет аж 16 стадий. Для сравнения — у первого Pentium их 5 (8 у вещественной части), у Pentium M и Core Solo/Duo — 14, а у Core 2 — 16 (по замерам при сбросе конвейера). Зачем так много? Длинный конвейер позволяет поднять частотный потолок, но тут это совсем не надо. Есть 3 стадии для доступа к кэшу L1D, причём их проходят все команды, в т. ч. и не обращающиеся «наружу» — такое решение сильно упрощает управление конвейером и используется во всех «упорядоченных» (in-order) архитектурах. Также возможно более детальное отключение стадий при их простое для экономии энергии и «тонкое» переключение между потоками (при включенной HT) отдельными стадиями и их малыми группами. Однако полученную выгоду в ваттах и исполненных командах запросто нивелирует бо́льшая задержка при сбросе конвейера из-за неверно предсказанного перехода.
Конвейер Атома
Поэтому предсказатель переходов, с которого начинается конвейер, лишь немногим уступает «коллегам». Это 2-уровневый адаптивный предсказатель с таблицей глобальной истории переходов (GBHT) на 4096 ячеек и 12-битной индексацией. Буфер адресов переходов (BTB) имеет всего 128 ячеек, организованных как 32 4-путных набора (в десятки раз меньше, чем у современных десктопных и даже «классических» мобильных ЦП). Специального предсказателя для циклов или косвенных переходов нет. Как и у всех современных ядер, есть стек адресов возврата из подпрограмм на 8 ячеек (плюс 2 буферные ячейки в предсказателе). Таблицы сокращённого размера экономят место, но подставляют подножку на программах с большим числом переходов, даже хорошо предсказываемых или вовсе безусловных (включая вызовы подпрограмм). Причём переключение на второй поток может не помочь, т. к. оба потока разделяют эти буферы и таблицы. Предсказание происходит с темпом 1 раз за 2 такта, но если оно окажется неверным — штраф будет 13 тактов. Если предсказание поведения верное, но адрес уже вытеснен из крохотного BTB — ждать надо 7 тактов.
Команды загружаются 8-байтовыми кусками из кэша L1I в двойной буфер предекодера по 16 байт на поток, причём в 1-поточном режиме оба буфера могут обслуживать единственный поток при соблюдении правил выравнивания, достигая максимального темпа 10–11 байт/такт. Эта цифра несколько избыточна, ибо даже для своих 4-путных суперскаляров (да ещё и с макрослиянием, позволяющим изредка декодировать 5-ю команду) Intel до сих пор использует 16-байтовую загрузку — хотя средняя длина команды (особенно в 64-битном режиме и с обильным использованием разнообразных SSE) вот-вот перевалит за 4 байта.
Производители нафаршировали современные x86 ЦП громоздкой системой команд с чрезвычайно сложной схемой декодирования, поэтому декодеры вынуждены тратить большое число транзисторов и энергии даже на такую казалось бы элементарную операцию, как определение длины команды (точнее, этим занимается отдельная стадия — предекодер-длиномер или ILD), поскольку надо обрабатывать команды с несколькими префиксами. Для Атома число префиксов больше трёх вызовет серьёзную задержку. Т. е. на команды набора SSE2/3 (1–2 префикса) в 64-битном режиме (ещё 1) этого хватит, а вот для более свежего SSSE3 (или какого-то варианта SSE4, если Intel захочет добавить его в Атом) — уже нет.
Для ускорения замеров длин с L1I связан буфер тегов предекодирования, где хранится разметка границ команд. Такое решение оправдано для экономии энергии при исполнении уже встретившегося кода и похоже на используемое в ядрах AMD K7–K10, где работа ILD происходит при считывании из L2 в L1I — правда, там эта схема предназначена для ускорения основного декодирования. А вот в Атоме биты разметки определяются и отправляются в буфер лишь при первом исполнении закэшированного кода, что происходит со скоростью 3 такта/байт (у AMD — 4 байта/такт). Причина такой нерасторопности — очень простой последовательный длиномер. При этом стадию ILD все команды проходят всегда, просто ранее встретившиеся, считав готовую разметку, проходят её «навылет», не напрягая транзисторы — и снова экономия приводит к удлинению конвейера.
Декодирование команд происходит двумя простыми трансляторами и одним микросеквенсором. Это несколько отличается от обычной схемы, где один из трансляторов является сложным, т. к. генерирует более одного мопа за такт (как правило — 3–4, по числу конвейеров). Все трансляторы декодируют по одной команде за такт. Микросеквенсор выдаёт по нескольку мопов (для Атома, разумеется, не более двух), но в течение нескольких тактов и только для особо сложных команд, требующих микрокода. Однако по оценке Intel лишь 4% команд потребуют более 1 мопа — микрослиянию подвергается 16% команд, в т. ч. такие относительно сложные как Load-Op-Store (с модификатором в памяти), которым ранее требовалось 2–3 мопа (из других x86-архитектур так умеет лишь AMD K10). Т. е. для Атома микрослияние уменьшило число обращений в микрокод впятеро. Таким образом, стремление к разбиению команд на простые RISC-операции для ускорения исполнения, очевидное сегодня и 15 лет назад (этим от P5 отличался P6, он же Pentium Pro), в данном случае обратилось вспять — за неимением возможности перетасовать команды, крайне расточительно забивать весь конвейер мопами (тем более, что он и так очень узкий) — а скорости и без этого достаточно.
Выход декодера подключен к 32-моповой очереди, которая статически делится надвое при включенной HT. Весь front-end («голова конвейера» от предсказателя до очереди мопов) может работать в отрыве от back-end (исполнительного «хвоста») в случае задержек данных или исполнении долгой команды, наполняя очередь мопами про запас.
Сила Атома
Итак, как же Atom обрабатывает данные, чтобы было очень экономно, мало по транзисторам и не очень медленно? Исполнение начинается с того, что из очереди мопов 1–2 команды передаются в два исполнительных кластера — скалярный целочисленный (общего назначения) и векторно-вещественный (схема, больше похожая на устройство ядер AMD K7–K10). Обмен между кластерами (например, при преобразовании форматов) требует 4–5 тактов задержки. К общему кластеру подключен кэш L1D, так что общение с памятью для второго кластера дольше. Каждый кластер может исполнить две команды за такт, но не более двух в сумме, т. к. порты запуска кластеров тесно связаны.
Оба порта могут исполнить наиболее частые команды — копирование между регистрами одного типа и простые целочисленные операции в АЛУ (в т. ч. векторные). Но только порт 0 может выполнять обмен с памятью, сдвиги, перетасовки и перепаковки, умножения, деления и пр. сложную арифметику. Порту 1 эксклюзивно достались переходы и вещественные сложения (в т. ч. векторные). Помимо прочего, это означает, что ставший уже привычным 2-портовый доступ к L1D даже в сокращённом виде (запись + чтение) отсутствует — кэш строго однопортовый, что последний раз применялось в Intel 486.
Поскольку перетасовки команд перед исполнением нет, программистам (и компиляторам) придётся выучить правила спаривания команд. Впрочем, они существенно отличаются от имеющихся в Pentium:
- Запускаемая пара мопов всегда принадлежит одному потоку. Запустить один «свой» и один «чужой» не получится.
- Две команды должны идти в коде подряд — кроме допустимого случая, когда первая — это команда перехода, указывающая на вторую.
- Вторая (по ходу программы) команда не может читать регистр, модифицируемый первой — кроме условного перехода, который может быть вторым, т. к. сможет прочесть флаги, изменённые в этом же такте первым мопом.
- Команды не должны писать в один и тот же регистр (кроме флагов) — даже в случае его полной перезаписи.
- Команды должны использовать разные порты.
- Команды, загружающие функциональные устройства (ФУ) обоих портов, не спариваемы. Например, вещественное сложение с памятью использует порт 0 для вычисления адреса и доступа к памяти и порт 1 для самого сложения.
- Две скалярные вещественные команды для x87-стека мало того, что не спариваются (даже на разных портах), так ещё и дают дополнительную задержку в 1 такт — даже пара FNOP’ов, которые ничего не делают.
Из этого разгромного по сути списка запрещающих условий становится понятно, что суперскалярность у Атома не то чтобы номинальная, а даже «вычурно кривая». Вряд ли микроархитектурщики Intel резко поглупели, но погоня за крайней простотой и энергоэффективностью довела архитектуру до абсурда, когда один из двух конвейеров будет часто простаивать из-за слишком строгих правил спаривания. Некоторым облегчением является то, что запуск команд с разной длительностью исполнения не приводит к штрафам. Аналогично — обработка данных не своего типа (для векторных команд). Например, можно использовать команду MOVAPS для целых чисел.
Самым частым камнем преткновения для архитектур с упорядоченным исполнением является кэш-промах, на обслуживание которого может потребоваться 10–200 тактов. При промахе такой ЦП просто ждёт (в лучшем случае — приостановив тактирование для экономии), а архитектура с OoO — исполняет команды, накопленные в буфере перетасовки и независящие по данным от результата проблемной команды. Ситуация настолько частая, что совсем не иметь никакого механизма перетасовки показалось инженерам Intel неоправданным — и они придумали добавку под названием Safe Instruction Recognition (безопасное распознавание команд). Она всё же даёт процессору некоторую вольность в обращении с командами, позволяя исполнять их вне очереди, и по сути является OoO-механизмом, работающим в масштабе лишь двух команд, одна из которых должна быть вещественной, а вторая — целой. Если они друг другу не мешают, то первой может запуститься целочисленная команда, имеющая меньшую задержку (если только обе команды и так не планируются на спаривание).
Тем не менее, удаление полноценного OoO кажется катастрофическим, но, может быть, нам поможет спасительная гиперпоточность? Т. к. блоки ЦП разделяются между потоками (некоторые — статически, большая часть — динамически), может возникнуть ситуация, что при требовании одинакового ресурса обоими потоками процессор будет работать даже медленнее, чем в 1-поточном режиме. Что и наблюдается в некоторых тестах и вполне естественно для ситуации, когда потоки запущены одной и той же программой, параллельно что-то обрабатывающей одним алгоритмом. Кроме того, предсказатель ветвлений использует динамическое разделение ячеек BTB между потоками, даже если переходы в них общие и ссылаются на одинаковые адреса. Итог — стабильные 1,5–2 IPC без специфической оптимизации под Atom, мы, скорее всего, не получим даже с 2-поточным запуском.
После исполнения, но перед отставкой (т. е. «официальной» записью результатов операций в кэш и регистры) есть ещё 2 стадии для регистрации возможных исключений и «разбора полётов» в потоковом HT-движке. Как и остальные стадии, все мопы проходят и эти, даже при 1-поточном исполнении без исключений и прерываний.
[ Читайте далее: Часть 2: Память, Выдержка, Виды ]
Процессоры Atom
Номенклатура процессоров Intel® Atom™ составлена трехразрядной числовой последовательностью с однобуквенным префиксом. Процессоры для нетбуков имеют префикс N, в то время как префикс Z указывает, что данный процессор предназначен для MID-устройств.
Описание и характеристики
В 3-е поколение семейства процессоров Atom, имеющих кодовое имя «Denverton», входит довольно большое количество моделей. Самый младший процессор имеет всего 2 ядра, ну а старшенький (о котором сейчас и идет речь), может похвастаться аж 16-ю ядрами.
В определенной степени можно сказать, что имеется как минимум 2 топовые модели, это C3958 и ее близкий родственник — C3955. Приведу основные характеристик обеих моделей.
Собственно, различия не сказать, чтобы сильно бросались в глаза. Причем C3955 имеет поддержку Turbo Boost, а вот старший Atom подобного «турбонаддува» лишен. Казалось бы, не ему быть топовой моделью, но все же главное его отличие от C3955 – это поддержка технологии Intel® QuickAssist.
Кратко о том, что такое QuickAssist, или сокращенно – QAT. Это набор программно-аппаратных средств для ускорения шифрования и сжатия данных. Очень помогает QuickAssist в случаях, когда необходимо производить сжатие данных «на лету», шифровать потоки данных, обеспечить работу криптографии и т. п. В общем, все, что связано с защитой данных, аутентификацией, обеспечением безопасности. QAT существенно ускоряет работу приложений, причем весьма существенно.
Надо заметить, что эта полезная функция входит в состав не каждой модели. Вот и C3955 ее лишен, хотя имеет свои достоинства. QuickAssist использовался и процессорами Atom серии C2xxx, но в новом поколении использование технологии вышло на более высокий уровень. Так, в отличие от Atom C2xxx, для C3xxx не требуется специальный драйвер. В тестировании функция QAT была активирована, хотя в представленных ниже тестах она не использовалась.
Собственно, наличие QAT – едва ли не единственный аргумент в пользу именно C3958, а не C3955, хотя повод весьма веский. Если же выполняемые задачи не подразумевают использование шифрования, сжатия данных, в общем того, для чего нужна эта технология, то смысла в выборе именно C3958 нет.
О том, что это именно серверный продукт, говорят характеристики процессора. Здесь и поддержка большого объема памяти, и наличие 16-мегабайтного кэша L2 (по 1 МБ на каждое ядро), причем ECC, 4-х 10-гигабитных интерфейсов, 16-ти SATA устройств, технологий виртуализации VT-x, VT-d и т. п. Кстати, этот процессор не поставляется покупателям как отдельный компонент, а только в составе как минимум материнской платы.
Для тех, кому интересно, приводим результат выполнения линуксовой команды lscpu, выводящей подробную информацию о процессоре и всех его особенностях.
Примечания
wattOS
Рассматривая необычные легкие дистрибутивы Linux, включите в свой список wattOS. Смысл wattOS в том, чтобы убрать из Ubuntu все ненужное, а затем добавить сверху оконный менеджер i3 с плиткой. Это издание «Microwatt» требует всего 192 МБ оперативной памяти и 700 МБ дискового пространства.
Если вы предпочитаете более распространенный интерфейс, попробуйте версию LXDE. Нужно немного больше оперативной памяти, но даже на нетбуках Intel Atom это, наверное, не так уж и важно.
Железо
CPU-Z
Свойства системы показывают что в плату можно тыкать пальцами. Даже всеми десятью.
AIDA64
USB 3.0 там нет, уж не знаю почему но вот так странно сделано.
Займемся eMMC.
Ну что сказать. Результаты фиговенькие. Объем носителя еще и неплохо зарезан.
Можно сравнить разницу по сравнению с подключенной 32Гб флешкой.
За все это безобразие отвечает вот эта микросхема.
Теперь займемся охлажением.
Стресстест AIDA64 на открытом воздухе в помещении при 26 градусах по цельсию показал вот такой результат.
До троттлинга не дошло, но можно попробовать улучшить результат. Снимаем радиатор и видим голубенькую чудорезинку термопрокладку.
Отковыриваем ее, мажем процессор классическим КПТ-8.
И снова тестируем.
Уже лучше. А теперь протестируем при полном нагреве нагружая и процессор и графику.
Результат вполне приемлемый, но явно при установке в корпус этой плате потребуется более сильное охлаждение при полной нагрузке.
А вот и нагрузка на питание при этом тесте.
Ethernet работает WI-FI близкую точку ловит даже без подключения внешней антенны, Bluetooth соединяется, карты памяти читаются. Вообщем все функционирует. Ну чтож, для наших целей она прекрасно подходит, поэтому доставляем Kodi, MPC, Total Commander и Chrome. Подключаем ухи, запускаем для теста последнюю серию Викингов в MPC и… о боже, что это за бульканье вместо звука? Ощущение что аудиодорожка в mp3 килобит 20, не больше. Запускаю эту же серию на десктопе и убеждаюсь что с дорожкой все в порядке. Ну чтож, придется решать проблему. Сперва прохожусь по форумам MPC, но подобных случаев ни у кого нет. Начинаю лазить по настройкам MPC и менять настройки аудифильтра. Эффекта ноль. Меняю версию MPC на более старую. Эффекта ноль. Запускаю Kodi и обнаруживаю ту же самую ерунду со звуком там. Прекращаю мучить МРС и начинаю мучить драйвера Realtek и Intel, которые и так не встали нормально. Начинаю перебирать различные драйверпаки, с Softpedia устанавливаю различные версии, в какой-то момент довожу до того что звук вообще пропадает. Блин, что же делать? Неужели все накрылось медным тазом? И тут до меня доходит! Я отключаю от платы ГАРНИТУРУ AKG совместимую с айфоном, включаю туда обычные наушники и звук становится каким надо! Вот теперь точно можно ставить точку. Прикручивать плату к монитору, как собирался, и наслаждаться сериальчиками под борщ, хоть это и вредно)))
Борьба за место под солнцем
Если Microsoft уберегла свой толстый кошелек от последствий неправильного решения, то Samsung сделала полностью выигрышную ставку. Она продает много различных планшетов под управлением ОС Android, хромбуки, лэптопы на базе Windows, а также планшеты под управлением ОС Windows 8 и Windows RT. Опыт показывает, что Samsung Ativ Smart PC 500T на базе платформы Clover Trail по всем показателям превосходит модель Samsung Ativ Tab, которая работает под управлением Windows RT. Внешне оба устройства идентичны. Все различия скрываются внутри. Планшет Samsung Ativ Tab основан на базе однокристальной платформы Qualcomm Snapdragon S4 APQ8060, в конфигурацию которой входит двухъядерный процессор (1,5 ГГц) и графическое ядро Adreno 225. «Под капотом» планшета Dell XPS 10 также находится этот чип. Что касается Samsung Ativ Smart PC, то ее «сердцем» является процессор Atom Z2760, в конфигурацию которого входит два процессорных ядра архитектуры x86 (1,8 ГГц) и графика PowerVR SGX 545. Остальные компоненты планшетов идентичны, что дает возможность идеально сравнить их возможности. Оба оснащены дисплеями с разрешением 1366 х 768 точек, имеют 2 Гбайта оперативной памяти и 64 Гбайта энергонезависимой памяти.
Респект за пост! Спасибо за работу!
Хотите больше постов? Новости технологий? Обзоры гаджетов? Для всего этого, а также для продвижения сайта, развития, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, читатели. Подробнее о донатах читайте на специальной странице.
На данный момент есть возможность поддержать меня через Яндекс Деньги:
И PayPal. Спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Мобильные устройства загружаются быстрее, работают дольше и поддерживают мультимедиа с разрешением Ultra HD 4K и потоковое видео с высокой частотой смены кадров. Эффективная аналитика для устройств на границе сети. Эти процессоры позволяют реализовать усовершенствованные технологии и возможности обработки в ультратонких и легких устройствах. Выполняйте любые задачи быстрее, чем когда-либо.
Хватит рассусоливать! Пора включать!
Цепляем VGA, USB стик от беспроводной клавиатуры с тачем, Micro USB провод подключенный к двухамперной зарядке и давим на включение. Загорается белый светодиодик.
Не, он правда нейтрально белый.
И секунд через 20 мы попадаем в в прекрасный китайский Windows 8.1 Pro без активации.
Ловить в нем нечего, он однозначно подлежит сносу поэтому глянем в BIOS. Жмем Del или Esc и попадаем в чудесный, аскетичный 32-разрядный UEFI BIOS.
Единственное что там есть это возможность выбора устройства с которого нужно загружаться. Нет, не так как вы подумали, плюсиками и минусиками выставить очередность загрузки. А именно выбираем строчку из списка возможных устройств, жмем Enter и грузимся с этого устройства. Никаких вам F12 или F2 для списка в процессе загрузки. Только руками, только хардкор. Отсюда произрастает первый нюанс. Если в плате торчит загрузочная флешка, то при перезагрузке плата будет грузиться с нее. Сам же UEFI позволяет грузится любым 32 разрядным .efi модулям, а не только Windows Boot Manager, поэтому *nix подобные системы можно установить и сюда.
Устанавливаем десятку и начинаем тесты. Тесты производительности процессора и графики я проводить не стал, потому что они ничем не будут отличаться от планшетов или Mini PC построенных на такой же платформе. Поэтому проведем тесты работы eMMC модуля, эффективности охлаждения.
При установке десятки не обошлось и без трудностей. Не поставились драйвера на Realtek I2S Audio Codec и соответственно Intel SST Audio Device. Штатными средствами устанавливаться они не хотелись, обновление драйвера Intel SST Audio Device ругалось на то что оно не подходит к этой версии ОС. Но как всегда выручил SDI
Процессоры
В английском IT-сегменте имеется определение CPU, что означает центральное обрабатывающее устройство. Оно отвечает за выполнение машинных инструкций и является самой главной частью персонального компьютера. От производительности процессора зависит мощность системы в целом.
Основные характеристики процессоров включают в себя:
- тактовую частоту;
- производительность;
- энергопотребление;
- тип технического процесса;
- архитектуру.
- Тактовая частота характеризует количество операций, которые способен выполнить процессор за один такт. Этот параметр используют наиболее часто при описании данного вида вычислительных устройств.
- Параметр производительности довольно спорный и иногда может отражать совокупность всех возможностей продукта, а иногда показывать конкретное значение, выраженное во флоп/с.
- Энергопотребление — один из ключевых параметров. Именно он как никто другой влияет на автономность работы. Чем меньше ноутбук или нетбук будет потреблять энергии, тем дольше сможет проработать. А это напрямую зависит от показателей процессора.
- Технический процесс. Никак напрямую не влияет на характеристики. Однако отражает то, каким образом произведён процессор. Уже на основе этого можно судить о том, как давно он был изготовлен. Фактически показывает, что на меньшей площади можно разместить большее количество электронных компонентов.
- Архитектура процессора. Для персональных компьютеров, в основном используется два вида — 32 и 64-битная. Большого прироста при переходе от меньшего значения к большему ожидать не стоит. Действительно что-то заметить можно только при работе с базами данных или средствами моделирования.
Дальнейшие перспективы
Компания Intel уже анонсировала преемника Clover Trail – платформу Bay Trail, которая отличается использованием новых технологических норм (22 нм) и рядом других улучшений. Процессоры Atom нового поколения будут отличаться более высоким уровнем вычислительной мощности и графической производительности. При этом улучшение данных показателей реализуется без нанесения ущерба подсистеме питания мобильных устройств. По предварительным данным, в конфигурацию SoC Atom семейства Atom войдет четыре процессорных ядра и графическое ядро PowerVR следующего поколения. Первые планшеты на базе платформы Bay Trail появятся в конце текущего года и они могут запросто отправить ОС Windows RT на вечный покой.
Выводы
После детального рассмотрения процессора Atom N450 можно заключить, что данный продукт ориентирован на бюджетный сегмент рынка. Низкое энергопотребление позволяет внедрять более дешёвые батареи, что снижает конечную цену изделия. Этот же фактор даёт возможность использовать ноутбук в дороге и длительных путешествиях, не переживая, что он сядет в самый неподходящий момент.
Сравнение с ближайшими конкурентами даёт понять, что процессор немного отстаёт от продукции AMD, и в то же время обгоняет своих предшественников и собратьев по производству. Это также подтверждают и тесты, проведённые несколькими пользователями. Однако при всем этом поклонники компании Intel смогут воочию убедиться в надёжности процессора и его низком энергопотреблении.
Будете ли вы использовать Linux на своем Intel Atom Netbook?
Когда нетбуки Intel Atom вышли на арену, разработчики увидели возможность для Linux развиваться на небольших устройствах. Убунту выпустили netbook edition. Как и KDE. Joli OS была по сути Chromebook до появления Chromebook’ов. Моим любимым был проект под названием Moblin, который превратился в MeeGo.
В конце концов, большинство производителей предпочли установить уже устаревшую версию Windows XP вместо того, чтобы рискнуть с Linux.
Однако, несмотря на прошедшие годы, нетбуки Intel Atom и Linux остаются отличной парой.
Спасибо, что читаете! Подписывайтесь на мой канал в Telegram и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Распаковка
Посылка пришла в стандартной коробочке от Yoybuy.
Внутри которой лежал пакетик с мотком пупырчатой упаковки.
А уже внутри этого мотка антистатический пакетик с пеночкой и платкой.
И собственно все. Ни инструкции, ни проводка, ни хоть какой нибудь бумажечки или самой захудалой наклеечки.