JP6609552B2 - バスロック及び変換索引バッファの無効化を行う方法及び装置 - Google Patents
バスロック及び変換索引バッファの無効化を行う方法及び装置 Download PDFInfo
- Publication number
- JP6609552B2 JP6609552B2 JP2016526040A JP2016526040A JP6609552B2 JP 6609552 B2 JP6609552 B2 JP 6609552B2 JP 2016526040 A JP2016526040 A JP 2016526040A JP 2016526040 A JP2016526040 A JP 2016526040A JP 6609552 B2 JP6609552 B2 JP 6609552B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- processors
- processor
- message
- master
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 148
- 238000013519 translation Methods 0.000 title description 10
- 239000000872 buffer Substances 0.000 title description 7
- 239000004744 fabric Substances 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims 5
- 230000015654 memory Effects 0.000 description 34
- 230000014616 translation Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 101100016034 Nicotiana tabacum APIC gene Proteins 0.000 description 6
- 230000001427 coherent effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 239000000523 sample Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- 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/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/522—Manager
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
本願は、2013年10月25日に出願された米国仮特許出願番号第61/895,569号の利益を主張するものであり、その内容は引用により本明細書に組み込まれる。
Claims (18)
- ロックマスタが、システム内の複数のプロセッサから複数のロック要求を受信することであって、前記複数のロック要求は、各ロック要求に関連する個別のプロセッサを識別する識別子(ID)を含む、ことと、
前記ロックマスタが、静止要求を前記複数のプロセッサの各々に送信することと、
前記複数のプロセッサの全てが、前記ロックマスタから前記静止要求を受信すると、新たなトランザクションを発行するのを止めて静止許諾トランザクションを発行することと、
前記ロックマスタが、前記複数のプロセッサの各々から静止許諾トランザクションを受信すると、前記複数のプロセッサの各々に対してロック許諾メッセージを発行することであって、前記ロックマスタによって発行されたロック許諾メッセージは、特定のロック要求に関する個別のプロセッサに関連するロックIDを含む、ことと、
前記複数のプロセッサ毎に、前記ロックIDと、自身のプロセッサIDとを比較することと、
前記ロックIDと、特定のプロセッサのプロセッサIDとが一致した場合に、前記特定のプロセッサが、アトミックトランザクションシーケンスを行い、前記アトミックトランザクションシーケンスが完了すると、第1ロック解除メッセージを前記ロックマスタに送信することと、
前記ロックマスタが、前記特定のプロセッサから前記第1ロック解除メッセージを受信すると、第2ロック解除メッセージを全てのプロセッサに送信することと、
を含む、方法。 - 前記ロックマスタが、前記複数のプロセッサから受信した複数のロック要求をキューイングすることをさらに含む、請求項1の方法。
- 少なくとも1つのプロセッサが、アクティブなプロセッサのセットに加わるか離れるために、要求メッセージを前記ロックマスタに送信することをさらに含む、請求項1の方法。
- 前記少なくとも1つのプロセッサが、活動状態に到達すると、前記アクティブなプロセッサのセットに加わるために前記要求メッセージを送信する、請求項3の方法。
- 前記少なくとも1つのプロセッサが、休止状態に移行すると、前記アクティブなプロセッサのセットから離れるために前記要求メッセージを送信する、請求項3の方法。
- 前記ロックマスタが、前記複数のプロセッサから受信した静止許諾トランザクションの数をカウントすることと、全てのアクティブなプロセッサから静止許諾トランザクションを受信したと判断すると、前記ロック許諾メッセージを送信することと、をさらに含む、請求項3の方法。
- 複数のプロセッサと、
ロックマスタと、
を含むシステムであって、
前記ロックマスタは、前記システム内の前記複数のプロセッサから複数のロック要求を受信することであって、前記複数のロック要求は、各ロック要求に関連する個別のプロセッサを識別する識別子(ID)を含む、ことと、静止要求を前記複数のプロセッサの各々に送信することと、前記複数のプロセッサの全てから静止許諾トランザクションを受信すると、前記複数のプロセッサの各々に対してロック許諾メッセージを発行することであって、前記ロックマスタによって発行されたロック許諾メッセージは、特定のロック要求に関する特定のプロセッサに関連するロックIDを含む、ことと、前記特定のプロセッサから第1ロック解除メッセージを受信すると、第2ロック解除メッセージを全てのプロセッサに送信することと、を行うように構成されている、
システム。 - 前記複数のプロセッサの全ては、前記ロックマスタから前記静止要求を受信すると、新たなトランザクションを停止して、前記静止許諾トランザクションを発行する、請求項7のシステム。
- 前記特定のプロセッサは、前記ロック許諾メッセージを受信すると、アトミックトランザクションシーケンスを行い、前記アトミックトランザクションシーケンスが完了すると、前記第1ロック解除メッセージを前記ロックマスタに送信するように構成されている、請求項7のシステム。
- 前記複数のプロセッサは、前記ロックIDを自身のプロセッサIDと比較するように構成されている、請求項7のシステム。
- 前記ロックマスタは、前記複数のプロセッサから受信した複数のロック要求をキューイングするように構成されている、請求項7のシステム。
- 少なくとも1つのプロセッサは、プロセッサのアクティブなセットに加わるか離れるために要求メッセージを前記ロックマスタに送信するように構成されている、請求項7のシステム。
- 前記少なくとも1つのプロセッサは、活動状態に到達すると、前記アクティブなプロセッサのセットに加わるために前記要求メッセージを送信する、請求項12のシステム。
- 前記少なくとも1つのプロセッサは、休止状態に移行すると、前記アクティブなプロセッサのセットから離れるために前記要求メッセージを送信する、請求項12のシステム。
- 前記ロックマスタは、前記複数のプロセッサから受信した静止許諾トランザクションの数をカウントし、全てのアクティブなプロセッサから静止許諾トランザクションを受信したと判断すると、前記ロック許諾メッセージを送信するように構成されている、請求項12のシステム。
- 回路を備える装置であって、
前記回路は、システム内の複数のプロセッサから複数のロック要求を受信することであって、前記複数のロック要求は、各ロック要求に関連する個別のプロセッサを識別する識別子(ID)を含む、ことと、静止要求を前記複数のプロセッサの各々に送信することと、前記複数のプロセッサの全てから静止許諾トランザクションを受信すると、前記複数のプロセッサの各々に対してロック許諾メッセージを発行することであって、前記ロック許諾メッセージは、特定のロック要求に関する特定のプロセッサに関連するロックIDを含む、ことと、前記特定のプロセッサから第1ロック解除メッセージを受信すると、第2ロック解除メッセージを前記複数のプロセッサの全てに送信することと、を行うように構成されている、
装置。 - 前記複数のプロセッサから受信した静止許諾トランザクションの数をカウントし、全てのアクティブなプロセッサから静止許諾トランザクションを受信したと判断すると、前記ロック許諾メッセージを送信するように構成された回路をさらに備える、請求項16の装置。
- 前記ロックIDと、前記特定のプロセッサのプロセッサIDとが一致しない場合に、前記特定のプロセッサが、前記複数のプロセッサを接続する相互接続ファブリックの使用を控えることをさらに含む、請求項1の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361895569P | 2013-10-25 | 2013-10-25 | |
US61/895,569 | 2013-10-25 | ||
PCT/US2014/061944 WO2015061554A1 (en) | 2013-10-25 | 2014-10-23 | Method and apparatus for performing a bus lock and translation lookaside buffer invalidation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016534432A JP2016534432A (ja) | 2016-11-04 |
JP6609552B2 true JP6609552B2 (ja) | 2019-11-20 |
Family
ID=52993553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526040A Active JP6609552B2 (ja) | 2013-10-25 | 2014-10-23 | バスロック及び変換索引バッファの無効化を行う方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9916243B2 (ja) |
EP (1) | EP3060996A4 (ja) |
JP (1) | JP6609552B2 (ja) |
KR (1) | KR102165775B1 (ja) |
CN (1) | CN105765547A (ja) |
WO (1) | WO2015061554A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817434B2 (en) * | 2018-12-19 | 2020-10-27 | International Business Machines Corporation | Interruptible translation entry invalidation in a multithreaded data processing system |
CN113590314A (zh) * | 2021-07-13 | 2021-11-02 | 上海一谈网络科技有限公司 | 网络请求数据处理方法和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381663B1 (en) * | 1999-03-26 | 2002-04-30 | Hewlett-Packard Company | Mechanism for implementing bus locking with a mixed architecture |
US6484185B1 (en) | 1999-04-05 | 2002-11-19 | Microsoft Corporation | Atomic operations on data structures |
US7640315B1 (en) * | 2000-08-04 | 2009-12-29 | Advanced Micro Devices, Inc. | Implementing locks in a distributed processing system |
US7380001B2 (en) * | 2001-05-17 | 2008-05-27 | Fujitsu Limited | Fault containment and error handling in a partitioned system with shared resources |
AU2002341784A1 (en) * | 2001-09-21 | 2003-04-01 | Polyserve, Inc. | A system and method for efficient lock recovery |
US6892283B2 (en) * | 2002-12-05 | 2005-05-10 | International Business Machines Corporation | High speed memory cloner with extended cache coherency protocols and responses |
US7191349B2 (en) * | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
US7822978B2 (en) * | 2005-07-22 | 2010-10-26 | Intel Corporation | Quiescing a manageability engine |
US7730491B2 (en) * | 2005-08-30 | 2010-06-01 | Intel Corporation | Fair scalable reader-writer mutual exclusion |
JP4208895B2 (ja) * | 2006-05-30 | 2009-01-14 | 株式会社東芝 | キャッシュメモリ装置および処理方法 |
US7761696B1 (en) * | 2007-03-30 | 2010-07-20 | Intel Corporation | Quiescing and de-quiescing point-to-point links |
JP5349072B2 (ja) * | 2009-02-17 | 2013-11-20 | パナソニック株式会社 | 資源排他制御方法および資源排他制御装置 |
US8443148B2 (en) | 2009-12-26 | 2013-05-14 | Intel Corporation | System-wide quiescence and per-thread transaction fence in a distributed caching agent |
US8352656B2 (en) | 2010-04-08 | 2013-01-08 | Intel Corporation | Handling atomic operations for a non-coherent device |
US8516577B2 (en) * | 2010-09-22 | 2013-08-20 | Intel Corporation | Regulating atomic memory operations to prevent denial of service attack |
US9015436B2 (en) | 2011-08-22 | 2015-04-21 | Intel Corporation | Performing an atomic operation without quiescing an interconnect structure |
JP5838652B2 (ja) | 2011-08-23 | 2016-01-06 | 富士通株式会社 | データコピー処理システム |
-
2014
- 2014-10-23 WO PCT/US2014/061944 patent/WO2015061554A1/en active Application Filing
- 2014-10-23 CN CN201480063058.9A patent/CN105765547A/zh active Pending
- 2014-10-23 EP EP14856428.9A patent/EP3060996A4/en not_active Ceased
- 2014-10-23 US US14/522,137 patent/US9916243B2/en active Active
- 2014-10-23 JP JP2016526040A patent/JP6609552B2/ja active Active
- 2014-10-23 KR KR1020167013468A patent/KR102165775B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160075638A (ko) | 2016-06-29 |
CN105765547A (zh) | 2016-07-13 |
KR102165775B1 (ko) | 2020-10-14 |
JP2016534432A (ja) | 2016-11-04 |
WO2015061554A1 (en) | 2015-04-30 |
US20150120976A1 (en) | 2015-04-30 |
EP3060996A4 (en) | 2017-05-10 |
EP3060996A1 (en) | 2016-08-31 |
US9916243B2 (en) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6969853B2 (ja) | ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ | |
JP6552512B2 (ja) | 入出力メモリマップユニット及びノースブリッジ | |
US9372808B2 (en) | Deadlock-avoiding coherent system on chip interconnect | |
US10509740B2 (en) | Mutual exclusion in a non-coherent memory hierarchy | |
US7590805B2 (en) | Monitor implementation in a multicore processor with inclusive LLC | |
TWI494942B (zh) | 用於i/o流量的同調性開關 | |
US7797563B1 (en) | System and method for conserving power | |
US9690737B2 (en) | Systems and methods for controlling access to a shared data structure with reader-writer locks using multiple sub-locks | |
US20070150658A1 (en) | Pinning locks in shared cache | |
JP2017530436A (ja) | 異種共有仮想メモリにおけるオンデマンド共有可能性変換 | |
JP5933000B2 (ja) | 中央処理ユニット及び画像処理ユニットの同期機構 | |
BR102016012083A2 (pt) | Hardware appliances and methods for performing transactive energy management | |
US20040111565A1 (en) | High speed memory cloner with extended cache coherency protocols and responses | |
JP6609552B2 (ja) | バスロック及び変換索引バッファの無効化を行う方法及び装置 | |
US20040111581A1 (en) | Imprecise cache line protection mechanism during a memory clone operation | |
Mak et al. | IBM System z10 processor cache subsystem microarchitecture | |
EP4264905A1 (en) | Data placement with packet metadata | |
US6915390B2 (en) | High speed memory cloning facility via a coherently done mechanism | |
Mirian et al. | Managing mutex variables in a cache-coherent shared-memory system for FPGAs | |
Zhang | Research on Cache Coherence Key Technology in Multi-core Processor System | |
JP2010140130A (ja) | 半導体装置 | |
JPS6332649A (ja) | マルチプロセツサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160805 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190801 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190809 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191028 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6609552 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 |