欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

流水線(xiàn)處理器的異常管理的制作方法

文檔序號(hào):6475852閱讀:321來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):流水線(xiàn)處理器的異常管理的制作方法
背景技術(shù)
本發(fā)明涉及在處理器中的異常管理。
可編程微處理器(例如,數(shù)字信號(hào)處理器)一般都包括異常處理硬件,該硬件主要用于處理在處理指令過(guò)程中所遇到的錯(cuò)誤。例如,處理器可以會(huì)遇到非法的指令(不支持的操作代碼),未對(duì)準(zhǔn)的指令,訪問(wèn)存儲(chǔ)器保護(hù)區(qū)域的指令,非法的存儲(chǔ)器地址,總線(xiàn)錯(cuò)誤,等等。
在檢測(cè)到上述錯(cuò)誤的事件中,異常管理器硬件一般都包括對(duì)應(yīng)的軟件程序,該軟件程序常常稱(chēng)之為錯(cuò)誤管理器,用于響應(yīng)錯(cuò)誤的條件。


圖1是根據(jù)本發(fā)明實(shí)施例所構(gòu)成的可編程處理器實(shí)例的方框圖。
圖2是說(shuō)明可編程處理器的執(zhí)行流水線(xiàn)實(shí)例的方框圖。
圖3是根據(jù)本發(fā)明實(shí)施例的異常流水線(xiàn)的電路圖。
圖4是根據(jù)本發(fā)明實(shí)施例的異常流水線(xiàn)的另一電路圖。
描述圖1是說(shuō)明采用根據(jù)本發(fā)明實(shí)施例處理異常的可編程處理器實(shí)例的方框圖。處理器2可以包括執(zhí)行流水線(xiàn)4,異常流水線(xiàn)5和控制單元6。
異常流水線(xiàn)4可以具有多個(gè)適用于同時(shí)處理多條指令的流水線(xiàn)級(jí)。指令可以執(zhí)行流水線(xiàn)4第一級(jí)裝入并通過(guò)后續(xù)各級(jí)處理。在系統(tǒng)的一個(gè)周期中,數(shù)據(jù)可以在流水線(xiàn)4的各級(jí)之間通過(guò)。指令的結(jié)構(gòu)以較快的方式出現(xiàn)在流水線(xiàn)的結(jié)束位置處。
控制單元6可以根據(jù)系統(tǒng)時(shí)鐘控制指令和/或數(shù)據(jù)在執(zhí)行流水線(xiàn)4中的流動(dòng)。例如,在指令的處理過(guò)程中,控制單元6可以直接使流水線(xiàn)4的各個(gè)部分解碼指令并同時(shí)執(zhí)行所對(duì)應(yīng)的操作,該操作可以包括,例如,將結(jié)果寫(xiě)回到存儲(chǔ)器。
在錯(cuò)誤的條件事件中,執(zhí)行流水線(xiàn)4的各個(gè)級(jí)都可以產(chǎn)生一個(gè)或多個(gè)異常信號(hào)7,該信號(hào)可以采用表示特殊錯(cuò)誤條件的異常代碼的形式。異常流水線(xiàn)5可以具有多個(gè)流水線(xiàn)的級(jí),用于接受異常流水線(xiàn)4的異常并且傳輸與所響應(yīng)產(chǎn)生錯(cuò)誤條件的指令同步的異常。正如以下所詳細(xì)討論的,異常流水線(xiàn)5是與執(zhí)行流水線(xiàn)“互鎖”的,以確保通過(guò)異常流水線(xiàn)5流動(dòng)的異常保持著與在執(zhí)行流水線(xiàn)4中流動(dòng)的指令的同步。例如,如果在執(zhí)行流水線(xiàn)4中出現(xiàn)停止條件,異常流水線(xiàn)5就可以停止相同數(shù)量的周期。
圖2是說(shuō)明在根據(jù)本發(fā)明實(shí)施例的可編程處理器執(zhí)行流水線(xiàn)的方框圖??刂茊卧?可以插入控制信號(hào)18,來(lái)控制通過(guò)執(zhí)行流水線(xiàn)4的指令和數(shù)據(jù)的流動(dòng)。
流水線(xiàn)4,例如,可以具有五級(jí)指令輸入(IF),指令解碼(DEC),地址計(jì)算(AC),執(zhí)行(EX)和寫(xiě)回(WB)。指令可以在第一級(jí)(IF)由輸入單元11從存儲(chǔ)器件輸入,例如,從主存儲(chǔ)器8或從指令高速緩存器中輸入,以及在第二級(jí)(DEC)由指令解碼單元12解碼。在下一個(gè)時(shí)鐘周期,該結(jié)果傳遞到第三級(jí)(AC),在該級(jí)中,數(shù)據(jù)地址發(fā)生器13可以計(jì)算執(zhí)行操作的任何存儲(chǔ)器地址。
在執(zhí)行級(jí)(EX)中,執(zhí)行單元15可以進(jìn)行一個(gè)或多個(gè)由指令所指定的操作,例如,兩個(gè)數(shù)字的相加或相乘、執(zhí)行單元15可以包含進(jìn)行操作的一些指定硬件,例如,一個(gè)或多個(gè)算術(shù)邏輯單元(ALU),浮點(diǎn)單元(FPU)和桶形移位寄存器??梢詫⒍鄠€(gè)數(shù)據(jù)施加到執(zhí)行單元15,從而得到由數(shù)據(jù)地址發(fā)生器13產(chǎn)生的地址,從存儲(chǔ)器恢復(fù)的數(shù)據(jù)或從數(shù)據(jù)寄存器14恢復(fù)的數(shù)據(jù)。在最后以及(WB)中,寫(xiě)回單元16可以將所有的結(jié)果寫(xiě)回到數(shù)據(jù)存儲(chǔ)器或數(shù)據(jù)寄存器14。
流水線(xiàn)4的級(jí)可以包括存儲(chǔ)電路,例如,流水線(xiàn)寄存器19,用于存儲(chǔ)當(dāng)前級(jí)的任何結(jié)果。級(jí)寄存器19一般是根據(jù)系統(tǒng)時(shí)鐘來(lái)鎖存結(jié)果。級(jí)寄存器19接受控制信號(hào)18,該信號(hào)包括一個(gè)或多個(gè)停止信號(hào),該信號(hào)可以控制級(jí)寄存器19是否停止鎖存前一級(jí)的結(jié)果。采用這種方式,控制單元6可以同步停止流水線(xiàn)4的一級(jí)或多級(jí)。正如以下將詳細(xì)討論的,異常流水線(xiàn)5(圖1)也接受控制信號(hào)18并且與執(zhí)行流水線(xiàn)4同步停止。
執(zhí)行流水線(xiàn)4的各個(gè)級(jí)可以產(chǎn)生一個(gè)或多個(gè)異常信號(hào)(EXPS),用于指示在所對(duì)應(yīng)級(jí)中已經(jīng)檢測(cè)到的錯(cuò)誤條件。例如,當(dāng)遇到未對(duì)準(zhǔn)的指令時(shí),輸入單元11可以插入一個(gè)異常信號(hào)17。當(dāng)解碼不支持(非法)的指令操作代碼時(shí),解碼單元12可以插入一個(gè)異常信號(hào)17。當(dāng)計(jì)算出非法存儲(chǔ)器地址時(shí),數(shù)據(jù)地址發(fā)生器13可以插入一個(gè)異常信號(hào)17。當(dāng)操作結(jié)果為錯(cuò)誤條件(例如,溢出條件)時(shí),執(zhí)行單元就插入一個(gè)異常信號(hào)。當(dāng)指令試圖將結(jié)果寫(xiě)回回到存儲(chǔ)器的包含區(qū)域時(shí),寫(xiě)回單元16就可以插入一個(gè)異常信號(hào)。上述所列出的錯(cuò)誤只是用于舉例的目的并且僅僅表示在一條指令執(zhí)行過(guò)程中可能出現(xiàn)錯(cuò)誤的子集。
圖3是說(shuō)明具有多級(jí)的異常流水線(xiàn)5的實(shí)例方框圖。異常流水線(xiàn)5可以具有例如,指令輸入(IF),指令解碼(DEC),地址計(jì)算(AC),執(zhí)行(EX)和寫(xiě)回(WB)。異常流水線(xiàn)5的各級(jí)可以接受執(zhí)行流水線(xiàn)4所對(duì)應(yīng)級(jí)的一個(gè)或多個(gè)異常17。例如,異常流水線(xiàn)5的IF級(jí)可以接受一個(gè)或多個(gè)M異常17A。各異常17可以由N位異常代碼來(lái)表示。因此,流水線(xiàn)寄存器32可以具有并行存儲(chǔ)N位的能力。
異常流水線(xiàn)5的各級(jí)包括異常選擇單元31,用于選擇將進(jìn)入后續(xù)級(jí)的最高優(yōu)先權(quán)的異常。例如,指令輸入選擇單元31A選擇在異常流水線(xiàn)5的IF級(jí)中出現(xiàn)的M異常中的一個(gè)異常。所選擇的IF異常在下一個(gè)時(shí)鐘周期中存儲(chǔ)在級(jí)寄存器32A中。
根據(jù)各種異常的優(yōu)先權(quán),解碼選擇單元31B選擇(1)在異常流水線(xiàn)5的解碼級(jí)中出現(xiàn)的M異常中的一個(gè)異常,或者(2)異常流水線(xiàn)5的IF級(jí)傳輸?shù)脑诜e極存器32A中存儲(chǔ)的異常。解碼選擇單元31B將所選擇的異常存儲(chǔ)于流水線(xiàn)級(jí)寄存器32B。
采用這種方式,在異常流水線(xiàn)5各級(jí)中傳輸?shù)漠惓Ec在執(zhí)行流水線(xiàn)4中傳輸?shù)母鱾€(gè)指令是同步的。在指令保持在執(zhí)行流水線(xiàn)4的寫(xiě)回級(jí)時(shí),來(lái)自異常流水線(xiàn)5的對(duì)應(yīng)異常可以出現(xiàn)在exc_code輸出,可應(yīng)用于控制單元6和包括對(duì)應(yīng)錯(cuò)誤管理軟件程序的異常管理器8。在一個(gè)實(shí)施例中,用于異常的處理在出現(xiàn)異常WB級(jí)之前的幾級(jí)開(kāi)始并包括使用的服務(wù)程序。
圖4是說(shuō)明異常流水線(xiàn)5的電路35的方框圖,該電路可用于控制通過(guò)圖3所說(shuō)明的各級(jí)異常的流動(dòng)。正如以下詳細(xì)討論的,電路35傳輸一個(gè)和多個(gè)異常請(qǐng)求通過(guò)一些觸發(fā)器36;異常請(qǐng)求對(duì)應(yīng)于在圖3所示的異常流水線(xiàn)5所傳輸?shù)漠惓4a。
異常請(qǐng)求限制在通過(guò)電路來(lái)傳輸且與控制指令在執(zhí)行流水線(xiàn)4中流動(dòng)的控制信號(hào)18相同。例如,第一輸入異常信號(hào)限制為兩個(gè)信號(hào)(1)“刪除(Kill)”信號(hào),該信號(hào)表示由于指令流動(dòng)的變化所對(duì)應(yīng)的指令是否還保持在WB級(jí),以及(2)“停止(Stall)”信號(hào),該信號(hào)表示在執(zhí)行流水線(xiàn)4中所對(duì)應(yīng)的指令已經(jīng)停止。當(dāng)這些條件不存在時(shí),觸發(fā)器36A就鎖存著輸入異常信號(hào)。然而,在停止條件的事件中,觸發(fā)器36A的輸出重新輸出并且在隨后的時(shí)鐘周期由復(fù)用器選擇及鎖存。采用這種方式,異常請(qǐng)求與在執(zhí)行流水線(xiàn)4中的指令保持同步。
同樣,在解碼級(jí)產(chǎn)生的異常請(qǐng)求與觸發(fā)器36A的輸出“或”,以產(chǎn)生組合的解碼異常請(qǐng)求,該請(qǐng)求一樣限制為“刪除”和“停止”條件信號(hào)。這樣,異常請(qǐng)求信號(hào)可以輸入電路35的任何一級(jí)并且傳輸?shù)接|發(fā)器36D,除非在執(zhí)行流水線(xiàn)中所對(duì)應(yīng)的指令被刪除。在這樣的事件中,異常請(qǐng)求可復(fù)寫(xiě)在電路35上和從電路35中去除。
觸發(fā)器36D的輸出就沒(méi)有限制成寫(xiě)回級(jí)的停止和刪除信號(hào)。電路35的輸出是exception_req信號(hào)19,它被異常管理器8接受。響應(yīng)之后,異常管理器8包括基于圖3異常流水線(xiàn)5所提供的當(dāng)前異常代碼16所對(duì)應(yīng)的異常管理軟件程序。
雖然再圖4中并沒(méi)有說(shuō)明,但是輸入異常信號(hào)是事先限制指令的有效信號(hào),以確保該異常與“valid”指令有關(guān),例如,處理器2指令集所支持的指令。然而,與其它異常信號(hào)不同,輸入異常信號(hào)就沒(méi)有限制成為有效信號(hào)。這就確保了在IF級(jí)中所出現(xiàn)的異??梢哉_的使用,而與是否輸入有效指令無(wú)關(guān)。然而,在執(zhí)行流水線(xiàn)4中傳輸?shù)膶?duì)應(yīng)指令可標(biāo)記成無(wú)效指令。
已經(jīng)討論了本發(fā)明的各種實(shí)施例。例如,已經(jīng)討論了具有傳輸異常請(qǐng)求的異常流水線(xiàn)的處理器。該處理器可以應(yīng)用于包括通用計(jì)算系統(tǒng),數(shù)字處理系統(tǒng),膝上計(jì)算器,個(gè)人數(shù)字助理(PDA)和蜂窩式電話(huà)的各種系統(tǒng)中。在這類(lèi)系統(tǒng)中,處理器與存儲(chǔ)器件相耦合,該存儲(chǔ)器件包括閃存存儲(chǔ)器件或靜態(tài)隨機(jī)存儲(chǔ)器(SRAM),可用于存儲(chǔ)操作系統(tǒng)和其它軟件應(yīng)用程序。各種實(shí)施例都在附加權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種方法,其特征在于,它包括處理在可編程處理器的執(zhí)行流水線(xiàn)中的指令;以及通過(guò)處理器的異常流水線(xiàn),傳播指令的異常。
2.如權(quán)利要求1所述方法,其特征在于,處理執(zhí)行流水線(xiàn)中的指令包括通過(guò)N級(jí)執(zhí)行流水線(xiàn)傳播指令,并且其中,傳播異常流水線(xiàn)中指令的異常狀態(tài)包括通過(guò)N級(jí)異常流水線(xiàn)傳播指令的異常狀態(tài)。
3.如權(quán)利要求1所述方法,其特征在于,它進(jìn)一步包括接受來(lái)自執(zhí)行流水線(xiàn)的異常和在異常流水線(xiàn)中存儲(chǔ)異常。
4.如權(quán)利要求3所述方法,其特征在于,接受異常包括從多級(jí)執(zhí)行流水線(xiàn)中的一級(jí)接收一個(gè)異常代碼,并且其中,存儲(chǔ)異常包括在異常流水線(xiàn)的對(duì)應(yīng)級(jí)中存儲(chǔ)異常代碼。
5.如權(quán)利要求1所述方法,其特征在于,它進(jìn)一步包括在異常流水線(xiàn)中傳播異常請(qǐng)求位,其中,該異常請(qǐng)求位表示適用于在執(zhí)行流水線(xiàn)所對(duì)應(yīng)的級(jí)中的指令的錯(cuò)誤條件。
6.如權(quán)利要求1所述方法,其特征在于,它進(jìn)一步包括當(dāng)執(zhí)行流水線(xiàn)停止時(shí)停止異常流水線(xiàn)。
7.如權(quán)利要求1所述方法,其特征在于,它進(jìn)一步包括當(dāng)執(zhí)行流水線(xiàn)中所對(duì)應(yīng)的指令不能完成執(zhí)行時(shí)清除在異常流水線(xiàn)中的異常。
8.如權(quán)利要求4所述方法,其特征在于,它進(jìn)一步包括當(dāng)異常已經(jīng)傳輸?shù)疆惓A魉€(xiàn)的最后一級(jí)時(shí)為所述異常提供服務(wù)。
9.如權(quán)利要求1所述方法,其特征在于,通過(guò)異常流水線(xiàn)傳播異常包括根據(jù)與異常有關(guān)的優(yōu)先順序在多級(jí)異常流水線(xiàn)的幾個(gè)異常中選擇出一個(gè)異常。
10.如權(quán)利要求1所述方法,其特征在于,在異常流水線(xiàn)的各級(jí)中,認(rèn)證異常的資質(zhì)以確保所對(duì)應(yīng)的指令沒(méi)有中止。
11.如權(quán)利要求1所述方法,其特征在于,進(jìn)一步包括除了指令汲取級(jí)之外,在異常流水線(xiàn)的各級(jí)中,認(rèn)證異常的資質(zhì),以確保所對(duì)應(yīng)的指令有效。
12.一種裝置,其特征在于,它包括具有能同時(shí)執(zhí)行一條或多條指令的多級(jí)執(zhí)行流水線(xiàn);以及具有能傳播指令執(zhí)行所產(chǎn)生異常的多級(jí)異常流水線(xiàn)。
13.如權(quán)利要求12所述裝置,其特征在于,執(zhí)行流水線(xiàn)和異常流水線(xiàn)都具有N級(jí)。
14.如權(quán)利要求12所述裝置,其特征在于,異常流水線(xiàn)的級(jí)包括用于存儲(chǔ)異常代碼的流水線(xiàn)寄存器。
15.如權(quán)利要求12所述裝置,其特征在于,異常流水線(xiàn)包括多個(gè)用于傳播異常請(qǐng)求位的存儲(chǔ)電路。
16.如權(quán)利要求12所述裝置,其特征在于,異常流水線(xiàn)和執(zhí)行流水線(xiàn)的級(jí)是由一個(gè)或多個(gè)停止信號(hào)控制的。
17.如權(quán)利要求15所述裝置,其特征在于,各級(jí)接受刪除信號(hào),以復(fù)位異常請(qǐng)求位。
18.如權(quán)利要求12所述裝置,其特征在于,進(jìn)一步包括從異常流水線(xiàn)的最后一級(jí)接收異常請(qǐng)求位的異常管理器。
19.如權(quán)利要求12所述裝置,其特征在于,所述異常流水線(xiàn)的各級(jí)包括根據(jù)與異常有關(guān)的優(yōu)先順序從多個(gè)異常中選擇一個(gè)異常的選擇邏輯。
20.如權(quán)利要求12所述裝置,其特征在于,異常流水線(xiàn)的各級(jí)包括對(duì)異常請(qǐng)求位進(jìn)行資質(zhì)認(rèn)證的邏輯,以確保指令是有效指令且沒(méi)有終止。
21.一種系統(tǒng),其特征在于,它包括閃存存儲(chǔ)器件;以及與閃存存儲(chǔ)器件相耦合的處理器,其中,所述處理器包括具有能同時(shí)執(zhí)行一條或多條指令的多級(jí)的執(zhí)行流水線(xiàn),和具有能傳播指令執(zhí)行所產(chǎn)生的異常的多級(jí)的異常流水線(xiàn)。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述執(zhí)行流水線(xiàn)和異常流水線(xiàn)都具有N級(jí)。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,異常流水線(xiàn)的級(jí)包括用于存儲(chǔ)異常代碼的流水線(xiàn)寄存器。
24.如權(quán)利要求12所述系統(tǒng),其特征在于,異常流水線(xiàn)包括多個(gè)傳播異常請(qǐng)求位的存儲(chǔ)電路。
25.如權(quán)利要求21所述的系統(tǒng),其特征在于,異常流水線(xiàn)和執(zhí)行流水線(xiàn)的級(jí)是由一個(gè)或多個(gè)停止信號(hào)同步控制的。
26.如權(quán)利要求21所述的系統(tǒng),其特征在于,處理器進(jìn)一步包括從異常流水線(xiàn)的最后一級(jí)接收異常請(qǐng)求位的異常管理器。
全文摘要
在一個(gè)實(shí)施例中,可編程處理器包括執(zhí)行流水線(xiàn)和異常流水線(xiàn)。執(zhí)行流水線(xiàn)可以是處理指令的多級(jí)執(zhí)行流水線(xiàn)。異常流水線(xiàn)可以是傳輸指令執(zhí)行所產(chǎn)生異常的多級(jí)異常流水線(xiàn)。前者和異常流水線(xiàn)可以具有相同數(shù)量的級(jí)并且可以相同的時(shí)鐘周期進(jìn)行操作。當(dāng)指令從執(zhí)行流水線(xiàn)的一級(jí)流到執(zhí)行流水線(xiàn)的最后一級(jí)時(shí),該異??梢酝瑯訌漠惓A魉€(xiàn)的相對(duì)應(yīng)一級(jí)流到異常流水線(xiàn)的相對(duì)應(yīng)最后一級(jí)。
文檔編號(hào)G06F9/38GK1481529SQ01820708
公開(kāi)日2004年3月10日 申請(qǐng)日期2001年12月10日 優(yōu)先權(quán)日2000年12月15日
發(fā)明者C·P·羅思, R·P·辛格, G·A·奧弗坎普, C P 羅思, 奧弗坎普, 辛格 申請(qǐng)人:英特爾公司, 模擬設(shè)備股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丹江口市| 寿光市| 裕民县| 广宁县| 宣汉县| 漳州市| 巨野县| 抚松县| 新龙县| 新河县| 阜阳市| 安仁县| 砀山县| 青田县| 凤阳县| 郯城县| 隆回县| 塔河县| 大宁县| 社旗县| 开封市| 阳西县| 临朐县| 原阳县| 固始县| 白河县| 阜南县| 扎赉特旗| 沽源县| 瓮安县| 吉首市| 永德县| 河间市| 镇平县| 德令哈市| 阿城市| 分宜县| 临湘市| 阿拉善盟| 永定县| 太湖县|