《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > CPU寄存器集的實現方法與重疊寄存器窗口技術

CPU寄存器集的實現方法與重疊寄存器窗口技術

2008-07-18
作者:劉 研

??? 摘 要: 簡要介紹了CPU通用寄存器" title="通用寄存器">通用寄存器及窗口技術" title="窗口技術">窗口技術的產生和發展背景,提出了以CALL和RETURN為代表的指令存在的問題,并給出了解決方法,討論了大寄存器集及窗口技術的缺點和一些相關應用。
??? 關鍵詞: 寄存器? RISC? MIPS? 重疊寄存器窗口技術? CPU

?

??? CPU的通用寄存器是數據存儲體系的最內層。寄存器操作避免了內存地址計算,其訪問時間遠小于Cache和主存。RISC MPU都具有較CISC大的寄存器集(Register file),而且都是LOAD/STORE體系結構,即所有運算的操作數都只針對寄存器中的數據施行,僅用LOAD/STORE類指令訪問內存。從RISC CPU高速處理時間(單周期執行指令)的角度來看,這些主存訪問是非常昂貴的開銷。為了減少LOAD/STORE操作,使CPU與內存間的通訊量最小,不同的RISC體系結構采用了不同的寄存器集設計。從RISC早期開創性研究開始,就存在著兩種不同的風格。
??? (1)Berkeley風格:在美國加州大學伯克利分校RISC I(1981)和RISC II(1983)項目中,CPU采用100個以上的寄存器,組成相互重疊的多寄存器窗口,用這種硬件結構實現寄存器的高效率使用。SUN SPARC是這種風格體系結構的典型范例。
??? (2)IBM/Stanford風格:在IBM 801(1975~1982)和斯坦福大學MIPS(1981~l983)項目中,體系結構設計人員(包括編譯軟件專家)采用非常高級、復雜的優化編譯算法實現對寄存器的最佳分配。目前在這類設計中,以MIPS的優化編譯軟件及其配套的RISC R3000 CPU芯片最為典型,功能最強,發展最成熟。MIPS是高效精簡指令集計算機(RISC)體系結構中最優雅的一種,即使是MIPS的競爭對手也這樣認為。這可以從MIPS對于后來研制的新型體系結構,如DEC的Alpha和HP的Precision產生的強烈影響看出來。雖然自身的優雅設計并不能保證在充滿競爭的市場上長盛不衰,但是MIPS微處理器卻經常能在處理器的每個技術發展階段保持速度最快的同時保持設計的簡潔。
??? 表1列出了不同RISC體系結構的寄存器集的寄存器個數,包括通用寄存器個數及浮點寄存器個數。

?????????????????????????
1 寄存器窗口技術
??? RISC的指令系統比較簡單,CISC中的一條復雜指令,在RISC中通常要用一段子程序" title="子程序">子程序來實現。因此,RISC程序中的CALL和RETURN的子程序指令要比CISC程序中多。為了使CALL和RETURN操作盡量少地訪問存儲器,美國加洲大學伯克利分校的F.Baskett提出重疊寄存器窗口(Overlapping Register Window)技術,并且首先在RISC I上應用。重疊寄存器窗口的基本思想基于在處理機中設置一個數量比較大的寄存器堆,并把它劃分成多個窗口。在RISC II中,寄存器的數量增加到138個。目前,重疊寄存器窗口技術已經成為RISC的一種基本技術。
??? RISC技術的主要設計技巧為:短周期時間;單周期執行指令;LOAD/STORE結構;簡單固定格式的指令系統;不用微碼技術;大寄存器堆;哈佛(Harvard)總線結構;高效的流水線操作;延遲轉移;硬連線控制;重疊寄存器窗口技術;優化編譯程序" title="編譯程序">編譯程序;增強存儲管理功能;面向高級語言。
2 存在的問題
??? 指令執行過程中,某些指令占據與其自身在程序中所占比例不相稱的大量訪存信息量。這一點,在CALL和RETURN指令上表現最為明顯。
??? 在執行CALL指令時,必須把硬件現場(主要包括程序計數器和處理機狀態字)和程序本身的軟件現場(主要指在子程序中要使用的通用寄存器等)保存到主存儲器中。另外,還要把執行子程序所需要的參數從主程序傳送過去。在執行RETURN指令時,要做相反的工作,最后把運算結果傳送回主程序。因此,執行CALL和RETURN指令時,訪問存儲器的信息量非常大。據統計,在PASCAL語言和C語言中分別有15%和12%的CALL和RETURN指令,而它們訪問存儲器的信息量卻占整個訪存信息量的44%和45%。
3 問題解決
??? 重疊寄存器窗口的基本思想:在處理機中設置一個數量比較大的寄存器堆,并把它劃分成很多個窗口。每個過程使用其中相鄰的三個窗口和一個公共窗口,而在這些窗口中有一個窗口是與前一個過程共用,還有一個窗口是與下一個過程共用的。與前一過程共用的窗口可以用來存放前一過程傳送給本過程的參數,同時也存放本過程傳送給前一過程的計算結果。同樣,與下一過程共用窗口可以用來存放本過程傳送給下一過程的參數和存放下一過程傳送給本過程的計算結果。圖1表現了重疊寄存器窗口的基本思想。

??????????????????????????
??? 圖2是RISC II中采用的重疊寄存器窗口,共有138個寄存器,分成17個窗口。其中,有一個由10個寄存器組成的窗口是全局窗口,能被所有過程訪問;另外有8個窗口,每個窗口各10個寄存器,分別作為8個過程的局部寄存器;還有8個窗口,每個窗口各有6個寄存器,是相鄰兩個過程公用的,稱為重疊寄存器窗口。每個過程均可以訪問32個寄存器,其中,有10個是所有過程公用的全局寄存器,有10個是只供本過程使用的局部寄存器,有6個是與上一過程公用的寄存器,還有6個是與下一過程公用的寄存器。

?????????????????????????????????? ???????????
??? 只要調用的深度不超過規定的層數(如8層),重疊寄存器窗口技術可以減少大量的訪存操作。當調用層數超過規定層數時,稱為寄存器溢出,這時,可以在主存中開辟一個堆棧,把超過規定層數的寄存器中的內容壓入堆棧中。
??? 在SUN公司的SPARC處理機以及后來的Super SPARC和Utra SPARC處理機中,還把最后一個過程的公用寄存器與第一個過程的公用寄存器重疊起來,形成一個循環圈。在調用層數很多時,可以循環使用。
??? F.Baskett等人使用Quick sort和Puzzle兩個程序對寄存器窗口技術的有效性進行了測試。Quick sort程序的特點是過程調用的次數在整個程序中所占的比例比較大,但調用的深度不大;而Puzzle程序正好相反。RISC II與VAX-11兩種機器的比較結果如表2所示。RISC II的訪存次數主要是寄存器窗口溢出引起的,而VAX-11訪存次數是為了保持和恢復通用寄存器中內容而引起的。從表2可以看出,RISC II寄存器溢出的次數很少,只占千分之一左右,影響也不大。由于采用了寄存器窗口技術,由程序調用引起的訪問存儲器次數只占程序總訪存次數的1%左右。

??????????????????????
4 開銷比較
??? 表3是RISC II處理機與幾種CISC處理機的每次過程調用的開銷比較。從表3可以看出,在執行時間、執行指令條數、訪問存儲器次數等方面,采用重疊寄存器窗口技術都十分有效。

????????????????????????
5 大寄存器集及窗口技術的缺點
??? 大寄存器集及窗口技術在有效支持高級語言過程調用結構的同時,也不可避免地出現了一些缺點:
??? (1)窗口策略只是在比較理想的情況下,即嵌套深度在滿足一定限制的時候才非常有效。
??? (2)對關聯轉換(Context Switch)時需將CPU寄存器存入內存的系統來說,大寄存器集的Save/Restore 需較長的時間才能完成,這直接影響多任務轉換和中斷響應時系統的響應速度, 而這對多用戶系統和實時控制是非常關鍵的。
??? (3)對于采用流水線的結構處理器來說,指令譯碼是非常關鍵的一個功能段。RSIC MPU獲得高處理速度的一個重要原因就是其極簡單的指令格式、指令集和尋址方式帶來了極快的指令譯碼時間。但采用大寄存器及窗口結構后就需要在指令譯碼通路中增加電路進行寄存器地址的譯碼,如選擇當前窗口及窗口移動。特別是窗口指針需要計算,更增加了寄存器地址的譯碼時間,而且寄存器集越大,寄存器地址譯碼硬件也越復雜,對每一個寄存器的訪問時間也越長,由此在指令流水線譯碼段內引起的時間延遲對系統整體性能的影響也越大(如目前采用寄存器窗口的體系結構都很難實現快速LOAD/STORE指令,需要兩個或更多的周期)。若像SPARC那樣窗口大小固定,則所需譯碼和加法器電路還較簡單,由此引起的附加延遲也較小,系統性能所受影響也不大(但另一方面窗口較大和窗口個數較少,使窗口上溢" title="上溢">上溢次數和每次上溢后所需保存寄存器的數目都增加了)。
??? 若像AMD29000那樣采用可變大小的寄存器窗口, 則對于把窗口上溢次數和上溢后需要保存寄存器的個數減至最少非常有利,但卻必須在指令譯碼通路中采用更復雜的電路,這最終可能導致指令譯碼時間成為制約處理器芯片采用更高時鐘頻率的瓶頸。
??? (4)大寄存器集及窗口結構需占用較大的CPU芯片面積,限制在片上實現其他關鍵硬件。
6 當前寄存器窗口技術的一些應用
??? 高效的函數調用:大多數RSIC處理器的函數調用需要卸出和重新裝入寄存器,開銷很大。IA-64增加了一個通用寄存器窗來支持高效的函數調用。這個128項的通用寄存器窗口被分為一個32項的全程存儲器和一個96項的堆棧存儲器。IA-64允許編譯程序在被調用的函數過程入口設置一條ALLOC指令,創立一個最多包含96項的新寄存器堆棧;在返回時,恢復調用程序的寄存器堆棧幀。對編譯程序來說,似乎有長度無限的物理寄存器堆棧,從而降低了函數調用的開支、提高了效率;如果在調用和返回時,沒有足夠的寄存器可供使用(堆棧溢出),則處理器將被阻塞,等待卸出和裝入寄存器,直到有足夠的寄存器為止。
參考文獻
[1] 白中英,楊旭東.計算機系統結構(第2版).北京:科學出版社,2004.
[2] 鄭緯民,湯志忠.計算機組成原理.北京:清華大學出版社,2004.
[3] 張晨曦.計算機體系結構.北京:高等教育出版社,2003.
[4] Dominic Sweetman.MIPS處理器設計透視See MIPS Run.北京:北京航空航天大學出版社,2005.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线精品视频一区二区| 亚洲欧美日本视频在线观看| 国产精品入口福利| 久久精品日产第一区二区三区| 蜜臀久久99精品久久久画质超高清| 亚洲精品日韩欧美| 国产精品大片免费观看| **网站欧美大片在线观看| 亚洲欧美日韩视频二区| 久久综合网hezyo| 久久综合一区二区| 免费在线成人av| 狠狠色丁香婷综合久久| 国产三级欧美三级日产三级99| 一个色综合av| 久久亚洲一区二区三区四区| 国产精品九九久久久久久久| 在线观看视频欧美| 亚洲精品日韩精品| 国产区日韩欧美| 久久女同互慰一区二区三区| 国产视频在线一区二区| 国产欧美综合在线| 国产日本欧美一区二区| 国产精品一区2区| 欧美精品在线免费观看| 久久久久久久999| 欧美日韩精品综合在线| 亚洲美女91| 国产精品爽爽ⅴa在线观看| 国产精品手机视频| 久久久综合网站| 亚洲欧美日韩国产一区二区三区| 国产精品一区二区在线观看网站| 亚洲丶国产丶欧美一区二区三区| 尤物九九久久国产精品的分类| 欧美精品乱码久久久久久按摩| 国产人成精品一区二区三| 亚洲国产一区在线观看| 欧美午夜在线| 在线精品亚洲一区二区| 国产日韩av高清| 欧美99久久| 国产精品色一区二区三区| 免费观看欧美在线视频的网站| 亚洲制服丝袜在线| 欧美视频一区二| 亚洲日本va在线观看| 欧美日韩午夜激情| 欧美特黄一区| 久久久精品动漫| 国产精品人成在线观看免费| 模特精品裸拍一区| 国产精品乱子乱xxxx| 欧美国产日韩一区二区三区| 99在线精品免费视频九九视| 久久免费国产精品1| 亚洲亚洲精品在线观看| 欧美久久久久中文字幕| 国产欧美韩日| 日韩一级网站| 极品av少妇一区二区| 欧美性事免费在线观看| 日韩午夜在线播放| 伊人婷婷欧美激情| 欧美一区二区视频在线观看2020| 两个人的视频www国产精品| 国外成人免费视频| 国产精品自拍小视频| 久久网站热最新地址| 欧美一区二区精品在线| 欧美亚洲综合网| 亚洲欧美日韩精品久久| 在线午夜精品自拍| 欧美三级电影大全| 久久这里有精品15一区二区三区| 国产精品乱码久久久久久| 欧美日韩系列| 欧美亚洲在线观看| 中国成人亚色综合网站| 国产精品成人观看视频国产奇米| 欧美日韩天天操| 在线观看成人一级片| 可以看av的网站久久看| 亚洲第一免费播放区| 欧美激情精品| 久久精品亚洲热| 欧美影院成人| 亚洲免费视频网站| 欧美激情导航| 午夜精品久久| 性久久久久久久久久久久| 亚洲天堂免费观看| 欧美日本国产一区| 先锋资源久久| 免费在线日韩av| 国产精品日韩欧美一区| 国精产品99永久一区一区| 亚洲视频1区2区| 欧美涩涩网站| 亚洲一区二区在线观看视频| 麻豆精品在线观看| 欧美日韩系列| 欧美一区二视频| 亚洲午夜未删减在线观看| 美女视频黄免费的久久| 99精品欧美一区二区三区综合在线| 亚洲狼人综合| 亚洲电影第1页| 亚洲一线二线三线久久久| 欧美视频观看一区| 精品69视频一区二区三区| 国产精品第一页第二页第三页| 久久漫画官网| 亚洲婷婷综合色高清在线| 久久精品中文字幕一区二区三区| 欧美日韩麻豆| 农夫在线精品视频免费观看| 欧美日韩国产一中文字不卡| 国产亚洲精品久久久久婷婷瑜伽| 一区在线视频| 一区二区福利| 欧美色综合天天久久综合精品| 老司机精品久久| 99国产成+人+综合+亚洲欧美| 亚洲在线1234| 欧美天堂亚洲电影院在线播放| 国产精品视频精品视频| 国产午夜精品在线观看| 国产精品乱人伦一区二区| 久久香蕉国产线看观看av| 国产精品超碰97尤物18| 午夜久久黄色| 亚洲国产高清aⅴ视频| 亚洲精品欧洲精品| 亚洲国产另类精品专区| 国产精品成人观看视频免费| 欧美精品一区二区三区四区| 香蕉av777xxx色综合一区| 欧美日韩中文字幕在线| 亚洲精品五月天| 性高湖久久久久久久久| 一区二区三区精品| 永久91嫩草亚洲精品人人| 久久亚洲不卡| 国产日韩一区在线| 欧美午夜不卡| 欧美视频一区二区三区四区| 性欧美videos另类喷潮| 夜夜夜精品看看| 欧美激情在线观看| 亚洲欧美日韩一区在线观看| 久久一区中文字幕| 欧美一级大片在线观看| 欧美一区二区三区四区在线观看| 亚洲天堂成人| 午夜亚洲伦理| 夜夜嗨av一区二区三区网站四季av| 欧美精品高清视频| 亚洲欧美国产毛片在线| 国产精品视频免费观看| 国产精品美女一区二区| 国模精品一区二区三区色天香| 欧美日本在线视频| 影音先锋一区| 亚洲国产精品第一区二区| 激情亚洲成人| 美女啪啪无遮挡免费久久网站| 久久精品国产亚洲一区二区| 欧美亚日韩国产aⅴ精品中极品| 亚洲精品久久久久久久久| 欧美精品在线观看91| 欧美激情视频一区二区三区在线播放| 午夜精品福利一区二区三区av| 欧美另类久久久品| 中日韩男男gay无套| 欧美午夜视频| 一级日韩一区在线观看| 亚洲午夜免费福利视频| 国产偷久久久精品专区| 欧美日韩一区二区三区四区在线观看| 亚洲天堂av综合网| 美女视频网站黄色亚洲| 国产精品免费看久久久香蕉| 你懂的亚洲视频| 新67194成人永久网站| 国产精品jizz在线观看美国| 久久精品天堂| 亚洲国产综合视频在线观看| 国产欧美精品日韩区二区麻豆天美| 日韩天堂在线视频| 亚洲欧洲在线一区| 欧美精品www在线观看| 亚洲高清在线观看一区| 欧美午夜激情小视频| 老司机一区二区| 伊人久久大香线蕉av超碰演员| 日韩视频在线播放| 欧美91福利在线观看| 国产精品热久久久久夜色精品三区| 国产精品久久久久久久久久久久久久| 国产主播喷水一区二区| 美女精品视频一区| 欧美护士18xxxxhd| 美女黄网久久| 久久美女艺术照精彩视频福利播放| 国产视频在线观看一区二区三区| 亚洲精品视频在线| 亚洲激情视频| 欧美成人一区二免费视频软件| 美女主播视频一区| 国产精品你懂的在线| 欧美日韩一级片在线观看| 欧美激情女人20p| 一区二区三区免费观看| 亚洲欧美精品中文字幕在线| 国产精品久久久久久久久久久久久久| 欧美在线日韩| 欧美日韩免费视频| 免费亚洲视频| 免费不卡在线视频| 亚洲免费视频一区二区| 国内精品久久久久久久果冻传媒| 亚洲精品国产精品久久清纯直播| 欧美二区在线| 亚洲欧美日韩视频二区| 久久久成人精品| 欧美麻豆久久久久久中文| 国产精品久99| 国产精品老女人精品视频| 久久久综合香蕉尹人综合网| 国产欧美一区二区三区另类精品| 免费精品99久久国产综合精品| 欧美日韩亚洲成人| 国精产品99永久一区一区| 国产美女一区| 国产精品无码永久免费888| 亚洲精品一区二区三区在线观看| 久久久久久国产精品一区| 在线视频欧美一区| 亚洲午夜久久久久久久久电影院| 小黄鸭精品aⅴ导航网站入口| 国产拍揄自揄精品视频麻豆| 亚洲性图久久| 久久久噜久噜久久综合| 在线播放日韩专区| 国产精品视频第一区| 国产日韩三区| 午夜欧美不卡精品aaaaa| 91久久精品久久国产性色也91| 欧美综合国产| 狠狠色伊人亚洲综合网站色| 欧美性猛交xxxx乱大交蜜桃| 欧美精品久久久久久久| 欧美区视频在线观看| 亚洲日本成人| 99国产精品久久久久久久久久| 免费久久99精品国产自在现线| 亚洲春色另类小说| 欧美日韩国产成人高清视频| 99精品视频免费| 欧美午夜精品久久久久久超碰| 久久夜色精品亚洲噜噜国产mv| 激情欧美一区二区| 欧美伊人久久久久久午夜久久久久| 国产精品手机在线| 国产日韩在线亚洲字幕中文| 欧美经典一区二区| 亚洲视频在线观看免费| 亚洲日本免费电影| 99国产精品视频免费观看| 亚洲在线网站| 久久不见久久见免费视频1| 亚洲黄色一区| 欧美日韩亚洲系列| 欧美少妇一区| 麻豆精品国产91久久久久久| 国产精品xnxxcom| 在线天堂一区av电影| 国产精品久久激情| 欧美日韩高清免费| 欧美精品电影在线| 亚洲精品乱码视频| 亚洲视频视频在线| 国产免费成人av| 久久中文久久字幕| 在线播放精品| 亚洲人成7777| 欧美a级理论片| 欧美 日韩 国产在线| 国产日韩一区二区三区在线| 麻豆精品传媒视频| 久久在线91| 亚洲人精品午夜在线观看| 欧美少妇一区二区| 国产噜噜噜噜噜久久久久久久久| 夜夜狂射影院欧美极品| 中文日韩在线视频| 性欧美精品高清| 欧美成年人视频网站| 欧美视频你懂的| 亚洲影音一区| 午夜综合激情| 欧美成人午夜激情在线| 亚洲欧洲另类| 影音先锋中文字幕一区二区| 牛牛国产精品| 久久久久综合一区二区三区| 欧美精品一区二区在线观看| 亚洲在线第一页| 日韩视频免费大全中文字幕| 亚洲天堂黄色| 久热精品视频| 午夜精品视频在线观看| 国产精品vip| 一区二区三区日韩欧美| 久久久国产精品一区二区中文| 国产精品美女久久久久久久| 亚洲人成网站精品片在线观看| 欧美xx视频| 久久成年人视频| 亚洲电影专区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日韩综合视频网址| 国产在线视频欧美一区二区三区| 欧美视频在线播放| 欧美精品国产精品日韩精品| 国产一区二区三区成人欧美日韩在线观看|