[發明專利]用于操作發出隊列的裝置和方法在審
| 申請號: | 202010812801.3 | 申請日: | 2020-08-13 |
| 公開(公告)號: | CN112416244A | 公開(公告)日: | 2021-02-26 |
| 發明(設計)人: | 邁克爾·大衛·阿肯巴赫;羅伯特·格雷格·麥克唐納;尼古拉斯·安得烈·普菲斯特;開爾文·多姆尼克·戈韋斯;邁克爾·菲利波;多特·阿比什克拉加;扎卡里·艾倫·金斯伯里 | 申請(專利權)人: | ARM有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京東方億思知識產權代理有限責任公司 11258 | 代理人: | 楊佳婧 |
| 地址: | 英國*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 操作 發出 隊列 裝置 方法 | ||
提供了用于操作發出隊列的裝置和方法。發出隊列具有第一區段和第二區段,這些區段的每一者包括若干個條目,并且其中每個條目被用于存儲識別要被處理單元執行的操作的操作信息。分配電路為接收到的操作信息的每個項目確定要將該操作信息分配到第一區段中的條目還是第二區段中的條目。操作信息不僅識別關聯的操作,而且還識別關聯的操作要求的每個源操作對象和每個源操作對象的可用性。選擇電路在給定選擇迭代期間從發出隊列選擇要被發出到處理單元的操作,并且從要求的源操作對象可用的操作之中選擇該操作。可用性更新電路被用于為每個如下條目更新源操作對象可用性:該條目的操作信息將給定選擇迭代中的選中操作的目標操作對象識別為源操作對象。
技術領域
本技術涉及用于操作發出隊列的裝置和方法。
背景技術
從存儲器取得以供處理單元執行的指令被解碼以便識別處理單元為了執行這些指令而要執行的操作。有時操作被分解成一個或多個微操作(也稱為微op)。這里,操作和微操作在下文中將被統稱為操作。
發出隊列通常用于在通過對指令解碼而識別的操作被發出到處理單元內的相關執行單元之前臨時緩沖這些操作。執行單元將不能夠執行操作,直到該操作所要求的源操作對象可用為止,并且因此操作可被臨時緩沖在發出隊列內,直到源操作對象可用為止。
為了改善性能,許多現代處理器支持指令的亂序(out-of-order,OOO)執行,其中指令相對于原始程序順序被亂序執行,以便爭取增大處理單元的吞吐量,而指令的引退隨后按序發生。在這種系統中,發出隊列是可用于支持OOO執行的數據結構之一。
然而,現代OOO處理器的性能受到可從其中提取指令級并行性(instruction-level parallelism,ILP)和存儲器級并行性(memory-level parallelism,MLP)的指令窗口的深度的約束。經常的情況是指令窗口大小受到發出隊列的大小的約束,因為發出隊列中的條目的數目越大,在確定是否可執行操作的重排序以便爭取改善吞吐量時可考慮的操作的池就越大。
然而,發出隊列體系結構通常是處理器設計中的一個關鍵速度路徑,并且因此,增大發出隊列的大小可導致處理器可被操作的頻率的減小,這本身將影響性能,并且這通常限制發出隊列容量可被增大的程度。因此,將希望提供一種改善的機制來操作發出隊列,其目標在于進一步改善處理器的性能。
發明內容
在一個示例布置中,提供了一種裝置,包括:包括第一區段和第二區段的發出隊列,第一區段和第二區段的每一者包括若干個條目,并且每個條目被用于存儲識別要被處理單元執行的操作的操作信息;分配電路,為多個操作接收操作信息,并且應用分配標準來為每個操作確定要將該操作的操作信息分配到第一區段中的條目還是第二區段中的條目,操作信息被布置為識別關聯的操作所要求的每個源操作對象和每個源操作對象的可用性;選擇電路,在給定選擇迭代期間從發出隊列選擇要被發出到處理單元的操作,選擇電路被布置為從要求的源操作對象可用的那些操作之中選擇該操作;可用性更新電路,為每個如下條目更新源操作對象可用性:該條目的操作信息將給定選擇迭代中的選中操作的目標操作對象識別為源操作對象;以及推遲機制,在給定選擇迭代之后的至少下一個選擇迭代期間禁止選擇電路選擇與第二區段中的條目相關聯的任何如下操作:該操作的要求源操作對象現在由于該操作以給定選擇迭代中的選中操作的目標操作對象作為源操作對象而是可用的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于ARM有限公司,未經ARM有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010812801.3/2.html,轉載請聲明來源鉆瓜專利網。





