JP2008515096A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008515096A5 JP2008515096A5 JP2007534659A JP2007534659A JP2008515096A5 JP 2008515096 A5 JP2008515096 A5 JP 2008515096A5 JP 2007534659 A JP2007534659 A JP 2007534659A JP 2007534659 A JP2007534659 A JP 2007534659A JP 2008515096 A5 JP2008515096 A5 JP 2008515096A5
- Authority
- JP
- Japan
- Prior art keywords
- processor core
- address range
- update
- indication
- response
- 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
Claims (27)
- 更新のために第1プロセッサコアがモニタリングしているアドレスレンジを識別するアドレスレンジインディケーションを通信するように構成された第1プロセッサコアを有し、前記第1プロセッサコアは、更新のために前記第1プロセッサコアに前記アドレスレンジをモニタリングさせるように定義された第1の命令の実行に応答して、前記アドレスレンジインディケーションを通信するように構成されているものであって、
前記アドレスレンジインディケーションを受信するように結合されるとともに、前記アドレスレンジにおいて少なくとも1バイトを更新する書込みオペレーションの実行に応答して、前記第1プロセッサコアに信号を送信するように構成された第2プロセッサコアを有し、前記第2プロセッサコアは、前記書込みオペレーションをコヒーレントに実行するように、1以上のコヒーレンシー通信を発行するように構成されており、
前記第1プロセッサコアは、前記書込みオペレーションをコヒーレントに実行するように、前記第2プロセッサコアによって発行された前記1以上のコヒーレンシー通信を受信する前に前記第2プロセッサコアからの信号を受信するように結合されており、さらに、前記第1プロセッサコアは、前記第2プロセッサコアからの信号に応答して、前記アドレスレンジの更新を待つ第1の状態から抜け出すように構成されている、システム。 - 前記アドレスレンジインディケーションは、連続したメモリバイトのブロックを識別するアドレスを含む、請求項1に記載のシステム。
- 前記ブロック連続メモリバイトはキャッシュラインである、請求項2に記載のシステム。
- 前記第1プロセッサコアは、コンピュータシステムの他のコンポーネントと通信するためのインターフェースに結合されており、前記第1プロセッサコアは、前記更新のインディケーションが前記アドレスレンジの更新を示していれば、前記インターフェースからの更新インディケーションの受信に応答して、前記第1の状態から抜け出すようにさらに構成されている、請求項1に記載のシステム。
- 前記更新のインディケーションはプローブである、請求項4に記載のシステム。
- 前記第1プロセッサコアは、前記アドレスレンジインディケーションを記録するように構成された第1レジスタを含む、請求項1記載のシステム。
- 前記第2プロセッサコアは、前記アドレスレンジインディケーションのシャドウコピーを記録するように構成された第2レジスタを含む、請求項6に記載のシステム。
- 前記第1の状態は、電力節約状態を含む、請求項1に記載のシステム。
- 第1プロセッサコアが更新をモニタリングしているアドレスレンジを識別するアドレスレンジインディケーションを第1プロセッサコアから第2プロセッサコアに通信するステップを有し、前記通信は、更新のために前記第1プロセッサコアに前記アドレスレンジをモニタリングさせるように定義された前記第1プロセッサコアの第1の命令の実行に応答するものであり、
前記第2プロセッサコアの前記アドレスレンジにおいて、少なくとも1バイトを更新する書込みオペレーションを実行するステップと、
前記書込みオペレーションをコヒーレントに実行するように、前記第2プロセッサコアから1以上のコヒーレンシー通信を発行するステップと、
前記書込みオペレーションに応答して、前記第1プロセッサコアに信号を送信するステップと、
前記第1プロセッサコアが前記アドレスレンジにおいて前記更新を待っている第1の状態から抜け出すステップと、を含み、前記抜け出すステップは、前記信号に応答するものであって、さらに、前記書込みオペレーションをコヒーレントに実行するように、前記第2プロセッサコアによって1以上のコヒーレンシー通信を受信する前に起きる、方法。 - 前記アドレスレンジインディケーションは、連続したメモリバイトのブロックを識別するアドレスを含む、請求項9に記載の方法。
- 前記ブロック連続メモリバイトはキャッシュラインである、請求項10に記載の方法。
- 前記第1プロセッサコアは、前記コンピュータシステムの他のコンポーネントと通信するためのインターフェースに結合されているものであって、前記更新のインディケーションが前記アドレスレンジの更新を示していれば、前記インターフェースからの更新のインディケーションの受信に応答して、前記第1プロセッサコアの前記第1の状態から抜け出すステップをさらに含む、請求項9に記載の方法。
- 前記更新のインディケーションはプローブである、請求項12に記載の方法。
- 前記第1の状態は、電力節約状態を含む、請求項9に記載の方法。
- 第1の命令に応答して更新のためにアドレスレンジをモニタリングするように構成されたモニタユニットを備えたプロセッサコアであって、
前記プロセッサコアは、前記アドレスレンジの更新を待つために第1の状態に入るよう構成されており、
前記モニタユニットは、前記第1の命令の実行に応答して、第2のプロセッサコアに対する前記アドレスレンジを識別するアドレスレンジインディケーションを通信するように構成されており、さらに、
前記モニタユニットは、第2のプロセッサコアから、前記第2プロセッサコアが前記アドレスレンジにおいて少なくとも1バイトを更新していることを示す信号を受信するように構成されており、さらに、前記プロセッサコアは前記書込みオペレーションをコヒーレントに実行するように、前記第2プロセッサコアによって発行された1以上のコヒーレンシー通信を受信する前に信号を受信するように結合されており、さらに、前記プロセッサコアは、前記信号に応答して前記第1の状態から抜け出すように構成されている、プロセッサコア。 - 前記アドレスレンジインディケーションは、連続したメモリバイトのブロックを識別するアドレスを含む、請求項15に記載のプロセッサコア。
- 前記ブロック連続メモリバイトはキャッシュラインである、請求項16に記載のプロセッサコア。
- 前記コンピュータシステムの他のコンポーネントと通信するためのインターフェースをさらに有しており、前記プロセッサコアは、前記更新のインディケーションが前記アドレスレンジの更新を示していれば、前記インターフェースからの更新インディケーションの受信に応答して、前記第1の状態から抜け出すようにさらに構成されている、請求項15に記載のプロセッサコア。
- 前記更新のインディケーションはプローブである、請求項18に記載のプロセッサコア。
- 前記第モニタユニットは、前記アドレスレンジインディケーションを記録するように構成された第1レジスタを含む、請求項15記載のプロセッサコア。
- 前記モニタユニットは、前記第2プロセッサプロセッサコアから受信した前記アドレスレンジインディケーションのシャドウコピーを記録するように構成されており、前記第2プロセッサコアは、前記第2アドレスレンジインディケーションにより示された第2アドレスレンジの更新をモニタリングする、請求項20に記載のプロセッサコア。
- 前記モニタユニットは、前記第2アドレスレンジにおいて少なくとも1バイトを更新している第2書込みオペレーションを実行する前記プロセッサコアに応答して、前記第2プロセッサコアに信号を送信するように構成されている、請求項21に記載のプロセッサコア。
- 前記第2の状態は、電力節約状態を含む、請求項15に記載のプロセッサコア。
- 前記プロセッサコアは、第2の命令の実行に応答して、前記第1の状態に入るように構成されている、請求項15に記載のプロセッサコア。
- 前記第2プロセッサコアは、前記インターフェースとは別個に前記第1プロセッサコアに信号を送信するよう結合されている、請求項4に記載のシステム。
- 前記第1プロセッサコアは、前記第1プロセッサコアが前記アドレスレンジ内での更新を待っていることを示す第2信号の実行に応答して、前記電力節約状態に入るように構成されている、請求項8に記載のシステム。
- 前記プロセッサコアは、前記インターフェースとは別個に前記信号を受信するよう結合されている、請求項18に記載のプロセッサコア。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/956,685 US7257679B2 (en) | 2004-10-01 | 2004-10-01 | Sharing monitored cache lines across multiple cores |
US10/956,685 | 2004-10-01 | ||
PCT/US2005/033819 WO2006039162A2 (en) | 2004-10-01 | 2005-09-21 | Sharing monitored cache lines across multiple cores |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008515096A JP2008515096A (ja) | 2008-05-08 |
JP2008515096A5 true JP2008515096A5 (ja) | 2009-01-08 |
JP4982375B2 JP4982375B2 (ja) | 2012-07-25 |
Family
ID=35994769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007534659A Active JP4982375B2 (ja) | 2004-10-01 | 2005-09-21 | 複数のコアを介してのモニタリングされたキャッシュラインの共有 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7257679B2 (ja) |
EP (1) | EP1807754B1 (ja) |
JP (1) | JP4982375B2 (ja) |
KR (1) | KR101216190B1 (ja) |
CN (1) | CN101036116B (ja) |
DE (1) | DE602005020960D1 (ja) |
TW (1) | TWI366132B (ja) |
WO (1) | WO2006039162A2 (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US7484053B2 (en) * | 2005-05-16 | 2009-01-27 | Texas Instruments Incorporated | Cross-referencing cache line addresses with corresponding names |
US7444474B2 (en) * | 2005-05-16 | 2008-10-28 | Texas Instruments Incorporated | Determining the presence of a virtual address in a cache |
US8281083B2 (en) | 2005-06-30 | 2012-10-02 | Intel Corporation | Device, system and method of generating an execution instruction based on a memory-access instruction |
US9003421B2 (en) * | 2005-11-28 | 2015-04-07 | Intel Corporation | Acceleration threads on idle OS-visible thread execution units |
US20070271450A1 (en) * | 2006-05-17 | 2007-11-22 | Doshi Kshitij A | Method and system for enhanced thread synchronization and coordination |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US9015399B2 (en) * | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US9336051B2 (en) * | 2007-10-19 | 2016-05-10 | National Instruments Corporation | Programmable controller with multiple processors using a scanning architecture |
US20090106755A1 (en) * | 2007-10-19 | 2009-04-23 | Sundeep Chandhoke | Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures |
US20090309243A1 (en) * | 2008-06-11 | 2009-12-17 | Nvidia Corporation | Multi-core integrated circuits having asymmetric performance between cores |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US8156275B2 (en) * | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8364862B2 (en) * | 2009-06-11 | 2013-01-29 | Intel Corporation | Delegating a poll operation to another device |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US8782451B2 (en) * | 2010-12-22 | 2014-07-15 | Via Technologies, Inc. | Power state synchronization in a multi-core processor |
US8637212B2 (en) | 2010-12-22 | 2014-01-28 | Via Technologies, Inc. | Reticle set modification to produce multi-core dies |
US9460038B2 (en) | 2010-12-22 | 2016-10-04 | Via Technologies, Inc. | Multi-core microprocessor internal bypass bus |
US8631256B2 (en) | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
US8635476B2 (en) * | 2010-12-22 | 2014-01-21 | Via Technologies, Inc. | Decentralized power management distributed among multiple processor cores |
US8972707B2 (en) | 2010-12-22 | 2015-03-03 | Via Technologies, Inc. | Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin |
TWI450084B (zh) * | 2010-12-22 | 2014-08-21 | Via Tech Inc | 配置在多重處理器核心之間之分散式電源管理 |
US8930676B2 (en) | 2010-12-22 | 2015-01-06 | Via Technologies, Inc. | Master core discovering enabled cores in microprocessor comprising plural multi-core dies |
US8819349B2 (en) * | 2011-07-08 | 2014-08-26 | Facebook, Inc. | Invoking operating system functionality without the use of system calls |
US8713262B2 (en) * | 2011-09-02 | 2014-04-29 | Nvidia Corporation | Managing a spinlock indicative of exclusive access to a system resource |
US8868843B2 (en) | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
CN106909444B (zh) | 2011-12-22 | 2021-01-12 | 英特尔公司 | 用于指定应用线程性能状态的指令的指令处理装置及相关方法 |
US9396020B2 (en) | 2012-03-30 | 2016-07-19 | Intel Corporation | Context switching mechanism for a processing core having a general purpose CPU core and a tightly coupled accelerator |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9218288B2 (en) * | 2012-06-15 | 2015-12-22 | International Business Machines Corporation | Monitoring a value in storage without repeated storage access |
US9507404B2 (en) | 2013-08-28 | 2016-11-29 | Via Technologies, Inc. | Single core wakeup multi-core synchronization mechanism |
US9792112B2 (en) | 2013-08-28 | 2017-10-17 | Via Technologies, Inc. | Propagation of microcode patches to multiple cores in multicore microprocessor |
US9465432B2 (en) | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
JP6525267B2 (ja) * | 2015-11-13 | 2019-06-05 | Necプラットフォームズ株式会社 | 範囲外参照検出装置、方法およびプログラム |
US10394678B2 (en) * | 2016-12-29 | 2019-08-27 | Intel Corporation | Wait and poll instructions for monitoring a plurality of addresses |
CN108009121B (zh) * | 2017-12-21 | 2021-12-07 | 中国电子科技集团公司第四十七研究所 | 面向应用的动态多核配置方法 |
US11237960B2 (en) | 2019-05-21 | 2022-02-01 | Arm Limited | Method and apparatus for asynchronous memory write-back in a data processing system |
US11176042B2 (en) * | 2019-05-21 | 2021-11-16 | Arm Limited | Method and apparatus for architectural cache transaction logging |
US11553337B2 (en) | 2019-12-10 | 2023-01-10 | Winkk, Inc. | Method and apparatus for encryption key exchange with enhanced security through opti-encryption channel |
CN113157543B (zh) * | 2021-05-14 | 2023-07-21 | 海光信息技术股份有限公司 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
US20220394023A1 (en) * | 2021-06-04 | 2022-12-08 | Winkk, Inc | Encryption for one-way data stream |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2916421B2 (ja) * | 1996-09-09 | 1999-07-05 | 株式会社東芝 | キャッシュフラッシュ装置およびデータ処理方法 |
JPH10149285A (ja) * | 1996-11-18 | 1998-06-02 | Hitachi Ltd | 命令実行制御方法および情報処理装置 |
US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
US6721856B1 (en) * | 2000-10-26 | 2004-04-13 | International Business Machines Corporation | Enhanced cache management mechanism via an intelligent system bus monitor |
US7363474B2 (en) * | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US7266587B2 (en) * | 2002-05-15 | 2007-09-04 | Broadcom Corporation | System having interfaces, switch, and memory bridge for CC-NUMA operation |
-
2004
- 2004-10-01 US US10/956,685 patent/US7257679B2/en active Active
-
2005
- 2005-09-21 KR KR1020077007487A patent/KR101216190B1/ko active IP Right Grant
- 2005-09-21 WO PCT/US2005/033819 patent/WO2006039162A2/en active Application Filing
- 2005-09-21 DE DE602005020960T patent/DE602005020960D1/de active Active
- 2005-09-21 JP JP2007534659A patent/JP4982375B2/ja active Active
- 2005-09-21 EP EP05800246A patent/EP1807754B1/en active Active
- 2005-09-21 CN CN2005800334872A patent/CN101036116B/zh active Active
- 2005-09-26 TW TW094133303A patent/TWI366132B/zh active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008515096A5 (ja) | ||
JP6066250B2 (ja) | マルチコア異種システム変換のルックアサイドバッファコヒーレンシ | |
US9442855B2 (en) | Transaction layer packet formatting | |
US9129071B2 (en) | Coherence controller slot architecture allowing zero latency write commit | |
US9208091B2 (en) | Coherent attached processor proxy having hybrid directory | |
US8055805B2 (en) | Opportunistic improvement of MMIO request handling based on target reporting of space requirements | |
US20070005859A1 (en) | Method and apparatus to quiesce USB activities using interrupt descriptor caching and asynchronous notifications | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证***及相关设备 | |
US8990513B2 (en) | Accelerated recovery for snooped addresses in a coherent attached processor proxy | |
WO2016089086A1 (en) | Electronic device and method for controlling shareable cache memory thereof | |
US8918591B2 (en) | Data processing system having selective invalidation of snoop requests and method therefor | |
TW200627271A (en) | Sharing monitored cache lines across multiple cores | |
US20060095674A1 (en) | Tracing instruction flow in an integrated processor | |
JP2010505195A (ja) | キャッシュ・メモリ・デバッグ・サポートを有するデータ処理システムおよびそのための方法 | |
JP2010527488A (ja) | データ処理システムにおけるキャッシュトランザクションのための方法及び装置 | |
JP5623370B2 (ja) | キャッシュ・メモリに対する直接アクセスのための装置および方法 | |
US9251076B2 (en) | Epoch-based recovery for coherent attached processor proxy | |
JPH11328016A (ja) | 命令キャッシュとデ―タ・キャッシュ間のコヒ―レンシを維持する方法および装置 | |
WO2013095464A1 (en) | Apparatus and method for memory-hierarchy aware producer-consumer instruction | |
JP4302083B2 (ja) | キャッシュシステムおよびキャッシュシステム制御方法 | |
US7581042B2 (en) | I/O hub resident cache line monitor and device register update | |
US20060004965A1 (en) | Direct processor cache access within a system having a coherent multi-processor protocol | |
JP4373485B2 (ja) | 情報処理装置及び該制御方法 | |
US20050289303A1 (en) | Pushing of clean data to one or more processors in a system having a coherency protocol | |
JP4490585B2 (ja) | 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置 |