JP2022549095A - キャッシュ禁止書き込みオペレーション - Google Patents
キャッシュ禁止書き込みオペレーション Download PDFInfo
- Publication number
- JP2022549095A JP2022549095A JP2022516628A JP2022516628A JP2022549095A JP 2022549095 A JP2022549095 A JP 2022549095A JP 2022516628 A JP2022516628 A JP 2022516628A JP 2022516628 A JP2022516628 A JP 2022516628A JP 2022549095 A JP2022549095 A JP 2022549095A
- Authority
- JP
- Japan
- Prior art keywords
- data
- request
- interconnect
- cache
- processing unit
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 102
- 230000004044 response Effects 0.000 claims description 139
- 238000013461 design Methods 0.000 claims description 62
- 238000000034 method Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 101100007917 Mus musculus Cst9 gene Proteins 0.000 description 37
- 238000012938 design process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000004088 simulation Methods 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 5
- 230000008685 targeting Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000002076 thermal analysis method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching 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/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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (16)
- ブロードキャスト・アドレス・インターコネクト及びデータ・インターコネクトを有するシステム・インターコネクトを含むデータ処理システムのための処理ユニットであって、
メモリ・アクセス命令を実行するプロセッサ・コアと、
前記プロセッサ・コアに結合され、前記プロセッサ・コアによるアクセスのために、データを格納するように構成された、キャッシュ・メモリと、
を含み、
前記処理ユニットは、前記アドレス・インターコネクト上で、前記システム・インターコネクトに結合された宛先デバイスに対するキャッシュ禁止書き込み要求及び書き込みデータをブロードキャストするように構成される、
処理ユニット。 - 前記処理ユニットは、前記アドレス・インターコネクト上の第1のビートで前記キャッシュ禁止書き込み要求をブロードキャストし、前記アドレス・インターコネクト上の第2のビートで前記書き込みデータをブロードキャストする、請求項1に記載の処理ユニット。
- 前記処理ユニットは、前記書き込みデータを、前記キャッシュ禁止書き込み要求に含めてブロードキャストするように構成される、請求項1に記載の処理ユニット。
- 前記処理ユニットは、前記キャッシュ禁止書き込み要求内で、前記宛先デバイスを識別する宛先タグを指定することなく、前記キャッシュ禁止書き込み要求をブロードキャストするように構成される、請求項3に記載の処理ユニット。
- 前記キャッシュ禁止書き込み要求は第1の要求であり、
前記処理ユニットは、前記アドレス・インターコネクト上で、前記書き込みデータを、異なる第2の要求に含めてブロードキャストするように構成される、請求項1に記載の処理ユニット。 - 請求項1に記載の前記処理ユニットを含む前記複数の処理ユニットと、
前記宛先デバイスと、
前記宛先デバイス及び前記複数の処理ユニットを通信可能に結合する前記システム・インターコネクトと
を含む、データ処理システム。 - 前記宛先デバイスは、前記データ処理システムのシステム・メモリのメモリ・コントローラを含む、請求項6に記載のデータ処理システム。
- 前記宛先デバイスは、インターコネクト・ブリッジを含む、請求項6に記載のデータ処理システム。
- 前記データ・インターコネクトは、ポイント・ツー・ポイント・インターコネクトである、請求項6に記載のデータ処理システム。
- ブロードキャスト・アドレス・インターコネクト及びデータ・インターコネクトを有するシステム・インターコネクトに結合された複数の処理ユニットを含むデータ処理システムの処理ユニットにおけるデータ処理方法であって、
前記処理ユニットが、前記処理ユニットのプロセッサ・コアから、キャッシュ禁止書き込み要求及び書き込みデータを受け取ることと、
前記キャッシュ禁止書き込み要求を受け取ることに応答して、前記処理ユニットは、前記データ処理システムの前記アドレス・インターコネクト上で、前記キャッシュ禁止書き込み要求及び前記書き込みデータをブロードキャストすることと
を含む、方法。 - 前記ブロードキャストすることは、前記アドレス・インターコネクト上の第1のビートで前記キャッシュ禁止書き込み要求をブロードキャストすることと、前記アドレス・インターコネクト上の第2のビートで前記書き込みデータをブロードキャストすることとを含む、請求項10に記載の方法。
- 前記ブロードキャストすることは、前記処理ユニットが、前記書き込みデータを、前記キャッシュ禁止書き込み要求に含めてブロードキャストすることを含む、請求項10に記載の方法。
- 前記ブロードキャストすることは、前記処理ユニットが、前記キャッシュ禁止書き込み要求内で、前記宛先デバイスを識別する宛先タグを指定することなく、前記キャッシュ禁止書き込み要求をブロードキャストすることを含む、請求項12に記載の方法。
- 前記キャッシュ禁止書き込み要求は第1の要求であり、
前記ブロードキャストすることは、前記処理ユニットが、前記アドレス・インターコネクト上で、前記書き込みデータを、異なる第2の要求に含めてブロードキャストすることを含む、請求項10に記載の方法。 - 前記宛先デバイスは、前記データ処理システムのシステム・メモリのメモリ・コントローラ及びインターコネクト・ブリッジを含むセットのうちの1つである、請求項10に記載の方法。
- 集積回路を設計、製造又は試験するための、機械可読ストレージ・デバイス内に有形に具体化された設計構造体であって、前記設計構造体は、請求項1から請求項5までのいずれかに記載の前記処理ユニットを含む、設計構造体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/588,241 US11176038B2 (en) | 2019-09-30 | 2019-09-30 | Cache-inhibited write operations |
US16/588,241 | 2019-09-30 | ||
PCT/IB2020/057835 WO2021064484A1 (en) | 2019-09-30 | 2020-08-20 | Cache-inhibited write operations |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022549095A true JP2022549095A (ja) | 2022-11-24 |
Family
ID=75163444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022516628A Pending JP2022549095A (ja) | 2019-09-30 | 2020-08-20 | キャッシュ禁止書き込みオペレーション |
Country Status (6)
Country | Link |
---|---|
US (1) | US11176038B2 (ja) |
JP (1) | JP2022549095A (ja) |
CN (1) | CN114430819B (ja) |
DE (1) | DE112020004672T5 (ja) |
GB (1) | GB2603693B (ja) |
WO (1) | WO2021064484A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379236B2 (en) * | 2019-12-27 | 2022-07-05 | Intel Corporation | Coherency tracking apparatus and method for an attached coprocessor or accelerator |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306298A (en) | 1979-10-09 | 1981-12-15 | Texas Instruments Incorporated | Memory system for microprocessor with multiplexed address/data bus |
US4443864A (en) | 1979-10-09 | 1984-04-17 | Texas Instruments Incorporated | Memory system for microprocessor with multiplexed address/data bus |
DE69128107T2 (de) | 1990-05-25 | 1998-02-26 | At & T Corp | Busanordnung für Speicherzugriff |
US5191656A (en) | 1991-08-29 | 1993-03-02 | Digital Equipment Corporation | Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters |
US5978874A (en) | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
US6209053B1 (en) | 1998-08-28 | 2001-03-27 | Intel Corporation | Method and apparatus for operating an adaptive multiplexed address and data bus within a computer system |
US6393500B1 (en) | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
US6834296B2 (en) * | 2002-03-01 | 2004-12-21 | International Business Machines Corporation | Apparatus and method of multicasting or broadcasting data from one partition of a partitioned computer system to a plurality of other partitions |
US8739274B2 (en) * | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
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 |
US8131935B2 (en) | 2009-04-07 | 2012-03-06 | International Business Machines Corporation | Virtual barrier synchronization cache |
US8095733B2 (en) | 2009-04-07 | 2012-01-10 | International Business Machines Corporation | Virtual barrier synchronization cache castout election |
CN105183662B (zh) | 2015-07-30 | 2017-12-29 | 复旦大学 | 一种无cache一致性协议的分布式共享片上存储架构 |
US10126952B2 (en) * | 2015-11-05 | 2018-11-13 | International Business Machines Corporation | Memory move instruction sequence targeting a memory-mapped device |
US10157134B2 (en) * | 2016-04-11 | 2018-12-18 | International Business Machines Corporation | Decreasing the data handoff interval for a reserved cache line based on an early indication of a systemwide coherence response |
US10579527B2 (en) * | 2018-01-17 | 2020-03-03 | International Business Machines Corporation | Remote node broadcast of requests in a multinode data processing system |
CN109947363B (zh) | 2018-12-11 | 2022-10-14 | 深圳供电局有限公司 | 一种分布式存储系统的数据缓存方法 |
-
2019
- 2019-09-30 US US16/588,241 patent/US11176038B2/en active Active
-
2020
- 2020-08-20 JP JP2022516628A patent/JP2022549095A/ja active Pending
- 2020-08-20 CN CN202080066473.5A patent/CN114430819B/zh active Active
- 2020-08-20 WO PCT/IB2020/057835 patent/WO2021064484A1/en active Application Filing
- 2020-08-20 DE DE112020004672.9T patent/DE112020004672T5/de active Pending
- 2020-08-20 GB GB2205124.7A patent/GB2603693B/en active Active
Also Published As
Publication number | Publication date |
---|---|
GB2603693A (en) | 2022-08-10 |
DE112020004672T5 (de) | 2022-07-14 |
GB2603693B (en) | 2023-02-08 |
WO2021064484A1 (en) | 2021-04-08 |
US20210096990A1 (en) | 2021-04-01 |
CN114430819A (zh) | 2022-05-03 |
CN114430819B (zh) | 2023-04-07 |
US11176038B2 (en) | 2021-11-16 |
GB202205124D0 (en) | 2022-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885583B (zh) | 高速缓存存储器访问 | |
US10824567B2 (en) | Selectively preventing pre-coherence point reads in a cache hierarchy to reduce barrier overhead | |
JP6933896B2 (ja) | 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて変換エントリを無効化する方法、処理ユニット、データ処理システム、設計構造体 | |
US20030126365A1 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US10152417B2 (en) | Early freeing of a snoop machine of a data processing system prior to completion of snoop processing for an interconnect operation | |
US10216519B2 (en) | Multicopy atomic store operation in a data processing system | |
US10102130B2 (en) | Decreasing the data handoff interval in a multiprocessor data processing system based on an early indication of a systemwide coherence response | |
US10705957B1 (en) | Selectively updating a coherence state in response to a storage update | |
EP4066119B1 (en) | Cache snooping mode extending coherence protection for certain requests | |
JP2023504622A (ja) | ある要求に対してコヒーレンス保護を拡張するキャッシュ・スヌーピング・モード | |
US10956070B2 (en) | Zeroing a memory block without processor caching | |
US10733102B2 (en) | Selectively updating a coherence state in response to a storage update | |
CN114430819B (zh) | 数据处理系统及其处理单元和处理方法 | |
US11157408B2 (en) | Cache snooping mode extending coherence protection for certain requests | |
US10949346B2 (en) | Data flush of a persistent memory cache or buffer | |
US20200201764A1 (en) | Selectively updating a coherence state in response to a storage update | |
US9665297B1 (en) | Injection of at least a partial cache line in a private multilevel cache hierarchy | |
US11556472B1 (en) | Data processing system having masters that adapt to agents with differing retry behaviors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220414 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220401 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240123 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240423 |