JP2018045700A - ネットワークプロセッサにおけるマルチコア相互接続 - Google Patents
ネットワークプロセッサにおけるマルチコア相互接続 Download PDFInfo
- Publication number
- JP2018045700A JP2018045700A JP2017213851A JP2017213851A JP2018045700A JP 2018045700 A JP2018045700 A JP 2018045700A JP 2017213851 A JP2017213851 A JP 2017213851A JP 2017213851 A JP2017213851 A JP 2017213851A JP 2018045700 A JP2018045700 A JP 2018045700A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- request
- interconnect circuit
- data
- processor cores
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (9)
- 相互接続回路と、
複数のメモリバスであって、各メモリバスが、複数のプロセッサコア群のそれぞれを前記相互接続回路に接続する、複数のメモリバスと、
複数のバンクに分割されるキャッシュであって、各バンクは、個々のバスを介して前記相互接続回路に接続される、キャッシュとを備えた、コンピュータチップ上のコンピュータシステムであって、
前記相互接続回路が、前記複数のプロセッサコアから受信される複数の要求を前記複数のバンクに分配する、コンピュータシステム。 - 前記相互接続回路が、前記要求のアドレスコンポーネントを変更することによって前記要求を変換する、請求項1に記載のシステム。
- 前記相互接続回路が、前記要求のそれぞれにハッシュ関数を実行し、このハッシュ関数が、前記複数のバンクへの前記要求の疑似ランダム分配を提供する、請求項2に記載のシステム。
- 前記相互接続回路は、前記複数のプロセッサコアの1つに結合された1次キャッシュの状態を示すタグを保持し、前記相互接続回路は、前記複数の要求のタグを複数のチャネルに誘導し、これにより、前記各タグを同時に処理する、請求項1に記載のシステム。
- 前記相互接続回路は、複数のデータ出力バッファを更に備え、前記データ出力バッファのそれぞれは、前記複数のバンクのそれぞれからデータを受信し、前記複数のメモリバスのそれぞれ1つを通してデータを出力する、請求項1に記載のシステム。
- 前記相互接続回路は、複数の要求バッファを更に備え、前記要求バッファのそれぞれは、複数のプロセッサの各群から要求を受信し、前記要求を前記複数のバンクの1つに出力する、請求項1に記載のシステム。
- 前記メモリバスのうちの少なくとも1つに結合された少なくとも1つのブリッジ回路を更に備え、当該少なくとも1つのブリッジ回路は、前記複数のプロセッサコアを少なくとも1つのオンチップコプロセッサに接続する、請求項1に記載のシステム。
- 前記バンクは、前記複数のプロセッサコアへのコミット信号の送信を遅延させるものであり、前記バンクは、無効化信号が前記複数のプロセッサコア全てに送信されたことの表明の受信に応答して、前記コミット信号を送信する、請求項1に記載のシステム。
- 前記相互接続回路及び複数のメモリバスは、コミット信号が前記複数のバンクの1つに到達するため、かつ、続く信号が前記無効化信号を受信する前記複数のプロセッサコアの1つに到達するために必要な時間未満で1次キャッシュに到達するように、無効化信号を制御する、請求項1に記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/285,629 US9330002B2 (en) | 2011-10-31 | 2011-10-31 | Multi-core interconnect in a network processor |
| US13/285,629 | 2011-10-31 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014539104A Division JP2014534529A (ja) | 2011-10-31 | 2012-10-29 | ネットワークプロセッサにおけるマルチコア相互接続 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018045700A true JP2018045700A (ja) | 2018-03-22 |
| JP6676027B2 JP6676027B2 (ja) | 2020-04-08 |
Family
ID=47144154
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014539104A Pending JP2014534529A (ja) | 2011-10-31 | 2012-10-29 | ネットワークプロセッサにおけるマルチコア相互接続 |
| JP2017213851A Active JP6676027B2 (ja) | 2011-10-31 | 2017-11-06 | ネットワークプロセッサにおけるマルチコア相互接続 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014539104A Pending JP2014534529A (ja) | 2011-10-31 | 2012-10-29 | ネットワークプロセッサにおけるマルチコア相互接続 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9330002B2 (ja) |
| JP (2) | JP2014534529A (ja) |
| KR (2) | KR20140084155A (ja) |
| CN (1) | CN103959261B (ja) |
| DE (1) | DE112012004551B4 (ja) |
| WO (1) | WO2013066798A1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9892063B2 (en) * | 2012-11-27 | 2018-02-13 | Advanced Micro Devices, Inc. | Contention blocking buffer |
| US9652396B2 (en) | 2013-12-27 | 2017-05-16 | Samsung Electronics Co., Ltd. | Cache element processing for energy use reduction |
| US9811467B2 (en) * | 2014-02-03 | 2017-11-07 | Cavium, Inc. | Method and an apparatus for pre-fetching and processing work for procesor cores in a network processor |
| US9432288B2 (en) | 2014-02-28 | 2016-08-30 | Cavium, Inc. | System on chip link layer protocol |
| US10592459B2 (en) * | 2014-03-07 | 2020-03-17 | Cavium, Llc | Method and system for ordering I/O access in a multi-node environment |
| US9411644B2 (en) | 2014-03-07 | 2016-08-09 | Cavium, Inc. | Method and system for work scheduling in a multi-chip system |
| US9372800B2 (en) | 2014-03-07 | 2016-06-21 | Cavium, Inc. | Inter-chip interconnect protocol for a multi-chip system |
| US9529532B2 (en) | 2014-03-07 | 2016-12-27 | Cavium, Inc. | Method and apparatus for memory allocation in a multi-node system |
| US9436972B2 (en) | 2014-03-27 | 2016-09-06 | Intel Corporation | System coherency in a distributed graphics processor hierarchy |
| US10235203B1 (en) * | 2014-03-31 | 2019-03-19 | EMC IP Holding Company LLC | Techniques for increasing storage system performance in processor-bound workloads with large working sets and poor spatial locality |
| US10740236B2 (en) | 2017-05-12 | 2020-08-11 | Samsung Electronics Co., Ltd | Non-uniform bus (NUB) interconnect protocol for tiled last level caches |
| US10592452B1 (en) | 2018-09-12 | 2020-03-17 | Cavium, Llc | Low latency interconnect protocol for coherent multi-chip communication |
| US11334494B2 (en) * | 2019-05-24 | 2022-05-17 | Texas Instruments Incorporated | Write merging on stores with different tags |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58220287A (ja) * | 1982-06-15 | 1983-12-21 | Nec Corp | メモリアクセス制御装置 |
| US4977498A (en) * | 1988-04-01 | 1990-12-11 | Digital Equipment Corporation | Data processing system having a data memory interlock coherency scheme |
| JP2000163316A (ja) * | 1998-11-27 | 2000-06-16 | Hitachi Ltd | 計算機システム |
| JP2002149353A (ja) * | 2000-11-08 | 2002-05-24 | Nec Corp | ディスクアレイ制御装置及びディスクアレイ制御方法 |
| WO2003036482A2 (en) * | 2001-10-22 | 2003-05-01 | Sun Microsystems, Inc. | Multi-core multi-thread processor |
| US20050044319A1 (en) * | 2003-08-19 | 2005-02-24 | Sun Microsystems, Inc. | Multi-core multi-thread processor |
| WO2005020079A2 (en) * | 2003-08-19 | 2005-03-03 | Sun Microsystems, Inc. | Cache crossbar arbitration |
| US20060059316A1 (en) * | 2004-09-10 | 2006-03-16 | Cavium Networks | Method and apparatus for managing write back cache |
| WO2006031511A2 (en) * | 2004-09-10 | 2006-03-23 | Cavium Networks | Store instruction ordering for multi-core processor |
| US7290116B1 (en) * | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
| US20090006718A1 (en) * | 2007-06-26 | 2009-01-01 | International Business Machines Corporation | System and method for programmable bank selection for banked memory subsystems |
| US20110185125A1 (en) * | 2010-01-27 | 2011-07-28 | Prashant Jain | Resource sharing to reduce implementation costs in a multicore processor |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060112226A1 (en) * | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
| US7477641B2 (en) * | 2004-12-30 | 2009-01-13 | Intel Corporation | Providing access to data shared by packet processing threads |
| US7661006B2 (en) * | 2007-01-09 | 2010-02-09 | International Business Machines Corporation | Method and apparatus for self-healing symmetric multi-processor system interconnects |
| US20090274157A1 (en) * | 2008-05-01 | 2009-11-05 | Vaidya Aniruddha S | Method and apparatus for hierarchical routing in multiprocessor mesh-based systems |
| US8131944B2 (en) * | 2008-05-30 | 2012-03-06 | Intel Corporation | Using criticality information to route cache coherency communications |
-
2011
- 2011-10-31 US US13/285,629 patent/US9330002B2/en active Active
-
2012
- 2012-10-29 JP JP2014539104A patent/JP2014534529A/ja active Pending
- 2012-10-29 DE DE112012004551.3T patent/DE112012004551B4/de active Active
- 2012-10-29 KR KR1020147012490A patent/KR20140084155A/ko not_active Ceased
- 2012-10-29 CN CN201280059239.5A patent/CN103959261B/zh active Active
- 2012-10-29 KR KR1020197035633A patent/KR102409024B1/ko active Active
- 2012-10-29 WO PCT/US2012/062378 patent/WO2013066798A1/en not_active Ceased
-
2017
- 2017-11-06 JP JP2017213851A patent/JP6676027B2/ja active Active
Patent Citations (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58220287A (ja) * | 1982-06-15 | 1983-12-21 | Nec Corp | メモリアクセス制御装置 |
| US4977498A (en) * | 1988-04-01 | 1990-12-11 | Digital Equipment Corporation | Data processing system having a data memory interlock coherency scheme |
| JP2000163316A (ja) * | 1998-11-27 | 2000-06-16 | Hitachi Ltd | 計算機システム |
| JP2002149353A (ja) * | 2000-11-08 | 2002-05-24 | Nec Corp | ディスクアレイ制御装置及びディスクアレイ制御方法 |
| WO2003036482A2 (en) * | 2001-10-22 | 2003-05-01 | Sun Microsystems, Inc. | Multi-core multi-thread processor |
| JP2005507115A (ja) * | 2001-10-22 | 2005-03-10 | サン・マイクロシステムズ・インコーポレーテッド | マルチコアマルチスレッドプロセッサ |
| WO2005020079A2 (en) * | 2003-08-19 | 2005-03-03 | Sun Microsystems, Inc. | Cache crossbar arbitration |
| US20050044319A1 (en) * | 2003-08-19 | 2005-02-24 | Sun Microsystems, Inc. | Multi-core multi-thread processor |
| US7290116B1 (en) * | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
| US20060059316A1 (en) * | 2004-09-10 | 2006-03-16 | Cavium Networks | Method and apparatus for managing write back cache |
| WO2006031511A2 (en) * | 2004-09-10 | 2006-03-23 | Cavium Networks | Store instruction ordering for multi-core processor |
| JP2008512785A (ja) * | 2004-09-10 | 2008-04-24 | カビウム・ネットワークス | マルチコアプロセッサの格納命令の順序づけ |
| US20090006718A1 (en) * | 2007-06-26 | 2009-01-01 | International Business Machines Corporation | System and method for programmable bank selection for banked memory subsystems |
| US20110185125A1 (en) * | 2010-01-27 | 2011-07-28 | Prashant Jain | Resource sharing to reduce implementation costs in a multicore processor |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140084155A (ko) | 2014-07-04 |
| US20130111141A1 (en) | 2013-05-02 |
| US9330002B2 (en) | 2016-05-03 |
| JP2014534529A (ja) | 2014-12-18 |
| KR102409024B1 (ko) | 2022-06-14 |
| CN103959261B (zh) | 2019-06-21 |
| DE112012004551T5 (de) | 2014-08-14 |
| DE112012004551B4 (de) | 2024-08-08 |
| CN103959261A (zh) | 2014-07-30 |
| JP6676027B2 (ja) | 2020-04-08 |
| WO2013066798A1 (en) | 2013-05-10 |
| KR20190137948A (ko) | 2019-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6676027B2 (ja) | ネットワークプロセッサにおけるマルチコア相互接続 | |
| US9569366B2 (en) | System and method to provide non-coherent access to a coherent memory system | |
| US8850101B2 (en) | System and method to reduce memory access latencies using selective replication across multiple memory ports | |
| US9218290B2 (en) | Data caching in a network communications processor architecture | |
| US9444757B2 (en) | Dynamic configuration of processing modules in a network communications processor architecture | |
| US9183145B2 (en) | Data caching in a network communications processor architecture | |
| US9141548B2 (en) | Method and apparatus for managing write back cache | |
| KR102003089B1 (ko) | 효율적인 작업 큐잉을 갖는 프로세서 | |
| US8683221B2 (en) | Configurable memory encryption with constant pipeline delay in a multi-core processor | |
| US8595401B2 (en) | Input output bridging | |
| US12393532B2 (en) | Coherent block read fulfillment | |
| HK1195958A (en) | Multi-core interconnect in a network processor | |
| HK1195958B (zh) | 网络处理器中的多内核互联 | |
| HK1195959B (en) | Processor with efficient work queuing | |
| HK1195959A (en) | Processor with efficient work queuing | |
| HK1195960B (en) | System and method to reduce memory access latencies using selective replication across multiple memory ports |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171106 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171124 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180727 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180910 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190513 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190813 |
|
| 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: 20200210 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200311 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6676027 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |