[發(fā)明專利]用于可亂序執(zhí)行指令的處理器的流水線排空有效
| 申請?zhí)枺?/td> | 201010624755.0 | 申請日: | 2010-12-30 |
| 公開(公告)號(hào): | CN102541511A | 公開(公告)日: | 2012-07-04 |
| 發(fā)明(設(shè)計(jì))人: | 孫紅霞;吳永強(qiáng);王凱峰;朱鵬飛 | 申請(專利權(quán))人: | 世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司 |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38 |
| 代理公司: | 北京市金杜律師事務(wù)所 11256 | 代理人: | 王茂華 |
| 地址: | 100080 北京市海淀區(qū)北四環(huán)西路9號(hào)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 可亂序 執(zhí)行 指令 處理器 流水線 排空 | ||
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施方式總體上涉及計(jì)算機(jī)技術(shù),并且更具體地,涉及用于可亂序執(zhí)行指令的處理器的流水線排空(flush)的方法和系統(tǒng)。
發(fā)明內(nèi)容
提供“發(fā)明內(nèi)容”是為了以簡化形式介紹下文將在“具體實(shí)施方式”中詳述的概念選擇。本“發(fā)明內(nèi)容”并非意在標(biāo)識(shí)要求保護(hù)主題的關(guān)鍵特征或者必要特征,也非意在限制要求保護(hù)主題的范圍。
指令流水線的一個(gè)實(shí)施方式包括第一部分和第二部分。第一部分可操作用于提供有序的第一指令和第二指令;并且第二部分可操作用于響應(yīng)于第二指令而從數(shù)據(jù)存儲(chǔ)位置讀取第一數(shù)據(jù),可操作用于響應(yīng)于第一指令而在讀取第一數(shù)據(jù)之后向該數(shù)據(jù)存儲(chǔ)位置寫入第二數(shù)據(jù),以及可操作用于響應(yīng)于在讀取第一數(shù)據(jù)之后寫入第二數(shù)據(jù)而致使流水線的某些但非全部的排空。
在一個(gè)實(shí)施方式中,這種指令流水線可以通過僅排空部分流水線而非排空整個(gè)流水線來降低由流水線排空引起的處理時(shí)間損失和消耗的能量。例如,??超標(biāo)量處理器可以響應(yīng)于錯(cuò)誤推測(mis-speculative)裝載指令而執(zhí)行這種部分流水線排空,其中錯(cuò)誤推測裝載指令是在相對于某存儲(chǔ)器位置的存儲(chǔ)指令的執(zhí)行之前相對于同一存儲(chǔ)器位置而執(zhí)行的裝載指令,其中在指令順序中,存儲(chǔ)指令在裝載指令之前到來。處理器可以這樣來執(zhí)行這種部分流水線排空:從重排序緩沖區(qū)重新裝載指令發(fā)布隊(duì)列,使得流水線的取指-譯碼部分無需刷新并因此不進(jìn)行刷新。
附圖說明
圖1是具有指令流水線的超標(biāo)量處理器的實(shí)施方式的框圖。
圖2是圖1的指令流水線的一個(gè)實(shí)施方式的框圖,其中詳細(xì)示出了存儲(chǔ)-裝載流水線分支的一個(gè)實(shí)施方式。
圖3是相對于同一存儲(chǔ)器位置的存儲(chǔ)和裝載指令的按序執(zhí)行的流程圖。
圖4是相對于同一存儲(chǔ)器位置的存儲(chǔ)和裝載指令的亂序執(zhí)行的流程圖。
圖5是在其間或之前執(zhí)行相對于存儲(chǔ)器位置的裝載指令的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖6是圖5的操作狀態(tài)之后的、在其間發(fā)布相對于同一存儲(chǔ)器位置的存儲(chǔ)指令的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖7是圖6的操作狀態(tài)之后的、在其間由于錯(cuò)誤推測而標(biāo)記先前執(zhí)行的裝載指令的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖8是圖7的操作狀態(tài)之后的、在其間排空流水線的部分而非全部的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖9是圖8的操作狀態(tài)之后的、在其間利用重排序緩沖區(qū)中存儲(chǔ)的指令重新填入指令發(fā)布隊(duì)列的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖10是圖9的操作狀態(tài)之后的、在其間指令流水線的操作返回正常的操作狀態(tài)期間的、圖2的指令流水線的實(shí)施方式的框圖。
圖11是包括具有圖2的指令流水線的實(shí)施方式的超標(biāo)量處理器的實(shí)施方式的計(jì)算機(jī)系統(tǒng)的實(shí)施方式的框圖。
具體實(shí)施方式
超標(biāo)量處理器可以包括指令流水線,其可操作用于同時(shí)亂序執(zhí)行多個(gè)(例如,4個(gè))程序指令,其中“亂序”是指按照不同于指令在程序中所排次序的順序。通過同時(shí)亂序執(zhí)行多個(gè)指令,超標(biāo)量處理器能夠比只能按序執(zhí)行指令或者每次只能執(zhí)行一條指令的處理器更快地執(zhí)行軟件或固件程序。
圖1是具有指令流水線10的超標(biāo)量處理器8的實(shí)施方式的框圖。如下文所述,與傳統(tǒng)指令流水線相比,通過響應(yīng)于引致排空的事件而僅僅排空流水線的部分,指令流水線10可以降低流水線排空延遲和能耗。
指令流水線10包括取指-譯碼部分12、指令隊(duì)列部分14、指令發(fā)布部分16以及指令執(zhí)行部分18。
取指-譯碼部分12包括指令取回(IF)級(jí)20、指令譯碼(ID)級(jí)22以及寄存器映射(RM)級(jí)24。
IF級(jí)20按照程序順序從程序存儲(chǔ)器(圖1中未示出)取回程序指令,其中程序順序可以是指令存儲(chǔ)在存儲(chǔ)器中的順序(在執(zhí)行分支指令時(shí)會(huì)出現(xiàn)例外),并且IF級(jí)20按照取回指令的順序?qū)⑦@些指令提供給ID級(jí)22。例如,程序計(jì)數(shù)器(圖1中未示出)存儲(chǔ)程序存儲(chǔ)器的地址,并且在每個(gè)時(shí)鐘周期期間遞增(或者遞減)該地址,使得IF級(jí)20從順序的地址取回程序指令。被執(zhí)行的分支可能導(dǎo)致以非順序地址裝載程序計(jì)數(shù)器;但是一旦重新裝載,程序計(jì)數(shù)器再次在每個(gè)時(shí)鐘周期期間遞增(或者遞減)地址,使得IF級(jí)20再次從順序地址(即,按照程序順序)取回指令,直到下一被執(zhí)行的分支。
ID級(jí)22按照接收自IF級(jí)20的順序來譯碼取回的指令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司,未經(jīng)世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010624755.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 以注射方式執(zhí)行死刑的自動(dòng)執(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í)行器)





