JP2016207232A5 - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2016207232A5 JP2016207232A5 JP2016175998A JP2016175998A JP2016207232A5 JP 2016207232 A5 JP2016207232 A5 JP 2016207232A5 JP 2016175998 A JP2016175998 A JP 2016175998A JP 2016175998 A JP2016175998 A JP 2016175998A JP 2016207232 A5 JP2016207232 A5 JP 2016207232A5
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory access
- conditional
- unconditional
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims 48
- 230000000875 corresponding Effects 0.000 claims 1
Claims (19)
- プロセッサであって、
複数の論理プロセッサと、
前記複数の論理プロセッサのうちの第1の論理プロセッサであって、前記第1の論理プロセッサは、1以上の条件付きメモリ・アクセス命令を含むソフトウェアを実行する、前記第1の論理プロセッサと、
前記第1の論理プロセッサの復号化ユニットであって、前記復号化ユニットは、前記プロセッサが緩和メモリ・アクセス同期モードである場合、前記1以上の条件付きメモリ・アクセス命令を1以上の無条件メモリ・アクセス操作に変換する、前記復号化ユニットと、を備え、
前記プロセッサが前記緩和メモリ・アクセス同期モードであるときに、前記第1の論理プロセッサは、同期を考慮せずにメモリの少なくとも第1の部分にアクセスする
プロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、条件付きストア命令を有し、
前記1以上の無条件メモリ・アクセス操作は、無条件ストア操作を有する
請求項1に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、条件付きロード命令を有し、
前記1以上の無条件メモリ・アクセス操作は、無条件ロード操作を有する
請求項1に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、ロードリンク命令とストアコンディショナル命令による対を有し、
前記1以上の無条件メモリ・アクセス操作は、単一の無条件ストア操作を有する
請求項1に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、リード・モディファイ・ライト命令を有し、
前記1以上の無条件メモリ・アクセス操作は、単一の無条件ライト操作を有する
請求項1に記載のプロセッサ。 - 前記プロセッサは、前記プロセッサが前記緩和メモリ・アクセス同期モードであることを示す、1以上のアーキテクチャ可視ビットを有する
請求項1から5のいずれか1項に記載のプロセッサ。 - 前記1以上のアーキテクチャ可視ビットは、ソフトウェアに基づき修正可能である
請求項6に記載のプロセッサ。 - 前記1以上のアーキテクチャ可視ビットは、前記メモリの前記第1の部分に対応し、
前記プロセッサは、前記メモリの他の第2の部分に対応する1以上のアーキテクチャ可視ビットの別の組をさらに備える
請求項6または7に記載のプロセッサ。 - 前記プロセッサは、ソフトウェアに基づき、ランタイムにおいて前記緩和メモリ・アクセス同期モードにされる
請求項1から8のいずれか1項に記載のプロセッサ。 - 前記プロセッサは、(1)単一のスレッドのみが実行されている場合、(2)1つのスレッドのみが関連する共有メモリにアクセスする場合、および(3)他のスレッドが前記関連する共有メモリを監視していない場合のうちの少なくとも1つの場合に、前記緩和メモリ・アクセス同期モードになる
請求項1から9のいずれか1項に記載のプロセッサ。 - プロセッサであって、
複数の論理プロセッサと、
前記複数の論理プロセッサのうちの第1の論理プロセッサであって、前記第1の論理プロセッサは、1以上の条件付きメモリ・アクセス命令を含むソフトウェアを実行する、前記第1の論理プロセッサと、
前記第1の論理プロセッサの復号化ユニットであって、前記復号化ユニットは、前記プロセッサが緩和メモリ・アクセス同期モードである場合、前記1以上の条件付きメモリ・アクセス命令を1以上の無条件メモリ・アクセス操作に変換する、前記復号化ユニットと、
前記プロセッサが前記緩和メモリ・アクセス同期モードであることを示す、1以上のアーキテクチャ可視ビットと、を備え、
前記プロセッサが前記緩和メモリ・アクセス同期モードであるときに、前記第1の論理プロセッサは、同期を考慮せずにメモリの少なくとも一部にアクセスし、
前記1以上のアーキテクチャ可視ビットは、ソフトウェアに基づき修正可能であり、
前記プロセッサが前記緩和メモリ・アクセス同期モードであることを示すべく、前記1以上のアーキテクチャ可視ビットは、前記ソフトウェアに基づき、ランタイムの間に修正され、
(1)単一のスレッドのみが実行されている場合、(2)1つのスレッドのみが関連する共有メモリにアクセスする場合、および(3)他のスレッドが前記関連する共有メモリを監視していない場合のうちの少なくとも1つの場合に、前記プロセッサが前記緩和メモリ・アクセス同期モードであることが、前記ソフトウェアに基づき示される、
プロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、条件付きストア命令を有し、
前記1以上の無条件メモリ・アクセス操作は、無条件ストア操作を有する
請求項11に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、条件付きロード命令を有し、
前記1以上の無条件メモリ・アクセス操作は、無条件ロード操作を有する
請求項11に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、ロードリンク命令とストアコンディショナル命令による対を有し、
前記1以上の無条件メモリ・アクセス操作は、単一の無条件ストア操作を有する
請求項11に記載のプロセッサ。 - 前記1以上の条件付きメモリ・アクセス命令は、リード・モディファイ・ライト命令を有し、
前記1以上の無条件メモリ・アクセス操作は、単一の無条件ライト操作を有する
請求項11に記載のプロセッサ。 - プロセッサであって、
複数の論理プロセッサと、
前記複数の論理プロセッサのうちの第1の論理プロセッサであって、前記第1の論理プロセッサは、リード・モディファイ・ライト命令、コンペア・アンド・スワップ命令、テスト・アンド・セット命令、およびロードリンク命令とストアコンディショナル命令による対のうちのストアコンディショナル命令のうちの1つである、第1の命令を含むソフトウェアを実行する、前記第1の論理プロセッサと、
前記第1の論理プロセッサの復号化ユニットであって、前記復号化ユニットは、前記プロセッサが緩和メモリ・アクセス同期モードである場合、前記第1の命令を、ストア操作およびライト操作のうちの一方の操作に変換する、前記復号化ユニットと、を備え、
前記プロセッサが前記緩和メモリ・アクセス同期モードであるときに、前記第1の論理プロセッサは、同期を考慮せずにメモリの少なくとも一部にアクセスする
プロセッサ。 - 前記プロセッサは、(1)単一のスレッドのみが実行されている場合、(2)1つのスレッドのみが関連する共有メモリにアクセスする場合、および(3)他のスレッドが前記関連する共有メモリを監視していない場合のうちの少なくとも1つの場合に、前記緩和メモリ・アクセス同期モードになる
請求項16に記載のプロセッサ。 - 前記プロセッサは、前記プロセッサが前記緩和メモリ・アクセス同期モードであることを示す、1以上のアーキテクチャ可視ビットを有し、
前記1以上のアーキテクチャ可視ビットは、ソフトウェアに基づき修正可能である
請求項16または17に記載のプロセッサ。 - 前記プロセッサは、ソフトウェアに基づき、ランタイムにおいて前記緩和メモリ・アクセス同期モードにされる
請求項16から18のいずれか1項に記載のプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/844,729 US9304940B2 (en) | 2013-03-15 | 2013-03-15 | Processors, methods, and systems to relax synchronization of accesses to shared memory |
US13/844,729 | 2013-03-15 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014028277A Division JP6006247B2 (ja) | 2013-03-15 | 2014-02-18 | 共有メモリへのアクセスの同期を緩和するプロセッサ、方法、システム、及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016207232A JP2016207232A (ja) | 2016-12-08 |
JP2016207232A5 true JP2016207232A5 (ja) | 2017-03-30 |
JP6526609B2 JP6526609B2 (ja) | 2019-06-05 |
Family
ID=50482493
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014028277A Active JP6006247B2 (ja) | 2013-03-15 | 2014-02-18 | 共有メモリへのアクセスの同期を緩和するプロセッサ、方法、システム、及びプログラム |
JP2016175998A Expired - Fee Related JP6526609B2 (ja) | 2013-03-15 | 2016-09-08 | プロセッサ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014028277A Active JP6006247B2 (ja) | 2013-03-15 | 2014-02-18 | 共有メモリへのアクセスの同期を緩和するプロセッサ、方法、システム、及びプログラム |
Country Status (7)
Country | Link |
---|---|
US (2) | US9304940B2 (ja) |
JP (2) | JP6006247B2 (ja) |
KR (1) | KR101594090B1 (ja) |
CN (1) | CN104050026B (ja) |
BR (1) | BR102014006021A2 (ja) |
DE (1) | DE102014003671A1 (ja) |
GB (2) | GB2548511B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304940B2 (en) | 2013-03-15 | 2016-04-05 | Intel Corporation | Processors, methods, and systems to relax synchronization of accesses to shared memory |
US10452316B2 (en) | 2013-04-17 | 2019-10-22 | Apeiron Data Systems | Switched direct attached shared storage architecture |
US9756128B2 (en) * | 2013-04-17 | 2017-09-05 | Apeiron Data Systems | Switched direct attached shared storage architecture |
GB2529899B (en) * | 2014-09-08 | 2021-06-23 | Advanced Risc Mach Ltd | Shared Resources in a Data Processing Apparatus for Executing a Plurality of Threads |
US10489158B2 (en) | 2014-09-26 | 2019-11-26 | Intel Corporation | Processors, methods, systems, and instructions to selectively fence only persistent storage of given data relative to subsequent stores |
US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US20160378480A1 (en) * | 2015-06-27 | 2016-12-29 | Pavel G. Matveyev | Systems, Methods, and Apparatuses for Improving Performance of Status Dependent Computations |
US10074151B2 (en) * | 2015-09-30 | 2018-09-11 | Intel Corporation | Dense optical flow acceleration |
JP6146508B1 (ja) | 2016-03-31 | 2017-06-14 | 日本電気株式会社 | 同期処理ユニット、デバイス、システムおよび方法 |
US10223002B2 (en) * | 2017-02-08 | 2019-03-05 | Arm Limited | Compare-and-swap transaction |
US10552131B2 (en) | 2017-10-16 | 2020-02-04 | Microsoft Technology Licensing, Llc | Barrier reduction during code translation |
GB2572578B (en) * | 2018-04-04 | 2020-09-16 | Advanced Risc Mach Ltd | Cache annotations to indicate specultative side-channel condition |
JP7064134B2 (ja) * | 2018-05-11 | 2022-05-10 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP7064135B2 (ja) * | 2018-05-15 | 2022-05-10 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US10831500B2 (en) | 2018-06-10 | 2020-11-10 | International Business Machines Corporation | Adaptive locking in elastic threading systems |
US11068612B2 (en) * | 2018-08-01 | 2021-07-20 | International Business Machines Corporation | Microarchitectural techniques to mitigate cache-based data security vulnerabilities |
US10956166B2 (en) | 2019-03-08 | 2021-03-23 | Arm Limited | Instruction ordering |
CN110147253B (zh) * | 2019-05-16 | 2020-10-20 | 湖南毂梁微电子有限公司 | 一种基于延迟栅栏同步操作指令的多核处理器同步方法 |
US20220019514A1 (en) * | 2020-07-14 | 2022-01-20 | Ronghui Gu | Systems, methods, and media for proving the correctness of software on relaxed memory hardware |
US11249766B1 (en) | 2020-09-14 | 2022-02-15 | Apple Inc. | Coprocessor synchronizing instruction suppression |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2230119B (en) | 1989-04-07 | 1993-04-21 | Intel Corp | Conditional execution speed-up on synchronizing instructions |
JP3038781B2 (ja) * | 1989-04-21 | 2000-05-08 | 日本電気株式会社 | メモリアクセス制御回路 |
US6065086A (en) | 1998-02-17 | 2000-05-16 | International Business Machines Corporation | Demand based sync bus operation |
JPH11259437A (ja) | 1998-03-12 | 1999-09-24 | Hitachi Ltd | 不要バリア命令の削減方式 |
JP2938056B1 (ja) | 1998-08-12 | 1999-08-23 | 甲府日本電気株式会社 | マルチホストシステムおよびホストコンピュータ間命令制御方法 |
JP3641997B2 (ja) | 2000-03-30 | 2005-04-27 | 日本電気株式会社 | プログラム変換装置及び方法並びに記録媒体 |
US6748518B1 (en) * | 2000-06-06 | 2004-06-08 | International Business Machines Corporation | Multi-level multiprocessor speculation mechanism |
JP4915038B2 (ja) | 2001-08-08 | 2012-04-11 | コニカミノルタホールディングス株式会社 | インクジェット記録方法 |
US7328314B2 (en) * | 2002-06-19 | 2008-02-05 | Alcatel-Lucent Canada Inc. | Multiprocessor computing device having shared program memory |
JP2006185232A (ja) | 2004-12-28 | 2006-07-13 | Hitachi Ltd | 複数のプログラムの実行方法、プログラム変換方法及びこれを用いたコンパイラプログラム |
US20070143755A1 (en) | 2005-12-16 | 2007-06-21 | Intel Corporation | Speculative execution past a barrier |
JP4148528B2 (ja) | 2006-10-31 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 排他制御を効率化する技術 |
US20080109604A1 (en) * | 2006-11-08 | 2008-05-08 | Sicortex, Inc | Systems and methods for remote direct memory access to processor caches for RDMA reads and writes |
US20080307422A1 (en) * | 2007-06-08 | 2008-12-11 | Kurland Aaron S | Shared memory for multi-core processors |
US8131951B2 (en) * | 2008-05-30 | 2012-03-06 | Freescale Semiconductor, Inc. | Utilization of a store buffer for error recovery on a store allocation cache miss |
JP5270268B2 (ja) | 2008-09-05 | 2013-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 共有データへの排他的アクセスを許すためのコンピュータ・システム、並びにその方法及びコンピュータ読み取り可能な記録媒体 |
US8412889B2 (en) * | 2008-10-16 | 2013-04-02 | Microsoft Corporation | Low-level conditional synchronization support |
JP5088754B2 (ja) | 2009-12-18 | 2012-12-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システム、方法、プログラムおよびコード生成装置 |
US9069545B2 (en) | 2011-07-18 | 2015-06-30 | International Business Machines Corporation | Relaxation of synchronization for iterative convergent computations |
US8607247B2 (en) | 2011-11-03 | 2013-12-10 | Advanced Micro Devices, Inc. | Method and system for workitem synchronization |
US20140281429A1 (en) * | 2013-03-14 | 2014-09-18 | Qualcomm Incorporated | Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media |
US9304940B2 (en) | 2013-03-15 | 2016-04-05 | Intel Corporation | Processors, methods, and systems to relax synchronization of accesses to shared memory |
-
2013
- 2013-03-15 US US13/844,729 patent/US9304940B2/en active Active
-
2014
- 2014-02-18 JP JP2014028277A patent/JP6006247B2/ja active Active
- 2014-02-20 GB GB1709375.8A patent/GB2548511B/en not_active Expired - Fee Related
- 2014-02-20 GB GB1402964.9A patent/GB2512478B/en not_active Expired - Fee Related
- 2014-03-13 KR KR1020140029403A patent/KR101594090B1/ko active IP Right Grant
- 2014-03-14 BR BR102014006021A patent/BR102014006021A2/pt active Search and Examination
- 2014-03-14 DE DE102014003671.5A patent/DE102014003671A1/de active Pending
- 2014-03-17 CN CN201410097357.6A patent/CN104050026B/zh active Active
-
2016
- 2016-04-04 US US15/089,883 patent/US10235175B2/en active Active
- 2016-09-08 JP JP2016175998A patent/JP6526609B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016207232A5 (ja) | プロセッサ | |
US11023233B2 (en) | Methods, apparatus, and instructions for user level thread suspension | |
JP6526609B2 (ja) | プロセッサ | |
US20160239299A1 (en) | System, apparatus, and method for improved efficiency of execution in signal processing algorithms | |
US10423216B2 (en) | Asymmetric multi-core processor with native switching mechanism | |
GB2568816A8 (en) | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions | |
JP2006502504A5 (ja) | ||
JP2006500639A5 (ja) | ||
US20160154677A1 (en) | Work Stealing in Heterogeneous Computing Systems | |
JP2017016712A5 (ja) | 方法、プロセッサ、及び、システム | |
JP5413853B2 (ja) | マルチスレッド型プロセッサのためのスレッドデエンファシス方法及びデバイス | |
US10049043B2 (en) | Flushing control within a multi-threaded processor | |
JP2014513373A5 (ja) | ||
JP2010541067A5 (ja) | ||
JP2006503385A (ja) | マルチスレッド・プロセッサの高速スレッド間割込みのための方法および装置 | |
WO2018093439A3 (en) | Processors, methods, systems, and instructions to load multiple data elements to destination storage locations other than packed data registers | |
RU2015151132A (ru) | Команды, процессоры, способы и системы доступа множественных регистров к памяти | |
US20160162293A1 (en) | Asymmetric processor with cores that support different isa instruction subsets | |
BR112018016913A2 (pt) | predicados uniformes em shaders para unidades de processamento gráfico | |
WO2015017129A4 (en) | Multi-threaded gpu pipeline | |
TW201543357A (zh) | 基於同時多執行緒(smt)的中央處理單元以及用於檢測指令的資料相關性的裝置 | |
US11451241B2 (en) | Setting values of portions of registers based on bit values | |
Xiang et al. | Many-thread aware instruction-level parallelism: Architecting shader cores for GPU computing | |
US20170371701A1 (en) | Apparatuses, methods, and systems for granular and adaptive hardware transactional synchronization | |
Shibata et al. | An implementation of auto-memoization mechanism on arm-based superscalar processor |