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

基于隱式相關性和隱式旁路的微處理器指令拆分裝置的制作方法

文檔序號:2586063閱讀:232來源:國知局
專利名稱:基于隱式相關性和隱式旁路的微處理器指令拆分裝置的制作方法
技術領域
本發(fā)明涉及嵌入式處理器領域,尤其是一種基于隱式相關性和隱式旁路的微處理器指令拆分裝置。
背景技術
現代集成電路技術的發(fā)展嵌入式微處理器應用領域的不斷深入和擴大,使得存儲器成為了制約微處理器成本和功耗的重要因素。在特定硬件資源前提下,如何增強指令集功能、提高代碼密度和指令執(zhí)行效率,是很多處理器設計人員必須面對的問題。很多嵌入式處理器針對特定應用,通過向指令集中引入數條執(zhí)行時可拆分為數條原子操作的復雜操作指令,提出了這個問題的解決方案??紤]到處理器硬件資源、功耗以及指令拆分的實現復雜度,一般處理器僅對各操作之間有良好并行性的復雜操作指令進行拆分,如從連續(xù)存儲區(qū)域向通用暫存器加載數據,或者把多個通用暫存器的數據存儲到存儲器。拆分有前后數據相關性的復雜操作指令,既要解決拆分后原子指令之間的數據相關性,又要盡快消除這種相關性,需要較大硬件資源支持,其實現具有較大難度。這個限制了通過拆分復雜操作指令從而提高處理器代碼密度增強指令集功能的能力。以一個32位微處理器來說明處理器硬件資源和指令集功能之間的關系。該處理器總共有16個通用暫存器R0-R15,有算數運算單元和存儲器讀寫單元等執(zhí)行單元,其中算數運算單元每個周期只能完成一次加、減、乘、除、移位等原子操作,存儲器讀寫單元每周期只能完成一次存儲器讀或寫原子操作,每個執(zhí)行單元有2個暫存器讀端口。在這樣的硬件設計下,如果需要把暫存器Wc的數據存到以暫存器Ri和Rj數據和為地址的存儲區(qū)域,則需要兩條指令先用“ADD RiRj”指令把Ri和Rj數據相加,結果存到Ri中;再用store Rk Ri完成最終操作;同理,如果需要跳轉到兩個寄存器數據之和所指示的代碼區(qū)域,也需要兩條指令協作完成。

發(fā)明內容
為了克服現有的微處理器在拆分有前后數據相關性的復雜操作指令時需要消耗大量硬件資源、限制了可拆分指令的范圍、限制了處理器性能的不足,本發(fā)明提供一種在拆分有前后數據相關性的復雜操作指令時有效減少占用硬件資源、擴大其可拆分指令的范圍、提升處理器性能的基于隱式相關性和隱式旁路的微處理器指令拆分裝置。本發(fā)明解決其技術問題所采用的技術方案是—種基于隱式相關性和隱式旁路的微處理器指令拆分裝置,所述微處理器指令拆分裝置包括需拆分指令檢測與拆分單元,用以判斷進入該微處理器指令拆分裝置的已譯碼指令是否為需拆分指令,并將需拆分指令拆分為至少兩條原子指令;已拆分指令處理單元,連接于需拆分指令拆分和檢測單元輸出端,用以接收來自該需拆分指令拆分單元將該需拆分指令拆分成的至少兩條原子指令,對這些原子指令構造
3隱式相關性,并引入隱式旁路技術,輸出已處理原子指令;其他處理單元,連接于需拆分指令檢測和拆分單元的輸出端和已拆分指令處理單元的輸出端,用以接收被需拆分指令檢測與處理單元判斷為無需拆分的指令和已拆分指令處理單元最終生成的原子指令,并完成指令后續(xù)處理、執(zhí)行工作。進一步,該已拆分指令處理單元最終生成的原子指令在該微處理器中按照標準指令進行處理。優(yōu)選的,所述需拆分指令檢測與拆分單元中,由空閑與拆分兩種狀態(tài)進行維護,其中,無需拆分指令進入該指令檢測與拆分單元時,該指令檢測與拆分單元處于空閑態(tài),無拆分動作發(fā)生;需拆分指令進入該指令檢測與拆分裝置時,該指令檢測與拆分單元進入拆分態(tài),將指令拆分成若干原子指令后返回空閑態(tài)。再進一步,所述已拆分指令處理單元包括構造隱式相關性模塊,用以指示和維護該需拆分指令所拆分成若干個原子指令之間相關性,該構造隱式相關性模塊與該微處理器中相關性維護模塊互相獨立;隱式旁路模塊,負責數據的旁路,用以將該需拆分指令所拆分成若干個具有數據相關性的原子指令執(zhí)行結果進行旁路,該隱式旁路模塊與該微處理器中顯式旁路模塊互相獨立。更進一步,該需拆分指令拆分為至少兩條已拆分原子指令,其中具有數據相關性的兩條已拆分原子指令定義為第一已拆分指令和第二已拆分指令,第二已拆分指令數據相關于第一已拆分指令,隱式旁路模塊對第一已拆分指令在微處理器中特定模塊中的指令序號進行處理,使得第二已拆分指令旁路到第一已拆分指令數據之后,第一已拆分指令才可執(zhí)行結束。本裝置的技術構思為微處理器指令集是微處理器硬件和軟件直接的分界面,用戶通過微處理器指令通知微處理器硬件完成相關工作量,微處理器指令集是提高微處理器效率的最有效工具之一。目前微處理器廣泛使用的RISC指令集,雖然能很有效地適合于采用流水線、超流水線和超標量技術的體系結構,對處理器性能提高很多。然而,由于RISC指令集每條指令實現功能有限,編程時,用戶需要將工作量細分為每個RISC指令可處理的原子操作。在一些特殊應用場合,如存儲器大量數據的讀寫、頻繁跳轉等,用戶需要重復使用數條功能類似的指令。這些無疑都增大了編寫代碼工作量。因此,大多數處理器引入了一些復雜操作指令,簡化指令編寫,提高指令執(zhí)行效率和代碼密度。為了在節(jié)約硬件成本和不影響性能的前提下增加這些復雜操作指令,大多數微處理器都引入了指令拆分機制,然而這些指令拆分機制只能拆分具有較高并行性的復雜操作指令,很難處理有數據相關性的復雜操作指令。為了擴大可拆分指令的范圍,本微處理器引入了一種基于隱式相關性和隱式旁路技術的微處理器指令拆分裝置,微處理器中所有已譯碼指令都要送到該微處理器指令拆分裝置的需拆分指令檢測與拆分單元,需拆分指令檢測與拆分單元對檢測到需拆分的指令進行拆分,并將拆分好的指令送至已拆分指令處理單元,一拆分指令處理單元對這些指令構建隱式相關性和隱式旁路,最終生成數條可供該微處理器逐次單獨處理的原子指令。本發(fā)明的有益效果主要表現在擴大了微處理器可拆分指令類型和范圍,降低微處理器編程復雜性,有效提高代碼密度,節(jié)約硬件資源。


圖1為引入微處理器指令拆分裝置的微處理器指令流動方向。
圖2為引入微處理器指令拆分裝置后微處理器指令譯碼信息。圖3為微處理器指令拆分裝置指令拆分狀態(tài)機。
具體實施例方式下面結合附圖對本發(fā)明作進一步描述。參照圖1 圖3,一種基于隱式相關性和隱式旁路的微處理器指令拆分裝置,將微處理器無法一次性單獨處理的已譯碼單條復雜操作指令拆分成數條該微處理器可逐次處理的原子指令,該微處理器指令拆分裝置包括需拆分指令檢測與拆分單元,用以判斷進入該微處理器指令拆分裝置的已譯碼指令是否為需拆分指令,并將需拆分指令拆分為至少兩條原子指令,是該基于隱式相關性和隱式旁路技術的微處理器指令拆分裝置的輸入端;以及已拆分指令處理單元,連接于需拆分指令拆分和檢測單元輸出端,用以接收來自該需拆分指令拆分單元將該需拆分指令拆分成的至少兩條原子指令,對這些原子指令構造隱式相關性,并引入隱式旁路技術,輸出已處理原子指令。其他處理單元,連接于需拆分指令檢測和拆分單元的輸出端和已拆分指令處理單元的輸出端,用以接收被需拆分指令檢測與處理單元判斷為無需拆分的指令和已拆分指令處理單元最終生成的原子指令,并完成指令后續(xù)處理、執(zhí)行工作。參照圖1所示,無需拆分的指令經過本微處理器指令拆分裝置的流向如途中黑色箭頭所示,需拆分指令經過該裝置的流向如途中紅色箭頭所示。微處理器取址單元取到的指令經譯碼后,都要通過該裝置中需拆分指令檢測與拆分單元,需拆分指令檢測與拆分單元通過讀取指令譯碼信息的拆分標志位決定該指令是否需要拆分如果無需拆分,則指令被直接送到其他處理單元,完成指令執(zhí)行;如果需要拆分,需拆分指令檢測與拆分單元通過檢測指令操作碼,決定該指令需要拆分為幾條什么類型的指令,根據這些指令拆分信息,需拆分指令檢測與拆分單元狀態(tài)機通過在空閑態(tài)和拆分態(tài)的切換完成指令拆分。拆分好的原子指令被送至已拆分指令處理單元,加入相關性信息;假設第一已拆分指令A和第二已拆分指令B是已拆分指令,第二已拆分指令B數據相關于第一已拆分指令A。則已拆分指令處理單元,在第二已拆分指令B的操作碼中,加入特定隱式相關性信息, 指示第二已拆分指令B相關于第一已拆分指令A。為了加快第一已拆分指令A、B的執(zhí)行速度,同時防止第一已拆分指令A過早退休導致第二已拆分指令B無法獲取其數據,隱式旁路技術,提前將第一已拆分指令A的數據送給第二已拆分指令B,只有第二已拆分指令B獲得數據后,才允許第一已拆分指令A退休。經過這些處理后,已拆分好的原子指令被送至其他處理單元,按照一般指令進行完成指令執(zhí)行。這些原子指令全部執(zhí)行結束,則表示該復雜操作指令執(zhí)行結束。參照圖2所示,指令譯碼時,在指令的譯碼信息中,加入了 split位,用以表征該指令是否需要拆分。拆分成的指令類型和指令數目,則由指令操作碼來決定。參照圖3所示,沒有需拆分指令進入需拆分指令拆分單元時,該單元的狀態(tài)機處
5于空閑態(tài),表征最小的功耗開銷;當需拆分指令進入需拆分指令拆分單元時,其狀態(tài)機跳到拆分態(tài),每個機器周期拆分出的原子指令個數由微處理器硬件資源決定。如果該微處理器為單發(fā)射,則每周期拆分出一條原子指令;如果為雙發(fā)或者多發(fā)射,則拆分出兩條或者多條原子指令。拆分結束后,狀態(tài)機返回空閑態(tài)。 在上文所述的32位微處理器引入微處理器指令拆分裝置后,再次分析其指令集與代碼密度。此時,先在指令集中增加相應復雜操作指令storea Ri,Rj,敗,用于把暫存器 Rk的數據存到以暫存器Ri和Rj數據和為地址的存儲區(qū)域。處理器執(zhí)行時,該指令被拆分為“ADD RiRj”和“store Ri, Rk",ADD Ri Rj用以將Ri和Rj的值進行相加,并將結果存到 Ri中;store Ri, I k,將中的數據存儲到Ri所指示的存儲器地址。通過這種方式,用一條復雜操作指令實現了兩條原子指令的功能,增大了代碼密度;而且只需要進行一次譯碼, 節(jié)約了譯碼時間。不但降低了成本,同時也提高了指令執(zhí)行效率。
權利要求
1.一種基于隱式相關性和隱式旁路的微處理器指令拆分裝置,其特征在于,所述微處理器指令拆分裝置包括需拆分指令檢測與拆分單元,用以判斷進入該微處理器指令拆分裝置的已譯碼指令是否為需拆分指令,并將需拆分指令拆分為至少兩條原子指令;已拆分指令處理單元,連接于需拆分指令拆分和檢測單元輸出端,用以接收來自該需拆分指令拆分單元將該需拆分指令拆分成的至少兩條原子指令,對這些原子指令構造隱式相關性,并引入隱式旁路技術,輸出已處理原子指令;其他處理單元,連接于需拆分指令檢測和拆分單元的輸出端和已拆分指令處理單元的輸出端,用以接收被需拆分指令檢測與處理單元判斷為無需拆分的指令和已拆分指令處理單元最終生成的原子指令,并完成指令后續(xù)處理、執(zhí)行工作。
2.根據權利要求1所述的基于隱式相關性和隱式旁路的微處理器指令拆分裝置,其特征在于,該已拆分指令處理單元最終生成的原子指令在該微處理器中按照標準指令進行處理。
3.根據權利要求1或2所述的基于隱式相關性和隱式旁路的微處理器指令拆分裝置, 其特征在于,所述需拆分指令檢測與拆分單元中,由空閑與拆分兩種狀態(tài)進行維護,其中, 無需拆分指令進入該指令檢測與拆分單元時,該指令檢測與拆分單元處于空閑態(tài),無拆分動作發(fā)生;需拆分指令進入該指令檢測與拆分裝置時,該指令檢測與拆分單元進入拆分態(tài), 將指令拆分成若干原子指令后返回空閑態(tài)。
4.根據權利要求1或2所述的基于隱式相關性和隱式旁路的微處理器指令拆分裝置, 其特征在于,所述已拆分指令處理單元包括構造隱式相關性模塊,用以指示和維護該需拆分指令所拆分成若干個原子指令之間相關性,該構造隱式相關性模塊與該微處理器中相關性維護模塊互相獨立;隱式旁路模塊,負責數據的旁路,用以將該需拆分指令所拆分成若干個具有數據相關性的原子指令執(zhí)行結果進行旁路,該隱式旁路模塊與該微處理器中顯式旁路模塊互相獨立。
5.根據權利要求4所述的基于隱式相關性和隱式旁路的微處理器指令拆分裝置,其特征在于,該需拆分指令拆分為至少兩條已拆分原子指令,其中具有數據相關性的兩條已拆分原子指令定義為第一已拆分指令和第二已拆分指令,第二已拆分指令數據相關于第一已拆分指令,隱式旁路模塊對第一已拆分指令在微處理器中特定模塊中的指令序號進行處理,使得第二已拆分指令旁路到第一已拆分指令數據之后,第一已拆分指令才可執(zhí)行結束。
全文摘要
一種基于隱式相關性和隱式旁路的微處理器指令拆分裝置,包括需拆分指令檢測與拆分單元,用以判斷進入該微處理器指令拆分裝置的已譯碼指令是否為需拆分指令,并將需拆分指令拆分為至少兩條原子指令;已拆分指令處理單元,用以接收來自該需拆分指令拆分單元將該需拆分指令拆分成的至少兩條原子指令,對這些原子指令構造隱式相關性,輸出已處理原子指令;其他處理單元,用以接收被需拆分指令檢測與處理單元判斷為無需拆分的指令和已拆分指令處理單元最終生成的原子指令,并完成指令后續(xù)處理、執(zhí)行工作。本發(fā)明在拆分有前后數據相關性的復雜操作指令時有效減少占用硬件資源、擴大其可拆分指令的范圍、提升處理器性能。
文檔編號G09F9/30GK102436781SQ201110346810
公開日2012年5月2日 申請日期2011年11月4日 優(yōu)先權日2011年11月4日
發(fā)明者丁永林, 李戰(zhàn)輝, 楊軍 申請人:杭州中天微系統(tǒng)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁陵县| 丰宁| 五寨县| 陇川县| 黎平县| 梓潼县| 济源市| 黔西| 咸宁市| 晋中市| 理塘县| 霍州市| 泰州市| 赣州市| 吉安市| 苍南县| 周宁县| 阳曲县| 二手房| 梅河口市| 漳州市| 阳高县| 嵊泗县| 清远市| 合川市| 长宁区| 神木县| 通山县| 高密市| 东乌珠穆沁旗| 淮阳县| 沁源县| 郯城县| 汝南县| 海兴县| 会东县| 阿克陶县| 登封市| 夹江县| 安溪县| 原平市|