[發(fā)明專利]亂序處理器中亂序執(zhí)行隊列多指令的分配執(zhí)行方法和裝置有效
| 申請?zhí)枺?/td> | 202111369022.1 | 申請日: | 2021-11-18 |
| 公開(公告)號: | CN113805944B | 公開(公告)日: | 2022-02-25 |
| 發(fā)明(設(shè)計)人: | 李祖松;郇丹丹 | 申請(專利權(quán))人: | 北京微核芯科技有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100190 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 處理器 中亂序 執(zhí)行 隊列 指令 分配 方法 裝置 | ||
本發(fā)明公開了一種亂序處理器中亂序執(zhí)行隊列多指令的分配執(zhí)行方法和裝置,包括:構(gòu)建順序維護(hù)隊列為進(jìn)入亂序執(zhí)行隊列的指令和數(shù)據(jù)分配空項,亂序執(zhí)行隊列包括func域,順序維護(hù)隊列包括標(biāo)識id域和尾指針tail;將亂序執(zhí)行隊列編號,通過順序維護(hù)隊列id域記錄亂序執(zhí)行隊列id號;將指令進(jìn)入順序維護(hù)隊列tail對應(yīng)id號所指的亂序執(zhí)行隊列項;按照順序維護(hù)隊列的id號信息,從亂序執(zhí)行隊列選取準(zhǔn)備好的項;根據(jù)func域和FU的指令名稱和項數(shù),按照分配規(guī)則將指令分配到FU。本發(fā)明既滿足oldest?first策略,又滿足多指令同時執(zhí)行時所有FU能充分利用,以提高分配執(zhí)行效率,從而提高處理器性能,降低功耗降低成本。
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器技術(shù)領(lǐng)域,特別涉及一種亂序處理器中亂序執(zhí)行隊列多指令的分配執(zhí)行方法和裝置。
背景技術(shù)
亂序處理器中的亂序隊列用來緩存一定數(shù)量的指令(指令可以是程序的指令,也可以是處理器內(nèi)部譯碼成的內(nèi)部操作,一條指令可能翻譯成一個操作也可能翻譯成多個操作)和數(shù)據(jù),負(fù)責(zé)為進(jìn)入隊列的指令和數(shù)據(jù)分配空項,將符合一定條件的指令和數(shù)據(jù)從隊列中選擇出來執(zhí)行。亂序處理器的指令到了亂序隊列中,就不會按照程序中指定的順序在處理器中流動,只要滿足執(zhí)行的條件,后面的指令可以越過前面的指令先執(zhí)行,以提高指令的執(zhí)行速度。
對于進(jìn)入隊列的指令,當(dāng)有多個空項時,需要分配可以進(jìn)入的空項。對于選擇隊列中的指令執(zhí)行,當(dāng)隊列中有多項準(zhǔn)備好,一般選擇最先進(jìn)入隊列的指令執(zhí)行,即oldest-first策略。這是因為考慮到越是舊的指令,和它存在相關(guān)性的指令也就越多,因此優(yōu)先執(zhí)行最舊的指令,能夠有效地提高處理器執(zhí)行指令的并行度,而且最舊的指令還占據(jù)著處理器中的硬件資源,包括其他的亂序隊列、重排序緩存、Store Buffer等部件,越早地執(zhí)行這些舊的指令,就可以越早地釋放這些硬件資源,供后面的指令使用。要識別出亂序隊列中哪些指令是最舊的,就需要知道指令進(jìn)入流水線的先后順序。現(xiàn)有技術(shù)采用計數(shù)器、重排序緩存或者用指針維護(hù)亂序隊列的順序的方法識別最舊指令,這些方法會造成亂序處理器延遲大、功耗高、占用面積大等缺點。
現(xiàn)有技術(shù)的處理器一般是幾個FU(功能部件)共用一個發(fā)射隊列(執(zhí)行隊列),如果這個發(fā)射隊列每次發(fā)射一條指令到FU,就需要一個1-of-M的仲裁電路(M為發(fā)射隊列的容量),如果同時發(fā)送多條指令到N個FU,則需要一個N-of-M的仲裁電路,以每周期從發(fā)射隊列選擇兩條指令為例,則需要兩級仲裁電路,第一級仲裁電路選擇一條指令后,會將這條指令進(jìn)行標(biāo)記,這樣在第二級仲裁電路中就可以排除掉上一級的影響,但是這樣實現(xiàn)的2-of-M的仲裁電路,它產(chǎn)生的延遲是1-of-M的仲裁電路的兩倍,當(dāng)使用這種方式擴(kuò)展到N-of-M的仲裁電路,它產(chǎn)生的延遲會很大。還有一種方式,為每個FU設(shè)置一個專屬的1-of-M仲裁電路,當(dāng)指令被寫到發(fā)射隊列中的某項時,根據(jù)這條指令的類型,這條指令會被輪流或者隨機(jī)分配給一個對應(yīng)的FU,不能進(jìn)行選擇,當(dāng)有多條指令同時發(fā)射時,由于每個FU只能執(zhí)行一條指令,就會造成有些指令不能執(zhí)行,有些FU空閑的狀態(tài),使處理器并不能發(fā)揮最優(yōu)的性能。
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)問題,本發(fā)明提出了一種亂序執(zhí)行隊列多指令執(zhí)行的分配方法和裝置,既能滿足oldest-first策略,又滿足多指令同時分配執(zhí)行時,可以合理分配多條指令到不同的功能部件FU中執(zhí)行,使所有功能部件FU可以充分利用,以提高調(diào)度及分配執(zhí)行的效率,從而提高處理器性能,提高主頻,降低功耗,降低成本。
為達(dá)到上述目的,本發(fā)明提供一種亂序處理器中亂序執(zhí)行隊列多指令執(zhí)行的分配方法,包括以下步驟:
構(gòu)建與亂序執(zhí)行隊列相對應(yīng)的順序維護(hù)隊列,為進(jìn)入亂序執(zhí)行隊列的指令和數(shù)據(jù)分配空項,其中,亂序執(zhí)行隊列包括可執(zhí)行功能部件func域,順序維護(hù)隊列包括標(biāo)識id域和尾指針tail。
將多項的亂序執(zhí)行隊列各項依次編號,并通過順序維護(hù)隊列的id域記錄亂序執(zhí)行隊列的id號。
將多指令分別進(jìn)入順序維護(hù)隊列的尾指針tail所指的項及其向下的項對應(yīng)的id號所指的亂序執(zhí)行隊列項。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京微核芯科技有限公司,未經(jīng)北京微核芯科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111369022.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 用于亂序編碼指令的指令譯碼裝置及方法
- 一種軟硬件結(jié)合實現(xiàn)TCP亂序緩沖區(qū)管理的方法
- 一種基于現(xiàn)場可編程門陣列的光纖I/O亂序幀處理方法
- 一種魯棒性頭壓縮中更新亂序深度的方法及系統(tǒng)
- 一種文件版權(quán)保護(hù)方法和設(shè)備
- 一種IP數(shù)據(jù)包亂序模擬仿真電路及方法
- 一種反爬蟲方法、服務(wù)器和客戶端
- 一種基于測試向量亂序和丟棄行為的驗證方法
- 數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及電子設(shè)備
- 數(shù)據(jù)傳輸方法、產(chǎn)線端工具、芯片、服務(wù)器及存儲介質(zhì)
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





