《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 超標量處理器中重排序緩沖器的研究

超標量處理器中重排序緩沖器的研究

2009-09-23
作者:張 鶴

  摘 要:介紹了重排序緩沖器實現思想與硬件結構,并提出了增加結果鎖存器和將重排序緩沖器由集中式改為分布式的設計,來降低重排序緩沖器設計復雜度的方案。
  關鍵詞:重排序緩沖器;寄存器重命名;超標量;亂序執行;低復雜度

?

  隨著科技的發展,人們對計算機處理速度的要求越來越高。為了提高微處理器的性能,人們提出了超標量流水線技術。超標量技術是指CPU在每個時鐘周期內可以完成一條以上指令的并行執行技術[1]。實現多指令并行執行的關鍵在于亂序執行。亂序執行是指不按照指令原始順序執行的技術。而實現指令亂序執行的關鍵是用到了寄存器重命名技術。寄存器重命名是用一個或者多個虛擬寄存器來代替真實的數據寄存器的硬件猜測方法。重排序緩沖器ROB(Reorder Buffer)是超標量處理器中基于寄存器重命名技術的一種實現結構,在MIPS R10000、Intel Pentium系列處理器和IBM Power系列處理器中得到了廣泛的應用。
  本文在介紹重排序緩沖器原理和實現的基礎上,分析了重排序緩沖器的復雜度問題,即重排序緩沖器是一個占用大量寄存器資源并且有多個并行讀寫端口的復雜器件,耗費大量的功耗,容易出現不必要的延時。文中通過適當的改進方法,優化了重排序緩沖器的結構和性能。
1 超標量處理器中的寄存器重命名技術
1.1?超標量處理器
  現今的超標量處理器都是通過一個時鐘周期內發射多條指令并且亂序執行這些指令來實現多指令并行技術的。
  一般流水線技術的局限在于采用了按序發射指令的機制,指令必須按照原來的順序執行。即如果流水線中出現停頓,那么后續指令則無法前行。因此,若2條緊挨著的指令存在相關關系就會引起停頓。對于有多個功能部件的機器,會造成這些功能的閑置。亂序執行技術允許指令不按照原來的發射順序執行,哪條指令的操作數已經就緒,就可以提前執行。這樣可有效提高指令的執行效率。
1.2?寄存器重命名
  亂序執行帶來的數據相關和控制相關的問題,實質上是由于使用了共同的寄存器資源保存了不同的變量值所引發的[2]。若采用更名的方法,用2個不同的寄存器來保存這2個變量,出現相關的2條指令就能并發執行,不會引起性能的損失。Tomasulo算法就是一種基于寄存器重命名的動態調度算法,并在超標量流水線中得到廣泛應用。
2?重排序緩沖器的分析及相關問題的提出
2.1?重排序緩沖器的原理
  亂序執行會帶來數據沖突和控制沖突,數據沖突問題可以單純地采用保留站的調度技術予以解決,控制沖突的解決則要利用分支預測技術,而分支預測常常會帶來預測的失敗。如果僅僅允許亂序執行而不順序寫回的話,就會出現不可恢復的預測失敗。因此,在Tomasulo算法的基礎上,又采用了一種基于硬件的猜測技術—重排序緩沖器。
  重排序緩沖器本質上也是一種寄存器重命名技術,重排序緩沖器提供了額外的寄存器,就像Tomasulo算法中的保留站擴展了寄存器堆一樣。重排序緩沖器在指令執行結束和指令提交之間保存指令的執行結果。因此,重排序緩沖器可以為指令提供源操作數,就像Tomasulo算法中的保留站一樣提供操作數[3]。在Tomasulo算法中,一旦一條指令寫入它的執行結果,任何后邊的指令都可以在寄存器堆中讀取該結果,在指令提交之前,數據寄存器不用得到更新,由重排序緩沖器在指令執行完畢和提交之前提供操作數。如圖1所示,重排序機制類似于一種旁路機制,這樣可將在重排序緩沖器中保存的某個指令的結果送到等待它的執行單元中,不用經過數據寄存器[4]


  相比提供操作數,重排序緩沖器另一個最大的作用是保證指令有序提交和異常行為恢復執行[4]。提交階段必須按一開始程序的最初順序提交結果到指定的存儲單元。在指令譯碼之后、亂序發射之前,每條指令已經在重排序緩沖器中按序申請到存儲單元。當指令執行完畢,重排序緩沖器就可以保證最終結果順序提交。一旦出現中斷或異常行為,則廢除未提交的剩余所有執行結果,進入中斷處理或從正確的指令處重新開始執行。如圖2所示。

?


2.2?重排序緩沖器的硬件實現
  重排序緩沖器是用于亂序執行后恢復指令原來順序的一種硬件結構,以達到指令結果順序提交的目的??梢园阎嘏判蚓彌_器看作是一個包含頭指針和尾指針的堆棧FIFO[5]。每條指令進入流水線的時候,按照程序的最先順序都在重排序緩沖器中依次占據了一列條目,等指令執行完畢,按照先入先出的順序依次提交指令。當發生中斷或者異常行為時,也能恢復原來的執行順序。重排序緩沖器主要由下列幾個字段構成:
  (1) 指令字段:記錄指令;
  (2) 目標寄存器字段:記錄指令結果要寫入的數據寄存器的地址;
  (3) 數值字段:記錄指令的最后結果,如果結果還沒有得出,則記錄得出該結果的指令在ROB中的地址;
  (4) 完成字段:記錄指令是否執行完畢。
  重排序緩沖器在超標量流水線中的實現如圖3所示。運算單元FU(Floating Unit)計算出結果后,將其寫到重排序緩沖器中。同時通過前置定向總線FB(Forwarding? Bus)送給發射隊列IQ(Instruction Queue)中正在等待該操作數的指令。重排序緩沖器中存儲的結果將在指令退休時送給相應的數據寄存器ARF(Architecture Register Files)中。在指令發射時,操作數的值按照具體情況,既可以從數據寄存器中獲得,也可以從重排序緩沖器中獲得,如果值還沒有計算出來,指令要在發射隊列中等待,直到前置定向總線將運算結果送到發射隊列指定的位置。

?

?

3?重排序緩沖器的復雜性和優化方案
3.1?重排序緩沖器的復雜性

  這類的重排序緩沖器通常以允許多端口同時讀寫的寄存器堆的方式實現。在一個N指令發射的超標量流水線中重排序緩沖器至少需要2N個讀端口,以供N條指令可以在一個時鐘周期內讀取所需要的2N個操作數。至少需要N個寫端口,以供N條指令一個時鐘周期內將結果寫入重排序緩沖器中。
  多端口寄存器堆的實現會加劇設計的復雜度,并且實際的端口數有時還會因為出現雙倍位寬的操作數而加倍。在通常情況下,可以采用雙重排序緩沖器并行存在的方式,以減少每個重排序緩沖器端口的數量。但是,雙倍位寬和單倍位寬的數據常常一起存在,倘若采用雙ROB的形式將不可避免的帶來極大地浪費。
  另外,隨著端口數的增加,寄存器堆的面積也呈快速增長趨勢,這必將導致時序的延遲和功耗的增加。因此,合理地優化重排序緩沖器的結構設計日益成為人們關心的焦點。
3.2 重排序緩沖器結構的優化
  一個優化的方法是去除重排序緩沖器上原操作數讀端口用以簡化寄存器堆的設計。當指令的結果從運算單元送到重排序緩沖器中的同時,通過前置定向總線送到指令發射單元中等待該操作數的指令隊列。之后,該操作數提交給數據寄存器,指令分配單元無法再從重排序緩沖器中讀此操作數。當操作數需要第二次被提取時,而該操作數還沒有被提交給數據寄存器時,常常會因為無法讀重排序緩沖器中的值,出現延遲,造成流水線的阻塞。因此,可以參考計算機中緩存Cache的設計方法,如圖4所示,加一個存儲單元數遠少于重排序緩沖器的數據鎖存器RL(Retention Latches)以存儲指令結果,這樣執行結束的指令結果在寫入重排序緩沖器的同時也并行寫入了數據鎖存器。為了在增加數據鎖存器的基礎上而不增加設計的復雜度,數據鎖存器的存儲量應該盡可能的小,不妨采用LRU算法進行鎖存器內部數據的替換管理。LRU是廣泛應用于計算機緩存Cache中的一種數據替換算法,為了減少替換那些可能不久要用到的信息,需要記錄數據塊的使用次數來預測未來的使用情況[6]。這樣在指令被重排序緩沖器提交給數據寄存器之前,數據鎖存器可以有效解決操作數延遲獲得的問題。

?

  另一個優化的方法,從Tomasulo算法的分布式保留站中得到啟發,將重排序緩沖器由集中式改為分布式,如圖5所示。這樣可以將一個多端口讀寫的重排序緩沖器簡化成多個單端口讀寫的重排序緩沖器。這種方法簡化了原來集中式寄存器堆多端口同時讀寫的復雜度,但也帶來了因為多個分散的重排序緩沖器中指令提交的排序問題。為此,可以在譯碼時給每一條指令加上標志位,指明該指令在程序中的順序,并且標注該指令發送給哪一個運算單元。這樣,在每個緩沖器提交指令或者預測失敗時,便能在多緩沖器間協調讀取指令或者結果。

?

3.3?性能分析
  根據對各種模型的分析,列出表1中的順序執行、改進前的硬件猜測法以及改進后的硬件猜測法3種實現形式,采用Verilog HDL語言對結構進行描述,采用Synopsy公司的Design Compiler工具在0.18 μm的CMOS工藝下進行綜合和時序分析,得出性能的比較如表1所列。

?

  從表1中可以看出,在普通的順序執行算法下,硬件路徑延遲較大,但是面積最??;改進前的硬件猜測算法路徑延遲最小,但是面積最大,帶來了設計上復雜度和功耗損失較大的問題;采用改進后的硬件猜測算法以后,雖然路徑延遲比改進前大,但是面積相對減少很多,并且路徑的延遲相比順序執行仍然減少了不少。因此,采用改進后的硬件猜測算法在減少面積的情況下得到了可觀的效果。
  超標量處理器中的重排序緩沖器對于實現指令的亂序執行和順序提交起著重要的作用。隨著對指令并行度要求的不斷提高,重排序緩沖器的設計結構會越來越復雜。本文提出了幾點改進方法,通過減少單個緩沖器上讀端口的數目,有效地降低了重排序緩沖器的設計復雜度,這對將來的超標量處理器的設計有著深遠影響。


參考文獻
[1]?STEVEN W, NADER B. Modeled and measured instruction fetching performance for superscalar microprocessors. IEEE transaction on parallel and distributed, 1998,9(6).
[2]?JOHN P,MIKKO H L.現代處理器設計——超標量處理器基礎[M].北京:電子工業出版社,2004.
[3]?JOHN L H,DAVID A P.計算機系統結構——量化研究方法(第3版)[M].北京:電子工業出版社,2004.
[4]?鄧正宏,康慕寧,羅旻. 超標量微處理器的研究和應用[J].微電子學與計算機,2004,21(9):59-63.
[5]?TAREK M T, WILLS D S. An instruction throughput model of Superscalar Processors[J]. IEEE Transactions On Computers,2008,57(3).
[6]?李學干. 計算機系統結構[M]. 西安:西安交通大學出版社,2007.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話: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国产精品私拍| 在线免费观看日韩欧美| 欧美天堂亚洲电影院在线观看| 亚洲专区一二三| 夜夜嗨av一区二区三区免费区| 亚洲午夜久久久| 国产精品午夜春色av| 亚洲黄页视频免费观看| 欧美日韩在线另类| 美女网站在线免费欧美精品| 欧美在线免费视频| 欧美日韩精品系列| 欧美成人精品在线观看| 亚洲第一黄色网| 好男人免费精品视频| 国产精品国产a级| 国产精品自拍视频| 亚洲电影毛片| 欧美顶级大胆免费视频| 一区二区在线视频播放| 久久影院午夜片一区| 亚洲视频碰碰| 久久综合伊人77777麻豆| 国产精品夜色7777狼人| 中国成人在线视频| 极品尤物av久久免费看| 在线成人亚洲| 国产女同一区二区| 国产精品一页| 欧美视频一区二区三区在线观看| 99精品99久久久久久宅男| 亚洲欧美日韩一区在线| 亚洲精品影视在线观看| 伊人久久大香线蕉综合热线| 久久午夜电影| 葵司免费一区二区三区四区五区| 欧美成人高清视频| 久热精品视频| 亚洲一区在线观看视频| 欧美一区三区三区高中清蜜桃| 亚洲欧美日韩在线观看a三区| 欧美精品一区在线播放| 香蕉久久夜色精品国产| 国内精品一区二区| 久久精品国产99国产精品澳门| 久久精品一区二区三区四区| 在线综合亚洲欧美在线视频| 麻豆成人综合网| aⅴ色国产欧美| 亚洲综合日本| 亚洲日本va在线观看| 欧美日韩中文字幕在线| 国产日韩欧美黄色| 黄色日韩网站视频| 激情久久综艺| 久久精品91久久久久久再现| 国产日韩三区| 国产一区二区三区丝袜| 国产日韩欧美日韩大片| 国产日韩综合一区二区性色av| 亚洲电影自拍| 影音先锋中文字幕一区二区| 国产精品免费看久久久香蕉| 久久久久久夜精品精品免费| 国精品一区二区三区| 欧美日韩国产在线播放网站| 欧美色图麻豆| 国产精品wwwwww| 激情一区二区| 亚洲欧美日韩中文视频| 中国女人久久久| 久久成年人视频| 国产免费观看久久黄| 在线精品视频免费观看| 欧美日韩国产a| 免费精品视频| 国产欧美精品日韩区二区麻豆天美| 影音先锋亚洲电影| 欧美精品在欧美一区二区少妇| 久久精品国产99国产精品| 蜜桃av一区二区| 亚洲黄色一区| 欧美午夜不卡在线观看免费| 另类天堂视频在线观看| 欧美一区视频| 亚洲视频精选在线| 欧美国产日韩一区二区在线观看| 国产精品久久久久久久久动漫| 欧美本精品男人aⅴ天堂| 一二三四社区欧美黄| 欧美国产另类| 久久久久久久高潮| 国内外成人免费激情在线视频| 欧美日韩专区在线| 亚洲一区二区免费视频| 伊人婷婷欧美激情| 日韩视频精品| 国内成人自拍视频| 国产伦精品一区二区三区高清| 国产精品久久999| 欧美国产激情二区三区| 欧美日本一道本| 国产婷婷成人久久av免费高清| 久久不见久久见免费视频1| 欧美一区二区福利在线| 国产亚洲人成a一在线v站| 一区二区免费在线视频| 久久人人看视频| 玖玖玖免费嫩草在线影院一区| 一本大道av伊人久久综合| 欧美日韩免费观看一区=区三区| 一本一本久久a久久精品综合妖精| 在线不卡中文字幕播放| 99在线|亚洲一区二区| 国产精品久久久999| 久久久久国产精品厨房| 亚洲视频香蕉人妖| 欧美日韩网址| 香蕉免费一区二区三区在线观看| 国产麻豆一精品一av一免费| 另类综合日韩欧美亚洲| 亚洲欧美色一区| 久久精品在线| 欧美成在线观看| 亚洲欧洲一区二区三区| 欧美在线|欧美| 国产亚洲精品v| 国产婷婷97碰碰久久人人蜜臀| 黄色国产精品一区二区三区| 国产精品99久久99久久久二8| 国产在线乱码一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 欧美精品一区二区高清在线观看| 亚洲在线视频一区| 国产精品一区二区在线观看不卡| 亚洲视频在线播放| 亚洲人成7777| 一区二区视频免费完整版观看| 国产精品一页| 国产精品看片资源| 亚洲一区二区在线视频| 欧美乱人伦中文字幕在线| 欧美视频精品一区| 久久精品日韩一区二区三区| 国产亚洲人成网站在线观看| 欧美华人在线视频| 久久夜精品va视频免费观看| 欧美日韩一区在线| 久久国产精品亚洲va麻豆| 亚洲精品乱码久久久久久日本蜜臀| 国产欧美精品| 久久久久高清| 性做久久久久久久久| 欧美韩国一区| 亚洲美女电影在线| 国内成人在线| 欧美激情一区二区在线| 黄页网站一区| 欧美视频国产精品| 国产日韩欧美在线播放| 狠狠网亚洲精品| 欧美日韩一区二区三区视频| 国产欧美精品日韩精品| 欧美午夜精品久久久久久久| 激情视频一区| 欧美精选一区| 欧美国产一区二区三区激情无套| 亚洲高清视频一区二区| 性欧美超级视频| 国产日韩视频| 免费观看日韩| 欧美区视频在线观看| 欧美成年人网站| 亚洲欧洲综合| 欧美大胆a视频| 欧美三级日本三级少妇99| 亚洲国产精品视频| 欧美亚一区二区| 久久精品久久综合| 亚洲国产精品一区二区第一页| 在线激情影院一区| 欧美一区久久| 欧美亚洲网站| 欧美一区2区三区4区公司二百| 欧美va亚洲va国产综合| 国产精品视频xxxx| 欧美风情在线观看| 一区二区三区www| 在线国产精品播放| 国产欧美日韩三级| 欧美日韩一区二区精品| 136国产福利精品导航网址| 9人人澡人人爽人人精品| 欧美日韩精品欧美日韩精品一| 亚洲午夜成aⅴ人片| 欧美在线看片| 一区免费观看视频| 亚洲欧美激情视频在线观看一区二区三区| 另类酷文…触手系列精品集v1小说| 欧美午夜宅男影院| 久久aⅴ国产紧身牛仔裤| 伊人一区二区三区久久精品| 欧美日韩一区二区视频在线| 欧美成人一区二区在线| 一区精品在线播放| 欧美在线日韩精品| 亚洲欧洲免费视频| 欧美巨乳波霸| 黄色成人精品网站| 国产欧美日韩精品专区| 久久嫩草精品久久久久| 国产日韩精品在线播放| 这里只有精品在线播放| 亚洲日本国产| 男人天堂欧美日韩| 亚洲欧美一区在线| 精东粉嫩av免费一区二区三区| 欧美日韩亚洲一区二区三区在线| 久久五月婷婷丁香社区| 午夜精品久久久久久久99水蜜桃| 亚洲伊人观看| 曰本成人黄色| 一区二区视频免费在线观看| 日韩视频永久免费| 媚黑女一区二区| 亚洲第一综合天堂另类专| 久久精品首页| 日韩午夜免费视频| 欧美在线亚洲一区| 午夜精品视频一区| 久久另类ts人妖一区二区| 国产一区二区| 国产精品99久久久久久久女警| 欧美一区激情视频在线观看| 午夜精品久久久久久久99黑人| 亚洲欧美日韩国产一区二区三区| 国产一区二区成人| 欧美成人性生活| 亚洲网址在线| 欧美精品v国产精品v日韩精品| 欧美一区二区日韩| 国产一区日韩欧美| 狠狠干成人综合网| 国产一区美女| 欧美高清视频在线观看| 亚洲欧美日韩一区二区在线| 欧美另类久久久品| 久久精品综合网| 欧美在线关看| 在线视频日本亚洲性| 久久精品久久99精品久久| 国产精品人人爽人人做我的可爱| 亚洲一区二三| 久久亚洲春色中文字幕久久久| 男女激情视频一区| 欧美视频不卡中文| 亚洲成人在线免费| 亚洲一品av免费观看| 国产精品久久国产三级国电话系列| 国产精品白丝av嫩草影院| 美女久久一区| 日韩视频在线你懂得| 国产精品高潮呻吟久久| 亚洲电影av在线| 亚洲国产成人精品女人久久久| 亚洲黄色有码视频| 久久aⅴ乱码一区二区三区| 西西裸体人体做爰大胆久久久| 国产精品成人免费精品自在线观看| 亚洲人成网站在线观看播放| 亚洲精品一区二区在线| 亚洲欧美成人一区二区在线电影| 亚洲男人影院| 亚洲国产欧美一区二区三区同亚洲| 狠狠色综合网站久久久久久久| 欧美猛交免费看| 欧美三级视频在线播放| 午夜视黄欧洲亚洲| 玖玖玖免费嫩草在线影院一区| 欧美成人免费网站| 欧美电影资源| 国产日韩欧美精品一区| 国产字幕视频一区二区| 欧美v国产在线一区二区三区| 欧美黄色免费| 久久久久久久久久久一区| 欧美日本高清视频| 国产偷自视频区视频一区二区| 国产午夜精品视频免费不卡69堂| 欧美在线视频免费观看| 国产精品国产馆在线真实露脸| 亚洲国产精品久久久久秋霞不卡| 亚洲精品一区中文| 久久综合五月天婷婷伊人| 午夜精品久久久99热福利| 国产精品日韩一区| 亚洲欧美成aⅴ人在线观看| 亚洲午夜国产一区99re久久| 欧美国产视频日韩| 久久精品日韩| 亚洲大胆人体视频| 欧美成人dvd在线视频| 欧美成人精精品一区二区频| 久久av一区二区三区亚洲| 亚洲欧洲日本在线| 国产亚洲欧美另类中文| 99精品国产福利在线观看免费| 欧美午夜视频在线| 性色一区二区三区| 欧美一区二区三区在线播放| 欧美一级视频一区二区| 99国产精品久久久| 欧美激情第4页| 国产精品久久久久影院亚瑟| 亚洲高清视频一区| 亚洲成色999久久网站| 国产午夜亚洲精品理论片色戒| 欧美在线视频一区二区| 亚洲一区二区网站|