CN105718393A - 用于网络接口芯片的寄存器多源访问调度方法及装置 - Google Patents
用于网络接口芯片的寄存器多源访问调度方法及装置 Download PDFInfo
- Publication number
- CN105718393A CN105718393A CN201610045114.7A CN201610045114A CN105718393A CN 105718393 A CN105718393 A CN 105718393A CN 201610045114 A CN201610045114 A CN 201610045114A CN 105718393 A CN105718393 A CN 105718393A
- Authority
- CN
- China
- Prior art keywords
- register
- access
- request
- ring
- module
- 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
Classifications
-
- 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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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
- G06F13/1689—Synchronisation and timing concerns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种用于网络接口芯片的寄存器多源访问调度方法及装置,方法步骤如下:按源分类缓存寄存器访问请求;基于访问速度差异构建快/慢速寄存器访问环;采用双环并行调度策略,根据权重分配和访问地址把缓存的请求分配到快/慢速寄存器访问环;快/慢速寄存器访问环并行处理访问请求并返回寄存器访问应答。装置包括请求分类单元、请求分类缓存单元、快速访问调度模块、慢速访问调度模块、快速寄存器访问环、慢速寄存器访问环。本发明采用双环并行调度策略,实现了不同请求源的合理调度,满足不同请求源对访问速度的差异化需求,提供带内和带外相结合的多途径的配置及监控功能,且有利于后端的布局布线,具有良好的可扩展性。
Description
技术领域
本发明涉及网络接口芯片中寄存器访问技术,具体涉及一种用于网络接口芯片的寄存器多源访问调度方法及装置。
背景技术
网络接口芯片(NetworkInterfaceChip,NIC)是基于PCIEG3标准的互连通信主机接口芯片,支持用户级的通信操作,用于通用服务器、通用计算结点和自主计算结点的高速接入。NIC中实现用户级通信操作的一个重要前提是虚拟化硬件资源,为每个进程形成一个独占使用硬件的编程视图,保证多进程并发执行时,对通信操作请求处理的原子性。NIC通信硬件接口为此实现了虚端口(VirtualPort,VP)机制,每个虚端口由一组可编程寄存器和相应的内存数据结构组成,不同虚端口的寄存器编址在不同地址区域中。通过内存映射技术,寄存器映射到进程的用户地址空间,实现用户层的直接访问。除了用户可编程的寄存器外,为了实现对NIC芯片的配置和监控功能,NIC中还包含一组配置和监控寄存器。监控平台和系统管理服务器通过访问配置和监控寄存器可以实时了解系统的运行状况。
从NIC中寄存器访问方式来看,寄存器访问源可以分为带内访问请求源和带外访问请求源两类。NIC芯片的寄存器带内访问基于正常的报文数据通路传递寄存器访问控制命令,带内访问有两种途径,一种是管理服务器通过网络端口发送和接收管理报文实现带内管理,另外一种是计算结点通过PCIE端口进行寄存器的访问实现带内管理。NIC芯片的寄存器带外访问基于I2C(Inter-IntegratedCircuit)总线和JTAG(JointTestActionGroup)边界扫描,完成芯片配置与监控,I2C和JTAG在寄存器访问上实现相同的功能,互为冗余和备份。
NIC芯片中有多个子模块,每个子模块拥有一定数量的寄存器,这些寄存器构成一个寄存器模块。在寄存器模块访问实现上,典型的处理结构有星形结构和环形结构。和星形结构相比,环形结构实现寄存器访问能够减少长走线的数目,减轻后端布局布线的压力。但环形结构多个模块串在一起,其访问延迟较大。
综上,NIC芯片中对寄存器访问的处理,需要满足以下需求:(1)用户可编程寄存器的快速访问:用户级通信操作的性能和可编程寄存器访问的延迟密切相关,尽可能提高其访问速度,可以有效提高NIC芯片的性能;(2)多个寄存器访问请求源的合理调度:NIC芯片中有来自计算结点及管理服务器的带内寄存器访问请求源,以及来自I2C和JTAG的带外请求源,需要对多个请求源进行合理的调度处理;(3)寄存器访问实现利于芯片后端布局布线:NIC芯片中寄存器访问总控模块对多个子模块的寄存器访问,需要尽量减少长走线,减少后端的拥塞。由于上述的三个需求相互关联、相互制约。例如,对于需求(1)来讲,星形的实现结构能够减少访问延迟,提高访问速度,但和需求(3)相矛盾,不利于后端实现。并且提高用户可编程寄存器的访问速度也和多个寄存器访问请求源的调度密切相关。现有的寄存器访问的调度及实现方案,通常都是单个请求源的,对寄存器的访问延迟没有多样化的要求,并且在实现的方案上要么采用星形结构,要么采用环形结构。现有技术的寄存器访问方法的实现难以满足NIC芯片中寄存器访问处理的上述三个需求。
发明内容
本发明要解决的技术问题是针对网络接口芯片中不同请求源对访问速度的差异化需求,提供一种用于网络接口芯片的寄存器多源访问调度方法及装置,使得不同访问源均可以对网络接口芯片的所有寄存器进行访问、用户可编程寄存器访问延迟低、且有利于后端布局布线。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于网络接口芯片的寄存器多源访问调度方法,如图1所示,其实施步骤如下:
1)按源分类缓存寄存器访问请求:请求分类单元根据请求源的类型将来自多种请求源的寄存器访问请求分别缓存至请求分类缓存单元;
2)基于访问速度差异构建快/慢速寄存器访问环:快速访问公用模块预先将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成快速寄存器访问环;同时,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成慢速寄存器访问环;
3)采用双环并行调度策略,根据权重分配和访问地址把缓存的请求分配到快/慢速寄存器访问环:针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略,快速访问调度模块按照快速访问调度机制预设的权重分配将寄存器访问请求分配到快速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到快速寄存器访问环中的相匹配的寄存器模块;同时,慢速访问调度模块按照慢速访问调度机制预设的权重分配将寄存器访问请求分配到慢速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到慢速寄存器访问环中相匹配的寄存器模块;
4)快/慢速寄存器访问环并行处理访问请求并返回寄存器访问应答:所述快速寄存器访问环中的每一个节点根据寄存器访问地址,选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
作为本发明用于网络接口芯片的寄存器多源访问调度方法的进一步改进:
所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述步骤3)中针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述步骤3)中针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
所述快速寄存器访问环中各个节点间传递的寄存器数据宽度为64位;所述慢速寄存器访问环中各个节点间传递的寄存器数据宽度为32位。
本发明还提供一种用于网络接口芯片的寄存器多源访问调度装置,如图2所示,包括请求分类单元、请求分类缓存单元、快速访问调度模块、慢速访问调度模块、快速寄存器访问环、慢速寄存器访问环:
请求分类单元,用于根据请求源的类型将寄存器访问请求分类;请求分类单元与请求源和请求分类缓存单元相连,从请求源接收不同类型的寄存器访问请求,根据请求源的类型将寄存器访问请求分类,并发送到请求分类缓存单元;
请求分类缓存单元,用于根据请求源的类型分别缓存来自多种请求源的寄存器访问请求;请求分类缓存单元与请求分类单元、快速访问调度模块和慢速访问调度模块相连,从请求分类单元接收寄存器访问请求并进行缓存,而后根据快速访问调度模块的调度将寄存器访问请求发送至快速访问调度模块,根据慢速访问调度模块的调度将寄存器访问请求发送至慢速访问调度模块;
快速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;快速访问调度模块与请求分类缓存单元和快速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;
慢速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;慢速访问调度模块与请求分类缓存单元和慢速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;
快速寄存器访问环,由包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环;快速寄存器访问环与快速访问调度模块相连,从快速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至快速寄存器访问环中相应节点的寄存器中,所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;
慢速寄存器访问环,由不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环;慢速寄存器访问环与慢速访问调度模块相连,从慢速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至慢速寄存器访问环中相应节点的寄存器中,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答;
所述慢速访问调度模块与快速访问调度模块针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略;所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
作为本发明用于网络接口芯片的寄存器多源访问调度装置的进一步改进:
所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述请求分类缓存单元包括用于缓存来自计算结点的寄存器访问请求的计算结点寄存器请求队列、用于缓存来自管理服务器的寄存器访问请求的管理服务器寄存器请求队列和用于缓存来自带外的寄存器访问请求的带外寄存器请求队列;所述针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
如图3所示,所述快速寄存器访问环,由K个节点串联组成,每一个节点均包含一个快速访问公用模块及对应的寄存器模块,快速访问公用模块将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环,快速寄存器访问环中的K个节点记为第一快速节点、…、第k快速节点、…、第K快速节点,k、K均为整数;如图4所示,所述慢速寄存器访问环,由M个节点串联组成,每一个节点均包含一个慢速访问公用模块及对应的寄存器模块,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环,慢速寄存器访问环中的M个节点记为第一慢速节点、…、第m慢速节点、…、第M慢速节点,m、M均为整数。
所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
所述快速寄存器访问环中各个快速访问公用模块间传递的寄存器数据宽度为64位;所述慢速寄存器访问环中各个慢速访问公用模块间传递的寄存器数据宽度为32位。
本发明用于网络接口芯片的寄存器多源访问调度方法具有下述优点:
1.本发明将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为快速寄存器访问环的一个节点组成快速寄存器访问环,将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为慢速寄存器访问环的一个节点组成慢速寄存器访问环,通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢双环并行调度机制,能够实现对网络接口芯片多个寄存器访问源的合理调度,满足不同访问源的差异化需求,每个访问源都可以对芯片中的所有寄存器进行访问,而且通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢并行调度机制,能够减少对用户可编程寄存器的访问延迟,提高网络接口芯片的性能;
2.本发明通过快速寄存器访问环和慢速寄存器访问环,将寄存器模块分别连接构成双环结构,基于双环实现结构能够有效减少长走线,利于后端的布局布线,具有良好的可扩展性。相对于星形的处理结构,双环的处理结构能够减轻芯片后端设计的压力,利于布局布线。相对于单环的处理结构,能够实现对用户可编程寄存器的快速访问。
本发明用于网络接口芯片的寄存器多源访问调度装置为本发明用于网络接口芯片的寄存器多源访问调度方法相对应的装置,因此具有与本发明用于网络接口芯片的寄存器多源访问调度方法相同的技术效果,在此不再赘述。
附图说明
图1为本发明用于网络接口芯片的寄存器多源访问调度方法的流程示意图;
图2为本发明用于网络接口芯片的寄存器多源访问调度装置的结构示意图;
图3为本发明用于网络接口芯片的寄存器多源访问调度装置的快速寄存器访问环的拓扑结构示意图;
图4为本发明用于网络接口芯片的寄存器多源访问调度装置的慢速寄存器访问环的拓扑结构示意图;
图5为本发明实施例装置的快速寄存器访问环的拓扑结构示意图,其中本实施例的快速寄存器访问环包含4个节点,每一个节点均包含一个快速访问公用模块及对应的寄存器模块;
图6为本发明实施例装置的慢速寄存器访问环的拓扑结构示意图,其中本实施例的慢速寄存器访问环包含8个节点,每一个节点均包含一个慢速访问公用模块及对应的寄存器模块;
图7为本发明实施例装置的快速访问公用模块的接口示意图;
图8为本发明实施例装置的慢速访问公用模块的接口示意图;
图9为本发明实施例装置的慢速寄存器访问环进行读写访问的原理示意图;
图10为本发明实施例装置的慢速寄存器访问环进行写广播的原理示意图。
具体实施方式
如图1所示,本实施例用于网络接口芯片的寄存器多源访问调度方法的实施步骤如下:
1)按源分类缓存寄存器访问请求:请求分类单元根据请求源的类型将来自多种请求源的寄存器访问请求分别缓存至请求分类缓存单元;
2)基于访问速度差异构建快/慢速寄存器访问环:快速访问公用模块预先将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成快速寄存器访问环;慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成慢速寄存器访问环;
3)采用双环并行调度策略,根据权重分配和访问地址把缓存的请求分配到快/慢速寄存器访问环:针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略,快速访问调度模块按照快速访问调度机制预设的权重分配将寄存器访问请求分配到快速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到快速寄存器访问环中的相匹配的寄存器模块;同时慢速访问调度模块按照慢速访问调度机制预设的权重分配将寄存器访问请求分配到慢速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到慢速寄存器访问环中相匹配的寄存器模块;
4)快/慢速寄存器访问环并行处理访问请求并返回寄存器访问应答:所述快速寄存器访问环中的每一个节点根据寄存器访问地址,选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
网络接口芯片中包含多个模块,每个模块包含一定数量的寄存器,本实施例中将其称为一个寄存器模块。用户可编程寄存器包含在NIC中的少数几个模块中,这些模块需要具有较快的访问速度,因此本实施例将其放在快速寄存器访问环中,应用快速访问调度机制进行调度其寄存器访问请求,此外,快速寄存器访问环中还包含部分控制和状态寄存器的寄存器模块。其余的寄存器模块则放在慢速寄存器访问环中,为了防止慢速寄存器访问阻塞快速,本实施例将快速寄存器访问环和慢速寄存器访问环并行调度;快慢调度机制对不同的请求源采用轮转调度。正常运行的情况下,计算结点的寄存器访问请求主要由快速访问调度机制处理,监控及管理服务器的寄存器访问请求则主要由慢速访问调度机制来处理。对于某一请求源来的请求,其请求访问的寄存器地址决定了是由快速访问调度机制还是慢速访问调度机制来进行调度和处理。本实施例将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为快速寄存器访问环的一个节点组成快速寄存器访问环,将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为慢速寄存器访问环的一个节点组成慢速寄存器访问环,通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢并行调度机制,能够实现对网络接口芯片多个寄存器访问源的合理调度,满足不同访问源的差异化需求,每个访问源都可以对芯片中的所有寄存器进行访问,而且通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢并行调度机制,能够减少对用户可编程寄存器的访问延迟,提高网络接口芯片的性能,而且本发明通过快速寄存器访问环和慢速寄存器访问环,将寄存器模块分别连接构成双环结构,基于双环实现结构能够有效减少长走线,利于后端的布局布线,具有良好的可扩展性,具有多源调度合理、满足不用访问源的差异需求、不同访问源均可以对网络接口芯片的所有寄存器进行访问、对用户可编程寄存器的访问延迟低、网络接口芯片访问性能好、能够减少长走线、利于后端布线、可扩展性好的优点。
为了实现对不同寄存器请求源的并行处理,本实施例使用寄存器请求队列来缓存来自多个请求源的寄存器请求,缓存的数据包括寄存器请求类型、寄存器地址、寄存器数据。寄存器请求类型包括三种:寄存器读,寄存器写,寄存器广播。为了保证逻辑的正确性,对于每个请求源的寄存器访问请求进行顺序处理。为了提高芯片配置和监控的灵活性,NIC中所有的请求源都可以对芯片内所有的寄存器进行访问,用户可编程的寄存器的访问请求主要来自计算结点,需要具有较高的访问速度。本实施例的寄存器访问实现采用基于双环的处理结构,分别和快慢速访问调度机制相对应。包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串成一个寄存器访问环,不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串成一个寄存器访问环。快速访问调度机制调度出的寄存器访问请求交由快速寄存器访问环处理,慢速访问调度机制调度出的寄存器访问请求交由慢速寄存器访问环处理,相对于星形的处理结构,双环的处理结构能够减轻芯片后端设计的压力,利于布局布线。相对于单环的处理结构,能够实现对用户可编程寄存器的快速访问。
本实施例中,所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述步骤3)中针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述步骤3)中针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
本实施例中,快速寄存器访问环中各个节点间传递的寄存器数据宽度为64位;慢速寄存器访问环中各个节点间传递的寄存器数据宽度为32位。本实施例通过快速寄存器访问环从以下两个方面来提高对用户可编程寄存器的访问速度,一方面,快速寄存器访问环中数据宽度为64位,相对于慢速寄存器访问环中数据宽度的32位或者更低,寄存器请求和应答数据能够更快的在环上传递。另一方面,快速寄存器访问环上都是包含用户可编程寄存器的模块,数目有限,可以加快寄存器访问速度。本实施例将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块组成的慢速寄存器访问环,通过慢速寄存器访问环把NIC中慢速访问的寄存器模块串在一起,由于寄存器模块数目较多,环上的数据宽度较低,有利于减轻后端设计的压力,减少拥塞和长走线。
如图2所示,本实施例用于网络接口芯片的寄存器多源访问调度装置包括:
请求分类单元,用于根据请求源的类型将寄存器访问请求分类;请求分类单元与请求源和请求分类缓存单元相连,从请求源接收不同类型的寄存器访问请求,根据请求源的类型将寄存器访问请求分类,并发送到请求分类缓存单元;
请求分类缓存单元,用于根据请求源的类型分别缓存来自多种请求源的寄存器访问请求;请求分类缓存单元与请求分类单元、快速访问调度模块和慢速访问调度模块相连,从请求分类单元接收寄存器访问请求并进行缓存,而后根据快速访问调度模块的调度将寄存器访问请求发送至快速访问调度模块,根据慢速访问调度模块的调度将寄存器访问请求发送至慢速访问调度模块;
快速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;快速访问调度模块与请求分类缓存单元和快速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;
慢速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;慢速访问调度模块与请求分类缓存单元和慢速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;
快速寄存器访问环,如图3所示,由K个节点串联组成,每一个节点均包含一个快速访问公用模块及对应的寄存器模块,快速访问公用模块将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环,快速寄存器访问环中的K个节点记为第一快速节点、…、第k快速节点、…、第K快速节点,k、K均为整数;快速寄存器访问环与快速访问调度模块相连,从快速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至快速寄存器访问环中相应节点的寄存器中,所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;如图5所示,本实施例的快速寄存器访问环包含MC0、MC1、DS、WA共4个节点,每一个节点均包含一个快速访问公用模块及对应的寄存器模块。
慢速寄存器访问环,如图4所示,由M个节点串联组成,每一个节点均包含一个慢速访问公用模块及对应的寄存器模块,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环,慢速寄存器访问环中的M个节点记为第一慢速节点、…、第m慢速节点、…、第M慢速节点,m、M均为整数;慢速寄存器访问环与慢速访问调度模块相连,从慢速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至慢速寄存器访问环中相应节点的寄存器中,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答;如图6所示,本实施例的慢速寄存器访问环包含EI、TP、TC、LM、AC、RC、RP、NI共8个节点。
所述慢速访问调度模块与快速访问调度模块针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略;所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
本实施例快速访问调度模块执行快速访问调度机制,慢速访问调度模块执行慢速访问调度机制。快速访问调度机制处理主要处理用户可编程的寄存器访问请求,此外还包括部分控制和状态寄存器的寄存器访问请求,这些请求的目标寄存器均位于快速寄存器访问环中。为了保证计算结点对用户可编程寄存器的快速访问要求,快速访问调度机制对不同请求源的调度采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求,这些请求大部分是访问用户可编程寄存器,进而能够减少对用户可编程寄存器的访问延迟。在正常运行的情况下,慢速访问调度机制处理的寄存器请求源主要是来自管理服务器和来自带外的I2C和JTAG产生的寄存器访问请求,少量来自计算结点。慢速处理机制采用不同与快速处理机制不同的调度策略,采用轮转调度的方法,各个请求源具有同等的被调度机会。快速访问调度机制和慢速访问调度机制调度出的寄存器访问请求,分别发给快速访问调度模块和慢速访问调度模块来处理。本实施例将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为快速寄存器访问环的一个节点组成快速寄存器访问环,将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块相连作为慢速寄存器访问环的一个节点组成慢速寄存器访问环,通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢并行调度机制,能够实现对网络接口芯片多个寄存器访问源的合理调度,满足不同访问源的差异化需求,每个访问源都可以对芯片中的所有寄存器进行访问,而且通过对寄存器模块的访问特性进行分类并根据分类分别采用快慢并行调度机制,能够减少对用户可编程寄存器的访问延迟,提高网络接口芯片的性能,而且本发明通过快速寄存器访问环和慢速寄存器访问环,将寄存器模块分别连接构成双环结构,基于双环实现结构能够有效减少长走线,利于后端的布局布线,具有良好的可扩展性,具有多源调度合理、满足不用访问源的差异需求、不同访问源均可以对网络接口芯片的所有寄存器进行访问、对用户可编程寄存器的访问延迟低、网络接口芯片访问性能好、能够减少长走线、利于后端布线、可扩展性好的优点。
如图2所示,本实施例的请求分类缓存单元包括用于缓存来自计算结点的寄存器访问请求的计算结点寄存器请求队列、用于缓存来自管理服务器的寄存器访问请求的管理服务器寄存器请求队列和用于缓存来自带外的寄存器访问请求的带外寄存器请求队列;所述针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
本实施例通过上述调度策略,能够保证用户可编程寄存器的快速访问,确保不同来源执行差异化的调度策略,给予来自计算结点的访问请求更高的调度权重,优先调度来自计算结点的寄存器访问请求,减少对用户可编程寄存器的访问延迟,提高访问速度。请求分类缓存单元把来自计算结点、管理服务器、带外的I2C及JTAG产生的寄存器访问请求缓存在各自的寄存器请求缓存队列中,采用基于信用控制的FIFO来实现缓冲区,缓冲的内容包括寄存器访问类型、寄存器访问地址、寄存器读写数据。本实施例通过快速访问调度模块执行快速访问调度机制,通过慢速访问调度模块执行慢速访问调度机制,快速访问调度机制和慢速访问调度机制分别对缓存在队列中的寄存器请求进行调度,如果计算结点寄存器请求队列中的寄存器请求是访问快速寄存器访问环内的寄存器,则该请求由快速访问调度机制来调度处理,否则则由慢速访问调度机制进行调度处理。调度使用快速访问调度机制的寄存器访问请求交由快速访问调度模块来处理,慢速访问调度机制产生的寄存器访问请求交由慢速访问调度模块来处理,处理后的结构基于其请求来源返回给计算结点、管理服务器和带外的I2C、JTAG。
本实施例通过快速访问调度机制调度寄存器访问请求送往快速寄存器访问环执行,通过慢速访问调度机制调度寄存器访问请求送往慢速寄存器访问环执行,且快速访问调度机制和慢速访问调度机制并行执行,快速访问调度机制调度出的寄存器访问请求,交由快速寄存器访问环的快速访问调度模块来处理,慢速访问调度机制调度出的寄存器访问请求,交由慢速寄存器访问环的慢速访问调度模块来处理,快速寄存器访问环的访问环上的各个寄存器模块都包含有需要快速访问的用户可编程寄存器,网络接口卡中不包含用户可编程寄存器的模块都串在慢速寄存器访问环的访问环上,快速寄存器访问环和慢速寄存器访问环构成双环结构的多源寄存器访问实现结构,能够便于芯片后端的设计实现,减少布局布线的难度和长走线。
如图7所示,快速访问公用模块包括三组信号:环入模块的寄存器信号(左侧的4路信号)、环出模块的寄存器信号(右侧的4路信号)和寄存器模块接口信号(下侧的7路信号),每组信号包括寄存器访问的有效信号、寄存器访问地址、寄存器命令编码、寄存器数据,寄存器命令编码的编码类型包括:寄存器读、寄存器写、寄存器广播、寄存器读应答、寄存器写应答。快速寄存器访问环的每个节点都实例化一个快速访问公用模块,快速访问公用模块采用T形的实现结构。环入模块的寄存器信号包括寄存器访问的有效信号reg_cmd_valid_in、寄存器访问地址reg_cmd_addr_in[11:0]、寄存器命令编码reg_cmd_code_in[2:0]、寄存器数据reg_cmd_data_in[63:0];环出模块的寄存器信号包括寄存器访问的有效信号reg_cmd_valid_out、寄存器访问地址reg_cmd_addr_out[11:0]、寄存器命令编码reg_cmd_code_out[2:0]、寄存器数据reg_cmd_data_out[63:0];寄存器模块接口信号包括寄存器写完成信号引脚reg_wt_cmp、寄存器读数据有效信号引脚reg_rd_data_valid、寄存器写有效信号引脚reg_wt_valid、寄存器读有效信号引脚reg_rd_valid、寄存器写数据引脚reg_wt_data[63:0]、寄存器读数据引脚reg_rd_data[63:0]、寄存器地址引脚reg_addr[11:0],共计144位。参见环入模块的寄存器信号的寄存器数据reg_cmd_data_in[63:0]、环出模块的寄存器信号的寄存器数据reg_cmd_data_in[63:0]可知,快速寄存器访问环中环上传递的寄存器数据宽度为64,即快速寄存器访问环中各个快速访问公用模块间传递的寄存器数据宽度为64位。
如图8所示,慢速访问公用模块包括三组信号:环入模块的寄存器信号(左侧的4路信号)、环出模块的寄存器信号(右侧的4路信号)和寄存器模块接口信号(下侧的7路信号),每组信号包括寄存器访问的有效信号、寄存器访问地址、寄存器命令编码、寄存器数据,寄存器命令编码的编码类型包括:寄存器读、寄存器写、寄存器广播、寄存器读应答、寄存器写应答。慢速寄存器访问环的每个节点都实例化一个慢速访问公用模块,慢速访问公用模块采用T形的实现结构。环入模块的寄存器信号包括寄存器访问的有效信号reg_cmd_valid_in、寄存器访问地址reg_cmd_addr_in[11:0]、寄存器命令编码reg_cmd_code_in[2:0]、寄存器数据reg_cmd_data_in[31:0];环出模块的寄存器信号包括寄存器访问的有效信号reg_cmd_valid_out、寄存器访问地址reg_cmd_addr_out[11:0]、寄存器命令编码reg_cmd_code_out[2:0]、寄存器数据reg_cmd_data_out[31:0];参见环入模块的寄存器信号的寄存器数据reg_cmd_data_in[31:0]、环出模块的寄存器信号的寄存器数据reg_cmd_data_in[31:0]可知,慢速寄存器访问环中环上传递的寄存器数据宽度为32,即慢速寄存器访问环中各个慢速访问公用模块间传递的寄存器数据宽度为32位。
本实施例中通过快速寄存器访问环中各个快速访问公用模块间传递的寄存器数据宽度为64位,快速寄存器访问环上寄存器模块数目有限,能够加快对用户可编程寄存器的访问速度;慢速寄存器访问环中各个慢速访问公用模块间传递的寄存器数据宽度为32位,由于慢速寄存器访问环上寄存器模块数目较多,数据带宽较低,从而有利于减轻后端设计的压力,减少拥塞和长走线。
本实施例中,快速寄存器访问环或慢速寄存器访问环进行写访问时,寄存器访问请求在环上进行传递,环上的各个节点基于寄存器访问地址进行处理,如果是本节点相连寄存器模块的寄存器访问,则进行相应的寄存器读写处理,从节点环出的是寄存器访问的应答,依次到达快速访问调度模块或者慢速访问调度模块,如果不是本节点的寄存器访问或者是寄存器访问应答,那么直接把环入的寄存器信号作为环出的寄存器信号输出即可。如图9所示,以慢速寄存器访问环为例,寄存器访问请求的地址为寄存器模块TP,则寄存器模块EI所在的节点直接将换入的寄存器访问请求环出给寄存器模块TP所在的节点(如图中粗实线箭头所示);寄存器模块TP所在的节点进行相应的寄存器读写处理,环出的是寄存器访问的应答;后续的各个寄存器模块(TC、LM、AC、RC、RP、NI)所在的节点依次将环入的寄存器访问应答直接环出(如图中粗虚线箭头所示),最终到达慢速访问调度模块。
本实施例中,快速寄存器访问环或慢速寄存器访问环写广播实现时通过环形寄存器访问实现在处理写广播,和处理普通的寄存器写操作唯一的不同是:把寄存器写广播命令转化成寄存器写操作依次发给环上的各节点,各节点的寄存器配置链走完后,写广播操作完成。各节点收到广播地址的寄存器写时,采用和普通的寄存器地址一样的处理方法进行寄存器写的处理(如图中的粗实线箭头所示)。即,如果该广播地址属于本模块的处理范围则进行相应的写寄存器操作,否则直接返回写完成应答。如图10所示,以慢速寄存器访问环为例,写广播命令依次在换上各个节点间传递,且每一个节点均根据写广播命令进行寄存器写操作(如图中粗实线箭头所示)。具体步骤如下:
步骤1:NIC芯片为多个节点需要进行相同配置的寄存器分配一段连续的写广播寄存器地址空间。
步骤2:NIC芯片为需要写广播的寄存器分配两个寄存器地址,一个是寄存器写广播地址,另外一个是用来进行正常的寄存器访问的寄存器地址。后者由寄存器所在的节点的设计者进行地址分配,属于节点内部的寄存器地址。
步骤3:多节点共用信息的配置使用写广播命令,通过一个写广播命令使用广播地址将多个节点全部配置完;如果需要单独的进行读写某个节点内部的寄存器信息,则采用普通寄存器读写命令,使用节点内分配的正常寄存器地址读写各个节点内的配置寄存器。
步骤4:环形寄存器访问实现在处理写广播,和处理普通的寄存器写操作唯一的不同是:把寄存器写广播命令转化成寄存器写操作依次发给环上的各节点。寄存器配置链走完后,写广播操作完成。
步骤5:各节点收到广播地址的寄存器写时,采用和普通的寄存器地址一样的处理方法,进行寄存器写的处理。即如果该广播地址属于本节点的处理范围则进行相应的写寄存器操作,否则直接返回写完成应答。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种用于网络接口芯片的寄存器多源访问调度方法,其特征在于,实施步骤如下:
1)请求分类单元根据请求源的类型将来自多种请求源的寄存器访问请求分别缓存至请求分类缓存单元;
2)快速访问公用模块预先将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成快速寄存器访问环;同时,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成慢速寄存器访问环;
3)针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略,快速访问调度模块按照快速访问调度机制预设的权重分配将寄存器访问请求分配到快速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到快速寄存器访问环中的相匹配的寄存器模块;同时,慢速访问调度模块按照慢速访问调度机制预设的权重分配将寄存器访问请求分配到慢速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到慢速寄存器访问环中相匹配的寄存器模块;
4)快/慢速寄存器访问环并行处理访问请求并返回寄存器访问应答:所述快速寄存器访问环中的每一个节点根据寄存器访问地址,选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
2.根据权利要求1所述的用于网络接口芯片的寄存器多源访问调度方法,其特征在于,所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述步骤3)中针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述步骤3)中针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
3.根据权利要求1或2所述的用于网络接口芯片的寄存器多源访问调度方法,其特征在于,所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
4.根据权利要求1或2所述的用于网络接口芯片的寄存器多源访问调度方法,其特征在于:所述快速寄存器访问环中各个节点间传递的寄存器数据宽度为64位;所述慢速寄存器访问环中各个节点间传递的寄存器数据宽度为32位。
5.一种用于网络接口芯片的寄存器多源访问调度装置,其特征在于,包括请求分类单元、请求分类缓存单元、快速访问调度模块、慢速访问调度模块、快速寄存器访问环、慢速寄存器访问环:
请求分类单元,用于根据请求源的类型将寄存器访问请求分类;请求分类单元与请求源和请求分类缓存单元相连,从请求源接收不同类型的寄存器访问请求,根据请求源的类型将寄存器访问请求分类,并发送到请求分类缓存单元;
请求分类缓存单元,用于根据请求源的类型分别缓存来自多种请求源的寄存器访问请求;请求分类缓存单元与请求分类单元、快速访问调度模块和慢速访问调度模块相连,从请求分类单元接收寄存器访问请求并进行缓存,而后根据快速访问调度模块的调度将寄存器访问请求发送至快速访问调度模块,根据慢速访问调度模块的调度将寄存器访问请求发送至慢速访问调度模块;
快速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;快速访问调度模块与请求分类缓存单元和快速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;
慢速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;慢速访问调度模块与请求分类缓存单元和慢速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;
快速寄存器访问环,由包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环;快速寄存器访问环与快速访问调度模块相连,从快速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至快速寄存器访问环中相应节点的寄存器中,所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;
慢速寄存器访问环,由不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环;慢速寄存器访问环与慢速访问调度模块相连,从慢速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至慢速寄存器访问环中相应节点的寄存器中,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答;
所述慢速访问调度模块与快速访问调度模块针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略;所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
6.根据权利要求5所述的用于网络接口芯片的寄存器多源访问调度装置,其特征在于:所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述请求分类缓存单元包括用于缓存来自计算结点的寄存器访问请求的计算结点寄存器请求队列、用于缓存来自管理服务器的寄存器访问请求的管理服务器寄存器请求队列和用于缓存来自带外的寄存器访问请求的带外寄存器请求队列;所述针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
7.根据权利要求5所述的用于网络接口芯片的寄存器多源访问调度装置,其特征在于:所述快速寄存器访问环,由K个节点串联组成,每一个节点均包含一个快速访问公用模块及对应的寄存器模块,快速访问公用模块将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环,快速寄存器访问环中的K个节点记为第一快速节点、…、第k快速节点、…、第K快速节点,k、K均为整数;所述慢速寄存器访问环,由M个节点串联组成,每一个节点均包含一个慢速访问公用模块及对应的寄存器模块,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环,慢速寄存器访问环中的M个节点记为第一慢速节点、…、第m慢速节点、…、第M慢速节点,m、M均为整数。
8.根据权利要求5~7中任意一项所述的用于网络接口芯片的寄存器多源访问调度装置,其特征在于,所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
9.根据权利要求5~7中任意一项所述的用于网络接口芯片的寄存器多源访问调度装置,其特征在于,所述快速寄存器访问环中各个快速访问公用模块间传递的寄存器数据宽度为64位;所述慢速寄存器访问环中各个慢速访问公用模块间传递的寄存器数据宽度为32位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610045114.7A CN105718393A (zh) | 2016-01-23 | 2016-01-23 | 用于网络接口芯片的寄存器多源访问调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610045114.7A CN105718393A (zh) | 2016-01-23 | 2016-01-23 | 用于网络接口芯片的寄存器多源访问调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718393A true CN105718393A (zh) | 2016-06-29 |
Family
ID=56154891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610045114.7A Pending CN105718393A (zh) | 2016-01-23 | 2016-01-23 | 用于网络接口芯片的寄存器多源访问调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718393A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270693A (zh) * | 2017-12-29 | 2018-07-10 | 珠海国芯云科技有限公司 | 网站访问的自适应优化疏导方法及装置 |
CN116680088A (zh) * | 2023-08-03 | 2023-09-01 | 青岛本原微电子有限公司 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
CN118295707A (zh) * | 2024-06-05 | 2024-07-05 | 北京壁仞科技开发有限公司 | 用于快速寄存器的数据搬运方法、处理器、计算设备 |
CN118426705A (zh) * | 2024-07-03 | 2024-08-02 | 深圳星云智联科技有限公司 | 一种访问调度方法、计算机设备及介质 |
-
2016
- 2016-01-23 CN CN201610045114.7A patent/CN105718393A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270693A (zh) * | 2017-12-29 | 2018-07-10 | 珠海国芯云科技有限公司 | 网站访问的自适应优化疏导方法及装置 |
CN116680088A (zh) * | 2023-08-03 | 2023-09-01 | 青岛本原微电子有限公司 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
CN116680088B (zh) * | 2023-08-03 | 2023-10-13 | 青岛本原微电子有限公司 | 一种针对多寄存器存储的多模块同时访问系统及访问方法 |
CN118295707A (zh) * | 2024-06-05 | 2024-07-05 | 北京壁仞科技开发有限公司 | 用于快速寄存器的数据搬运方法、处理器、计算设备 |
CN118426705A (zh) * | 2024-07-03 | 2024-08-02 | 深圳星云智联科技有限公司 | 一种访问调度方法、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911352B2 (en) | Multicast message delivery using a directional two-dimensional router and network | |
US10608640B1 (en) | On-chip network in programmable integrated circuit | |
US10707875B1 (en) | Reconfigurable programmable integrated circuit with on-chip network | |
EP2227749B1 (en) | Bus enhanced network on chip | |
US9436640B1 (en) | Full bandwidth packet handling with server systems including offload processors | |
CN103793342B (zh) | 一种多通道直接内存存取dma控制器 | |
JP4359377B2 (ja) | ハブおよびポートを持つ転送コントローラ・アーキテクチャ | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
KR100404608B1 (ko) | 대칭형 멀티프로세서용 버스식 캐시-코히런스 프로토콜을지원하기 위해 분산 시스템 구조를 이용하는 방법 및 장치 | |
EP3298740A1 (en) | Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits, and applications of the router and network | |
US11989143B2 (en) | Composable infrastructure enabled by heterogeneous architecture, delivered by CXL based cached switch SoC | |
US20160275015A1 (en) | Computing architecture with peripherals | |
CN103959261B (zh) | 网络处理器中的多内核互联 | |
CN105718393A (zh) | 用于网络接口芯片的寄存器多源访问调度方法及装置 | |
KR20240024188A (ko) | 네트워크 인터페이스 디바이스 | |
CN104503948A (zh) | 支持多核网络处理架构的紧耦合自适应协处理系统 | |
KR20010029881A (ko) | 다중방식, 고성능 대칭형 멀티프로세서 시스템에서 글로벌코히런스를 제공하기 위한 방법 및 장치 | |
US11934334B2 (en) | CCIX port management for PCI express traffic | |
US20040078459A1 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
CN112506824B (zh) | 一种芯片和数据交互方法 | |
US7272151B2 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
WO1991010958A1 (en) | Computer bus system | |
Kachris et al. | Low-latency explicit communication and synchronization in scalable multi-core clusters | |
CN114584507A (zh) | 基于类脑处理器的数据处理方法、路由器及网络系统 | |
NZ716954B2 (en) | Computing architecture with peripherals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160629 |
|
WD01 | Invention patent application deemed withdrawn after publication |