NCKUSoCASICLab05Duan,RueiMin,段睿闽-成功大学.ppt

NCKUSoCASICLab05Duan,RueiMin,段睿闽-成功大学.ppt

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NCKUSoCamp;ASICLab05Duan,RueiMin,段睿闽-成功大学.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 在翻譯私有儲存空間(Tcache)中維護的資料結構 翻譯過地址表(Translated Address Table,TAT) 是一個散列表,用於擷指單元根據來源結構機器碼片段的入口地址判斷快取中是否存在翻譯過的基本區塊並快速找到相應的基本區塊入口地址。 TAT 是SPC-TPCTLB 的內容。 在完成一段機器碼的翻譯後,翻譯器將翻譯後基本區塊加入快取,並更新此表中的SPC-TPC 對應關係。 翻譯過頁面表(Translated Page Table,TPT) 是一個散列表。 處理器在處理自行修改機器碼(SMC)時需要清除所有受自行修改機器碼影響的基本區塊,而虛擬機協同處理器中自行修改機器碼檢測的處理以頁面為單位進行。 通過TPT 可以根據頁面地址快速找到所有包含此頁機器碼的基本區塊。 完成機器碼片段翻譯後,翻譯器需要更新此表。 快取頁面表(Cached Page Table,CPT) 是一個旗標陣列,每一位對應來源結構可見 物理記憶體的一頁。若此表中某物理記憶體頁面對應的旗標被設置,則表示該頁面的來源結構指令在系統中存在副本。 CPT 中一頁的旗標被設置是協同處理器執行該頁中機器碼所對應基本區塊的必要條件。這保證所有的基本區塊執行受虛擬機協同處理器中SMC 檢測機制的保護。 設置CPT 是軟硬體整合虛擬機中處理SMC 問題的需要。 TAT 和CPT 是由處理器硬體與翻譯最佳化軟體所共享,對這兩個表的存取需要進行互斥檢查。 自行修改機器碼檢測 自行修改機器碼(SMC: Self-Modifying Code)是指來源體系結構程式對自身機器碼進行修改。 通常的處理器由於在擷指佇列、指令緩衝中包含了多個指令的備份,需要使用監聽機制來捕獲這種對於快取機器碼的修改,當檢測到對己經快取的機器碼進行修改時,需要將快取內容作廢,重新從記憶體中擷指,以避免執行錯誤的機器碼。 二進制碼翻譯處理器執行的翻譯後機器碼是相對於來源結構指令在記憶體中的一個副本,相當於通常處理器的指令緩衝副本,虛擬機協同處理器核心必須能夠檢測到SMC,以避免因執行基本區塊快取中對舊機器碼的翻譯結果而產生錯誤。 完全的相容性要求所有的SMC 都被檢測和處理,在本文中有兩點措施保證滿足此要求。 首先,由SPC-TPC TLB 中Cached 位元被設置的時機可知,只要CPT中一頁的標識被設置,則該頁物理地址在D-TLB 中,其Cached 位元是設置的,這保證了所有的SMC 都將被檢測到。 其次,翻譯私有記憶體(Tcache)中快取的基本區塊被執行時,其所在頁面對應的CPT 中的旗標是設置的。 這說明它從開始翻譯到被執行期間都沒有發生針對該頁的修改,否則CPT 旗標會被清除。 在取消可能正在執行的翻譯後機器碼片段和清除相應頁面的CPT 旗標兩種運算都進行清除CPT 旗標的運算,避免了在翻譯器清除的同時,處理器核心又重新設置旗標的競爭條件。 執行執行緒(Execution Thread ,ExT )和翻譯執行緒(Translation Thread,TrT) 主流程的任務可以分配到兩個執行緒上執行,分別稱為 ExT進行來源體系結構指令的直譯執行和翻譯過機器碼片段的執行;TrT負責把程式中的熱點機器碼翻譯為目標結構指令,最佳化多次執行的機器碼,以及進行翻譯快取的管理。 來源指令程式執行的profile 資訊的收集由兩個執行緒整合完成。 軟硬體整合平台的並行翻譯最佳化模型 在底層硬體上,ExT 和TrT 分別在兩個對等的硬體執行實體上運行,如圖所示,本文分別稱這兩個執行實體為執行處理單元(Execution Processing Unit,ExU)和翻譯處理單元(Translation Processing Unit, TrU) 。 出於簡化硬體設計的考慮,TrU 可以和ExU 異構,採用一個自行設計的FPGA 協同處理器核心即可。 兩個處理單元之間主要通過共享二進制碼翻譯私有記憶體(Tcache)進行通訊,同時設置簡單的硬體緩衝區與處理器間中斷等通訊機制以提高系統運行效率。 翻譯處理單元作為協同處理器 從來源體系結構指令的角度看,整個並行二進制碼翻譯系統構成執行來源結構指令的處理器。 其中,ExU 對來源結構指令的直譯/翻譯執行相當於核心處理器,而TrU 對指令的翻譯最佳化相當於一個指

文档评论(0)

2752433145 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档