发明名称 一种基于开销计算的可重构体系结构的映射决策方法
摘要 本发明公开了一种基于开销计算的可重构体系结构的映射决策方法,首先根据表示应用算法核心循环的数据依赖图DDG以及可重构体系结构,建立4个开销模型,分别为延时开销、互连开销、PE占用率开销和相近度开销;然后对某一操作节点存在的多个可行映射方案,计算各可行映射方案在4个开销模型中对应的开销值;接着按照4个开销模型对映射结果的影响程度由主到次依次遍历各可行的映射方案,逐渐缩小可行映射方案集,最终得出最佳映射方案。这种决策方法保证了对映射影响越大的因素在映射决策中越占主导地位。使用本发明的开销模型和映射决策方法,能够得到执行效率较高的配置信息,从而充分发挥可重构系统的并行性。
申请公布号 CN103605573B 申请公布日期 2017.02.08
申请号 CN201310576351.2 申请日期 2013.11.18
申请人 深圳市紫光同创电子有限公司 发明人 齐志;马璐;曹鹏;王学香
分类号 G06F9/50(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 深圳鼎合诚知识产权代理有限公司 44281 代理人 江婷
主权项 一种基于开销计算的可重构体系结构的映射决策方法,其特征在于:首先建立表示应用程序核心循环的数据依赖图DDG,得到当前待映射操作节点u、当前待映射操作节点u的直接前驱结点Pred(u)、当前待映射操作节点u的直接后续节点Succ(u),以及在可重构体系结构中软件流水的启动间隔II,然后顺序执行以下步骤:(1)、建立以下4个开销模型,分别为:延时开销:表示操作数传输到候选可重构处理单元PE的输入端口的延时;互连开销:表示用于传递数据到候选可重构处理单元PE的互连资源数目;PE占用率开销:用以衡量可重构阵列中各个可重构处理单元PE的使用程度;相近度开销:衡量当前待映射的操作节点与已经映射到可重构处理单元PE上、且没有直接的数据依赖却有相同的直接后继操作节点的操作节点之间的相近程度;(2)、对某一操作节点存在的多个可行映射方案,计算各可行映射方案在4个开销模型中对应的开销值;所述延时开销的计算公式为:<maths num="0001"><math><![CDATA[<mrow><mi>D</mi><mi>e</mi><mi>l</mi><mi>a</mi><mi>y</mi><mi>cos</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>MAX</mi><mrow><msub><mi>v</mi><msup><mi>s</mi><mo>&prime;</mo></msup></msub><mo>&Element;</mo><msub><mi>V</mi><msup><mi>s</mi><mo>&prime;</mo></msup></msub></mrow></msub><mfenced open = "{" close = "}"><mtable><mtr><mtd><mrow><msub><mi>C</mi><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>PE</mi><msub><mi>v</mi><msup><mi>s</mi><mo>&prime;</mo></msup></msub></msub><mo>,</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>+</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mi>PE</mi><msub><mi>v</mi><msup><mi>s</mi><mo>&prime;</mo></msup></msub></msub><mo>,</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>+</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>C</mi><mi>d</mi></msub><mrow><mo>(</mo><msub><mi>PE</mi><msub><mi>v</mi><msup><mi>s</mi><mo>&prime;</mo></msup></msub></msub><mo>,</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001003199560000011.GIF" wi="1662" he="439" /></maths>其中,可重构处理单元PE<sub>u</sub>表示当前待映射操作节点u的可映射候选处理单元;V<sub>S'</sub>表示当前待映射的操作节点u的直接前驱操作节点中已经映射到可重构阵列上的所有操作节点的集合;<img file="FDA0001003199560000012.GIF" wi="422" he="91" />表示映射当前待映射操作节点u所需的操作数从其已被映射的直接前驱节点v<sub>s'</sub>所对应的可重构处理单元<img file="FDA0001003199560000013.GIF" wi="123" he="89" />到当前候选可重构处理单元PE<sub>u</sub>的数据传输路径中,由互连线引入的延时;<img file="FDA0001003199560000014.GIF" wi="412" he="90" />和<img file="FDA0001003199560000015.GIF" wi="395" he="88" />分别表示映射当前待映射操作节点u所需的操作数从可重构处理单元<img file="FDA0001003199560000016.GIF" wi="123" he="83" />到当前候选可重构处理单元PE<sub>u</sub>的数据传输路径中由路由PE和分布式寄存器DRF引入的延时;所述互连开销的计算公式为:<img file="FDA0001003199560000021.GIF" wi="2150" he="435" />其中,V<sub>s</sub>表示已经映射到可重构阵列上的所有操作节点的集合;V<sub>s”</sub>表示当前待映射操作节点u的直接前驱操作节点和直接后继操作节点中,已经映射到可重构阵列上的操作节点的集合;Pred(u)表示当前待映射操作节点u的所有直接前驱操作节点的集合;Succ(u)表示当前待映射操作节点u的所有直接后继操作节点的集合;<img file="FDA0001003199560000022.GIF" wi="680" he="94" />表示可重构处理单元PE<sub>u</sub>和<img file="FDA0001003199560000023.GIF" wi="121" he="84" />间需要插入的最少路由PE数;所述PE占用率开销的计算公式为:<maths num="0002"><math><![CDATA[<mrow><mi>U</mi><mi>cos</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>P</mi><mi>E</mi><mi>O</mi><mi>c</mi><mi>c</mi><mi>u</mi><mi>p</mi><mi>a</mi><mi>t</mi><mi>i</mi><mi>o</mi><mi>n</mi><mi>C</mi><mi>y</mi><mi>c</mi><mi>l</mi><mi>e</mi><mi>s</mi><mrow><mo>(</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>I</mi><mi>I</mi></mrow></mfrac></mrow>]]></math><img file="FDA0001003199560000024.GIF" wi="1086" he="156" /></maths>其中,PEOccupationCycles(PE<sub>u</sub>)表示当前可重构处理单元PE执行映射到其上的操作集合的总时间;II为可重构体系结构软件流水的启动间隔;所述相近度开销的计算公式为:<maths num="0003"><math><![CDATA[<mrow><mi>Re</mi><mi>l</mi><mi>cos</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>v</mi><mo>&Element;</mo><msub><mi>V</mi><mi>min</mi></msub></mrow></munder><mo>|</mo><mi>V</mi><mi>e</mi><mi>x</mi><mi>d</mi><mi>i</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><mi>P</mi><mi>E</mi><mi>d</mi><mi>i</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>PE</mi><mi>u</mi></msub><mo>-</mo><msub><mi>PE</mi><mi>v</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow>]]></math><img file="FDA0001003199560000025.GIF" wi="1532" he="150" /></maths>其中,V<sub>min</sub>表示已经映射的操作节点v中与当前待映射操作节点u距离最短的所有操作节点的集合;Vexdist(u,v)表示V<sub>min</sub>中已经映射的操作节点v与当前待映射操作节点u的距离;PEdist(PE<sub>u</sub>‑PE<sub>v</sub>)表示V<sub>min</sub>中已经映射的操作节点v所映射的可重构处理单元PE<sub>v</sub>与当前待映射操作节点u的候选可重构处理单元PE<sub>u</sub>之间的距离;(3)、对当前待映射操作节点u的多个可行映射方案,按照延时开销、互连开销、PE占用率开销和相近度开销的顺序依次遍历各可行的映射方案,逐渐缩小可行映射方案集,最终得出最佳映射方案。
地址 518000 广东省深圳市南山区高新技术产业园南区科技南八道豪威科技大厦16层