CN103959261B - 网络处理器中的多内核互联 - Google Patents
网络处理器中的多内核互联 Download PDFInfo
- Publication number
- CN103959261B CN103959261B CN201280059239.5A CN201280059239A CN103959261B CN 103959261 B CN103959261 B CN 103959261B CN 201280059239 A CN201280059239 A CN 201280059239A CN 103959261 B CN103959261 B CN 103959261B
- Authority
- CN
- China
- Prior art keywords
- processor cores
- cache
- data
- request
- interconnection circuit
- 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
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)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/285,629 | 2011-10-31 | ||
| US13/285,629 US9330002B2 (en) | 2011-10-31 | 2011-10-31 | Multi-core interconnect in a network processor |
| PCT/US2012/062378 WO2013066798A1 (en) | 2011-10-31 | 2012-10-29 | Multi-core interconnect in a network processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103959261A CN103959261A (zh) | 2014-07-30 |
| CN103959261B true CN103959261B (zh) | 2019-06-21 |
Family
ID=47144154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201280059239.5A Active CN103959261B (zh) | 2011-10-31 | 2012-10-29 | 网络处理器中的多内核互联 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9330002B2 (enExample) |
| JP (2) | JP2014534529A (enExample) |
| KR (2) | KR102409024B1 (enExample) |
| CN (1) | CN103959261B (enExample) |
| DE (1) | DE112012004551B4 (enExample) |
| WO (1) | WO2013066798A1 (enExample) |
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 |
| US9372800B2 (en) | 2014-03-07 | 2016-06-21 | Cavium, Inc. | Inter-chip interconnect protocol for a multi-chip system |
| US9411644B2 (en) | 2014-03-07 | 2016-08-09 | Cavium, Inc. | Method and system for work scheduling in 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 |
| US11442868B2 (en) * | 2019-05-24 | 2022-09-13 | Texas Instruments Incorporated | Aggressive write flush scheme for a victim cache |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101221551A (zh) * | 2007-01-09 | 2008-07-16 | 国际商业机器公司 | 用于对称多处理器互连的方法和设备以及多处理器 |
| CN101470691A (zh) * | 2004-11-19 | 2009-07-01 | 英特尔公司 | 共享公共高速缓存的异构处理器 |
| CN101572726A (zh) * | 2008-05-01 | 2009-11-04 | 英特尔公司 | 在基于多处理器网格的系统中用于分层路由的方法和装置 |
| CN101593159A (zh) * | 2008-05-30 | 2009-12-02 | 英特尔公司 | 使用关键度信息来路由高速缓存一致性通信 |
Family Cites Families (13)
| 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 |
| JP4240610B2 (ja) * | 1998-11-27 | 2009-03-18 | 株式会社日立製作所 | 計算機システム |
| JP2002149353A (ja) * | 2000-11-08 | 2002-05-24 | Nec Corp | ディスクアレイ制御装置及びディスクアレイ制御方法 |
| US7248585B2 (en) * | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
| US7873785B2 (en) * | 2003-08-19 | 2011-01-18 | Oracle America, Inc. | Multi-core multi-thread processor |
| US7133950B2 (en) | 2003-08-19 | 2006-11-07 | Sun Microsystems, Inc. | Request arbitration in multi-core processor |
| US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
| US7606998B2 (en) * | 2004-09-10 | 2009-10-20 | Cavium Networks, Inc. | Store instruction ordering for multi-core processor |
| US7941585B2 (en) * | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
| US7477641B2 (en) * | 2004-12-30 | 2009-01-13 | Intel Corporation | Providing access to data shared by packet processing threads |
| US7793038B2 (en) * | 2007-06-26 | 2010-09-07 | International Business Machines Corporation | System and method for programmable bank selection for banked memory subsystems |
| US8195883B2 (en) * | 2010-01-27 | 2012-06-05 | Oracle America, Inc. | Resource sharing to reduce implementation costs in a multicore processor |
-
2011
- 2011-10-31 US US13/285,629 patent/US9330002B2/en active Active
-
2012
- 2012-10-29 DE DE112012004551.3T patent/DE112012004551B4/de active Active
- 2012-10-29 WO PCT/US2012/062378 patent/WO2013066798A1/en not_active Ceased
- 2012-10-29 KR KR1020197035633A patent/KR102409024B1/ko active Active
- 2012-10-29 CN CN201280059239.5A patent/CN103959261B/zh active Active
- 2012-10-29 KR KR1020147012490A patent/KR20140084155A/ko not_active Ceased
- 2012-10-29 JP JP2014539104A patent/JP2014534529A/ja active Pending
-
2017
- 2017-11-06 JP JP2017213851A patent/JP6676027B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101470691A (zh) * | 2004-11-19 | 2009-07-01 | 英特尔公司 | 共享公共高速缓存的异构处理器 |
| CN101221551A (zh) * | 2007-01-09 | 2008-07-16 | 国际商业机器公司 | 用于对称多处理器互连的方法和设备以及多处理器 |
| CN101572726A (zh) * | 2008-05-01 | 2009-11-04 | 英特尔公司 | 在基于多处理器网格的系统中用于分层路由的方法和装置 |
| CN101593159A (zh) * | 2008-05-30 | 2009-12-02 | 英特尔公司 | 使用关键度信息来路由高速缓存一致性通信 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103959261A (zh) | 2014-07-30 |
| DE112012004551B4 (de) | 2024-08-08 |
| JP2018045700A (ja) | 2018-03-22 |
| JP2014534529A (ja) | 2014-12-18 |
| US9330002B2 (en) | 2016-05-03 |
| US20130111141A1 (en) | 2013-05-02 |
| KR20140084155A (ko) | 2014-07-04 |
| KR20190137948A (ko) | 2019-12-11 |
| KR102409024B1 (ko) | 2022-06-14 |
| WO2013066798A1 (en) | 2013-05-10 |
| JP6676027B2 (ja) | 2020-04-08 |
| DE112012004551T5 (de) | 2014-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103959261B (zh) | 网络处理器中的多内核互联 | |
| US8489792B2 (en) | Transaction performance monitoring in a processor bus bridge | |
| US8949500B2 (en) | Non-blocking processor bus bridge for network processors or the like | |
| US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
| EP1660992B1 (en) | Multi-core multi-thread processor | |
| US6751698B1 (en) | Multiprocessor node controller circuit and method | |
| US6014690A (en) | Employing multiple channels for deadlock avoidance in a cache coherency protocol | |
| US9444757B2 (en) | Dynamic configuration of processing modules in a network communications processor architecture | |
| US6101420A (en) | Method and apparatus for disambiguating change-to-dirty commands in a switch based multi-processing system with coarse directories | |
| US6154816A (en) | Low occupancy protocol for managing concurrent transactions with dependencies | |
| US6108752A (en) | Method and apparatus for delaying victim writes in a switch-based multi-processor system to maintain data coherency | |
| US6122714A (en) | Order supporting mechanisms for use in a switch-based multi-processor system | |
| EP1222558B1 (en) | Virtual channels and corresponding buffer allocations for deadlock-free computer system operation | |
| CN103946803A (zh) | 具有高效工作排队的处理器 | |
| US20090198867A1 (en) | Method for chaining multiple smaller store queue entries for more efficient store queue usage | |
| US20090006769A1 (en) | Programmable partitioning for high-performance coherence domains in a multiprocessor system | |
| US20080175272A1 (en) | Data processing system, method and interconnect fabric for selective link information allocation in a data processing system | |
| US7451231B2 (en) | Data processing system, method and interconnect fabric for synchronized communication in a data processing system | |
| US7254694B2 (en) | Processors interconnect fabric with relay broadcasting and accumulation of partial responses | |
| HK1195958A (en) | Multi-core interconnect in a network processor | |
| HK1195958B (zh) | 网络处理器中的多内核互联 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1195958 Country of ref document: HK |
|
| CB02 | Change of applicant information | ||
| CB02 | Change of applicant information |
Address after: California, USA Applicant after: Cavium, Inc. Address before: California, USA Applicant before: Cavium, Inc. |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20200430 Address after: Singapore City Patentee after: Marvell Asia Pte. Ltd. Address before: Ford street, Grand Cayman, Cayman Islands Patentee before: Kaiwei international Co. Effective date of registration: 20200430 Address after: Ford street, Grand Cayman, Cayman Islands Patentee after: Kaiwei international Co. Address before: California, USA Patentee before: Cavium, Inc. |