Рубрика «Skylake»

vvvphoenix упомянул в своей позавчерашней статье: «Кстати, я пытался найти график роста числа X86 инструкций по годам (или по поколениям). Пока не смог (может, есть у кого?)»

Я решил, что мне это тоже интересно — да настолько, что не жалко потратить выходной день на сведение en.wikipedia.org/wiki/X86_instruction_listings в одну табличку:

Сколько инструкций в x86? - 1

Считались различные мнемоники; например, десятки вариантов MOVЧитать полностью »

image

Современные процессоры суперскалярны, то есть способны выполнять несколько инструкций одновременно. Например, некоторые процессоры могут обрабатывать за цикл от четырёх до шести инструкций. Более того, многие такие процессоры способны инициировать команды не по порядку: они могут начать работать с командами, расположенными в коде намного позже.

В то же время, код часто содержит ветвления (операторы if–then). Такие ветвления часто реализуются как «переходы», при которых процессор или переходит к выполнению инструкции ниже по коду, или продолжает текущий путь.

При суперскалярном выполнении команд вне порядка с ветвлениями справляться сложно. Для этого у процессоров имеются изощрённые блоки предсказания ветвления. То есть процессор пытается предсказать будущее. Когда он видит ветвление, а значит, переход, то пытается догадаться, каким путём пойдёт программа.
Читать полностью »

Подводя итоги нескольких весьма напряженных недель, Intel анонсировала вторую половину своего стека процессоров Core 10-го поколения с низким энергопотреблением. С новым именем Comet Lake, процессоры мощностью до 15 Вт основаны на существующей архитектуре процессора Intel Skylake и 14-нм техпроцессе, оснащены некоторыми дополнениями как для повышения производительности, так и для решения конкретных аппаратных задач. С 6-ти ядерной серией U и 4-х ядерной серией Y, Intel стремится расширить возможности многопоточной производительности в тонком и легком ноутбуке. Новые процессоры дополнят традиционную линейку Intel U и Y. Ядра 10-го поколения будут и в Intel Lake Ice 10 нм, а OEM-производители будут использовать оба семейства продуктов в новых ультрапортативных ноутбуках в этот праздничный сезон.

Intel Comet Lake-U и Comet Lake-Y: до 6 ядер для тонких и легких ноутбуков - 1

В целом, запуск Comet Lake происходит в сложное для Intel время. Компания все еще пытается оправиться от неудач с внедрением 10-нм технологического узла. Несмотря на то, что Intel наконец-то возобновила производство 10 нм, компания пока не в состоянии полностью перевести производство процессоров ведущих поколений на 10 нм. В результате маломощные процессоры Intel этого поколения будут состоять из 14-нм компонентов, основанных на их почтенной архитектуре Skylake, и 10-нм компонентов Ice Lake, включающих новую архитектуру Intel Sunny Cove. 14-нм компоненты нужны, чтобы решить задачи, которые пока не под силу чистому Ice Lake.
Читать полностью »

Чего ждать от новых Xeon E. Сравниваем с E3 и делаем выводы - 1

Продолжаю тестировать процессоры. В этот раз моё внимание целиком и полностью переключилось с десктопных Core на серверные Xeon. Что, надо признаться, не случайно. Во-первых, меня об этом горячо просили в комментариях к прошлой статье, а во-вторых, наш парк пополнился свежими Xeon E — мы решили обновить линейку однопроцессорных выделенных серверов и прикупили E-2134 и E-2136 как альтернативу E3-12XX. Читать полностью »

Так-Так-Так и никакого Тика. Чем отличаются процессоры Intel Core разных поколений на основе одной архитектуры - 1

С появлением процессоров Intel Core седьмого поколения многим стало понятно, что стратегия «Тик-так», которой Интел следовал всё это время, дала сбой. Обещание уменьшить технологический процесс с 14 до 10 нм так и осталось обещанием, началась долгая эпоха «Така» Skylake, во время которой случился Kaby Lake (седьмое поколение), внезапный Coffee Lake (восьмое) с незначительным изменением техпроцесса с 14 нм до 14 нм+ и даже Coffee Lake Refresh (девятое). Кажется, Интелу и правда нужен был небольшой перерыв на кофе. В итоге мы имеем несколько процессоров разных поколений, которые созданы на основе одной микроархитектуры Skylake, с одной стороны. И уверения Интела о том, что каждый новый процессор — лучше прежнего, с другой. Правда, не очень понятно, чем именно…

Так-Так-Так и никакого Тика. Чем отличаются процессоры Intel Core разных поколений на основе одной архитектуры - 2

Поэтому вернёмся к нашим поколениям. И посмотрим, чем же они отличаются.
Читать полностью »

Мне сообщили, что на новых компьютерах некоторые регрессиионные тесты стали медленнее. Обычное дело, такое бывает. Неправильная конфигурация где-то в Windows или не самые оптимальные значения в BIOS. Но в этот раз нам никак не удавалось найти ту самую «сбитую» настройку. Поскольку изменение значительное: 9 против 19 секунд (на графике синий — это старое железо, а оранжевый — новое), то пришлось копать глубже.

Почему процессоры Skylake иногда работают в 2 раза медленнее - 1
Читать полностью »

Во время сравнения нового серверного чипа Centriq от Qualcomm с имеющимися в наличии Intel Xeon поколения Skylake мною была замечена странная штука: производительность шифра ChaCha20-Poly1305 плохо масштабируется при добавлении ядер. Один поток работал на скорости примерно 2,89 Гбайт/с, а на 24 ядрах и при 48 потоках сумарная производительность составила всего лишь 35 Гбайт/с.

Неплохо, конечно, но я ожидал увидеть что-то вроде 69 Гбайт/с. 35 Гбайт/с это всего лишь 1,46 Гбайт/с на ядро, или около 50 % от производительности одного ядра. AES-GCM масштабируется в тех же условиях гораздо лучше, до примерно 80 % производительности одного ядра, что объясняется способностью процессора повышать частоту при нагрузке на одно ядро.

Подводные грабли управления частотами процессоров Intel - 1

Читать полностью »

Как я нашёл баг в процессорах Intel Skylake - 1Инструкторы курсов «Введение в программирование» знают, что студенты находят любые причины для ошибок своих программ. Процедура сортировки отбраковала половину данных? «Это может быть вирус в Windows!» Двоичный поиск ни разу не сработал? «Компилятор Java сегодня странно себя ведёт!» Опытные программисты очень хорошо знают, что баг обычно в их собственном коде, иногда в сторонних библиотеках, очень редко в системных библиотеках, крайне редко в компиляторе и никогда — в процессоре. Я тоже так думал до недавнего времени. Пока не столкнулся с багом в процессорах Intel Skylake, когда занимался отладкой таинственных сбоев OCaml.

Первое проявление

В конце апреля 2016 года вскоре после выпуска OCaml 4.03.0 один Очень Серьёзный Индустриальный Пользователь OCaml (ОСИП) обратился ко мне в частном порядке с плохими новостями: одно из нших приложений, написанное на OCaml и скомпилированное в OCaml 4.03.0, падало случайным образом. Не при каждом запуске, но иногда вылетал segfault, в разных местах кода. Более того, сбои наблюдались только на их самых новых компьютерах, которые работали на процессорах Intel Skylake (Skylake — это кодовое название последнего на тот момент поколения процессоров Intel. Сейчас последним поколением является Kaby Lake).

За последние 25 лет мне сообщали о многих багах OCaml, но это сообщение вызывало особенное беспокойство. Почему только процессоры Skylake? В конце концов, я даже не мог воспроизвести сбои в бинарниках ОСИПа на компьютерах в моей компании Inria, потому что все они работали на более старых процессорах Intel. Почему сбои не воспроизводятся? Однопоточное приложение ОСИПа делает сетевые и дисковые операции I/O, так что его выполнение должно быть строго детерминировано, и любой баг, который вызвал segfault, должен проявлять себя при каждом запуске в том же месте кода.
Читать полностью »

В мае — апреле этого года Intel обновляла документацию на свои процессоры. Стало известно почему — появилось описание новой ошибки. Согласно документу, опубликованному Debian, чипы с микроархитектурой Skylake и Kaby Lake, а также серверные процессоры Xeon v5 и v6 и некоторые процессоры Pentium могут вести себя непредсказуемо при активном Hyper-Threading.

Чипы Intel Skylake и Kaby Lake — обнаружена проблема при активном Hyper-Threading - 1Читать полностью »

Серьёзная ошибка в многопоточности процессоров Skylake и Kaby Lake - 1

В течение апреля и мая 2017 года компания Intel обновила документацию к процессорам Skylake и Kaby Lake, добавив одно небольшое примечание (errata KBL095, KBW095 для Kaby Lake, errata SKW144, SKL150, SKX150, SKZ7 для Skylake). Оно звучит следующим образом:

«В сложных микроархитектурных условиях краткие циклы менее чем из 64 инструкций с использованием регистров AH, BH, CH или DH, а также соответствующих более широких регистров (например, RAX, EAX или AX для AH) могут вызвать непредсказуемое поведение системы. Такое может произойти только если активны оба логических процессора на одном физическом процессоре».

Что означает это примечание — 25 июня 2017 года подробно объяснили в почтовом списке рассылки разработчиков Debian. Если вкратце, то процессоры Skylake и Kaby Lake с включенным HyperThreading могут вести себя неадекватно. Разработчики рекомендуют немедленно отключить HyperThreading в BIOS/UEFI, а потом обновить микрокод процессора от Intel или дождаться обновления BIOS/UEFI от своего вендора.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js