用于网络接口芯片的寄存器多源访问调度方法及装置的制造方法

文档序号:9929482阅读:523来源:国知局
用于网络接口芯片的寄存器多源访问调度方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络接口芯片中寄存器访问技术,具体涉及一种用于网络接口芯片的寄存器多源访问调度方法及装置。
【背景技术】
[0002]网络接口芯片(Network Interface Chip ,NIC)是基于PCIE G3标准的互连通信主机接口芯片,支持用户级的通信操作,用于通用服务器、通用计算结点和自主计算结点的高速接入。NIC中实现用户级通信操作的一个重要前提是虚拟化硬件资源,为每个进程形成一个独占使用硬件的编程视图,保证多进程并发执行时,对通信操作请求处理的原子性。NIC通信硬件接口为此实现了虚端口(Virtual Port,VP)机制,每个虚端口由一组可编程寄存器和相应的内存数据结构组成,不同虚端口的寄存器编址在不同地址区域中。通过内存映射技术,寄存器映射到进程的用户地址空间,实现用户层的直接访问。除了用户可编程的寄存器外,为了实现对NIC芯片的配置和监控功能,NIC中还包含一组配置和监控寄存器。监控平台和系统管理服务器通过访问配置和监控寄存器可以实时了解系统的运行状况。
[0003]从NIC中寄存器访问方式来看,寄存器访问源可以分为带内访问请求源和带外访问请求源两类。NIC芯片的寄存器带内访问基于正常的报文数据通路传递寄存器访问控制命令,带内访问有两种途径,一种是管理服务器通过网络端口发送和接收管理报文实现带内管理,另外一种是计算结点通过PCIE端口进行寄存器的访问实现带内管理。NIC芯片的寄存器带外访问基于I2C(Inter — Integrated Circuit)总线和JTAG(Joint Test Act1nGroup)边界扫描,完成芯片配置与监控,I2C和JTAG在寄存器访问上实现相同的功能,互为冗余和备份。
[0004]NIC芯片中有多个子模块,每个子模块拥有一定数量的寄存器,这些寄存器构成一个寄存器模块。在寄存器模块访问实现上,典型的处理结构有星形结构和环形结构。和星形结构相比,环形结构实现寄存器访问能够减少长走线的数目,减轻后端布局布线的压力。但环形结构多个模块串在一起,其访问延迟较大。
[0005]综上,NIC芯片中对寄存器访问的处理,需要满足以下需求:(I)用户可编程寄存器的快速访问:用户级通信操作的性能和可编程寄存器访问的延迟密切相关,尽可能提高其访问速度,可以有效提高NIC芯片的性能;(2)多个寄存器访问请求源的合理调度:NIC芯片中有来自计算结点及管理服务器的带内寄存器访问请求源,以及来自12C和JTAG的带外请求源,需要对多个请求源进行合理的调度处理;(3)寄存器访问实现利于芯片后端布局布线:NIC芯片中寄存器访问总控模块对多个子模块的寄存器访问,需要尽量减少长走线,减少后端的拥塞。由于上述的三个需求相互关联、相互制约。例如,对于需求(I)来讲,星形的实现结构能够减少访问延迟,提高访问速度,但和需求(3)相矛盾,不利于后端实现。并且提高用户可编程寄存器的访问速度也和多个寄存器访问请求源的调度密切相关。现有的寄存器访问的调度及实现方案,通常都是单个请求源的,对寄存器的访问延迟没有多样化的要求,并且在实现的方案上要么采用星形结构,要么采用环形结构。现有技术的寄存器访问方法的实现难以满足NIC芯片中寄存器访问处理的上述三个需求。

【发明内容】

[0006]本发明要解决的技术问题是针对网络接口芯片中不同请求源对访问速度的差异化需求,提供一种用于网络接口芯片的寄存器多源访问调度方法及装置,使得不同访问源均可以对网络接口芯片的所有寄存器进行访问、用户可编程寄存器访问延迟低、且有利于后端布局布线。
[0007]为了解决上述技术问题,本发明采用的技术方案为:
[0008]—种用于网络接口芯片的寄存器多源访问调度方法,如图1所示,其实施步骤如下:
[0009]I)按源分类缓存寄存器访问请求:请求分类单元根据请求源的类型将来自多种请求源的寄存器访问请求分别缓存至请求分类缓存单元;
[0010]2)基于访问速度差异构建快/慢速寄存器访问环:快速访问公用模块预先将包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成快速寄存器访问环;同时,慢速访问公用模块将不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块串联组成慢速寄存器访问环;
[0011]3)采用双环并行调度策略,根据权重分配和访问地址把缓存的请求分配到快/慢速寄存器访问环:针对快速寄存器访问环、慢速寄存器访问环采用双环并行调度策略,快速访问调度模块按照快速访问调度机制预设的权重分配将寄存器访问请求分配到快速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到快速寄存器访问环中的相匹配的寄存器模块;同时,慢速访问调度模块按照慢速访问调度机制预设的权重分配将寄存器访问请求分配到慢速寄存器访问环,并根据寄存器访问请求的访问地址,将寄存器访问请求缓存到慢速寄存器访问环中相匹配的寄存器模块;
[0012]4)快/慢速寄存器访问环并行处理访问请求并返回寄存器访问应答:所述快速寄存器访问环中的每一个节点根据寄存器访问地址,选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;同时,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应答。
[0013]作为本发明用于网络接口芯片的寄存器多源访问调度方法的进一步改进:
[0014]所述请求源的类型包括来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求;所述步骤3)中针对快速访问调度机制预设的权重分配调度分配到快速寄存器访问环时,所述针对快速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求;所述步骤3)中针对慢速访问调度机制预设的权重分配调度分配到慢速寄存器访问环时,所述针对慢速访问调度机制预设的权重分配具体是指来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求采用差异化的权重分配方法,给予来自计算结点的寄存器访问请求队列更大的权重,给予管理服务器和带外的寄存器请求队列较小的权重,使得快调度机制能够优先处理来自计算结点的请求。
[0015]所述针对快速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的调度权重为2:1:1;所述针对慢速访问调度机制预设的权重分配中来自计算结点的寄存器访问请求、来自管理服务器的寄存器访问请求和来自带外的寄存器访问请求三者的预设调度权重为1:1:1。
[0016]所述快速寄存器访问环中各个节点间传递的寄存器数据宽度为64位;所述慢速寄存器访问环中各个节点间传递的寄存器数据宽度为32位。
[0017]本发明还提供一种用于网络接口芯片的寄存器多源访问调度装置,如图2所示,包括请求分类单元、请求分类缓存单元、快速访问调度模块、慢速访问调度模块、快速寄存器访问环、慢速寄存器访问环:
[0018]请求分类单元,用于根据请求源的类型将寄存器访问请求分类;请求分类单元与请求源和请求分类缓存单元相连,从请求源接收不同类型的寄存器访问请求,根据请求源的类型将寄存器访问请求分类,并发送到请求分类缓存单元;
[0019]请求分类缓存单元,用于根据请求源的类型分别缓存来自多种请求源的寄存器访问请求;请求分类缓存单元与请求分类单元、快速访问调度模块和慢速访问调度模块相连,从请求分类单元接收寄存器访问请求并进行缓存,而后根据快速访问调度模块的调度将寄存器访问请求发送至快速访问调度模块,根据慢速访问调度模块的调度将寄存器访问请求发送至慢速访问调度模块;
[0020]快速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;快速访问调度模块与请求分类缓存单元和快速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照快速访问调度机制预设的权重,分配调度并缓存至快速寄存器访问环中相匹配的寄存器模块;[0021 ]慢速访问调度模块,用于根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;慢速访问调度模块与请求分类缓存单元和慢速寄存器访问环相连,从请求分类缓存单元接收寄存器访问请求,根据寄存器访问请求的访问地址,将寄存器访问请求按照慢速访问调度机制预设的权重,分配调度并缓存至慢速寄存器访问环中相匹配的寄存器模块;
[0022]快速寄存器访问环,由包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成快速寄存器访问环;快速寄存器访问环与快速访问调度模块相连,从快速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至快速寄存器访问环中相应节点的寄存器中,所述快速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终快速寄存器访问环向请求源返回寄存器访问应答;
[0023]慢速寄存器访问环,由不包含用户可编程寄存器、部分控制及状态寄存器的寄存器模块所在的节点串联组成慢速寄存器访问环;慢速寄存器访问环与慢速访问调度模块相连,从慢速访问调度模块接收寄存器访问请求,并根据寄存器访问请求的地址缓存至慢速寄存器访问环中相应节点的寄存器中,所述慢速寄存器访问环中的每一个节点根据寄存器访问地址选择对连接的寄存器模块进行操作或者将寄存器访问请求或寄存器访问应答进行转发,最终向请求源返回寄存器访问应
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1