JP2013541097A - プロセッサ、防止方法及びシステム - Google Patents
プロセッサ、防止方法及びシステム Download PDFInfo
- Publication number
- JP2013541097A JP2013541097A JP2013530301A JP2013530301A JP2013541097A JP 2013541097 A JP2013541097 A JP 2013541097A JP 2013530301 A JP2013530301 A JP 2013530301A JP 2013530301 A JP2013530301 A JP 2013530301A JP 2013541097 A JP2013541097 A JP 2013541097A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- processor
- memory
- processing
- core
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000002265 prevention Effects 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 65
- 230000008569 process Effects 0.000 claims description 53
- 239000000872 buffer Substances 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000001934 delay Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 1
- 235000011941 Tilia x europaea Nutrition 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
第1のスレッド及び第2のスレッドを実行する第1のコアを有するプロセッサであって、前記第1のコアは、
前記第1及び第2のスレッドによるメモリ処理の要求を処理するメモリ実行部と、
第1のアトミックメモリ処理の完了以来ある時間ウィンドウが経過するまで第1のアトミックメモリ処理の完了後、前記第1のスレッドが前記第2のアトミックメモリ処理を実行することを妨げるレギュレータ論理部と
を有するプロセッサである。
Claims (20)
- 第1のスレッド及び第2のスレッドを実行する第1のコアを有するプロセッサであって、前記第1のコアは、
前記第1及び第2のスレッドによるメモリ処理の要求を処理するメモリ実行部と、
第1のアトミックメモリ処理の完了以来ある時間ウィンドウが経過するまで第1のアトミックメモリ処理の完了後、前記第1のスレッドが前記第2のアトミックメモリ処理を実行することを妨げるレギュレータ論理部と
を有するプロセッサ。 - 前記レギュレータ論理部が、前記時間ウィンドウが経過した後に前記第2のアトミックメモリ処理を延期第1のスレッドが実行することを許可する、請求項1に記載のプロセッサ。
- 前記第1のコアにおいてロック状態が検出された場合、ロックブレーキング処理を実行する少なくとも1つのロックブレーカを更に有する請求項1に記載のプロセッサ。
- 前記レギュレータ論理部が前記第2のアトミックメモリ処理の実行を防止し、前記少なくとも1つのロックブレーカは、前記第1のスレッドにより発行された複数のアトミックメモリ処理に応答するロックブレーキング処理を開始しない、請求項3に記載のプロセッサ。
- 前記レギュレータ論理部が複数のトラッカを含み、前記複数のトラッカの各々が前記第1のコアで実行するスレッドに関連付けられており、前記レギュレータ論理部は、前記第1のスレッドに関連付けられているカウンタ値がカウンタ処理の実行中に得られた場合、前記第2のアトミックメモリ処理を前記メモリ実行部に発行することを防ぐ、請求項1に記載のプロセッサ。
- 前記レギュレータ論理部は、前記第1のアトミックメモリ処理の終了シーケンスを検出したことに応答してカウンタを起動する、請求項5に記載のプロセッサ。
- 前記カウンタの長さは当該プロセッサのマイクロコードによりプログラミング可能である、請求項5に記載のプロセッサ。
- サービス妨害攻撃が前記第1のスレッドにより実行された場合、前記レギュレータ論理部は前記第2のスレッドが進行することを可能にする、請求項1に記載のプロセッサ。
- 前記レギュレータ論理部によりサービス妨害攻撃が検出された場合、前記レギュレータ論理部は前記第1のスレッドに関連付けられる時間ウィンドウを長くする、請求項8に記載のプロセッサ。
- 前記レギュレータ論理部は当該プロセッサのマイクロコードに応答してディセーブルにされる、請求項1に記載のプロセッサ。
- 第1のスレッドで実行されるアトミックメモリ処理の終了シーケンスを検出するステップと、
前記第1のスレッドの提示ウィンドウを提示する期間をカウントするタイマを前記第1のスレッドに関連付けるステップと、
前記アトミックメモリの処理が完了した後、前記提示ウィンドウの期間が経過するまで、前記第1のスレッドによるメモリクラスタ処理の実行を妨げるステップと
を有する防止方法。 - 前記提示ウィンドウの期間が経過するまで、前記第1のスレッドにより発行された第2のアトミックメモリ処理の要求をバッファの中で保持するステップを更に有する請求項11に記載の防止方法。
- 前記アトミックメモリ処理がバスロック処理を含む、請求項11に記載の防止方法。
- 前記第1のスレッドにより要求された複数のアトミックメモリ処理の少なくとも一部に基づいて前記提示ウィンドウの長さを制御するステップを更に有する請求項11に記載の防止方法。
- 前記提示ウィンドウの間に第2のスレッドがアトミックメモリ処理を実行することを許可した後に、第2の提示ウィンドウの期間が経過するまで、前記第2のスレッドがメモリクラスタ処理の実行を妨げる、請求項11に記載の防止方法。
- 前記第1のスレッドにより実行されるサービス妨害攻撃を、前記第2のスレッドの実行から妨げすステップを更に有し、前記第1及び第2のスレッドはマルチコアプロセッサの第1のコアで実行される、請求項15に記載の防止方法。
- 前記第1のコアに結合されたブロックブレーカによるロックブレーキング処理を開始することなしに、前記第1のスレッドが前記メモリクラスタ処理の実行を妨害することにより、前記第2のスレッドが進行することが許可される、請求項16に記載の防止方法。
- 命令を実行する1つ以上のコアを含むプロセッサと前記プロセッサに結合されたダイナミックランダムアクセスメモリ(DRAM)とを有するシステムであって、前記少なくとも1つのコアは、
命令を取得してデコードするフロントエンド部と、
前記命令の内少なくとも1つのオペランドを物理レジスタに関連付ける名称変更部と、
前記フロントエンド部に結合され、前記少なくとも1つのオペランドを用いて延期命令を実行する実行部と、
前記実行部に結合され、前記実行部から到来するメモリ要求を処理するメモリ実行部(MEU)と、
前記MEUに結合され、前記第1のスレッドにより要求された以前のアトミックメモリ処理の終了に応じて、前記MEUに提供された第1のスレッドにより要求された少なくとも1つのアトミックメモリ処理を遅延させるレギュレータ部と
を有するシステム。 - 前記レギュレータ部は、前記第1のスレッドにより要求された少なくとも1つのアドミックメモリ処理を遅延させつつ、前記第2のスレッドにより要求されるアトミックメモリ処理が前記MEUに提供されることを許可する、請求項18に記載のシステム。
- 前記少なくとも1つのアトミックメモリ処理の遅延により、前記レギュレータ部は、前記第1のスレッドがサービス妨害攻撃を処理している間に前記第2のスレッドが処理を進行させることを許可し、該遅延により、前記プロセッサの少なくとも1つのロックブレーカはロックブレーキング処理を起動しない、請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/887,898 | 2010-09-22 | ||
US12/887,898 US8516577B2 (en) | 2010-09-22 | 2010-09-22 | Regulating atomic memory operations to prevent denial of service attack |
PCT/US2011/052696 WO2012040425A2 (en) | 2010-09-22 | 2011-09-22 | Regulating atomic memory operations to prevent denial of service attack |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013541097A true JP2013541097A (ja) | 2013-11-07 |
JP5628434B2 JP5628434B2 (ja) | 2014-11-19 |
Family
ID=45818946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530301A Expired - Fee Related JP5628434B2 (ja) | 2010-09-22 | 2011-09-22 | プロセッサ、防止方法及びシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US8516577B2 (ja) |
JP (1) | JP5628434B2 (ja) |
CN (1) | CN103140847B (ja) |
GB (1) | GB2497883B (ja) |
TW (1) | TWI540504B (ja) |
WO (1) | WO2012040425A2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524263B2 (en) * | 2012-06-29 | 2016-12-20 | Intel Corporation | Method and apparatus for bus lock assistance |
JP6609552B2 (ja) * | 2013-10-25 | 2019-11-20 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | バスロック及び変換索引バッファの無効化を行う方法及び装置 |
US9449008B1 (en) * | 2014-03-31 | 2016-09-20 | Amazon Technologies, Inc. | Consistent object renaming in distributed systems |
US10901940B2 (en) * | 2016-04-02 | 2021-01-26 | Intel Corporation | Processors, methods, systems, and instructions to atomically store to memory data wider than a natively supported data width |
GB2577878B (en) * | 2018-10-08 | 2020-11-11 | Advanced Risc Mach Ltd | Transition disable indicator |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149480A (ja) * | 2000-11-16 | 2002-05-24 | Matsushita Electric Ind Co Ltd | 排他制御方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293621A (en) | 1993-01-11 | 1994-03-08 | Unisys Corporation | Varying wait interval retry apparatus and method for preventing bus lockout |
US5644733A (en) | 1995-05-18 | 1997-07-01 | Unisys Corporation | Dual coupled partitionable networks providing arbitration logic for managed access to commonly shared busses |
US5717876A (en) | 1996-02-26 | 1998-02-10 | International Business Machines Corporation | Method for avoiding livelock on bus bridge receiving multiple requests |
US6141715A (en) | 1997-04-03 | 2000-10-31 | Micron Technology, Inc. | Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction |
US6182210B1 (en) | 1997-12-16 | 2001-01-30 | Intel Corporation | Processor having multiple program counters and trace buffers outside an execution pipeline |
US6078981A (en) | 1997-12-29 | 2000-06-20 | Intel Corporation | Transaction stall technique to prevent livelock in multiple-processor systems |
US6178493B1 (en) | 1998-02-19 | 2001-01-23 | International Business Machines Corporation | Multiprocessor stalled store detection |
US7257814B1 (en) | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
AU2001267057A1 (en) | 2000-06-12 | 2001-12-24 | Clearwater Networks, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US6434673B1 (en) | 2000-06-30 | 2002-08-13 | Intel Corporation | Optimized configurable scheme for demand based resource sharing of request queues in a cache controller |
US6920516B2 (en) | 2000-08-31 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Anti-starvation interrupt protocol |
US7082500B2 (en) | 2003-02-18 | 2006-07-25 | Cray, Inc. | Optimized high bandwidth cache coherence mechanism |
US7000047B2 (en) | 2003-04-23 | 2006-02-14 | International Business Machines Corporation | Mechanism for effectively handling livelocks in a simultaneous multithreading processor |
US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
US7873785B2 (en) * | 2003-08-19 | 2011-01-18 | Oracle America, Inc. | Multi-core multi-thread processor |
US8607241B2 (en) * | 2004-06-30 | 2013-12-10 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
US7748001B2 (en) | 2004-09-23 | 2010-06-29 | Intel Corporation | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
US7516313B2 (en) | 2004-12-29 | 2009-04-07 | Intel Corporation | Predicting contention in a processor |
US7558946B2 (en) | 2005-12-12 | 2009-07-07 | Intel Corporation | Breaking a lock situation in a processor without detection of the lock situation using a multi-level approach |
US8069444B2 (en) | 2006-08-29 | 2011-11-29 | Oracle America, Inc. | Method and apparatus for achieving fair cache sharing on multi-threaded chip multiprocessors |
US7590784B2 (en) | 2006-08-31 | 2009-09-15 | Intel Corporation | Detecting and resolving locks in a memory unit |
-
2010
- 2010-09-22 US US12/887,898 patent/US8516577B2/en active Active
-
2011
- 2011-09-21 TW TW100133921A patent/TWI540504B/zh active
- 2011-09-22 JP JP2013530301A patent/JP5628434B2/ja not_active Expired - Fee Related
- 2011-09-22 GB GB1305154.5A patent/GB2497883B/en not_active Expired - Fee Related
- 2011-09-22 CN CN201180045904.0A patent/CN103140847B/zh not_active Expired - Fee Related
- 2011-09-22 WO PCT/US2011/052696 patent/WO2012040425A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149480A (ja) * | 2000-11-16 | 2002-05-24 | Matsushita Electric Ind Co Ltd | 排他制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120072984A1 (en) | 2012-03-22 |
JP5628434B2 (ja) | 2014-11-19 |
WO2012040425A3 (en) | 2012-06-28 |
WO2012040425A2 (en) | 2012-03-29 |
US8516577B2 (en) | 2013-08-20 |
GB201305154D0 (en) | 2013-05-01 |
TWI540504B (zh) | 2016-07-01 |
GB2497883B (en) | 2018-08-15 |
GB2497883A (en) | 2013-06-26 |
CN103140847A (zh) | 2013-06-05 |
TW201227505A (en) | 2012-07-01 |
CN103140847B (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12020031B2 (en) | Methods, apparatus, and instructions for user-level thread suspension | |
JP4603583B2 (ja) | プロセッサ、装置、及び方法 | |
US9940132B2 (en) | Load-monitor mwait | |
Martínez et al. | Cherry: Checkpointed early resource recycling in out-of-order microprocessors | |
JP5894120B2 (ja) | ゼロサイクルロード | |
US10761846B2 (en) | Method for managing software threads dependent on condition variables | |
US7111126B2 (en) | Apparatus and method for loading data values | |
US8898434B2 (en) | Optimizing system throughput by automatically altering thread co-execution based on operating system directives | |
US9891972B2 (en) | Lazy runahead operation for a microprocessor | |
JP5628434B2 (ja) | プロセッサ、防止方法及びシステム | |
US7590784B2 (en) | Detecting and resolving locks in a memory unit | |
US9389864B2 (en) | Data processing device and method, and processor unit of same | |
US20160350167A1 (en) | Conditional pattern detector for detecting hangs | |
US7328327B2 (en) | Technique for reducing traffic in an instruction fetch unit of a chip multiprocessor | |
Wang et al. | GCMS: A Global Contention Management Scheme in Hardware Transactional Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140626 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140804 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5628434 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |