[發明專利]處理器的模擬方法、功能模擬器、性能模擬器和模擬系統在審
| 申請號: | 201610799082.X | 申請日: | 2016-08-31 |
| 公開(公告)號: | CN107783817A | 公開(公告)日: | 2018-03-09 |
| 發明(設計)人: | 張傳德;王金堂;張海勇 | 申請(專利權)人: | 杭州華為數字技術有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 北京龍雙利達知識產權代理有限公司11329 | 代理人: | 許振新,王君 |
| 地址: | 310052 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理器 模擬 方法 功能 模擬器 性能 系統 | ||
技術領域
本發明實施例涉及通信領域,并且更具體地,涉及處理器的模擬方法、功能模擬器、性能模擬器和模擬系統
背景技術
多核處理器設計的時候需要考慮各種因素:多級緩存(cache)大小、寄存器個數和位數、流水線調度策略、處理器核心(core)間消息傳遞、浮點模塊等等。這些參數的設置將影響到處理器的性能,或者影響到處理器在某些測試的表現。
模擬器(simulator),是指主要通過軟件模擬硬件處理器的功能和指令系統,從而能夠運行其它平臺的軟件的設備。模擬器可以模擬硬件處理器的行為,表現出硬件處理器運行狀態和結果,從而使得上述參數的設置達到最佳性能。用戶通過在模擬器上運行基準(Benchmark)測試程序,得到測試結果以衡量模擬器本身的性能和硬件參數設置是否合理。用戶通過調整模擬器硬件中多級緩存(cache)大小、寄存器個數和位數、流水線調度策略等參數,可以影響到處理器的實際性能,例如測試程序運行時間、cache miss率、分支預測率、流水線失效等。
現代處理器設計考慮的不僅僅是單個處理器核(core)的頻率和執行效率,更多的是考慮到多core處理器間的協作執行效率?,F有技術通過一個模擬系統進行協作執行效率的測試,該模擬系統包括功能模擬器(Functional Simulator,FS)和性能模擬器(Performance Simulator,PS)。在一個模擬周期內,模擬器中的功能模擬器和一個core運行一個翻譯塊(Translation Block,TB)后進入等待狀態,性能模擬器中對應的core將執行該TB對應的基本塊(Basic Block,BB),性能模擬器執行該BB后喚醒功能模擬器執行下一個TB。在一個模擬周期內,FS和PS執行的都是相同的指令,得到相同的運算結果。
分支預測功能是現代處理器里的一個重要功能,處理器可以通過提前獲取下一段運行指令,從而加速處理器執行,提高執行效率?,F有的模擬系統中功能模擬器和性能模擬器在性能模擬器的分支預測失敗時需要多次交互指令,影響了模擬系統的整體性能。
發明內容
本發明實施例提供一種處理器的模擬方法、功能模擬器、性能模擬器和模擬系統,能夠在性能模擬器的分支預測失敗時減少功能模擬器和性能模擬器的交互指令,從而實現性能模擬的加速,提高了模擬系統性能模擬的效率。
第一方面,提出了一種處理器的模擬方法,該方法包括:功能模擬器接收性能模擬器發送的第一請求消息,該第一請求消息攜帶預測地址,該預測地址是該性能模擬器執行第一基本塊的過程中通過分支預測得到的下一個基本塊的預測地址,該第一請求消息用于請求該預測地址對應的基本塊,該第一基本塊是該功能模擬器當前已經執行完畢的基本塊,其中,該基本塊為順序執行的指令塊;如果該功能模擬器確定該預測地址與第二基本塊的地址不一致,則該功能模擬器將該第二基本塊及該預測地址對應的基本塊發送給該性能模擬器,其中,該第二基本塊為該功能模擬器執行完第一基本塊確定的下一個基本塊。
應理解,本發明實施例中,功能模擬器上運行著操作系統及測試程序,用于模擬指定處理器的硬件參數并得到運算的結果。性能模擬器用于模擬該指定處理器的硬件參數,接收并執行該功能模擬器執行的指令得到運算的結果和性能參數。應理解,本發明實施例的性能模擬器可能只有指定處理器的模擬器,不能運行全系統的操作系統,性能模擬器運行的指令塊來自于功能模擬器。功能模擬器和性能模擬器執行相同的指令,得到相同的運算結果。
應理解,本發明實施例的基本塊,可以是處理器或模擬處理器執行的最小指令單元。
在本發明實施例中,功能模擬器根據性能模擬器對預測的基本塊的請求,在預測的基本塊的地址與第二基本塊的地址不一致時,向性能模擬器反饋待執行的第二基本塊及預測地址所對應的基本塊,能夠避免與性能模擬器進行多次指令交互,從而實現性能模擬的加速,提高了模擬系統性能模擬的效率。
結合第一方面,在第一種可能的實現方式中,該方法還包括:該功能模擬器在等待該性能模擬器發送該第一請求消息或等待該性能模擬器執行該第一基本塊的過程中,根據該第二基本塊的地址讀取該第二基本塊并翻譯,并將該第二基本塊經翻譯后的翻譯塊放入該功能模擬器的翻譯塊緩存空間,以便該功能模擬器在執行該第二基本塊時直接從翻譯塊緩存空間獲取該第二基本塊的翻譯塊進行執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華為數字技術有限公司,未經杭州華為數字技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610799082.X/2.html,轉載請聲明來源鉆瓜專利網。





