[發明專利]一種松耦合結構的并行多核全系統模擬器在審
| 申請號: | 201611108730.9 | 申請日: | 2016-12-06 |
| 公開(公告)號: | CN106775597A | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 張為華;李弋;魯云萍 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/50 |
| 代理公司: | 上海正旦專利代理有限公司31200 | 代理人: | 陸飛,陸尤 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 耦合 結構 并行 多核 全系統 模擬器 | ||
技術領域
本發明屬于計算機技術領域,具體涉及一種并行多核處理器的全系統模擬器。
背景技術
隨著多核技術的不斷發展,微處理器結構變得越來越復雜,開發成本越來越高,開發周期也越來越長。如何驗證設計的有效性,對提高設計的效率和成功率起著至關重要的作用,模擬便是為了達到這一目的而廣泛使用的技術。模擬器在處理器設計或體系結構研究中的作用也變得不可或缺。一方面,硬件設計者可以對模擬器進行擴展,從而對未來的處理器進行設計和驗證。同時,設計者也可以使用模擬器來測試處理器各個功能部件在不同配置下運行各種測試程序的結果,并基于對結果的分析確定每個功能部件對處理器整體性能的影響程度,從而深入理解處理器的行為,進而改進處理器的設計,提高性能。另一方面,軟件開發者也可以在硬件投產前,基于模擬器平臺為對應硬件平臺開發各種軟件產品,加速軟硬件產品的市場化進程。
軟件模擬技術通過軟件程序來模擬處理器系統部分或全部的功能,并給出各種所需模擬結果。具體說來,軟件模擬技術不但可以準確地模擬硬件的各種功能和行為,還可以靈活的修改被模擬目標架構的結構、組件以及行為。同時,由于軟件易于擴展,也可以有效克服硬件驗證靈活性差、應用面窄、開發周期長等缺點。由于這些特征,軟件模擬技術作為一種至關重要的手段,已廣泛應用于處理器設計和體系結構研究的方方面面。
目前,主流體系結構模擬器主要包括功能模擬模型和時序模擬模型兩部分。功能模擬模型一般只完成處理器硬件的各種功能模擬,而不模擬處理器各個組成部分的微體系結構特征。因此,功能模擬模型只能用來測試程序在一個平臺上執行結果的正確性,而不能給出性能和時序行為數據,因此無法進行深入分析,也沒辦法進行不同處理器設計的比較。時序模擬模型則能根據實際需要,模擬處理器整體或者部分功能單元在每個時鐘周期內的微體系結構的各種行為和反應,包括流水線、功能單元和存儲結構等。時序模擬模型不僅可以確認結果的正確性,還可以獲得程序執行過程中處理器的各種性能指標,因此在相關研究和設計中有著更廣泛的應用。
由于模擬器的重要性和多核結構的普及,各種功能更全的功能模擬模型不斷涌現,如Simics,QEMU,COREMU;而各種更加精確和快速的新型時序模擬模型也不斷涌現,如GEMS,MPTLSim,RAMP GOLD。目前主流多核模擬器通常采用緊耦合設計,即功能模擬和時序模擬需要在每個時鐘周期都進行交互。一方面,這樣的設計增加了模擬器擴展的難度:給模擬器增添新的功能或者時序模擬模型通常需要幾個人年的時間,如研究人員花費了數年的時間整合M5和GEMS模擬器(gem5),而擴展PTLSim使之支持QEMU也用去了數年的時間(MARSS)。另一方面,緊耦合設計中過多的交互也引入了許多額外的開銷,不僅降低了多核模擬器的性能,也阻礙了模擬器功能模擬和時序模擬有效并行的可能。
發明內容
本發明的目的在于提供一種執行力度強、模擬性能好,并具有擴展功能的并行多核處理器的全系統模擬器。
本發明提供的并行多核處理器的全系統模擬器,是一種軟件實現的模擬系統。具體而言,本發明在邏輯上把功能模擬模型和時序模擬模型分開,采用完全松耦合的設計架構:功能模擬模型只負責功能模擬部分,時序模擬模型只負責模擬器的時序部分。模擬指令時,模擬器采用功能優先的結構,功能模擬模型先于時序模擬模型執行,為時序模擬模型提供相關的信息;模擬器的功能模擬和時序模擬模塊通過體系結構無關的通用接口進行交互。為了保證模擬器的精確性,本發明設計了差異檢測和調節模塊,負責檢測功能模擬和時序模擬模塊之間行為的差異。當檢測到差異時,該模塊再根據引起差異的具體原因進行調節。
本發明提供的并行多核處理器的全系統模擬器,其框架結構可分為4個主要部分:功能模擬模塊、時序模擬模塊、通用接口、差異檢測和調節模塊。其中:
(1)功能模擬模塊,實現特定的功能模擬模型,主要負責執行指令和收集應用程序和操作系統的執行信息,并將指令分解成時序模擬所需的體系結構無關的指令流和數據流信息,寫入到功能模擬模塊和時序模擬模塊中間的通用接口,從而傳送給時序模擬模塊;
(2)時序模擬模塊,實現特定的時序模擬模型,負責從通用接口中取得指令的接口信息,對指令進行時序模擬,并更新體系結構的狀態信息;
(3)通用接口,該模塊里面包含一個指令緩沖區和一個內存訪問表(Memory Access Table, MAT)結構。指令緩沖區主要負責存放功能模擬模型傳遞的指令流信息,MAT則主要負責存儲內存訪問的數據流信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611108730.9/2.html,轉載請聲明來源鉆瓜專利網。





