[发明专利]一种片上网络消息缓冲区的存储管理模块有效
申请号: | 201510040741.7 | 申请日: | 2015-01-27 |
公开(公告)号: | CN104636085B | 公开(公告)日: | 2017-10-03 |
发明(设计)人: | 王一拙;王小军;石峰;计卫星;高玉金 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙)11639 | 代理人: | 王民盛 |
地址: | 100081 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 消息 缓冲区 存储 管理 模块 | ||
技术领域
本发明涉及一种片上网络消息缓冲区的存储管理模块,属于计算机体系结构及芯片设计领域,适用于片上多核、众核处理器核间互连单元的构建。
背景技术
随着多核、众核处理器体系结构的发展,越来越多的处理核被集成在单个芯片上,这对核间通信提出了极大的需求,片上网络作为核间通信的一种有效解决方案正被广泛研究和采用。在一个片上网络体系结构中,数据被打包成消息在处理核(计算节点)之间进行传递,消息传递过程采用存储转发的方式进行,每个计算节点的路由模块与当前计算节点以及其它相邻计算节点的路由模块相连,如二维网格片上网络的路由模块具有东、西、南、北四个端口和一个本地端口,当路由模块接收到某个端口上的消息时需要将其写入消息缓冲区,之后根据目标路由,读出缓冲区中的消息到某个端口。由于消息缓冲区的大小是固定的,多个端口可能在同一时刻并发的接收或发送消息,因此,必须实现消息缓冲区存储空间的自动管理,即存储管理模块,该模块负责消息缓冲区存储空间的分配和回收,即当某个端口上要写入消息时,由存储管理模块给出消息缓冲区中空闲存储单元的地址,当某个端口上读出消息时,将该消息对应的存储单元地址保存到存储管理模块中,表示该地址对应的消息缓冲区存储单元可用。
目前,片上网络消息缓冲区的存储管理模块都采用即时分配策略,即当某端口上接收到消息,向存储管理模块申请消息缓冲区空间时,存储管理模块才在内部获取消息缓冲区空闲单元的一个地址,并将其发送到读出通道的数据总线上。这种方式在接收到消息时才申请空间,需要等待存储管理模块内部的一系列操作,会使消息的存储转发过程延迟至少一个时钟周期。
本发明采用另一种策略,即预先分配策略,存储管理模块预先将消息缓冲区空闲单元地址发送到读出通道的数据总线上,当有消息到来时直接从本发明的存储管理模块的读出通道数据总线上获得消息缓冲区空闲单元地址,这样就避免了延迟等待存储管理模块内部操作的时间。
另外,现有片上网络消息缓冲区的存储管理模块都采用多端口异步访问模式,如当多个端口同时接收消息时,存储管理模块为各个端口逐一提供消息缓冲区空闲单元地址,这种模式实现简单,但效率较低。针对这一点,本发明采用同步访问模式,即多个端口可同时读写存储管理模块,也就是同时进行消息缓冲区多个存储单元的分配和回收。
发明内容
本发明的目的是为解决现有存储管理模块延迟大的问题,提供一种片上网络消息缓冲区的存储管理模块,该存储管理模块采用多端口同步访问模式,多个端口可同时申请或释放消息缓冲区中的存储单元;在申请存储单元时,采用预先分配策略,减少消息存储转发的延迟。
本发明的目的是通过以下技术方案实现的:
一种片上网络消息缓冲区的存储管理模块,包括多于2个可同时申请或释放消息缓冲区中的存储单元的端口;申请存储单元的过程采用预先分配策略,即初始化时预先为每个端口分配存储单元,之后每次有端口申请存储单元时预先为下一次申请提前分配好存储单元。
较优的,所述存储管理模块由读地址生成模块IMG_RdAGen、写地址生成模块IMG_WrAGen、表项存储模块IMG_Mem5x32和表长计算模块IMG_QueLen组成;读、写地址生成模块分别与表项存储模块相连,表长计算模块与读、写地址生成模块相连;表项存储模块用于以环形队列的形式保存消息缓冲区所有空闲存储单元的地址,读地址生成模块用于对每个端口的读通道生成读取上述环形队列的表项地址,写地址生成模块用于根据各个端口写通道的申请情况为将要写入的数据分配写入到上述环形队列的表项地址,表长计算模块用于从读地址生成模块得到环形队列当前的队首地址Head,从写地址生成模块得到环形队列当前的队尾地址Tail,然后计算出当前时刻的队列长度;各端口对消息缓冲区存储单元的申请通过读地址生成模块进行,对消息缓冲区存储单元的释放回收通过写地址生成模块进行。
较优的,所述表项存储模块是一个多端口存储器,以环形队列的形式保存消息缓冲区所有空闲存储单元的地址;该环形队列所能存储的队列表项总个数等于消息缓冲区存储单元个数加一;在所述表项存储模块中不需要进行地址冲突仲裁,多个端口可同步访问。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510040741.7/2.html,转载请声明来源钻瓜专利网。