CN116248758A - 一种高效的内核-片上网络的桥式连接结构 - Google Patents
一种高效的内核-片上网络的桥式连接结构 Download PDFInfo
- Publication number
- CN116248758A CN116248758A CN202310209445.XA CN202310209445A CN116248758A CN 116248758 A CN116248758 A CN 116248758A CN 202310209445 A CN202310209445 A CN 202310209445A CN 116248758 A CN116248758 A CN 116248758A
- Authority
- CN
- China
- Prior art keywords
- network
- kernel
- chip
- request
- buffer
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7846—On-chip cache and off-chip main memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高效的内核‑片上网络的桥式连接结构,包括两个分立的、支持多种数据接口位宽、支持关键指令检测的第一通道和第二通道,第一通道用于内核到片上网络的通信、第二通道片上网络到内核的通信;所述第一通道包含顺次连接的缓冲器、转译器和发送器,缓冲器暂存内存请求,转译器将缓存器中的请求重新编码,发送器将转译器重新编码的请求打包为网络包格式依次发送给片上网络;所述第二通道包含相互连接的接收器、解码器,接收器负责接收网络包并缓冲,接收完整后拼装为msg格式,解码器从msg格式中提取出子信息,并按照内核接口编码,返回给内核。该桥式结构不仅能高效实现两侧通讯,可以支持多种内核接口,还支持关键指令检测优先发送。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种高效的内核-片上网络的桥式连接结构。
背景技术
随着集成电路技术发展,单纯提高时钟频率将造成芯片功耗难以控制,多核、众核处理器已成为发展趋势。多核处理器为用户带来更强大的计算性能,也可以满足用户同时进行多任务处理和多任务计算环境的要求。
传统多核的连接通讯采用总线技术,然而随着芯片中集成的核数目将不断增多,基于总线架构的片上系统因其可扩展性差、平均通信效率低、单一时钟同步等问题,将逐渐难以满足不断增长的计算需求。片上网络(NoC)是片上多核系统的一种新通信方法,因其并发和非阻塞交换特性,性能显著优于传统总线式系统。
但是片上网络与原有内核接口和协议存在兼容问题,诸如openpiton等的多核处理器平台设计对内核接口位宽有限制,高通道内核难以嵌入多核框架,这限制了片上网络的可扩展性和异构能力。同时,数据打包、缓冲、同步和接口增加了延迟,降低了片上网络的通信效率。
发明内容
为了克服片上网络与原有内核接口和协议的兼容问题以及高延时问题,本发明提供了一种高效的内核-片上网络桥式连接结构,该桥式结构不仅能高效实现两侧通讯,可以支持多种内核接口,还支持关键指令检测优先发送。
本发明解决其技术问题所采用的技术方案是:
本发明首先提供了一种高效的内核-片上网络桥式连接结构,其包括两个分立的、支持多种数据接口位宽、支持关键指令检测的第一通道和第二通道,第一通道用于内核到片上网络的通信,第二通道用于片上网络到内核的通信;
所述第一通道包含顺次连接的缓冲器、转译器和发送器,缓冲器暂存内核请求,转译器将缓存器中的请求重新编码,发送器将转译器重新编码的请求打包为网络包格式依次发送给片上网络;
所述第二通道包含相互连接的接收器、解码器,接收器负责接收网络包并缓冲,接收完整后将网络包进行拼装并发送给解码器;解码器从拼装好的网络包数据中提取出子信息,并按照内核接口编码,返回给内核。
作为本发明的优选方案,所述第一通道的缓冲器暂存来自内核的请求,通过写指针指示存储请求的位置,通过读指针指示读取存储请求的位置,并为每个位置的有效(valid)位赋值,指示该请求能否发送;
缓冲器中的读和写控制模块控制写指针和读指针的增减,以及何时向下个模块发送请求;在收到一个新请求后,写指针加1,并将写指针指示位置的有效(valid)位赋值为1;在收到一个新回复后,即上一条请求已经成功通过发送器发送后,将读指针指示位置的有效(valid)位赋值为0,而后读指针加1。
优选的,当来自内核的请求为缓存一致性相关指令时,则读指针减1,并将其写入读指针指示的位置,使该指令数据与其他数据不影响,保证该指令数据可以在片上网络空闲时第一个发送。
优选的,当来自内核的请求为高位宽内核接口的存储(store)指令时,对其进行拆分;设缓冲器的数据接口为n位,若内核数据接口为m位,m=n*d,d为整数,则从内核依次获取d次数据,在缓冲器内暂存为d条子指令,依次发送。
作为本发明的优选方案,所述发送器在片上网络空闲时,将固定位宽的网络包依次发送给片上网络,所述网络包格式包含长度、类型、目的地、缓存类型、数据信息。
作为本发明的优选方案,所述接收器在内核空闲时,接收固定位宽的网络包,通过报头中的信息解析出网络包长度,配合索引(index)指示缓冲存放位置,控制接收流程直至信息完整。
作为本发明的优选方案,所述解码器将网络包格式解析成内核接口格式,当内核空闲时,将信息返回给内核。
与现有技术相比,本发明使用两个分立并行的通道用于两个方向数据的转换。第一通道负责接收内核的请求,转换为网络包格式发送给片上网络。在第一通道中,缓冲器、转译器、发送器依次连接,当内核发出内存请求时,首先由缓冲器暂存请求,当发现片上网络空闲时,将缓存器中的请求经转译器重新编码,由发送器打包为网络包格式发送给片上网络。第二通道负责接收片上网络包,转换为回复信息返还给内核。在第二通道中,接收器、转译器依次连接,当片上网络返还时,首先由接收器暂存完整网络包,当内核空闲时,将完整数据经转译器重新编码,返还给内核。通过两个分立的通道和缓冲器设置,保证了内核与片上网络不被阻塞,实现了高效的连接。对于高位宽的内核接口,第一通道的缓冲器可以对其数据、地址拆分,多次发送;第二通道的接收器可以将低位宽的网络数据拼接,返回给高位宽的内核。对于缓存一致性相关指令,在第一通道的缓冲器中检测到后,可以对其内存暂存的指令重排序,让缓存一致性指令优先发送。
本发明采用了两个分立通道,克服了现有技术中单通道连接结构通讯效率低的问题,从而取得了内核与片上网络高效通讯的效果。
本发明采用了检测缓存一致性指令并对缓冲器暂存指令重排序的方法,因此克服了现有技术中的关键指令无法及时发送的问题,从而取得了关键指令检测的效果;
本发明采用了对于高位宽内核接口的存储读取指令拆分依次发送的方法,因此克服了现有技术中的内核与片上网络位宽不匹配的问题,从而取得了支持多种内核位宽的效果。
附图说明
图1是本发明内核-片上网络的桥式连接结构的电路原理图;
图2是图1中发送器的控制流程图;
图3是图1中接收器的控制流程图。
具体实施方式
下面结合具体实施方式对本发明做进一步阐述和说明。所述实施例仅是本公开内容的示范且不圈定限制范围。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
如图1所示,展示了本发明的桥式连接结构的各器件连接关系与控制信号,本发明的内核-片上网络(NOC)的桥式连接结构包括两个分立的、支持多种数据接口位宽、支持关键指令检测的第一通道和第二通道,第一通道用于内核到片上网络的通信,第二通道用于片上网络到内核的通信;
所述第一通道包含顺次连接的缓冲器、转译器和发送器,缓冲器暂存内核请求,转译器将缓存器中的请求重新编码,发送器将转译器重新编码的请求打包为网络包格式依次发送给片上网络;
所述第二通道包含相互连接的接收器、解码器,接收器负责接收网络包并缓冲,接收完整后将网络包进行拼装并发送给解码器;解码器从拼装好的网络包数据中提取出子信息,并按照内核接口编码,返回给内核。
缓冲器暂存来自内核的请求。通过指针指示存储请求的位置,通过读指针指示读取存储请求的位置,并为每个位置的有效(valid)位赋值,指示该请求能否发送。读和写控制模块控制写指针和读指针的增减,以及何时向下一级发送请求。在收到一个新请求后,写指针加1,并将写指针指示位置的有效(valid)位赋值为1。在收到一个新回复后,即上一条请求已经成功通过发送器发送后,将读指针指示位置的有效(valid)位赋值为0,而后读指针加1。
对于关键词指令(例如缓存一致性相关指令),则读指针减1,并将其写入读指针位置。这样既保证了该指令数据与其他数据不影响,也保证了该指令数据可以在片上网络空闲时第一个发送。
对于高位宽内核接口的存储(store)指令,缓冲器中可以对其进行拆分。缓冲器的数据接口为n位,若内核数据接口为m位(m=n*d,d为整数),则从内核依次获取d次数据,在缓冲器内暂存为d条子指令,依次发送。
转译器负责将内核的请求映射为特定格式的消息。其中数据大小,地址,目的地等信息都可以直接映射,对于消息的类型、长度以及缓存类别,则需要根据请求的类型分类处理。
发送器负责将消息以网络包格式发送。每条请求遵循“报头-数据-……-数据”的格式,以固定位宽依次发送。发送器包括发送控制模块和封装网络包模块,发送控制模块控制每条请求通过多少个包发送。封装网络包模块则将消息封装为固定位宽的网络包格式,其中报头有特殊格式,数据包则所有位都是数据。
接收器负责接收网络包并缓冲,接收完整后拼装为特定格式的消息。通过报头中的信息解析出网络包长度,配合索引指示接收存放位置,控制完整接收流程。
解码器负责从拼接出的消息中提取出诸如地址、缓存类型、返回数据等子信息,并按照内核接口编码,返回给内核。
如图2所示,展示了图1中发送器的控制器逻辑。初始发送器处于空闲状态,发送器在收到来自缓冲器的可发送信号之后,如果片上网络没有就绪,则进入等待状态。如果片上网络已经就绪,则进入发送状态,不断向片上网络发送固定位宽网络包,根据转译器确定的包长度,确定发送次数。发送完成后,发送器重新回到空闲状态。
如图3所示,展示了图1中所示接收器的控制器逻辑。初始接收器处于空闲状态,如果收到片上网络数据有效的信号,则进入接受状态。通过包头中的长度信息,不断接收固定位宽网络包。接收完整后,进入等待回应状态。内核接收到返回信息后,接收器重新回到空闲状态。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种高效的内核-片上网络桥式连接结构,其特征在于:包括两个分立的、支持多种数据接口位宽、支持关键指令检测的第一通道和第二通道,第一通道用于内核到片上网络的通信,第二通道用于片上网络到内核的通信;
所述第一通道包含顺次连接的缓冲器、转译器和发送器,缓冲器暂存内核请求,转译器将缓存器中的请求重新编码,发送器将转译器重新编码的请求打包为网络包格式依次发送给片上网络;
所述第二通道包含相互连接的接收器、解码器,接收器负责接收网络包并缓冲,接收完整后将网络包进行拼装并发送给解码器;解码器从拼装好的网络包数据中提取出子信息,并按照内核接口编码,返回给内核。
2.根据权利要求1所述的内核-片上网络桥式连接结构,其特征在于:
所述缓冲器暂存来自内核的请求,通过写指针指示存储请求的位置,通过读指针指示读取请求的位置,并为每个位置的有效(valid)位赋值,指示该请求能否发送;
缓冲器中的读和写控制模块控制写指针和读指针的增减,以及何时向下个模块发送请求;在收到一个新请求后,写指针加1,并将写指针指示位置的有效(valid)位赋值为1;在收到一个新回复后,即上一条请求已经成功通过发送器发送后,将读指针指示位置的有效(valid)位赋值为0,而后读指针加1。
3.根据权利要求2所述的内核-片上网络桥式连接结构,其特征在于:当来自内核的请求为缓存一致性相关指令时,则读指针减1,并将其写入读指针指示的位置,使该指令数据与其他数据不影响,保证该指令数据可以在片上网络空闲时第一个发送。
4.根据权利要求2所述的内核-片上网络桥式连接结构,其特征在于:当来自内核的请求为高位宽内核接口的存储(store)指令时,对其进行拆分;设缓冲器的数据接口为n位,若内核数据接口为m位,m=n*d,d为整数,则从内核依次获取d次数据,在缓冲器内暂存为d条子指令,依次发送。
5.根据权利要求1所述的内核-片上网络桥式连接结构,其特征在于:所述发送器在片上网络空闲时,将固定位宽的网络包依次发送给片上网络,所述网络包格式包含长度、类型、目的地、缓存类型、数据信息。
6.根据权利要求1所述的内核-片上网络桥式连接结构,其特征在于:所述接收器在内核空闲时,接收固定位宽的网络包,通过报头中的信息解析出网络包长度,配合索引(index)指示缓冲存放位置,控制接收流程直至信息完整。
7.根据权利要求1所述的内核-片上网络桥式连接结构,其特征在于:所述解码器将网络包格式解析成内核接口格式,当内核空闲时,将信息返回给内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209445.XA CN116248758A (zh) | 2023-03-07 | 2023-03-07 | 一种高效的内核-片上网络的桥式连接结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209445.XA CN116248758A (zh) | 2023-03-07 | 2023-03-07 | 一种高效的内核-片上网络的桥式连接结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248758A true CN116248758A (zh) | 2023-06-09 |
Family
ID=86627574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209445.XA Pending CN116248758A (zh) | 2023-03-07 | 2023-03-07 | 一种高效的内核-片上网络的桥式连接结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248758A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440053A (zh) * | 2023-12-21 | 2024-01-23 | 沐曦集成电路(上海)有限公司 | 一种多级跨die访问方法及系统 |
-
2023
- 2023-03-07 CN CN202310209445.XA patent/CN116248758A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440053A (zh) * | 2023-12-21 | 2024-01-23 | 沐曦集成电路(上海)有限公司 | 一种多级跨die访问方法及系统 |
CN117440053B (zh) * | 2023-12-21 | 2024-02-27 | 沐曦集成电路(上海)有限公司 | 一种多级跨die访问方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11916781B2 (en) | System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC) | |
KR100773013B1 (ko) | 메모리를 통해 데이터 처리 시스템들간의 데이터 흐름을제어하기 위한 방법 및 장치 | |
Buonadonna et al. | An implementation and analysis of the virtual interface architecture | |
US7409468B2 (en) | Controlling flow of data between data processing systems via a memory | |
US6615282B1 (en) | Adaptive messaging | |
US7283549B2 (en) | Method for increasing the transmit and receive efficiency of an embedded ethernet controller | |
US6694392B1 (en) | Transaction partitioning | |
KR100640515B1 (ko) | 주변장치로부터 호스트 컴퓨터 시스템에 인터럽트를전달하기 위한 방법 및 장치 | |
CN101681325A (zh) | 修改PCI Express封包摘要的设备、系统和方法 | |
US7191262B2 (en) | High-throughput UART interfaces | |
AU2005202915A1 (en) | Multi-node system, internodal crossbar switch, node and medium embodying program | |
US6526068B2 (en) | Interface control of communication between a control processor and a digital signal processor | |
CN101848239B (zh) | 一种高时效性的分布式服务集成调用系统 | |
KR100944892B1 (ko) | 버스 시스템 및 버스 인터페이스 | |
CN116248758A (zh) | 一种高效的内核-片上网络的桥式连接结构 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN1738224B (zh) | Tdm数据与帧格式转换的电路及方法、传输交换系统及方法 | |
CN118337889B (zh) | Cxl协议交换芯片及报文处理方法 | |
JP2953362B2 (ja) | Lanのスイッチング装置 | |
CN118427137A (zh) | 一种基于直接存储器访问dma的数据整序方法 | |
JP2004054419A (ja) | ノード間トランザクション処理装置 | |
CN118740735A (zh) | 一种流量控制方法、装置及系统 | |
CN117743252A (zh) | 基于Mailbox的异构Soc子系统间通信的方法 | |
KR100198802B1 (ko) | 노드간 엑센트네트를 통한 메시지 전송 제어 방법 | |
CN118210747A (zh) | 信号接收电路、系统、方法、芯片和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |