[發明專利]一種執行指令選擇的裝置、方法及指令映射方法有效
| 申請號: | 201711278806.7 | 申請日: | 2017-12-06 |
| 公開(公告)號: | CN108052347B | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 高龑;譚旭;李文明;馬麗娜;馮煜晶;張浩 | 申請(專利權)人: | 北京中科睿芯智能計算產業研究院有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京科龍寰宇知識產權代理有限責任公司 11139 | 代理人: | 孫皓晨 |
| 地址: | 101300 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 執行 指令 選擇 裝置 方法 映射 | ||
1.一種執行指令選擇的方法,其特征在于,所述方法包括以下步驟:
在一個計算單元上同時有多條可執行指令時:
S1、選擇所述多條可執行指令中較早映射的指令執行;
S2、當所述多條可執行指令中,存在多條指令映射順序相同時,隨機選擇映射順序相同的多條指令中的一條執行;
所述S1還包括:當前的所述計算單元對其上的所有備選指令由淺到深進行選擇,并選擇其中深度最淺的可發射指令后,送入執行部件;
所述映射的方法為:
S101、初始化所述計算單元的最后執行時刻數組;
S102、初始化宏指令描述數組;
S103、將數據流指令讀入到宏指令描述數組;
S104、計算所述S103中的宏指令描述數組所有節點的深度信息;
S105、將具有深度信息的所述宏指令描述數組按照深度信息進行排序;
S106、遍歷所述S105中排序后的宏指令描述數組,對于每一條指令i,遍歷所有計算單元,并計算指令在各計算單元上的可執行時間;
S107、取可執行時間最早的計算單元映射所述指令i。
2.根據權利要求1所述的方法,其特征在于,所述映射通過指令映射系統執行,所述指令映射系統部署于數據流編譯器與指令分發器之間。
3.根據權利要求1所述的方法,其特征在于,所述S107之后,還包括:
S108、更新S107中的所述計算單元的最后執行時間;
S109、完成所有指令的映射后,遍歷所述宏指令描述數組,輸出指令。
4.根據權利要求1所述的方法,其特征在于,所屬宏指令描述數組,其大小為指令數目,其中包括:各指令可執行時間、指令執行周期、指令深度、指令前驅節點、指令后繼節點、映射位置。
5.根據權利要求1所述的方法,其特征在于,所述S102中還包括:初始化上下文個數。
6.根據權利要求1所述的方法,其特征在于,所述S106進一步包括:
S1061、求當前指令i的所有前驅宏指令中,所有宏指令的第一條指令的最后完成時間與該宏指令所在計算單元到當前計算單元的網絡代價的和;
S1062、取所述網絡代價的和中的最大值作為當前指令i在該計算單元上的理論可執行時間;
其中宏指令的第一條指令的最后完成時間為該宏指令的可執行時間與其執行周期的和;
S1063、將理論可執行時間與當前計算單元的最后執行時間比較,取其中較大值作為當前指令在當前計算單元的可執行時間。
7.根據權利要求6所述的方法,其特征在于,網絡代價的計算方法如下:對于兩節點a、b,其網絡代價如下:
netcost=abs(a.position.x-b.position.x)+abs(a.position.y-b.position.y)
其中,abs為取絕對值,(a.position.x,a.position.y)、(b.position.x,b.position.y)分別為點a、b的映射位置。
8.一種執行指令選擇的裝置,其特征在于,所述裝置包括指令控制緩存部件、選擇器、判斷部件,所述判斷部件為多個時,則判斷部件間采用級聯方式;
所述指令控制緩存部件存儲若干條指令的可執行狀態,所述指令控制緩存部件存儲的相同指令的可執行信息連接到相同的選擇器上,選擇器從中選擇出可執行的一條指令;
所述選擇器按照指令排序,依次與一個判斷部件相連,所述判斷部件從當前接入的選擇器中選擇一條靠前端口且可執行的指令,并將其送入輸出部件;
所述裝置部署在每個計算單元上;所述判斷部件由一個移位器和一個選擇器電路組成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京中科睿芯智能計算產業研究院有限公司,未經北京中科睿芯智能計算產業研究院有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711278806.7/1.html,轉載請聲明來源鉆瓜專利網。





