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

異步時鐘控制的寄存器堆讀隔離方法

文檔序號:6508470閱讀:256來源:國知局
異步時鐘控制的寄存器堆讀隔離方法
【專利摘要】本發(fā)明屬于微處理器【技術(shù)領(lǐng)域】,具體為一種異步時鐘控制的寄存器堆讀隔離方法。本發(fā)明基于一個包含基本流水線結(jié)構(gòu)的微處理器構(gòu)架,在訪問寄存器堆流水級時,檢測是否需要對寄存器堆進行讀操作,如果發(fā)現(xiàn)對寄存器堆的讀操作是無用的(無用的讀操作包括兩種情況:指令本身不需要訪問寄存器堆,以及所需要的操作數(shù)可以通過反饋網(wǎng)絡獲?。?,則通過一個局部的異步時鐘網(wǎng)絡來保持住給寄存器堆的讀地址,使之不變,由于寄存器堆的讀操作是異步讀出,則若地址保持不變,相應的邏輯就不會翻轉(zhuǎn),從而降低了無用的讀寄存器堆功耗。
【專利說明】異步時鐘控制的寄存器堆讀隔離方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于微處理器【技術(shù)領(lǐng)域】,具體涉及一種異步時鐘控制的寄存器堆讀隔離方法。
【背景技術(shù)】
[0002]寄存器堆是處理器中第一級存儲單元,是現(xiàn)代微處理器的核心部件,由于對寄存器堆的訪問呈現(xiàn)出高速、高頻的特點,是的寄存器堆的功耗和功耗密度都相當大,以至于成為了微處理器的能量消耗主要部件和功耗熱點。高能耗對微處理器特別是嵌入式應用領(lǐng)域的微處理器提出了挑戰(zhàn),而功耗熱點更會導致電路穩(wěn)定性和壽命下降。因此,研究降低寄存器堆功耗有十分重要的現(xiàn)實意義。
[0003]圖1展示了傳統(tǒng)的6級流水線的微處理器結(jié)構(gòu)圖。包括了取指令級、譯碼級、執(zhí)行級、訪存儲器級、對齊級和寫回級。
[0004]在傳統(tǒng)的微處理器架構(gòu)中,對于寄存器堆的讀沒有專門的電路進行隔離,就算實際指令執(zhí)行過程中發(fā)現(xiàn)了無用的讀操作,也不會屏蔽對寄存器堆的讀操作,從而導致了不必要的能量消耗,針對這個缺點,需要對寄存器堆的讀進行檢測,一旦發(fā)現(xiàn)無用的讀操作則對寄存器堆的讀進行屏蔽,降低功耗。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于提供一種能夠降低寄存器堆讀功耗的異步時鐘控制的寄存器堆讀隔離方法。
[0006]本發(fā)明通過檢測無用的寄存器堆讀操作,然后利用局部的異步時鐘網(wǎng)絡進行寄存器堆讀地址的維持,減少邏輯的翻轉(zhuǎn),從而降低寄存器堆的讀功耗,同時也降低寄存器堆的功耗密度,提高電路的穩(wěn)定性和壽命。
[0007]本發(fā)明提供的異步時鐘控制的寄存器堆讀隔離方法,是基于一個包含基本流水線結(jié)構(gòu)的微處理器構(gòu)架,該微處理器包括取指令級、譯碼級、執(zhí)行級、訪存儲器級、對齊級和寫回級(如圖1所示);本發(fā)明方法的基本思路是:在訪問寄存器堆流水級時,檢測是否需要對寄存器堆進行讀操作,如果發(fā)現(xiàn)對寄存器堆的讀操作是無用的(無用的讀操作包括兩種情況:指令本身不需要訪問寄存器堆,以及所需要的操作數(shù)可以通過反饋網(wǎng)絡獲取),則通過一個局部的異步時鐘網(wǎng)絡來保持住給寄存器堆的讀地址,使之不變,由于寄存器堆的讀操作是異步讀出(換言之,給地址即可讀出數(shù)據(jù)),則若地址保持不變,相應的邏輯就不會翻轉(zhuǎn),從而降低了無用的讀寄存器堆功耗。
[0008]為此,在上述微處理器架構(gòu)的基礎(chǔ)上,在譯碼級增加一個判斷邏輯,如在圖2中,指令中的兩個源操作數(shù)為Rs和Rt。以Rs為示例,“需要讀取Rs”這個邏輯給出O (當需要讀取Rs),否則這一邏輯給出I (當不需要讀取Rs),“Rs反饋得到”這個邏輯給出I (當可以反饋得到Rs),否則這一邏輯給出0(當不可以反饋得到Rs),然后再將這兩個邏輯的輸出結(jié)果進行一個“或”操作;Rt與Rs類似;以此做為譯碼級增加的是否需要訪問寄存器堆判斷邏輯;同時還需要在譯碼級增加一個控制寄存器堆地址輸入端口的控制邏輯和局部的異步時鐘網(wǎng)絡,如在圖2中,所述的控制邏輯由一個2選I的數(shù)據(jù)選擇器和一個觸發(fā)器DFF構(gòu)成,選擇器的“ I ”輸入端選擇DFF的輸出端Q的值,而“O”輸入端選擇“Rs/Rt地址值”,選擇器的控制端信號來自上述的“或”邏輯門的輸出端,選擇器的選擇結(jié)果輸入到DFF的數(shù)據(jù)輸入端D ;局部時鐘加在DFF的時鐘輸入端(DFF框中左下角三角形所示的輸入端),如圖2下方的波形所示,局部時鐘與系統(tǒng)時鐘有一個與設(shè)計時序相適應的固定相差延遲。于是,所述的異步時鐘控制的寄存器堆讀隔離方法,具體步驟為:
由譯碼級的判斷邏輯,判斷指令中的兩個源操作數(shù)(如Rs和Rt)是否需要從寄存器堆中獲取,判斷的依據(jù)為:一種情況是指令執(zhí)行本身不需要用到兩個源操作數(shù)(如Rs或者Rt),另一種情況是所需要的操作數(shù)能夠從執(zhí)行級、訪存級或者對齊級反饋,一旦這兩種情況中的任何一種被確認,則對兩個源操作數(shù)(如Rs和Rt)的寄存器堆讀操作進行屏蔽;
所述屏蔽的具體措施是,通過局部的異步時鐘網(wǎng)絡將譯碼級割裂成兩段,給寄存器堆的地址輸入信號由局部的異步時鐘控制,在需要屏蔽寄存器堆時,將相應的地址信號進行隔離。
[0009]本發(fā)明中,所述隔離的具體方法是,基于選擇器-觸發(fā)器的保持電路,當需要隔離時,給寄存器堆的地址選擇其前一個時鐘周期的值,否則選擇由譯碼電路給出的地址值。
[0010]本發(fā)明中,局部異步時鐘網(wǎng)絡的生成采用全定制的方法,利用反相器鏈手工搭建這個局部的時鐘網(wǎng)絡,生成的本地時鐘與全局時鐘具有與設(shè)計時序要求相適應的固定相位偏差。
[0011]本發(fā)明方法可以進一步歸納為:
(1)由譯碼級的判斷邏輯,判斷是否需要對兩個源操作數(shù)進行讀取,不需要讀取則認為對寄存器堆進行屏蔽,屏蔽的條件為:(i),指令本身不需要該操作數(shù),(ii),所需要的操作數(shù)可以從后面的執(zhí)行級、訪存級或?qū)R級反饋得到;
(2)如果確認上述的隔離條件成立,則采用基于選擇器-觸發(fā)器的保持電路,當需要隔離時,該保持電路將給寄存器堆的地址值保持不變,否則選擇由譯碼電路給出的地址值;
(3 )觸發(fā)(2 )中所述的保持電路的時鐘由本地異步時鐘網(wǎng)絡產(chǎn)生,本地異步時鐘網(wǎng)絡由手工定制得到,采用反相器鏈形式搭建,生成的時鐘網(wǎng)絡與全局時鐘網(wǎng)絡具有與設(shè)計要求相適應的固定相位偏差。
[0012]本發(fā)明方法能夠在譯碼級檢測到不必要的寄存器堆讀操作。
[0013]與現(xiàn)有的架構(gòu)相比,本發(fā)明提供的異步時鐘控制的寄存器堆讀隔離方法,能夠有效地檢測并隔離無用的寄存器堆讀操作,從而降低了寄存器堆的功耗和功耗密度,在硬件上開銷是少量的寄存器(用以搭建選擇器-觸發(fā)器的隔離電路)和簡單的邏輯,實驗表明這些開銷均可以忽略不計。
【專利附圖】

【附圖說明】
[0014]圖1是傳統(tǒng)的6級流水線微處理器架構(gòu)。
[0015]圖2是異步時鐘控制的寄存器堆讀隔離方法的總體架構(gòu)。
[0016]圖3是無用的寄存器堆讀操作的具體判斷邏輯。
[0017]圖4是確定局部時鐘網(wǎng)絡與系統(tǒng)時鐘偏差的參數(shù)t_delay的確定。[0018]圖5是局部異步時鐘網(wǎng)絡的電路圖和仿真結(jié)果。
【具體實施方式】
[0019]下面通過實例進一步描述本發(fā)明提供的異步時鐘控制的寄存器堆讀隔離方法。
[0020]圖2展示了異步時鐘控制的寄存器堆讀隔離方法的總體架構(gòu)。與圖1傳統(tǒng)的結(jié)構(gòu)相比,該結(jié)構(gòu)增加了無用讀的判斷邏輯,從而決定是否對寄存器堆進行讀操作,增加了一個局部的異步時鐘網(wǎng)絡,進行控制對寄存器堆的地址輸入信號,如果斷言某一個讀操作無效,則通過選擇器-觸發(fā)器的電路將相應的寄存器堆地址輸入端口的地址保持住,從而無用的邏輯翻轉(zhuǎn)被屏蔽,避免了無用的功耗開銷。
[0021]圖3展示了對無用的寄存器堆讀邏輯的判斷。實際的邏輯設(shè)計中,主要要對兩種情況進行區(qū)分,其一是指令執(zhí)行本身不需要讀取寄存器堆,在本發(fā)明中,我們對R型指令和I型指令進行區(qū)分,對于R型指令,其兩個操作數(shù)均要從寄存器堆中獲取,而對于I型指令,由于其中一個操作數(shù)來自立即數(shù),只有一個操作數(shù)Rs需要訪問寄存器堆。第二種情況是,所需要的操作數(shù)可以從后面的反饋網(wǎng)絡中獲取,在圖3中,給出了一個利用反饋網(wǎng)絡獲取操作數(shù)的例子,簡而言之,只要當前指令在譯碼級,而其前導指令還在執(zhí)行級、訪存級或者對齊級,并且前導指令的目的操作寄存器作為當前譯碼級指令的源操作寄存器,那么當前指令的源操作寄存器就被認為可以從前饋網(wǎng)絡中獲取(圖3中,$1分別在執(zhí)行級、訪存級和對齊級被反饋到其后續(xù)指令的譯碼級)。這兩種情況只要任何一種產(chǎn)生就可以屏蔽掉對寄存器堆的讀操作。
[0022]圖4展示了確定局部的異步時鐘網(wǎng)絡與全局系統(tǒng)時鐘網(wǎng)絡的時間偏差的參數(shù)七_delay的計算。如圖4所示,t_delay包括了流水線級間寄存器的時鐘到數(shù)據(jù)的延遲時間clk_Q,判斷是否需要讀寄存器堆的邏輯時間logic,寄存器堆地址控制寄存器的建立時間setup,另外一般為了保證時序的正確,需要留一定的時間余量margin。因此,這里的t_delay = clk_Q + logic + setup + margin ;每個參數(shù)的確定要根據(jù)實際的工藝特征以及要求實現(xiàn)的系統(tǒng)性能指標來綜合確定。
[0023]圖5展示了在圖4基礎(chǔ)上進行設(shè)計的局部時鐘網(wǎng)絡,可以采用小規(guī)模的全定制電路設(shè)計策略,或者直接在布局不線后的網(wǎng)表上進行手工的添加buffer (由反相器拼湊)來達到與系統(tǒng)時鐘偏差為t_delay的目標,具體設(shè)計需要根據(jù)實際的參數(shù)進行仿真確定。本發(fā)明中所確定的t_delay為300ps,相應的實驗仿真結(jié)果也在圖5中展示了。
【權(quán)利要求】
1.一種異步時鐘控制的寄存器堆讀隔離方法,基于一個包含基本流水線結(jié)構(gòu)的微處理器構(gòu)架,該微處理器包括取指令級、譯碼級、執(zhí)行級、訪存儲器級、對齊級和寫回級,其特征在于:在上述微處理器架構(gòu)的基礎(chǔ)上,在譯碼級增加一個判斷邏輯,用于是否需要訪問寄存器堆的邏輯判斷;同時還提供一個在譯碼級控制寄存器堆地址輸入端口的控制邏輯和局部的異步時鐘網(wǎng)絡,于是,所述方法的具體步驟為: 由譯碼級的判斷邏輯,判斷指令中的兩個源操作數(shù)是否需要從寄存器堆中獲取,判斷的依據(jù)為:一種情況是指令執(zhí)行本身不需要用到兩個源操作數(shù),另一種情況是所需要的源操作數(shù)能夠從執(zhí)行級、訪存級或者對齊級反饋,一旦這兩種情況中的任何一種被確認,則對兩個源操作數(shù)的寄存器堆讀操作進行屏蔽: 屏蔽的具體措施是,通過局部的異步時鐘網(wǎng)絡將譯碼級割裂成兩段,給寄存器堆的地址輸入信號由局部的異步時鐘控制,在需要屏蔽寄存器堆的讀操作時,將相應的地址信號進行隔離。
2.根據(jù)權(quán)利要求1所述的異步時鐘控制的寄存器堆讀隔離方法,其特征在于所述將相應的地址信號進行隔離的具體措施是:采用基于選擇器-觸發(fā)器的保持電路,如果上述隔離條件成立,則該保持電路給寄存器堆的地址保持不變,從而寄存器堆不會被讀訪問。
【文檔編號】G06F12/14GK103440210SQ201310365831
【公開日】2013年12月11日 申請日期:2013年8月21日 優(yōu)先權(quán)日:2013年8月21日
【發(fā)明者】虞志益, 俞政, 于學球, 張家杰, 曾曉洋 申請人:復旦大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
崇明县| 屏山县| 哈巴河县| 鲁甸县| 天台县| 临洮县| 兴国县| 修文县| 利津县| 临邑县| 石渠县| 德兴市| 沿河| 准格尔旗| 泰和县| 怀仁县| 萨迦县| 桦南县| 广昌县| 阳东县| 图木舒克市| 盐津县| 都江堰市| 汕头市| 中西区| 陇南市| 景德镇市| 延庆县| 子长县| 贺州市| 柳林县| 定西市| 威远县| 平顺县| 咸阳市| 贞丰县| 女性| 静宁县| 盈江县| 平顶山市| 苗栗县|