CINXE.COM

Transactional Synchronization Extensions - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Transactional Synchronization Extensions - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"37d67f2d-4c08-4da1-843f-68087ae283a2","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Transactional_Synchronization_Extensions","wgTitle":"Transactional Synchronization Extensions","wgCurRevisionId":1157693538,"wgRevisionId":1157693538,"wgArticleId":34643065,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description matches Wikidata","Computer-related introductions in 2012","X86 instructions","Parallel computing","Transactional memory","Transaction processing","Concurrency control","Hardware bugs"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Transactional_Synchronization_Extensions","wgRelevantArticleId":34643065, "wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7833723","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"], "GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin", "ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Transactional Synchronization Extensions - Wikipedia"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Transactional_Synchronization_Extensions"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Transactional_Synchronization_Extensions rootpage-Transactional_Synchronization_Extensions skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Transactional+Synchronization+Extensions" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Transactional+Synchronization+Extensions" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Transactional+Synchronization+Extensions" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Transactional+Synchronization+Extensions" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Features" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Features"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Features</span> </div> </a> <button aria-controls="toc-Features-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Features subsection</span> </button> <ul id="toc-Features-sublist" class="vector-toc-list"> <li id="toc-Hardware_Lock_Elision" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hardware_Lock_Elision"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Hardware Lock Elision</span> </div> </a> <ul id="toc-Hardware_Lock_Elision-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Restricted_Transactional_Memory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Restricted_Transactional_Memory"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Restricted Transactional Memory</span> </div> </a> <ul id="toc-Restricted_Transactional_Memory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-XTEST_instruction" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#XTEST_instruction"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>XTEST instruction</span> </div> </a> <ul id="toc-XTEST_instruction-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-TSX_Suspend_Load_Address_Tracking" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#TSX_Suspend_Load_Address_Tracking"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>TSX Suspend Load Address Tracking</span> </div> </a> <ul id="toc-TSX_Suspend_Load_Address_Tracking-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Implementation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Implementation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Implementation</span> </div> </a> <ul id="toc-Implementation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History_and_bugs" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History_and_bugs"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>History and bugs</span> </div> </a> <ul id="toc-History_and_bugs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Further_reading" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Further_reading"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Further reading</span> </div> </a> <ul id="toc-Further_reading-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Transactional Synchronization Extensions</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 3 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-3" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">3 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Transactional_Synchronization_Extensions" title="Transactional Synchronization Extensions – German" lang="de" hreflang="de" data-title="Transactional Synchronization Extensions" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Transactional_Synchronization_Extensions" title="Transactional Synchronization Extensions – Italian" lang="it" hreflang="it" data-title="Transactional Synchronization Extensions" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Transactional_Synchronization_Extensions" title="Transactional Synchronization Extensions – Polish" lang="pl" hreflang="pl" data-title="Transactional Synchronization Extensions" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q7833723#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Transactional_Synchronization_Extensions" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Transactional_Synchronization_Extensions" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Transactional_Synchronization_Extensions"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Transactional_Synchronization_Extensions"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Transactional_Synchronization_Extensions" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Transactional_Synchronization_Extensions" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;oldid=1157693538" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Transactional_Synchronization_Extensions&amp;id=1157693538&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTransactional_Synchronization_Extensions"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTransactional_Synchronization_Extensions"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Transactional_Synchronization_Extensions&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q7833723" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Extension to the x86 instruction set architecture that adds hardware transactional memory support</div> <p><b>Transactional Synchronization Extensions</b> (<b>TSX</b>), also called <b>Transactional Synchronization Extensions New Instructions</b> (<b>TSX-NI</b>), is an extension to the <a href="/wiki/X86" title="X86">x86</a> <a href="/wiki/Instruction_set_architecture" title="Instruction set architecture">instruction set architecture</a> (ISA) that adds hardware <a href="/wiki/Transactional_memory" title="Transactional memory">transactional memory</a> support, speeding up execution of multi-threaded software through lock elision. According to different benchmarks, TSX/TSX-NI can provide around 40% faster applications execution in specific workloads, and 4&#8211;5 times more database <a href="/wiki/Transactions_per_second" title="Transactions per second">transactions per second</a> (TPS).<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> </p><p>TSX/TSX-NI was documented by <a href="/wiki/Intel" title="Intel">Intel</a> in February 2012, and debuted in June 2013 on selected Intel <a href="/wiki/Microprocessor" title="Microprocessor">microprocessors</a> based on the <a href="/wiki/Haswell_(microarchitecture)" title="Haswell (microarchitecture)">Haswell</a> microarchitecture.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> Haswell processors below 45xx as well as R-series and K-series (with unlocked multiplier) <a href="/wiki/Stock_keeping_unit" title="Stock keeping unit">SKUs</a> do not support TSX/TSX-NI.<sup id="cite_ref-comparison_8-0" class="reference"><a href="#cite_note-comparison-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> In August 2014, Intel announced a bug in the TSX/TSX-NI implementation on current steppings of Haswell, Haswell-E, Haswell-EP and early <a href="/wiki/Broadwell_(microarchitecture)" title="Broadwell (microarchitecture)">Broadwell</a> CPUs, which resulted in disabling the TSX/TSX-NI feature on affected CPUs via a <a href="/wiki/Microcode" title="Microcode">microcode</a> update.<sup id="cite_ref-techreport-26911_9-0" class="reference"><a href="#cite_note-techreport-26911-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-intel-spec-update_10-0" class="reference"><a href="#cite_note-intel-spec-update-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> </p><p>In 2016, a <a href="/wiki/Side-channel_attack" title="Side-channel attack">side-channel</a> <a href="/wiki/Timing_attack" title="Timing attack">timing attack</a> was found by abusing the way TSX/TSX-NI handles transactional faults (i.e. <a href="/wiki/Page_fault" title="Page fault">page faults</a>) in order to break <a href="/wiki/KASLR" class="mw-redirect" title="KASLR">kernel address space layout randomization</a> (KASLR) on all major operating systems.<sup id="cite_ref-Breaking_Kernel_Address_Space_Layout_Randomization_with_Intel_TSX_11-0" class="reference"><a href="#cite_note-Breaking_Kernel_Address_Space_Layout_Randomization_with_Intel_TSX-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> In 2021, Intel released a microcode update that disabled the TSX/TSX-NI feature on CPU generations from <a href="/wiki/Skylake_(microarchitecture)" title="Skylake (microarchitecture)">Skylake</a> to <a href="/wiki/Coffee_Lake" title="Coffee Lake">Coffee Lake</a>, as a mitigation for discovered security issues.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> </p><p>Support for TSX/TSX-NI emulation is provided as part of the Intel Software Development Emulator.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> There is also experimental support for TSX/TSX-NI emulation in a <a href="/wiki/QEMU" title="QEMU">QEMU</a> fork.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Features">Features</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=1" title="Edit section: Features"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>TSX/TSX-NI provides two software interfaces for designating code regions for transactional execution. <b>Hardware Lock Elision</b> (HLE) is an instruction prefix-based interface designed to be backward compatible with processors without TSX/TSX-NI support. <b>Restricted Transactional Memory</b> (RTM) is a new instruction set interface that provides greater flexibility for programmers.<sup id="cite_ref-anandtech-tsx_15-0" class="reference"><a href="#cite_note-anandtech-tsx-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> </p><p>TSX/TSX-NI enables <a href="/wiki/Speculative_execution" title="Speculative execution">optimistic execution</a> of transactional code regions. The hardware monitors multiple threads for conflicting memory accesses, while aborting and rolling back transactions that cannot be successfully completed. Mechanisms are provided for software to detect and handle failed transactions.<sup id="cite_ref-anandtech-tsx_15-1" class="reference"><a href="#cite_note-anandtech-tsx-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> </p><p>In other words, lock elision through transactional execution uses memory transactions as a fast path where possible, while the slow (fallback) path is still a normal lock. </p> <div class="mw-heading mw-heading3"><h3 id="Hardware_Lock_Elision"><span class="anchor" id="HLE"></span>Hardware Lock Elision</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=2" title="Edit section: Hardware Lock Elision"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Hardware Lock Elision (HLE) adds two new instruction prefixes, <code>XACQUIRE</code> and <code>XRELEASE</code>. These two prefixes reuse the <a href="/wiki/Opcodes" class="mw-redirect" title="Opcodes">opcodes</a> of the existing <code>REPNE</code> / <code>REPE</code> prefixes (<code>F2H</code> / <code>F3H</code>). On processors that do not support HLE, <code>REPNE</code> / <code>REPE</code> prefixes are ignored on instructions for which the <code>XACQUIRE</code> / <code>XRELEASE</code> are valid, thus enabling backward compatibility.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> </p><p>The <code>XACQUIRE</code> prefix hint can only be used with the following instructions with an explicit <code>LOCK</code> prefix: <code>ADD</code>, <code>ADC</code>, <code>AND</code>, <code>BTC</code>, <code>BTR</code>, <code>BTS</code>, <code>CMPXCHG</code>, <code>CMPXCHG8B</code>, <code>DEC</code>, <code>INC</code>, <code>NEG</code>, <code>NOT</code>, <code>OR</code>, <code>SBB</code>, <code>SUB</code>, <code>XOR</code>, <code>XADD</code>, and <code>XCHG</code>. The <code>XCHG</code> instruction can be used without the <code>LOCK</code> prefix as well. </p><p>The <code>XRELEASE</code> prefix hint can be used both with the instructions listed above, and with the <code>MOV mem, reg</code> and <code>MOV mem, imm</code> instructions. </p><p>HLE allows optimistic execution of a critical section by skipping the write to a lock, so that the lock appears to be free to other threads. A failed transaction results in execution restarting from the <code>XACQUIRE</code>-prefixed instruction, but treating the instruction as if the <code>XACQUIRE</code> prefix were not present. </p> <div class="mw-heading mw-heading3"><h3 id="Restricted_Transactional_Memory"><span class="anchor" id="RTM"></span>Restricted Transactional Memory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=3" title="Edit section: Restricted Transactional Memory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Restricted Transactional Memory (RTM) is an alternative implementation to HLE which gives the programmer the flexibility to specify a fallback code path that is executed when a transaction cannot be successfully executed. Unlike HLE, RTM is not backward compatible with processors that do not support it. For backward compatibility, programs are required to detect support for RTM in the CPU before using the new instructions. </p><p>RTM adds three new instructions: <code>XBEGIN</code>, <code>XEND</code> and <code>XABORT</code>. The <code>XBEGIN</code> and <code>XEND</code> instructions mark the start and the end of a transactional code region; the <code>XABORT</code> instruction explicitly aborts a transaction. Transaction failure redirects the processor to the fallback code path specified by the <code>XBEGIN</code> instruction, with the abort status returned in the <code>EAX</code> register. </p> <table class="wikitable"> <tbody><tr> <th>EAX register<br />bit position</th> <th>Meaning </th></tr> <tr> <td style="text-align:center;">0</td> <td>Set if abort caused by <code>XABORT</code> instruction. </td></tr> <tr> <td style="text-align:center;">1</td> <td>If set, the transaction may succeed on a retry. This bit is always clear if bit 0 is set. </td></tr> <tr> <td style="text-align:center;">2</td> <td>Set if another logical processor conflicted with a memory address that was part of the transaction that aborted. </td></tr> <tr> <td style="text-align:center;">3</td> <td>Set if an internal buffer overflowed. </td></tr> <tr> <td style="text-align:center;">4</td> <td>Set if debug breakpoint was hit. </td></tr> <tr> <td style="text-align:center;">5</td> <td>Set if an abort occurred during execution of a nested transaction. </td></tr> <tr> <td style="text-align:center;">23:6</td> <td>Reserved. </td></tr> <tr> <td style="text-align:center;">31:24</td> <td><code>XABORT</code> argument (only valid if bit 0 set, otherwise reserved). </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="XTEST_instruction"><code>XTEST</code> instruction</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=4" title="Edit section: XTEST instruction"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>TSX/TSX-NI provides a new <code>XTEST</code> instruction that returns whether the processor is executing a transactional region. This instruction is supported by the processor if it supports HLE or RTM or both. </p> <div class="mw-heading mw-heading3"><h3 id="TSX_Suspend_Load_Address_Tracking"><span class="anchor" id="TSXLDTRK"></span>TSX Suspend Load Address Tracking</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=5" title="Edit section: TSX Suspend Load Address Tracking"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>TSX/TSX-NI Suspend Load Address Tracking (TSXLDTRK) is an instruction set extension that allows to temporarily disable tracking loads from memory in a section of code within a transactional region. This feature extends HLE and RTM, and its support in the processor must be detected separately. </p><p>TSXLDTRK introduces two new instructions, <code>XSUSLDTRK</code> and <code>XRESLDTRK</code>, for suspending and resuming load address tracking, respectively. While the tracking is suspended, any loads from memory will not be added to the transaction read set. This means that, unless these memory locations were added to the transaction read or write sets outside the suspend region, writes at these locations by other threads will not cause transaction abort. Suspending load address tracking for a portion of code within a transactional region allows to reduce the amount of memory that needs to be tracked for read-write conflicts and therefore increase the probability of successful commit of the transaction. </p> <div class="mw-heading mw-heading2"><h2 id="Implementation">Implementation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=6" title="Edit section: Implementation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Transactional_memory#Available_implementations" title="Transactional memory">Transactional memory § Available implementations</a></div> <p>Intel's TSX/TSX-NI specification describes how the transactional memory is exposed to programmers, but withholds details on the actual transactional memory implementation.<sup id="cite_ref-haswell-tm_17-0" class="reference"><a href="#cite_note-haswell-tm-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> Intel specifies in its developer's and optimization manuals that Haswell maintains both read-sets and write-sets at the granularity of a cache line, tracking addresses in the L1 data cache of the processor.<sup id="cite_ref-intel-arch-sdm_18-0" class="reference"><a href="#cite_note-intel-arch-sdm-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-intel-arch-optimization_19-0" class="reference"><a href="#cite_note-intel-arch-optimization-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> Intel also states that data conflicts are detected through the <a href="/wiki/Cache_coherence" title="Cache coherence">cache coherence</a> protocol.<sup id="cite_ref-intel-arch-optimization_19-1" class="reference"><a href="#cite_note-intel-arch-optimization-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> </p><p>Haswell's L1 data cache has an associativity of eight. This means that in this implementation, a transactional execution that writes to nine distinct locations mapping to the same cache set will abort. However, due to micro-architectural implementations, this does not mean that fewer accesses to the same set are guaranteed to never abort. Additionally, in CPU configurations with <a href="/wiki/Hyper-Threading_Technology" class="mw-redirect" title="Hyper-Threading Technology">Hyper-Threading Technology</a>, the L1 cache is shared between the two threads on the same core, so operations in a sibling logical processor of the same core can cause evictions.<sup id="cite_ref-intel-arch-optimization_19-2" class="reference"><a href="#cite_note-intel-arch-optimization-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> </p><p>Independent research points into Haswell’s transactional memory most likely being a deferred update system using the per-core caches for transactional data and register checkpoints.<sup id="cite_ref-haswell-tm_17-1" class="reference"><a href="#cite_note-haswell-tm-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> In other words, Haswell is more likely to use the cache-based transactional memory system, as it is a much less risky implementation choice. On the other hand, Intel's <a href="/wiki/Skylake_(microarchitecture)" title="Skylake (microarchitecture)">Skylake</a> or later may combine this cache-based approach with <i>memory ordering buffer</i> (MOB) for the same purpose, possibly also providing multi-versioned transactional memory that is more amenable to <a href="/wiki/Speculative_multithreading" title="Speculative multithreading">speculative multithreading</a>.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="History_and_bugs">History and bugs</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=7" title="Edit section: History and bugs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In August 2014, Intel announced that a bug exists in the TSX/TSX-NI implementation on Haswell, Haswell-E, Haswell-EP and early Broadwell CPUs, which resulted in disabling the TSX/TSX-NI feature on affected CPUs via a microcode update.<sup id="cite_ref-techreport-26911_9-1" class="reference"><a href="#cite_note-techreport-26911-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-intel-spec-update_10-1" class="reference"><a href="#cite_note-intel-spec-update-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> The bug was fixed in F-0 steppings of the vPro-enabled Core M-5Y70 Broadwell CPU in November 2014.<sup id="cite_ref-intel-330836-003_24-0" class="reference"><a href="#cite_note-intel-330836-003-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> </p><p>The bug was found and then reported during a diploma thesis in the School of Electrical and Computer Engineering of the <a href="/wiki/National_Technical_University_of_Athens" title="National Technical University of Athens">National Technical University of Athens</a>.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p><p>In October 2018, Intel disclosed a TSX/TSX-NI memory ordering issue found in some <a href="/wiki/Skylake_(microarchitecture)" title="Skylake (microarchitecture)">Skylake</a> processors.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup> As a result of a microcode update, HLE support was disabled in the affected CPUs, and RTM was mitigated by sacrificing one performance counter when used outside of Intel <a href="/wiki/Software_Guard_Extensions" title="Software Guard Extensions">SGX</a> mode or System Management Mode (<a href="/wiki/System_Management_Mode" title="System Management Mode">SMM</a>). System software would have to either effectively disable RTM or update performance monitoring tools not to use the affected performance counter. </p><p>In June 2021, Intel published a microcode update that further disables TSX/TSX-NI on various Xeon and Core processor models from <a href="/wiki/Skylake_(microarchitecture)" title="Skylake (microarchitecture)">Skylake</a> through <a href="/wiki/Coffee_Lake" title="Coffee Lake">Coffee Lake</a> and <a href="/wiki/Whiskey_Lake_(microprocessor)" class="mw-redirect" title="Whiskey Lake (microprocessor)">Whiskey Lake</a> as a mitigation for TSX Asynchronous Abort (TAA) vulnerability. Earlier mitigation for memory ordering issue was removed.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> By default, with the updated microcode, the processor would still indicate support for RTM but would always abort the transaction. System software is able to detect this mode of operation and mask support for TSX/TSX-NI from the <a href="/wiki/CPUID#EAX=7,_ECX=0:_Extended_Features" title="CPUID"><code>CPUID</code></a> instruction, preventing detection of TSX/TSX-NI by applications. System software may also enable the "Unsupported Software Development Mode", where RTM is fully active, but in this case RTM usage may be subject to the issues described earlier, and therefore this mode should not be enabled on production systems. On some systems RTM can't be re-enabled when SGX is active. HLE is always disabled. </p><p>According to Intel 64 and IA-32 Architectures Software Developer's Manual from May 2020, Volume 1, Chapter 2.5 Intel Instruction Set Architecture And Features Removed,<sup id="cite_ref-intel-arch-sdm_18-1" class="reference"><a href="#cite_note-intel-arch-sdm-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> HLE has been removed from Intel products released in 2019 and later. RTM is not documented as removed. However, Intel 10th generation <a href="/wiki/Comet_Lake_(microprocessor)" class="mw-redirect" title="Comet Lake (microprocessor)">Comet Lake</a> and <a href="/wiki/Ice_Lake_(microprocessor)" title="Ice Lake (microprocessor)">Ice Lake</a> client processors, which were released in 2020, do not support TSX/TSX-NI,<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> including both HLE and RTM. Engineering versions of Comet Lake processors were still retaining TSX/TSX-NI support. </p><p>In Intel Architecture Instruction Set Extensions Programming Reference revision 41 from October 2020,<sup id="cite_ref-intel-arch-extensions_33-0" class="reference"><a href="#cite_note-intel-arch-extensions-33"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup> a new TSXLDTRK instruction set extension was documented. It was first included in <a href="/wiki/Sapphire_Rapids_(microprocessor)" class="mw-redirect" title="Sapphire Rapids (microprocessor)">Sapphire Rapids</a> processors released in January 2023. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=8" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Advanced_Synchronization_Facility" title="Advanced Synchronization Facility">Advanced Synchronization Facility</a> – AMD's competing technology</li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=9" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFRichard_M._YooChristopher_J._HughesKonrad_LaiRavi_Rajwar2013" class="citation web cs1">Richard M. Yoo; Christopher J. Hughes; Konrad Lai; Ravi Rajwar (November 2013). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161024172155/http://pcl.intel-research.net/publications/SC13-TSX.pdf">"Performance Evaluation of Intel Transactional Synchronization Extensions for High-Performance Computing"</a> <span class="cs1-format">(PDF)</span>. <i>intel-research.net</i>. Archived from <a rel="nofollow" class="external text" href="http://pcl.intel-research.net/publications/SC13-TSX.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2016-10-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=intel-research.net&amp;rft.atitle=Performance+Evaluation+of+Intel+Transactional+Synchronization+Extensions+for+High-Performance+Computing&amp;rft.date=2013-11&amp;rft.au=Richard+M.+Yoo&amp;rft.au=Christopher+J.+Hughes&amp;rft.au=Konrad+Lai&amp;rft.au=Ravi+Rajwar&amp;rft_id=http%3A%2F%2Fpcl.intel-research.net%2Fpublications%2FSC13-TSX.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTomas_KarnagelRoman_DementievRavi_RajwarKonrad_Lai2014" class="citation web cs1">Tomas Karnagel; Roman Dementiev; Ravi Rajwar; Konrad Lai; Thomas Legler; Benjamin Schlegel; Wolfgang Lehner (February 2014). <a rel="nofollow" class="external text" href="http://software.intel.com/sites/default/files/managed/4d/2a/hpca_TSX.pdf">"Improving In-Memory Database Index Performance with Intel Transactional Synchronization Extensions"</a> <span class="cs1-format">(PDF)</span>. <i>software.intel.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-03-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=software.intel.com&amp;rft.atitle=Improving+In-Memory+Database+Index+Performance+with+Intel+Transactional+Synchronization+Extensions&amp;rft.date=2014-02&amp;rft.au=Tomas+Karnagel&amp;rft.au=Roman+Dementiev&amp;rft.au=Ravi+Rajwar&amp;rft.au=Konrad+Lai&amp;rft.au=Thomas+Legler&amp;rft.au=Benjamin+Schlegel&amp;rft.au=Wolfgang+Lehner&amp;rft_id=http%3A%2F%2Fsoftware.intel.com%2Fsites%2Fdefault%2Ffiles%2Fmanaged%2F4d%2F2a%2Fhpca_TSX.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20131029202737/http://sc13.supercomputing.org/schedule/event_detail.php?evid=pap260">"Performance Evaluation of Intel Transactional Synchronization Extensions for High Performance Computing"</a>. <i>supercomputing.org</i>. November 2013. Archived from <a rel="nofollow" class="external text" href="http://sc13.supercomputing.org/schedule/event_detail.php?evid=pap260">the original</a> on 2013-10-29<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=supercomputing.org&amp;rft.atitle=Performance+Evaluation+of+Intel+Transactional+Synchronization+Extensions+for+High+Performance+Computing&amp;rft.date=2013-11&amp;rft_id=http%3A%2F%2Fsc13.supercomputing.org%2Fschedule%2Fevent_detail.php%3Fevid%3Dpap260&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.sisoftware.co.uk/?d=qa&amp;f=ben_mem_hle">"Benchmarks: Haswell's TSX and Memory Transaction Throughput (HLE and RTM)"</a>. <i>sisoftware.co.uk</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=sisoftware.co.uk&amp;rft.atitle=Benchmarks%3A+Haswell%27s+TSX+and+Memory+Transaction+Throughput+%28HLE+and+RTM%29&amp;rft_id=http%3A%2F%2Fwww.sisoftware.co.uk%2F%3Fd%3Dqa%26f%3Dben_mem_hle&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell">"Transactional Synchronization in Haswell"</a>. Software.intel.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-02-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Transactional+Synchronization+in+Haswell&amp;rft.pub=Software.intel.com&amp;rft_id=http%3A%2F%2Fsoftware.intel.com%2Fen-us%2Fblogs%2F2012%2F02%2F07%2Ftransactional-synchronization-in-haswell&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://arstechnica.com/business/news/2012/02/transactional-memory-going-mainstream-with-intel-haswell.ars">"Transactional memory going mainstream with Intel Haswell"</a>. <i>Ars Technica</i>. 2012-02-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-02-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Ars+Technica&amp;rft.atitle=Transactional+memory+going+mainstream+with+Intel+Haswell&amp;rft.date=2012-02-08&amp;rft_id=https%3A%2F%2Farstechnica.com%2Fbusiness%2Fnews%2F2012%2F02%2Ftransactional-memory-going-mainstream-with-intel-haswell.ars&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.tomshardware.com/reviews/core-i7-4770k-haswell-review,3521.html">"The Core i7-4770K Review"</a>. Tom's Hardware. 2013-06-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-06-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+Core+i7-4770K+Review&amp;rft.pub=Tom%27s+Hardware&amp;rft.date=2013-06-01&amp;rft_id=http%3A%2F%2Fwww.tomshardware.com%2Freviews%2Fcore-i7-4770k-haswell-review%2C3521.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-comparison-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-comparison_8-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://ark.intel.com/compare/77773,77775,77777,77480,77769,77771,75036,75037,75043,76640,75044,75045,75047,75048,76641,75049,75050,75121,75122,75123,76642,75124,75125">"Intel Comparison Table of Haswell Pentium, i3, i5, and i7 models"</a>. intel.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-02-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+Comparison+Table+of+Haswell+Pentium%2C+i3%2C+i5%2C+and+i7+models&amp;rft.pub=intel.com&amp;rft_id=http%3A%2F%2Fark.intel.com%2Fcompare%2F77773%2C77775%2C77777%2C77480%2C77769%2C77771%2C75036%2C75037%2C75043%2C76640%2C75044%2C75045%2C75047%2C75048%2C76641%2C75049%2C75050%2C75121%2C75122%2C75123%2C76642%2C75124%2C75125&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-techreport-26911-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-techreport-26911_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-techreport-26911_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFScott_Wasson2014" class="citation web cs1">Scott Wasson (2014-08-12). <a rel="nofollow" class="external text" href="http://techreport.com/news/26911/errata-prompts-intel-to-disable-tsx-in-haswell-early-broadwell-cpus">"Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs"</a>. <i>techreport.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-08-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=techreport.com&amp;rft.atitle=Errata+prompts+Intel+to+disable+TSX+in+Haswell%2C+early+Broadwell+CPUs&amp;rft.date=2014-08-12&amp;rft.au=Scott+Wasson&amp;rft_id=http%3A%2F%2Ftechreport.com%2Fnews%2F26911%2Ferrata-prompts-intel-to-disable-tsx-in-haswell-early-broadwell-cpus&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-intel-spec-update-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-intel-spec-update_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-intel-spec-update_10-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf">"Desktop 4th Generation Intel Core Processor Family, Desktop Intel Pentium Processor Family, and Desktop Intel Celeron Processor Family: Specification Update (Revision 014)"</a> <span class="cs1-format">(PDF)</span>. <a href="/wiki/Intel" title="Intel">Intel</a>. June 2014. p.&#160;46<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-08-13</span></span>. <q>Under a complex set of internal timing conditions and system events, software using the Intel TSX/TSX-NI (Transactional Synchronization Extensions) instructions may observe unpredictable system behavior.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Desktop+4th+Generation+Intel+Core+Processor+Family%2C+Desktop+Intel+Pentium+Processor+Family%2C+and+Desktop+Intel+Celeron+Processor+Family%3A+Specification+Update+%28Revision+014%29&amp;rft.pages=46&amp;rft.pub=Intel&amp;rft.date=2014-06&amp;rft_id=http%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fwww%2Fpublic%2Fus%2Fen%2Fdocuments%2Fspecification-updates%2F4th-gen-core-family-desktop-specification-update.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-Breaking_Kernel_Address_Space_Layout_Randomization_with_Intel_TSX-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Breaking_Kernel_Address_Space_Layout_Randomization_with_Intel_TSX_11-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.blackhat.com/docs/us-16/materials/us-16-Jang-Breaking-Kernel-Address-Space-Layout-Randomization-KASLR-With-Intel-TSX-wp.pdf">"Breaking Kernel Address Space Layout Randomization with Intel TSX"</a> <span class="cs1-format">(PDF)</span>. 2016.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Breaking+Kernel+Address+Space+Layout+Randomization+with+Intel+TSX&amp;rft.date=2016&amp;rft_id=https%3A%2F%2Fwww.blackhat.com%2Fdocs%2Fus-16%2Fmaterials%2Fus-16-Jang-Breaking-Kernel-Address-Space-Layout-Randomization-KASLR-With-Intel-TSX-wp.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGareth_Halfacree2021" class="citation web cs1">Gareth Halfacree (2021-06-29). <a rel="nofollow" class="external text" href="https://www.theregister.com/2021/06/29/intel_tsx_disabled/">"Intel sticks another nail in the coffin of TSX with feature-disabling microcode update"</a>. <a href="/wiki/The_Register" title="The Register">The Register</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-10-17</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+sticks+another+nail+in+the+coffin+of+TSX+with+feature-disabling+microcode+update&amp;rft.pub=The+Register&amp;rft.date=2021-06-29&amp;rft.au=Gareth+Halfacree&amp;rft_id=https%3A%2F%2Fwww.theregister.com%2F2021%2F06%2F29%2Fintel_tsx_disabled%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWooyoung_Kim2013" class="citation web cs1">Wooyoung Kim (2013-07-25). <a rel="nofollow" class="external text" href="http://software.intel.com/en-us/blogs/2013/07/25/fun-with-intel-transactional-synchronization-extensions">"Fun with Intel Transactional Synchronization Extensions"</a>. <a href="/wiki/Intel" title="Intel">Intel</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Fun+with+Intel+Transactional+Synchronization+Extensions&amp;rft.pub=Intel&amp;rft.date=2013-07-25&amp;rft.au=Wooyoung+Kim&amp;rft_id=http%3A%2F%2Fsoftware.intel.com%2Fen-us%2Fblogs%2F2013%2F07%2F25%2Ffun-with-intel-transactional-synchronization-extensions&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSebastien_DabdoubStephen_Tu" class="citation web cs1">Sebastien Dabdoub; Stephen Tu. <a rel="nofollow" class="external text" href="http://people.csail.mit.edu/stephentu/papers/tsx.pdf">"Supporting Intel Transactional Synchronization Extensions in QEMU"</a> <span class="cs1-format">(PDF)</span>. <i>mit.edu</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=mit.edu&amp;rft.atitle=Supporting+Intel+Transactional+Synchronization+Extensions+in+QEMU&amp;rft.au=Sebastien+Dabdoub&amp;rft.au=Stephen+Tu&amp;rft_id=http%3A%2F%2Fpeople.csail.mit.edu%2Fstephentu%2Fpapers%2Ftsx.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-anandtech-tsx-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-anandtech-tsx_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-anandtech-tsx_15-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJohan_De_Gelas2012" class="citation web cs1">Johan De Gelas (2012-09-20). <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/6290/making-sense-of-intel-haswell-transactional-synchronization-extensions/2">"Making Sense of the Intel Haswell Transactional Synchronization eXtensions"</a>. <a href="/wiki/AnandTech" title="AnandTech">AnandTech</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-10-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Making+Sense+of+the+Intel+Haswell+Transactional+Synchronization+eXtensions&amp;rft.pub=AnandTech&amp;rft.date=2012-09-20&amp;rft.au=Johan+De+Gelas&amp;rft_id=http%3A%2F%2Fwww.anandtech.com%2Fshow%2F6290%2Fmaking-sense-of-intel-haswell-transactional-synchronization-extensions%2F2&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20131029205123/http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-win/GUID-A462FBC8-37F2-490F-A68B-2FFA8010DEBC.htm">"Hardware Lock Elision Overview"</a>. intel.com. Archived from <a rel="nofollow" class="external text" href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-win/GUID-A462FBC8-37F2-490F-A68B-2FFA8010DEBC.htm">the original</a> on 2013-10-29<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Hardware+Lock+Elision+Overview&amp;rft.pub=intel.com&amp;rft_id=http%3A%2F%2Fsoftware.intel.com%2Fsites%2Fproducts%2Fdocumentation%2Fdoclib%2Fstdxe%2F2013%2Fcomposerxe%2Fcompiler%2Fcpp-win%2FGUID-A462FBC8-37F2-490F-A68B-2FFA8010DEBC.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-haswell-tm-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-haswell-tm_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-haswell-tm_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavid_Kanter2012" class="citation web cs1">David Kanter (2012-08-21). <a rel="nofollow" class="external text" href="http://www.realworldtech.com/haswell-tm/">"Analysis of Haswell's Transactional Memory"</a>. Real World Technologies<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Analysis+of+Haswell%27s+Transactional+Memory&amp;rft.pub=Real+World+Technologies&amp;rft.date=2012-08-21&amp;rft.au=David+Kanter&amp;rft_id=http%3A%2F%2Fwww.realworldtech.com%2Fhaswell-tm%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-intel-arch-sdm-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-intel-arch-sdm_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-intel-arch-sdm_18-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">"Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, and 3C"</a> <span class="cs1-format">(PDF)</span>. Intel. September 2013. p.&#160;342<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+64+and+IA-32+Architectures+Software+Developer%27s+Manual+Combined+Volumes%3A+1%2C+2A%2C+2B%2C+2C%2C+3A%2C+3B%2C+and+3C&amp;rft.pages=342&amp;rft.pub=Intel&amp;rft.date=2013-09&amp;rft_id=http%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fwww%2Fpublic%2Fus%2Fen%2Fdocuments%2Fmanuals%2F64-ia-32-architectures-software-developer-manual-325462.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-intel-arch-optimization-19"><span class="mw-cite-backlink">^ <a href="#cite_ref-intel-arch-optimization_19-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-intel-arch-optimization_19-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-intel-arch-optimization_19-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf">"Intel 64 and IA-32 Architectures Optimization Reference Manual"</a> <span class="cs1-format">(PDF)</span>. Intel. September 2013. p.&#160;446<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+64+and+IA-32+Architectures+Optimization+Reference+Manual&amp;rft.pages=446&amp;rft.pub=Intel&amp;rft.date=2013-09&amp;rft_id=http%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fwww%2Fpublic%2Fus%2Fen%2Fdocuments%2Fmanuals%2F64-ia-32-architectures-optimization-manual.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://software.intel.com/en-us/forums/topic/402412">"Intel TSX implementation properties"</a>. Intel. 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-14</span></span>. <q>The processor tracks both the read-set addresses and the write-set addresses in the first level data cache (L1 cache) of the processor.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+TSX+implementation+properties&amp;rft.pub=Intel&amp;rft.date=2013&amp;rft_id=http%3A%2F%2Fsoftware.intel.com%2Fen-us%2Fforums%2Ftopic%2F402412&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDe_Gelas2012" class="citation web cs1">De Gelas, Johan (September 20, 2012). <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/6290/making-sense-of-intel-haswell-transactional-synchronization-extensions/4">"Making Sense of the Intel Haswell Transactional Synchronization eXtensions"</a>. AnandTech<span class="reference-accessdate">. Retrieved <span class="nowrap">23 December</span> 2013</span>. <q>The whole "CPU does the fine grained locks" is based upon tagging the L1 (64 B) cachelines and there are 512 of them to be specific (64 x 512 = 32 KB). There is only one "lock tag" per cacheline.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Making+Sense+of+the+Intel+Haswell+Transactional+Synchronization+eXtensions&amp;rft.pub=AnandTech&amp;rft.date=2012-09-20&amp;rft.aulast=De+Gelas&amp;rft.aufirst=Johan&amp;rft_id=http%3A%2F%2Fwww.anandtech.com%2Fshow%2F6290%2Fmaking-sense-of-intel-haswell-transactional-synchronization-extensions%2F4&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavid_Kanter2012" class="citation web cs1">David Kanter (2012-08-21). <a rel="nofollow" class="external text" href="http://www.realworldtech.com/haswell-tm-alt/">"Haswell Transactional Memory Alternatives"</a>. Real World Technologies<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Haswell+Transactional+Memory+Alternatives&amp;rft.pub=Real+World+Technologies&amp;rft.date=2012-08-21&amp;rft.au=David+Kanter&amp;rft_id=http%3A%2F%2Fwww.realworldtech.com%2Fhaswell-tm-alt%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIan_Cutress2014" class="citation web cs1">Ian Cutress (2014-08-12). <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/8376/intel-disables-tsx-instructions-erratum-found-in-haswell-haswelleep-broadwelly">"Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y"</a>. <a href="/wiki/AnandTech" title="AnandTech">AnandTech</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-08-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+Disables+TSX+Instructions%3A+Erratum+Found+in+Haswell%2C+Haswell-E%2FEP%2C+Broadwell-Y&amp;rft.pub=AnandTech&amp;rft.date=2014-08-12&amp;rft.au=Ian+Cutress&amp;rft_id=http%3A%2F%2Fwww.anandtech.com%2Fshow%2F8376%2Fintel-disables-tsx-instructions-erratum-found-in-haswell-haswelleep-broadwelly&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-intel-330836-003-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-intel-330836-003_24-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/core-m-processor-family-spec-update.pdf">"Intel Core M Processor Family. Specification Update. December 2014. Revision 003. 330836-003"</a> <span class="cs1-format">(PDF)</span>. <a href="/wiki/Intel" title="Intel">Intel</a>. December 2014. p.&#160;10<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-12-28</span></span>. <q>BDM53 <sup>1</sup> E-0: X, F-0:, Status: Fixed ERRATA: Intel TSX Instructions Not Available. 1. Applies to Intel Core M-5Y70 processor. Intel TSX is supported on Intel Core M-5Y70 processor with Intel vPro Technology. Intel TSX is not supported on other processor SKUs.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel+Core+M+Processor+Family.+Specification+Update.+December+2014.+Revision+003.+330836-003&amp;rft.pages=10&amp;rft.pub=Intel&amp;rft.date=2014-12&amp;rft_id=http%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fwww%2Fpublic%2Fus%2Fen%2Fdocuments%2Fspecification-updates%2Fcore-m-processor-family-spec-update.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170305013511/https://www.hipeac.net/assets/public/publications/newsletter/hipeacinfo45.pdf">"HiPEAC info"</a> <span class="cs1-format">(PDF)</span>. p.&#160;12. Archived from <a rel="nofollow" class="external text" href="https://www.hipeac.net/assets/public/publications/newsletter/hipeacinfo45.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2017-03-05.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=HiPEAC+info&amp;rft.pages=12&amp;rft_id=https%3A%2F%2Fwww.hipeac.net%2Fassets%2Fpublic%2Fpublications%2Fnewsletter%2Fhipeacinfo45.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.intel.com/content/dam/support/us/en/documents/processors/Performance-Monitoring-Impact-of-TSX-Memory-Ordering-Issue-604224.pdf">"Performance Monitoring Impact of Intel® Transactional Synchronization Extension Memory Ordering Issue White Paper, June 2021, Revision 1.4"</a> <span class="cs1-format">(PDF)</span>. Intel. 2021-06-12. p.&#160;5. <q>The October 2018 microcode update also disabled the HLE instruction prefix of Intel TSX and force all RTM transactions to abort when operating in Intel SGX mode or System Management Mode (SMM).</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Performance+Monitoring+Impact+of+Intel%C2%AE+Transactional+Synchronization+Extension+Memory+Ordering+Issue+White+Paper%2C+June+2021%2C+Revision+1.4&amp;rft.pages=5&amp;rft.pub=Intel&amp;rft.date=2021-06-12&amp;rft_id=https%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fsupport%2Fus%2Fen%2Fdocuments%2Fprocessors%2FPerformance-Monitoring-Impact-of-TSX-Memory-Ordering-Issue-604224.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.intel.com/content/www/us/en/support/articles/000059422/processors.html">"Intel® Transactional Synchronization Extensions (Intel® TSX) Memory and Performance Monitoring Update for Intel® Processors"</a>. Intel. 2021-06-12.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Transactional+Synchronization+Extensions+%28Intel%C2%AE+TSX%29+Memory+and+Performance+Monitoring+Update+for+Intel%C2%AE+Processors&amp;rft.pub=Intel&amp;rft.date=2021-06-12&amp;rft_id=https%3A%2F%2Fwww.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fsupport%2Farticles%2F000059422%2Fprocessors.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ark.intel.com/content/www/us/en/ark/products/199332/intel-core-i9-10900k-processor-20m-cache-up-to-5-30-ghz.html">"Intel® Core™ i9-10900K Processor specifications"</a>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Core%E2%84%A2+i9-10900K+Processor+specifications&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fark.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fark%2Fproducts%2F199332%2Fintel-core-i9-10900k-processor-20m-cache-up-to-5-30-ghz.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ark.intel.com/content/www/us/en/ark/products/201838/intel-core-i9-10980hk-processor-16m-cache-up-to-5-30-ghz.html">"Intel® Core™ i9-10980HK Processor specifications"</a>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Core%E2%84%A2+i9-10980HK+Processor+specifications&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fark.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fark%2Fproducts%2F201838%2Fintel-core-i9-10980hk-processor-16m-cache-up-to-5-30-ghz.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ark.intel.com/content/www/us/en/ark/products/201888/intel-core-i7-10810u-processor-12m-cache-up-to-4-90-ghz.html">"Intel® Core™ i7-10810U Processor specifications"</a>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Core%E2%84%A2+i7-10810U+Processor+specifications&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fark.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fark%2Fproducts%2F201888%2Fintel-core-i7-10810u-processor-12m-cache-up-to-4-90-ghz.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ark.intel.com/content/www/us/en/ark/products/199336/intel-xeon-w-1290p-processor-20m-cache-3-70-ghz.html">"Intel® Xeon® W-1290P Processor specifications"</a>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Xeon%C2%AE+W-1290P+Processor+specifications&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fark.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fark%2Fproducts%2F199336%2Fintel-xeon-w-1290p-processor-20m-cache-3-70-ghz.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ark.intel.com/content/www/us/en/ark/products/196593/intel-core-i7-1068ng7-processor-8m-cache-up-to-4-10-ghz.html">"Intel® Core™ i7-1068NG7 Processor specifications"</a>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Core%E2%84%A2+i7-1068NG7+Processor+specifications&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fark.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fark%2Fproducts%2F196593%2Fintel-core-i7-1068ng7-processor-8m-cache-up-to-4-10-ghz.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> <li id="cite_note-intel-arch-extensions-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-intel-arch-extensions_33-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://software.intel.com/content/dam/develop/external/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf">"Intel® Architecture Instruction Set Extensions Programming Reference"</a> <span class="cs1-format">(PDF)</span>. Intel. 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-10-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Architecture+Instruction+Set+Extensions+Programming+Reference&amp;rft.pub=Intel&amp;rft.date=2020&amp;rft_id=https%3A%2F%2Fsoftware.intel.com%2Fcontent%2Fdam%2Fdevelop%2Fexternal%2Fus%2Fen%2Fdocuments%2Farchitecture-instruction-set-extensions-programming-reference.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=10" title="Edit section: Further reading"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAfekLevyMorrison2014" class="citation book cs1">Afek, Y.; Levy, A.; Morrison, A. (2014). <i>Proceedings of the 2014 ACM symposium on Principles of distributed computing - PODC '14</i>. Software-improved hardware lock elision, p. 212. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F2611462.2611482">10.1145/2611462.2611482</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781450329446" title="Special:BookSources/9781450329446"><bdi>9781450329446</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16645370">16645370</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Proceedings+of+the+2014+ACM+symposium+on+Principles+of+distributed+computing+-+PODC+%2714&amp;rft.pages=Software-improved+hardware+lock+elision%2C+p.+212&amp;rft.date=2014&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A16645370%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F2611462.2611482&amp;rft.isbn=9781450329446&amp;rft.aulast=Afek&amp;rft.aufirst=Y.&amp;rft.au=Levy%2C+A.&amp;rft.au=Morrison%2C+A.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATransactional+Synchronization+Extensions" class="Z3988"></span>. Software-based improvements to hardware lock-elision in Intel TSX.</li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Transactional_Synchronization_Extensions&amp;action=edit&amp;section=11" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://software.intel.com/sites/default/files/blog/393551/sf12-arcs004-100.pdf">Presentation from IDF 2012</a> (PDF)</li> <li><a rel="nofollow" class="external text" href="http://halobates.de/adding-lock-elision-to-linux.pdf">Adding lock elision to Linux</a>, Linux Plumbers Conference 2012 (PDF)</li> <li><a rel="nofollow" class="external text" href="https://lwn.net/Articles/534758/">Lock elision in the GNU C library</a>, <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a>, January 30, 2013, by Andi Kleen</li> <li><a rel="nofollow" class="external text" href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf">TSX Optimization Guide</a>, Chapter 12 (PDF)</li> <li><a rel="nofollow" class="external text" href="https://software.intel.com/content/dam/develop/public/us/en/documents/325462-sdm-vol-1-2abcd-3abcd.pdf">Software Developers Manual</a>, Volume 1, Chapter 2.5 (PDF)</li> <li><a rel="nofollow" class="external text" href="http://www.intel.com/software/tsx">Web Resources about Intel Transactional Synchronization Extensions</a></li> <li><a rel="nofollow" class="external text" href="https://lkml.org/lkml/2014/9/18/218">x86, microcode: BUG: microcode update that changes x86_capability</a>, <a href="/wiki/LKML" class="mw-redirect" title="LKML">LKML</a>, September 2014 (there is also another <a rel="nofollow" class="external text" href="https://bugs.gentoo.org/show_bug.cgi?id=528712">similar bug report</a>)</li> <li><a rel="nofollow" class="external text" href="https://wiki.gentoo.org/wiki/Intel_microcode">Intel microcode</a>, Gentoo, September 19, 2015</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="AMD_technology" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:AMD_technology" title="Template:AMD technology"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:AMD_technology" title="Template talk:AMD technology"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:AMD_technology" title="Special:EditPage/Template:AMD technology"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="AMD_technology" style="font-size:114%;margin:0 4em"><a href="/wiki/AMD" title="AMD">AMD</a> technology</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AGESA" title="AGESA">AGESA</a></li> <li><a href="/wiki/AMDGPU" class="mw-redirect" title="AMDGPU">AMDGPU</a></li> <li><a href="/wiki/AMD_Radeon_Software" class="mw-redirect" title="AMD Radeon Software">Radeon Software</a></li> <li><a href="/wiki/Vivado" title="Vivado">Vivado</a></li> <li><a href="/wiki/Xilinx_ISE" title="Xilinx ISE">Xilinx ISE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Platforms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ROCm" title="ROCm">ROCm</a></li> <li><a href="/wiki/GPUOpen" title="GPUOpen">GPUOpen</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Obsolete</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AMD_Spider" title="AMD Spider">Spider</a></li> <li><a href="/wiki/AMD_Dragon" title="AMD Dragon">Dragon</a></li> <li><a href="/wiki/AMD_Horus" title="AMD Horus">Horus</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Technology</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cool%27n%27Quiet" title="Cool&#39;n&#39;Quiet">Cool'n'Quiet</a></li> <li><a href="/wiki/High_Bandwidth_Memory" title="High Bandwidth Memory">High Bandwidth Memory</a></li> <li><a href="/wiki/PowerNow!" title="PowerNow!">PowerNow!</a></li> <li><a href="/wiki/AMD_PowerPlay" title="AMD PowerPlay">PowerPlay</a></li> <li><a href="/wiki/AMD_PowerTune" title="AMD PowerTune">PowerTune</a></li> <li><a href="/wiki/AMD_Turbo_Core" title="AMD Turbo Core">Turbo Core</a></li> <li><a href="/wiki/Adaptive_Scalable_Texture_Compression" class="mw-redirect" title="Adaptive Scalable Texture Compression">ASTC</a></li> <li><a href="/wiki/AMD_Wraith" title="AMD Wraith">AMD Wraith</a></li> <li><a href="/wiki/Virtex_(FPGA)" title="Virtex (FPGA)">Virtex</a></li> <li><a href="/wiki/AMD_XDNA" title="AMD XDNA">XDNA</a> <ul><li><a href="/wiki/Ryzen_AI" class="mw-redirect" title="Ryzen AI">Ryzen AI</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Instructions</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/X86-64" title="X86-64">X86-64</a></li> <li><a href="/wiki/3DNow!" title="3DNow!">3DNow!</a></li> <li><a href="/wiki/Advanced_Vector_Extensions" title="Advanced Vector Extensions">AVX</a></li> <li><a href="/wiki/XOP_instruction_set" title="XOP instruction set">XOP</a></li> <li><a href="/wiki/CVT16_instruction_set" class="mw-redirect" title="CVT16 instruction set">CVT16/F16C</a></li> <li><a href="/wiki/FMA_instruction_set" title="FMA instruction set">FMA</a> <ul><li><a href="/wiki/FMA_instruction_set#FMA4_instruction_set" title="FMA instruction set">FMA4</a></li> <li><a href="/wiki/FMA_instruction_set#FMA3_instruction_set" title="FMA instruction set">FMA3</a></li></ul></li> <li><a href="/wiki/Bit_Manipulation_Instruction_Sets" class="mw-redirect" title="Bit Manipulation Instruction Sets">BMI</a> <ul><li><a href="/wiki/Bit_Manipulation_Instruction_Sets#ABM" class="mw-redirect" title="Bit Manipulation Instruction Sets">ABM</a></li> <li><a href="/wiki/Bit_Manipulation_Instruction_Sets#BMI1" class="mw-redirect" title="Bit Manipulation Instruction Sets">BMI1</a></li> <li><a href="/wiki/Bit_Manipulation_Instruction_Sets#TBM" class="mw-redirect" title="Bit Manipulation Instruction Sets">TBM</a></li></ul></li> <li><a href="/wiki/SSE5" title="SSE5">SSE5</a></li> <li><a href="/wiki/Advanced_Synchronization_Facility" title="Advanced Synchronization Facility">ASF</a></li> <li><a href="/wiki/AES_instruction_set" title="AES instruction set">AES</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Intel_technology" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Intel_technology" title="Template:Intel technology"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Intel_technology" title="Template talk:Intel technology"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Intel_technology" title="Special:EditPage/Template:Intel technology"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Intel_technology" style="font-size:114%;margin:0 4em"><a href="/wiki/Intel" title="Intel">Intel</a> technology</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Platforms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Centrino" title="Centrino">Centrino</a></li> <li><a href="/wiki/Centrino#Montevina_platform_(2008)" title="Centrino">Centrino 2</a></li> <li><a href="/wiki/Intel_Viiv" title="Intel Viiv">Viiv</a></li> <li><a href="/wiki/Mobile_Internet_device#Intel_MID_platforms" title="Mobile Internet device">MID</a></li> <li><a href="/wiki/Tablet_computer#Intel_tablet_platforms" title="Tablet computer">Tablet</a></li> <li><a href="/wiki/Consumer_Ultra-Low_Voltage" title="Consumer Ultra-Low Voltage">CULV</a></li> <li><a href="/wiki/Ultrabook" title="Ultrabook">Ultrabook</a></li> <li><a href="/wiki/Intel_Skulltrail" title="Intel Skulltrail">Skulltrail</a></li> <li><a href="/wiki/Next_Unit_of_Computing" title="Next Unit of Computing">NUC</a></li> <li><a href="/wiki/Intel_Galileo" title="Intel Galileo">Galileo</a></li> <li><a href="/wiki/Intel_Edison" title="Intel Edison">Edison</a></li> <li><a href="/wiki/Intel_Curie" class="mw-redirect" title="Intel Curie">Curie</a></li> <li><a href="/wiki/Intel_Evo" title="Intel Evo">Evo</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Discontinued</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Common_Building_Block" title="Common Building Block">Common Building Block</a></li> <li><a href="/wiki/MultiProcessor_Specification" title="MultiProcessor Specification">MultiProcessor Specification</a></li> <li><a href="/wiki/Intel_Communication_Streaming_Architecture" title="Intel Communication Streaming Architecture">Intel Communication Streaming Architecture</a></li> <li><a href="/wiki/Intel_Inboard_386" title="Intel Inboard 386">Intel Inboard 386</a></li> <li><a href="/wiki/Intel_Play" title="Intel Play">Intel Play</a></li> <li><a href="/wiki/MMC-1" title="MMC-1">MMC-1</a></li> <li><a href="/wiki/MMC-2" title="MMC-2">MMC-2</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Current</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Advanced_Programmable_Interrupt_Controller" title="Advanced Programmable Interrupt Controller">Advanced Programmable Interrupt Controller</a></li> <li><a href="/wiki/CNVi" title="CNVi">CNVi</a></li> <li><a href="/wiki/Intel_Turbo_Boost" title="Intel Turbo Boost">Intel Turbo Boost</a></li> <li><a href="/wiki/Intel_vPro" title="Intel vPro">vPro</a></li> <li><a href="/wiki/Intel_Secure_Key" class="mw-redirect" title="Intel Secure Key">Intel Secure Key</a></li> <li><a href="/wiki/Intel_Management_Engine" title="Intel Management Engine">Intel Management Engine</a></li> <li><a href="/wiki/Intel_Active_Management_Technology" title="Intel Active Management Technology">Active Management Technology</a> <ul><li><a href="/wiki/Intel_AMT_versions" title="Intel AMT versions">AMT versions</a></li></ul></li> <li><a href="/wiki/High-bandwidth_Digital_Content_Protection" title="High-bandwidth Digital Content Protection">High-bandwidth Digital Content Protection</a></li> <li><a href="/wiki/Intel_High_Definition_Audio" title="Intel High Definition Audio">High Definition Audio</a></li> <li><a href="/wiki/Intel_Hub_Architecture" title="Intel Hub Architecture">Hub Architecture</a></li> <li><a href="/wiki/Intel_Rapid_Storage_Technology" title="Intel Rapid Storage Technology">Rapid Storage Technology</a></li> <li><a href="/wiki/SpeedStep" title="SpeedStep">SpeedStep</a></li> <li><a href="/wiki/Serial_Digital_Video_Out" title="Serial Digital Video Out">Serial Digital Video Out</a></li> <li><a href="/wiki/Host_Embedded_Controller_Interface" title="Host Embedded Controller Interface">Host Embedded Controller Interface</a></li> <li><a href="/wiki/Hyper-threading" title="Hyper-threading">Hyper-threading</a></li> <li><a href="/wiki/Omni-Path" title="Omni-Path">Omni-Path</a></li> <li><a href="/wiki/Platform_Environment_Control_Interface" title="Platform Environment Control Interface">Platform Environment Control Interface</a></li> <li><a href="/wiki/Intel_QuickPath_Interconnect" title="Intel QuickPath Interconnect">QuickPath Interconnect</a></li> <li><a href="/wiki/Platform_Controller_Hub" title="Platform Controller Hub">Platform Controller Hub</a></li> <li><a href="/wiki/System_Management_Bus" title="System Management Bus">System Management Bus</a></li> <li><a href="/wiki/Thunderbolt_(interface)" title="Thunderbolt (interface)">Thunderbolt</a></li> <li><a href="/wiki/Intel_Ultra_Path_Interconnect" title="Intel Ultra Path Interconnect">Ultra Path Interconnect</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Upcoming</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Silicon_Photonics_Link" title="Silicon Photonics Link">Silicon Photonics Link</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Instruction_set_extensions" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Multimedia_extensions" title="Template:Multimedia extensions"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Multimedia_extensions" title="Template talk:Multimedia extensions"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Multimedia_extensions" title="Special:EditPage/Template:Multimedia extensions"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Instruction_set_extensions" style="font-size:114%;margin:0 4em"><a href="/wiki/Instruction_set" class="mw-redirect" title="Instruction set">Instruction set</a> <a href="/wiki/Processor_supplementary_capability" title="Processor supplementary capability">extensions</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">SIMD</a> (<a href="/wiki/Reduced_instruction_set_computer" title="Reduced instruction set computer">RISC</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/DEC_Alpha" title="DEC Alpha">Alpha</a> <ul><li><a href="/wiki/DEC_Alpha#Motion_Video_Instructions_(MVI)" title="DEC Alpha">MVI</a></li></ul></li> <li><a href="/wiki/ARM_architecture_family" title="ARM architecture family">ARM</a> <ul><li><a href="/wiki/ARM_architecture_family#Advanced_SIMD_(Neon)" title="ARM architecture family">NEON</a></li> <li><a href="/wiki/AArch64#Scalable_Vector_Extension_(SVE)" title="AArch64">SVE</a></li></ul></li> <li><a href="/wiki/MIPS_architecture" title="MIPS architecture">MIPS</a> <ul><li><a href="/wiki/MDMX" title="MDMX">MDMX</a></li> <li><a href="/wiki/MIPS-3D" title="MIPS-3D">MIPS-3D</a></li> <li><a href="/wiki/Media_Extension_Unit" class="mw-redirect" title="Media Extension Unit">MXU</a></li> <li><a href="/wiki/MIPS_architecture#MIPS_SIMD_architecture" title="MIPS architecture">MIPS SIMD</a></li></ul></li> <li><a href="/wiki/PA-RISC" title="PA-RISC">PA-RISC</a> <ul><li><a href="/wiki/Multimedia_Acceleration_eXtensions" title="Multimedia Acceleration eXtensions">MAX</a></li></ul></li> <li><a href="/wiki/Power_ISA" title="Power ISA">Power ISA</a> <ul><li><a href="/wiki/AltiVec" title="AltiVec">VMX</a></li></ul></li> <li><a href="/wiki/SPARC" title="SPARC">SPARC</a> <ul><li><a href="/wiki/Visual_Instruction_Set" title="Visual Instruction Set">VIS</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Single_instruction,_multiple_data" title="Single instruction, multiple data">SIMD</a> (<a href="/wiki/X86" title="X86">x86</a>)</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/MMX_(instruction_set)" title="MMX (instruction set)">MMX</a> (1996)</li> <li><a href="/wiki/3DNow!" title="3DNow!">3DNow!</a> (1998)</li> <li><a href="/wiki/Streaming_SIMD_Extensions" title="Streaming SIMD Extensions">SSE</a> (1999)</li> <li><a href="/wiki/SSE2" title="SSE2">SSE2</a> (2001)</li> <li><a href="/wiki/SSE3" title="SSE3">SSE3</a> (2004)</li> <li><a href="/wiki/SSSE3" title="SSSE3">SSSE3</a> (2006)</li> <li><a href="/wiki/SSE4" title="SSE4">SSE4</a> (2006)</li> <li><a href="/wiki/SSE5" title="SSE5">SSE5</a> <s>(2007)</s></li> <li><a href="/wiki/Advanced_Vector_Extensions" title="Advanced Vector Extensions">AVX</a> (2008)</li> <li><a href="/wiki/F16C" title="F16C">F16C</a> (2009)</li> <li><a href="/wiki/XOP_instruction_set" title="XOP instruction set">XOP</a> (2009)</li> <li><a href="/wiki/FMA_instruction_set" title="FMA instruction set">FMA</a> (FMA4: 2011, FMA3: 2012)</li> <li><a href="/wiki/AVX2" class="mw-redirect" title="AVX2">AVX2</a> (2013)</li> <li><a href="/wiki/AVX-512" title="AVX-512">AVX-512</a> (2015)</li> <li><a href="/wiki/Advanced_Matrix_Extensions" title="Advanced Matrix Extensions">AMX</a> (2022)</li> <li><a href="/wiki/AVX10" class="mw-redirect" title="AVX10">AVX10</a> (2023)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Bit_manipulation" title="Bit manipulation">Bit manipulation</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bit_Manipulation_Instruction_Sets" class="mw-redirect" title="Bit Manipulation Instruction Sets">BMI</a> (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)</li> <li><a href="/wiki/Intel_ADX" title="Intel ADX">ADX</a> (2014)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Instruction_set_architecture#Code_density" title="Instruction set architecture">Compressed instructions</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ARM_architecture_family#Thumb" title="ARM architecture family">Thumb</a></li> <li><a href="/wiki/MIPS_architecture" title="MIPS architecture">MIPS16e ASE</a></li> <li><a href="/wiki/RISC-V#Compressed_subset" title="RISC-V">RVC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Security and <a href="/wiki/Cryptographic_accelerator" title="Cryptographic accelerator">cryptography</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/VIA_PadLock" title="VIA PadLock">PadLock</a> (2003)</li> <li><a href="/wiki/AES_instruction_set" title="AES instruction set">AES-NI</a> (2008); ARMv8 also has AES instructions</li> <li><a href="/wiki/CLMUL_instruction_set" title="CLMUL instruction set">CLMUL</a> (2010)</li> <li><a href="/wiki/RDRAND" title="RDRAND">RDRAND</a> (2012)</li> <li><a href="/wiki/Intel_SHA_extensions" title="Intel SHA extensions">SHA</a> (2013)</li> <li><a href="/wiki/Intel_MPX" title="Intel MPX">MPX</a> (2015)</li> <li><a href="/wiki/Software_Guard_Extensions" title="Software Guard Extensions">SGX</a> (2015)</li> <li><a href="/wiki/Trust_Domain_Extensions" title="Trust Domain Extensions">TDX</a> (2021)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Transactional_memory" title="Transactional memory">Transactional memory</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a class="mw-selflink selflink">TSX</a> (2013)</li> <li><a href="/wiki/Advanced_Synchronization_Facility" title="Advanced Synchronization Facility">ASF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Hardware-assisted_virtualization" class="mw-redirect" title="Hardware-assisted virtualization">Virtualization</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/X86_virtualization#Intel_virtualization_(VT-x)" title="X86 virtualization">VT-x</a> (2005)</li> <li><a href="/wiki/X86_virtualization#AMD_virtualization_(AMD-V)" title="X86 virtualization">AMD-V</a> (2006)</li> <li><a href="/wiki/X86_virtualization#I/O_MMU_virtualization_(AMD-Vi_and_Intel_VT-d)" title="X86 virtualization">VT-d</a> (AMD-Vi)</li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>Suspended extensions' dates are <s>struck through</s>.</div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐5dc468848‐g2bmp Cached time: 20241122145136 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.518 seconds Real time usage: 0.720 seconds Preprocessor visited node count: 1926/1000000 Post‐expand include size: 100651/2097152 bytes Template argument size: 1070/2097152 bytes Highest expansion depth: 8/100 Expensive parser function count: 2/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 146409/5000000 bytes Lua time usage: 0.342/10.000 seconds Lua memory usage: 5546520/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 627.863 1 -total 43.76% 274.771 1 Template:Reflist 38.06% 238.955 33 Template:Cite_web 23.36% 146.642 1 Template:Short_description 18.33% 115.057 4 Template:Navbox 16.79% 105.397 1 Template:AMD_technology 12.08% 75.877 3 Template:Main_other 11.74% 73.733 1 Template:SDcat 8.47% 53.209 2 Template:Pagetype 6.56% 41.181 1 Template:See_also --> <!-- Saved in parser cache with key enwiki:pcache:idhash:34643065-0!canonical and timestamp 20241122145136 and revision id 1157693538. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Transactional_Synchronization_Extensions&amp;oldid=1157693538">https://en.wikipedia.org/w/index.php?title=Transactional_Synchronization_Extensions&amp;oldid=1157693538</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Computer-related_introductions_in_2012" title="Category:Computer-related introductions in 2012">Computer-related introductions in 2012</a></li><li><a href="/wiki/Category:X86_instructions" title="Category:X86 instructions">X86 instructions</a></li><li><a href="/wiki/Category:Parallel_computing" title="Category:Parallel computing">Parallel computing</a></li><li><a href="/wiki/Category:Transactional_memory" title="Category:Transactional memory">Transactional memory</a></li><li><a href="/wiki/Category:Transaction_processing" title="Category:Transaction processing">Transaction processing</a></li><li><a href="/wiki/Category:Concurrency_control" title="Category:Concurrency control">Concurrency control</a></li><li><a href="/wiki/Category:Hardware_bugs" title="Category:Hardware bugs">Hardware bugs</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 30 May 2023, at 10:33<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Transactional_Synchronization_Extensions&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-6b7f745dd4-dhvgd","wgBackendResponseTime":182,"wgPageParseReport":{"limitreport":{"cputime":"0.518","walltime":"0.720","ppvisitednodes":{"value":1926,"limit":1000000},"postexpandincludesize":{"value":100651,"limit":2097152},"templateargumentsize":{"value":1070,"limit":2097152},"expansiondepth":{"value":8,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":146409,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 627.863 1 -total"," 43.76% 274.771 1 Template:Reflist"," 38.06% 238.955 33 Template:Cite_web"," 23.36% 146.642 1 Template:Short_description"," 18.33% 115.057 4 Template:Navbox"," 16.79% 105.397 1 Template:AMD_technology"," 12.08% 75.877 3 Template:Main_other"," 11.74% 73.733 1 Template:SDcat"," 8.47% 53.209 2 Template:Pagetype"," 6.56% 41.181 1 Template:See_also"]},"scribunto":{"limitreport-timeusage":{"value":"0.342","limit":"10.000"},"limitreport-memusage":{"value":5546520,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-5dc468848-g2bmp","timestamp":"20241122145136","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Transactional Synchronization Extensions","url":"https:\/\/en.wikipedia.org\/wiki\/Transactional_Synchronization_Extensions","sameAs":"http:\/\/www.wikidata.org\/entity\/Q7833723","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q7833723","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2012-02-07T23:22:31Z","dateModified":"2023-05-30T10:33:31Z","headline":"extension to the x86 instruction set architecture that adds hardware transactional memory support"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10