System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開大體上涉及指令集架構,并且在特定實施例中,涉及條件分支。
技術介紹
1、在計算中,軟件流水線是一種可以用于通過并行且循環地跨多個處理資源調度應用程序代碼的執行來利用多個處理資源的技術。第一循環內的代碼可以通過展開來重新布置,這可以通過以下技術來減少循環迭代的次數:例如用包含第一循環的指令的多個副本的較大第二循環替換第一循環,以使得第二循環的每次迭代執行第一循環的多次迭代。以此方式,與第一循環相關聯的應用程序代碼可以在第二循環的單次迭代的過程中執行多次。然而,可以分組為較大循環的較小循環的數目可能受限。換句話說,在較大循環內執行應用程序代碼之后,處理系統可能仍需要執行來自原始較小循環的應用程序代碼的剩下的迭代,因為循環計數可能不是應用程序代碼在較大循環中執行的次數的整數倍。例如,如果原先指定的循環要執行43次,并且新的較大循環的循環主體執行原始循環的40次迭代,則原始循環中有3次迭代必須在較大循環的循環主體范圍外執行。
2、現有解決方案可以使用預測和條件分支技術來執行應用程序代碼的剩下的迭代。例如,在一種解決方案中,編譯程序可以產生若干個單獨的指令,所述單獨的指令可以用于檢查執行較大循環之后的每種可能結果(例如,剩余零次迭代、剩余一次迭代等)。可以在單獨的周期中執行每個指令。因此,盡管使用軟件流水線來提高處理系統的效率,但這仍可能增加執行循環時所需的處理周期的數目。替代地,可以不使用流水線,并且編譯程序可以對應用程序代碼進行排序,以便由各個處理資源依序執行。雖然這可以避免使用當前分支技術所添的開銷,但卻無法提供使
技術實現思路
1、本文中公開的是對指令集架構的改進,且更具體地說對用于軟件流水線的條件分支指令的改進。軟件流水線可以指并行地并且以使得循環主體(包含用于執行處理資源的各種操作的指令集)可以在循環主體的單次迭代中執行多次的方式在不同處理資源之間執行各種操作。執行循環主體之后剩余的任何操作可以被稱為剩余操作,并且可以在循環范圍外執行。在示例實施例中,可以提供條件分支指令,其可以指示處理系統或其組件標識保存與剩余操作相關的指令的多個位置中的一個。在這種示例實施例中,一種系統包含指令獲取電路系統、耦合到指令獲取電路系統的解碼器電路系統以及耦合到解碼器電路系統的條件分支電路系統。指令獲取電路系統經配置以從存儲器獲取條件分支指令,并且將條件分支指令提供到解碼器電路系統。條件分支指令指定迭代計數和多個分支目的地。分支目的地包含與條件分支電路系統評估迭代計數所針對的條件對應的兩個或更多個分支目的地。解碼器電路系統經配置以使條件分支電路系統基于迭代計數與條件中的每一個的比較而選擇兩個或更多個分支目的地中的分支目的地,并且使指令獲取電路系統從存儲在選定分支目的地處的存儲器位置獲取指令的指示。
2、提供本
技術實現思路
用于以簡化形式介紹下文在具體實施方式中進一步描述的一系列概念。可以理解的是,這一
技術實現思路
并非旨在標識所要求保護的主題的關鍵特征或基本特征,也并非旨在用于限制所要求保護的主題的范圍。
【技術保護點】
1.一種系統,其包括:
2.根據權利要求1所述的系統,其中所述解碼器電路系統進一步經配置以使所述條件分支電路系統執行所述迭代計數與所述條件中的每一個的所述比較,其中所述條件中的每個條件與所述兩個或更多個分支目的地中的分支目的地對應。
3.根據權利要求1所述的系統,其中所述迭代計數基于執行循環指令達一定次數之后得到的剩余操作的數目。
4.根據權利要求3所述的系統,其中所述指令獲取電路系統進一步經配置以從所述存儲器提取所述循環指令并且將所述循環指令提供到所述解碼器電路系統。
5.根據權利要求4所述的系統,其中所述解碼器電路系統進一步經配置以使條件分支電路系統執行所述循環指令達所述一定次數,并且每當所述條件分支電路系統執行所述循環指令時使所述條件分支電路系統遞減所述迭代計數。
6.根據權利要求1所述的系統,其中所述條件分支指令進一步標識字段。
7.根據權利要求1所述的系統,其中存儲在所述選定分支目的地處的所述存儲器位置處的所述指令與剩余操作的數目對應。
8.根據權利要求1所述的系統,其進一步包括所述存儲
9.一或多種計算機可讀存儲媒體,其包括:
10.根據權利要求9所述的一或多種計算機可讀存儲媒體,其中所述程序指令進一步指示所述處理器執行所述迭代計數與所述條件中的每一個的所述比較,其中所述條件中的每個條件與所述兩個或更多個分支目的地中的分支目的地對應。
11.根據權利要求9所述的一或多種計算機可讀存儲媒體,其中所述迭代計數基于執行循環指令達一定次數之后得到的剩余操作的數目。
12.根據權利要求11所述的一或多種計算機可讀存儲媒體,其中所述程序指令進一步包括循環指令。
13.根據權利要求12所述的一或多種計算機可讀存儲媒體,其中所述程序指令進一步指示所述處理器執行所述循環指令達所述一定次數,并且每當執行所述循環指令時遞減所述迭代計數。
14.根據權利要求9所述的一或多種計算機可讀存儲媒體,其中所述條件分支指令進一步標識字段。
15.根據權利要求9所述的一或多種計算機可讀存儲媒體,其中存儲在所述選定分支目的地處的所述存儲器位置處的所述指令與剩余操作的數目對應。
16.一種方法,其包括:
17.根據權利要求16所述的方法,其中所述迭代計數基于執行循環指令達一定次數之后得到的剩余操作的數目。
18.根據權利要求17所述的方法,其進一步包括經由所述指令獲取電路系統從所述存儲器接收所述循環指令。
19.根據權利要求18所述的方法,其進一步包括:
20.根據權利要求16所述的方法,其中存儲在所述選定分支目的地處的所述存儲器位置處的所述指令與剩余操作的數目對應。
...【技術特征摘要】
1.一種系統,其包括:
2.根據權利要求1所述的系統,其中所述解碼器電路系統進一步經配置以使所述條件分支電路系統執行所述迭代計數與所述條件中的每一個的所述比較,其中所述條件中的每個條件與所述兩個或更多個分支目的地中的分支目的地對應。
3.根據權利要求1所述的系統,其中所述迭代計數基于執行循環指令達一定次數之后得到的剩余操作的數目。
4.根據權利要求3所述的系統,其中所述指令獲取電路系統進一步經配置以從所述存儲器提取所述循環指令并且將所述循環指令提供到所述解碼器電路系統。
5.根據權利要求4所述的系統,其中所述解碼器電路系統進一步經配置以使條件分支電路系統執行所述循環指令達所述一定次數,并且每當所述條件分支電路系統執行所述循環指令時使所述條件分支電路系統遞減所述迭代計數。
6.根據權利要求1所述的系統,其中所述條件分支指令進一步標識字段。
7.根據權利要求1所述的系統,其中存儲在所述選定分支目的地處的所述存儲器位置處的所述指令與剩余操作的數目對應。
8.根據權利要求1所述的系統,其進一步包括所述存儲器。
9.一或多種計算機可讀存儲媒體,其包括:
10.根據權利要求9所述的一或多種計算機可讀存儲媒體,其中所述程序指令進一步指示所述處理器執行所述迭代計數與所述條件中的每一個的所述比較,其...
【專利技術屬性】
技術研發人員:A·泰薩格洛,V·納塔拉詹,A·戴維斯,
申請(專利權)人:德州儀器公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。