[发明专利]处理访存请求冲突的方法和装置在审
申请号: | 201410822362.9 | 申请日: | 2014-12-25 |
公开(公告)号: | CN104461400A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 周恒钊;刘璧怡;李拓;符云越 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/46 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王康;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 请求 冲突 方法 装置 | ||
技术领域
本发明涉及集成电路领域,具体涉及一种处理访存请求冲突的方法和装置。
背景技术
非一致性内存架构(英文:Non-Uniform Memory Access,缩写:NUMA)中,每个处理器下都挂载内存。处理器既可以直接访问自己的内存,也可以通过前端总线访问其他处理器的内存,其中,访问其他处理器的内存时,访问者被称为访存处理器(英文:Caching Agent,缩写:CA),被访问者被称为内存宿主处理器(英文:Home Agent,缩写:HA)。随着系统处理器数目不断增加,处理器间并发访存的同步和通讯变得越来越复杂,处理器访存性能成为影响系统性能提升的关键瓶颈。
当发生多处理器并发访存冲突时,北桥中的内存控制器需要按照冲突的类型,利用多条队列管理被暂时挂起的处理器通过前端总线向北桥发送的访存请求。在程序执行过程中,系统可能产生新的被挂起请求或需要删除已经得到处理的访存请求,内存控制器则需要对这些访存请求进行实时处理,根据事务类型将其释放或写入队列尾。
现有的处理访存请求冲突的方案中,采用先入先出队列(英文:First Input First Output,缩写:FIFO)存储结构对冲突的访存请求进行管理,存在以下问题:存储器开销大:当系统处理器数量呈线性增长时,存储器开销呈指数增长,芯片面积随之增大;配置不够灵活:访存请求的冲突管理队列以FIFO方式实现时,队列长度不可配,FIFO深度必须固定,无法灵活配置。
发明内容
本发明实施例提供的处理访存请求冲突的方法和装置,可以解决管理访存请求冲突时存储器开销大以及配置不够灵活的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种处理访存请求冲突的方法,所述方法包括:
当发生访存请求冲突时,根据协议缓存池中被挂起的各个访存请求以及所述各个访存请求的处理顺序利用尾插法创建冲突管理链表;其中,所述链表的各个结点存储在预设的存储器中,所述链表的结点包括:所述结点对应的访存请求在所述协议缓存池中的入口地址以及用于指示下一个结点的指针;
当开始处理所述各个访存请求时,读取所述链表的表头指针以获取所述链表的首结点对应的入口地址以及所述首结点的指针;
根据所述首结点对应的入口地址执行所述首结点对应的访存请求以及根据所述首节点的指针获取所述首节点下一个节点对应的入口地址以及所述下一个结点的指针;
对于所述下一个结点以及所述链表其余的结点,执行上述根据入口地址执行访存请求以及根据指针获取下一个节点对应的入口地址和指针的步骤直至所述链表的各个结点对应的所述各个访存请求全部被处理。
结合第一方面,在第一种可能的实现方式中,所述根据协议缓存池中被挂起的各个访存请求以及所述各个访存请求的处理顺序利用尾插法创建冲突管理链表包括:
将所述各个访存请求按照被处理时的先后顺序从所述链表的表尾依次插入得到所述链表,所述链表中各个结点间顺序与所述各个访存请求被处理时的先后顺序相同。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述链表的表头指针、所述链表的表尾指针以及用于指示所述链表有效的标识信息分别存储在不同的寄存器中。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
当需要对多条冲突管理链表进行合并时,根据所述多条冲突管理链表不同的优先级将优先级低的冲突管理链表的表头指针作为优先级高一级的冲突管理链表的表尾指针,依次串接所述多条冲突管理链表得到合并后的冲突管理链表,并将除优先级最高的冲突管理链表以外的其余链表的所述用于指示所述链表有效的标识信息清除。
结合第一方面,在第四种可能的实现方式中,所述访存请求对应的在所述协议缓存池中的入口地址为全局访存事务标识,所述全局访存事物标识是根据内存宿主处理器标识、访存处理器标识以及访存事务标识生成的。
第二方面,本发明实施例提供一种处理访存请求冲突的装置,所述装置包括:
冲突管理单元,用于当发生访存请求冲突时,根据协议缓存池中被挂起的各个访存请求以及所述各个访存请求的处理顺序利用尾插法创建冲突管理链表;其中,所述链表的各个结点存储在预设的存储器中,所述链表的结点包括:所述结点对应的访存请求在所述协议缓存池中的入口地址以及用于指示下一个结点的指针;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410822362.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:操作界面的分区显示方法及系统
- 下一篇:信息选取方法及装置