[发明专利]一种执行指令选择的装置、方法及指令映射方法有效
申请号: | 201711278806.7 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108052347B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 高龑;谭旭;李文明;马丽娜;冯煜晶;张浩 | 申请(专利权)人: | 北京中科睿芯智能计算产业研究院有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 101300 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 执行 指令 选择 装置 方法 映射 | ||
本发明提供了一种执行指令选择的装置、方法及指令映射方法,该执行指令选择方法包括:在一个计算单元上同时有多条可执行指令时,选择所述多条可执行指令中较早映射的指令执行;当所述多条可执行指令中,存在多条指令映射顺序相同时,随机选择映射顺序相同的多条指令中的一条执行。该方案有效提高了计算效率,提高了计算单元时空利用率。
技术领域
本发明涉及计算机体系结构领域,特别涉及数据流体系结构计算机的指令映射方法领域。
背景技术
随着基础科学的发展,大规模科学应用对计算能力提出了新要求。由于传统体系结构计算机遇到散热,能耗,工艺等瓶颈,数据流体系结构以其高并发,控制简单,低能耗等优势成为新一代高性能计算机的可靠选择。
数据流体系结构计算机一般由二维计算单元阵列组成,计算单元通过高速网络连接,计算通过数据在计算单元中计算,计算单元间传递来完成,每个计算单元上放置着一条或多条指令,当指令所需要的数据全部准备好时,该指令即进入可发射状态,如果一个计算单元上,同时有多条指令处于可发射状态,则选取其中某一条发射。
数据流指令通常用数据流图的形式表示。指令映射是指数据流图中节点与二维阵列中计算单元的对应关系。对于确定的数据流指令图,不同指令映射方式在指令执行时间,运算部件利用率等上有着较大的差距。
多上下文数据流体系结构是指:在一次计算过程里,计算阵列中同时存在多个使用同一数据流图但数据不同的程序上下文,上下文指数据流图的一次执行过程。在多上下文数据流体系结构中,不同上下文的数据通过程序入口,流水的进入计算阵列,按照相同的路径在计算阵列中流动,不同上下文维护自己的控制存储来控制各自的执行。单上下文数据流体系结构与之对应,指在一次计算过程里,计算阵列中只存在一个程序上下文。
对于多上下文数据流体系结构而言,在同一个PE上可能会同时存在多条可执行的指令,且这些指令属于不同或者相同的程序上下文,此时对执行指令的选择策略也对程序的执行过程有着较大的影响。
现有数据流体系结构指令映射算法多基于以下框架:
将指令按照某种规则进行排序
遍历所有指令,对于每条指令,在计算单元中选择一个最佳位置,将该位置作为该指令的映射位置。
而在同时有多条可发射指令时,现有体系结构一般采用随机选择的方式。
不同的执行指令的选择方法,排序方式和最佳位置选择规则会导致不同的映射结果和表现。
对于单上下文数据流体系结构而言,计算单元只服务于当前程序上下文,不存在多上下文之间对计算单元的竞争情况,指令执行情况容易预测,指令映射也主要集中在关键路径的网络代价以及可并行部分的并行优化上。以单上下文数据流体系结构TRIPS为例,其采用SPDI指令映射算法,SPDI算法按照数据流图中节点深度依次映射指令,从所有计算单元中选择一个最佳节点来来映射当前指令。最佳节点的计算方法为:对每个计算单元,计算将当前指令映射在该节点上的可执行时间。最后选择可执行时间最早的节点作为最佳节点。可执行时间依赖于输入指令(数据流图中的父节点)的可执行时间、输入指令的执行延迟和数据的路径延迟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科睿芯智能计算产业研究院有限公司,未经北京中科睿芯智能计算产业研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711278806.7/2.html,转载请声明来源钻瓜专利网。