Меню

Transactional Synchronization Extensions TSX

Набор инструкций TSX в Intel Haswell повысит эффективность многоядерной работы

Продолжает стекаться информация о будущих процессорах Intel Haswell, чей дебют по последним данным может состояться в марте-июне 2013 года. Судя по сведениям, опубликованным в корпоративном блоге Intel, эти CPU станут обладателями нового набора инструкций Transactional Synchronization Extensions (TSX), что должно повысить эффективность взаимодействия нескольких x86-ядер при работе с различными программными приложениями и, в конечном счете, увеличить производительность чипов.

Если вкратце, набор инструкций TSX позволяет перенести большую часть работы по распределению ресурсов между вычислительными ядрами на аппаратный уровень, тогда как сейчас данная опция реализуется в основном на программном уровне операционной системы и приложений. Таким образом, новая функциональность в чипах Intel Haswell даст возможность снять часть обременительной ноши с плеч программистов, которые смогут перенаправить свои силы на другие аспекты деятельности.

При этом появление поддержки TSX позволит оптимизировать работу процессоров с несколькими вычислительными потоками, что, как уже было указано выше, должно привести к росту быстродействия, а сам данный механизм базируется на принципе, если так можно выразиться, взаимной ответственности каждого из x86-ядер за свой участок деятельности. Напомним, процессоры Intel Haswell будут производиться согласно 22-нм технологическим нормам и должны стать обладателями улучшенной встроенной графики.

Источник

Расширения транзакционной синхронизации — Transactional Synchronization Extensions

Transactional Synchronization Extensions ( TSX ), также называемые Transactional Synchronization Extensions New Instructions ( TSX-NI ), являются расширением архитектуры набора инструкций x86 (ISA), которое добавляет аппаратную поддержку транзакционной памяти , ускоряя выполнение многопоточного программного обеспечения за счет исключения блокировки. . Согласно различным тестам, TSX / TSX-NI может обеспечить примерно на 40% более быстрое выполнение приложений при определенных рабочих нагрузках и в 4–5 раз больше транзакций базы данных в секунду (TPS).

TSX / TSX-NI был задокументирован Intel в феврале 2012 года и дебютировал в июне 2013 года на некоторых микропроцессорах Intel на основе микроархитектуры Haswell . Процессоры Haswell ниже 45xx, а также R-серия и K-серия (с разблокированным множителем) SKUs не поддерживает TSX / TSX-NI. В августе 2014 года Intel объявила об ошибке в реализации TSX / TSX-NI на текущих степпингах процессоров Haswell, Haswell-E, Haswell-EP и ранних процессоров Broadwell , что привело к отключению функции TSX / TSX-NI на затронутых процессорах через обновление микрокода .

В 2016 году была обнаружена временная атака по побочному каналу путем злоупотребления способом TSX / TSX-NI обрабатывать транзакционные ошибки (то есть ошибки страниц ) для взлома KASLR во всех основных операционных системах.

Поддержка эмуляции TSX / TSX-NI предоставляется как часть эмулятора разработки программного обеспечения Intel. Также имеется экспериментальная поддержка эмуляции TSX / TSX-NI в форке QEMU .

СОДЕРЖАНИЕ

  • 1 Особенности
    • 1.1 Удаление аппаратной блокировки
    • 1.2 Ограниченная транзакционная память
    • 1.3 Инструкция XTEST
    • 1.4 Отслеживание адреса приостановки нагрузки TSX
  • 2 Реализация
  • 3 См. Также
  • 4 ссылки
  • 5 Дальнейшее чтение
  • 6 Внешние ссылки

Функции

TSX / TSX-NI предоставляет два программных интерфейса для обозначения областей кода для выполнения транзакций. Hardware Lock Elision (HLE) — это интерфейс на основе префиксов инструкций, предназначенный для обратной совместимости с процессорами без поддержки TSX / TSX-NI. Ограниченная транзакционная память (RTM) — это новый интерфейс набора команд, который обеспечивает большую гибкость для программистов.

TSX / TSX-NI обеспечивает оптимистичное выполнение областей транзакционного кода. Оборудование отслеживает несколько потоков на предмет конфликтующих обращений к памяти, при этом прерывая и откатывая транзакции, которые не могут быть успешно завершены. Для программного обеспечения предусмотрены механизмы обнаружения и обработки неудачных транзакций.

Другими словами, снятие блокировки посредством выполнения транзакции использует транзакции памяти как быстрый путь, где это возможно, в то время как медленный (резервный) путь по-прежнему является нормальной блокировкой.

Аппаратный замок Elision

Hardware Lock Elision (HLE) добавляет два новых префикса инструкций XACQUIRE и XRELEASE . Эти два префиксы повторного использования опкодов существующих REPNE / REPE префиксов ( F2H / F3H ). На процессорах , которые не поддерживают HLE, REPNE / REPE префиксы игнорируются по инструкции , для которых XACQUIRE / XRELEASE справедливы, что позволяет обратную совместимость.

XACQUIRE Приставка подсказку можно использовать только со следующими инструкциями с явным LOCK префиксом: ADD , ADC , AND , BTC , BTR , BTS , CMPXCHG , CMPXCHG8B , DEC , INC , NEG , NOT , OR , SBB , SUB , XOR , XADD , и XCHG . XCHG Инструкция может быть использована без LOCK префикса , а также.

XRELEASE Префикс намек может быть использован как с инструкциями , перечисленных выше, и с MOV mem, reg и MOV mem, imm инструкциями.

Читайте также:  Садовый насос Metabo P 2000 G 600962000

HLE позволяет оптимистично выполнить критический раздел, пропуская запись в блокировку, так что блокировка кажется свободной для других потоков. Неудачная транзакция приводит к перезапуску выполнения с XACQUIRE -префикса инструкции, но обработка инструкции так, как если бы XACQUIRE префикс отсутствовал.

Ограниченная транзакционная память

Ограниченная транзакционная память (RTM) — это альтернативная реализация HLE, которая дает программисту гибкость в указании пути резервного кода, который выполняется, когда транзакция не может быть успешно выполнена. В отличие от HLE, RTM не имеет обратной совместимости с процессорами, которые его не поддерживают. Для обратной совместимости программы должны обнаруживать поддержку RTM в ЦП перед использованием новых инструкций.

RTM добавляет три новые инструкции: XBEGIN , XEND и XABORT . XBEGIN И XEND инструкции отмечают начало и конец транзакционного кода региона; XABORT инструкция явно прерывает транзакцию. Ошибка транзакции перенаправляет процессор на путь резервного кода, указанный в XBEGIN инструкции, со статусом прерывания, возвращаемым в EAX регистре.

Положение бита регистра EAX Смысл
Устанавливается, если прерывание вызвано XABORT инструкцией.
1 Если установлено, транзакция может быть успешной при повторной попытке. Этот бит всегда сброшен, если установлен бит 0.
2 Устанавливается, если другой логический процессор конфликтует с адресом памяти, который был частью прерванной транзакции.
3 Устанавливается, если внутренний буфер переполнен.
4 Устанавливается, если была достигнута точка останова отладки.
5 Устанавливается, если во время выполнения вложенной транзакции произошло прерывание.
23: 6 Зарезервированный.
31:24 XABORT аргумент (действителен, только если установлен бит 0, в противном случае зарезервирован).

XTEST инструкция

TSX / TSX-NI предоставляет новую XTEST инструкцию, которая возвращает, выполняет ли процессор транзакционную область. Эта инструкция поддерживается процессором, если он поддерживает HLE, RTM или и то, и другое.

Отслеживание адресов приостановки TSX

TSX / TSX-NI Suspend Load Address Tracking (TSXLDTRK) — это расширение набора инструкций, которое позволяет временно отключить отслеживание загрузки из памяти в разделе кода в транзакционной области. Эта функция расширяет HLE и RTM, и ее поддержка в процессоре должна определяться отдельно.

TSXLDTRK представляет две новые инструкции XSUSLDTRK и XRESLDTRK для приостановки и возобновления отслеживания адреса загрузки, соответственно. Пока отслеживание приостановлено, любые загрузки из памяти не будут добавлены к набору чтения транзакции. Это означает, что, если эти ячейки памяти не были добавлены к наборам чтения или записи транзакции за пределами области приостановки, запись в эти ячейки другими потоками не вызовет прерывания транзакции. Приостановка отслеживания адреса загрузки для части кода в транзакционной области позволяет уменьшить объем памяти, который необходимо отслеживать на предмет конфликтов чтения-записи, и, следовательно, повысить вероятность успешного принятия транзакции.

Выполнение

Спецификация Intel TSX / TSX-NI описывает, как транзакционная память предоставляется программистам, но не содержит подробностей о фактической реализации транзакционной памяти. Intel указывает в своих руководствах для разработчиков и по оптимизации, что Haswell поддерживает наборы для чтения и записи с детализацией строки кэша, отслеживая адреса в кэше данных L1 процессора. Intel также заявляет, что конфликты данных обнаруживаются с помощью протокола согласования кэша .

Кэш данных L1 Haswell имеет ассоциативность восемь. Это означает, что в этой реализации транзакционное выполнение, которое записывает в девять различных местоположений, отображаемых в один и тот же набор кеша, будет прервано. Однако из-за микроархитектурных реализаций это не означает, что меньшее количество обращений к одному и тому же набору гарантированно никогда не прервется. Кроме того, в конфигурациях ЦП с технологией Hyper-Threading кэш L1 совместно используется двумя потоками в одном ядре, поэтому операции в логическом процессоре одного уровня с одним и тем же ядром могут вызывать вытеснение.

Независимые исследования указывают на то, что транзакционная память Haswell, скорее всего, является системой отложенного обновления, использующей кеши для каждого ядра для транзакционных данных и контрольных точек регистрации. Другими словами, Haswell с большей вероятностью будет использовать систему транзакционной памяти на основе кеша, поскольку это гораздо менее рискованный вариант реализации. С другой стороны, Intel Skylake или более поздние версии могут комбинировать этот подход на основе кеширования с буфером упорядочения памяти (MOB) для той же цели, возможно, также обеспечивая многоверсионную транзакционную память, которая более поддается спекулятивной многопоточности .

Читайте также:  Показания к применению препарата ЛЕВАМИЗОЛ 75

В августе 2014 года Intel объявила об ошибке в реализации TSX / TSX-NI на процессорах Haswell, Haswell-E, Haswell-EP и ранних процессорах Broadwell, что привело к отключению функции TSX / TSX-NI на затронутых процессорах с помощью микрокода. Обновить. Ошибка была исправлена ​​в степпингах F-0 процессора Core M-5Y70 Broadwell с поддержкой vPro в ноябре 2014 года.

Ошибка была обнаружена, и о ней было сообщено во время дипломной работы в Школе электротехники и вычислительной техники Афинского национального технического университета .

Согласно Справочному руководству по оптимизации архитектур Intel 64 и IA-32 от мая 2020 г., том 1, глава 2.5 Архитектура набора команд Intel и удаленные функции, HLE был удален из продуктов Intel, выпущенных в 2019 г. и позже. RTM не документируется как удаленная. Однако процессоры Intel Comet Lake и Ice Lake 10-го поколения , выпущенные в 2020 году, не поддерживают TSX / TSX-NI, включая HLE и RTM.

В справочнике по программированию расширений набора инструкций архитектуры Intel, редакция 41 от октября 2020 года, новое расширение набора инструкций TSXLDTRK было задокументировано и намечено для включения в грядущие процессоры Sapphire Rapids .

Источник

Intel отключает расширения TSX в процессорах «Haswell»

13.08.2014 в 18:13

С первыми процессорами «Haswell» Intel представила расширения Transactional Synchronization Extensions (TSX). Они представляют собой расширения для инструкций x86, включающие поддержку транзакционной памяти (TM). Но Intel после старта процессоров «Haswell» столкнулась с проблемами, которые могли приводить к краху всей системы. Теперь решение проблемы было найдено, оно заключается в полном отключении TSX. Осуществляться отключение может через обновление BIOS, поскольку инструкции TSX могут просто отключаться или включаться через микрокод.

Проблемы наблюдаются у всех процессоров «Haswell», «Haswell EP» и ожидаемых вскоре «Broadwell». Впрочем, для «Broadwell» Intel планирует новый степпинг, у которого данной ошибки нет. Что касается процессоров «Haswell», то вряд ли для них появится обновление. Данное решение больше всего актуально для серверных процессоров «Haswell EP», поскольку в них чаще всего используются расширения TSX. Решение здесь появится через несколько недель. Скорее всего, как и для процессоров «Broadwell», для них будет предложен новый степпинг. Потенциальным покупателям процессоров следует ознакомиться с тем, какой степпинг CPU они приобретают, если расширения TSX нужны.

Описание проблемы Intel с TSX

Судя по имеющейся информации, Intel продолжит поддерживать расширения TSX, поскольку проблема признана несущественной. Отзыва процессоров не предполагается. Разработчики получат обновленное окружение разработки, которое позволит продолжить работу над реализацией TSX.

Intel опубликовала сообщение о проблеме. Однако оно не раскрывает причин появления проблемы. Чтобы система потеряла стабильность, должно произойти несколько событий через определенные промежутки. В реальных условиях повторяемость ошибки очень низка, но если покупатели хотят гарантировать полностью стабильную систему, то поддержку TSX лучше отключить.

Источник



Transactional Synchronization Extensions
(TSX)

TSX (Transactional Synchronization eXtensions) — набор инструкций многоядерного процессора, обеспечивающий перенос большей части задач по распределению ресурсов между его ядрами на аппаратный уровень (в сам процессор). Без поддержки TSX процессором это реализуется главным образом операционной системой и приложениями компьютера, то есть, на программном уровне.

Инструкции TSX разработаны компанией Intel и впервые использованы в архитектуре Haswell. Их значение весьма существенно. Во-первых, они значительно повышают эффективность взаимодействия ядер процессора между собой при осуществлении общего доступа к одним и тем же данным и, в конечном счете, увеличивают общую производительность компьютера. Во-вторых — снимают часть сложной работы с плеч разработчиков программного обеспечения.

TSX состоит из двух компонентов: Restricted Transaction Memory (RTM) — набора инструкций, с помощью которого программист может начать, закончить и прервать транзакцию; Hardware Lock Elision (HLE) — вводит префиксы, которые игнорируются процессорами без поддержки TSX.


НАПИСАТЬ АВТОРУ
Технологии и инструкции, используемые в процессорах

Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.

Отдельные из этих технологий нужны только для решения специфических заданий и в «домашнем» компьютере вряд ли когда-нибудь понадобятся. Наличие же других является непременным условием работы программ, необходимых для повседневного использования.

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Читайте также:  Мотоблок чемпион вс 6712 инструкция

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

Таблица совместимости процессоров и материнских плат AMD

Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно «прокачать» компьютер путем простой замены процессора на «камень» из более новой линейки или же флагман из предыдущей.

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

Сравнение процессоров

В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка «Добавить процессор»). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.

Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.

Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.

Спецификации процессоров

В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.

Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.

Таблица процессоров

Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным «железом». Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).

Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.

Для получения подробной информации о любом процессоре достаточно нажать на его название.

Как проверить стабильность процессора

Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.

В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.


ПОКАЗАТЬ ЕЩЕ

Источник

Ошибка в реализации TSX-инструкций затрагивает серверные чипы Intel Xeon E5 v3

В августе появилась информация, что в ряде процессоров Intel допущена ошибка в реализации набора инструкций Transactional Synchronized eXtensions (TSX). Тогда сообщалось, что баг присутствует в ряде процессоров поколения Haswell и в первых чипах Broadwell. Как теперь сообщается, ошибка может затронуть значительно большее количество пользователей, нежели предполагалось ранее.

Напомним суть проблемы. Инструкции TSX нацелены на повышение производительности при выполнении определённых многопоточных приложений. В частности, они позволяют увеличить быстродействие и улучшить масштабируемость для бизнес-анализа и приложений, работающих с большими объёмами данных. Ошибка же в реализации TSX может приводить к непредсказуемому поведению системы, критическим сбоям и повреждению данных в памяти.

Intel предлагает решить проблему путём обновления микрокода, но этот способ попросту отключает TSX, а не устраняет ошибку как таковую. В результате пользователи лишаются части заявленной производителем функциональности. И если рядовым потребителям инструкции TSX в большинстве случаев не требуются, то корпоративным заказчикам они могли бы помочь повысить эффективность работы бизнес-систем.

Как теперь сообщается, ошибка в реализации TSX-инструкций, похоже, затрагивает новые серверные чипы Intel Xeon E5 v3 на архитектуре Haswell-EP, которые были представлены в сентябре. У администраторов систем на основе этих процессоров есть выбор: применить обновление микрокода и отключить TSX или продолжить эксплуатировать чипы в первоначальном состоянии, рискуя столкнуться со сбоями и нестабильностью.

Полностью проблема, вероятно, будет устранена лишь с приходом будущих процессоров поколения Broadwell.

Добавим, что ошибки в аппаратной реализации продуктов Intel обнаруживались и раньше. К примеру, в 2011 году корпорация была вынуждена остановить поставки чипсетов серии 6 (Cougar Point) из-за проблемы, касающейся дизайна контроллера SATA. В результате недоработки порты могли со временем деградировать, провоцируя ухудшение производительности ввода-вывода.

Источник

Adblock
detector