[發明專利]一種模擬器的生成方法及裝置有效
申請號: | 201110369445.3 | 申請日: | 2011-11-18 |
公開(公告)號: | CN102521011A | 公開(公告)日: | 2012-06-27 |
發明(設計)人: | 葉寒棟;趙鵬;鄭森火;曹炯 | 申請(專利權)人: | 華為技術有限公司 |
主分類號: | G06F9/455 | 分類號: | G06F9/455 |
代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 模擬器 生成 方法 裝置 | ||
技術領域
本發明涉及生成模擬器領域,尤其涉及一種模擬器的生成方法及裝置。
背景技術
在設計一款芯片的同時,相應的軟件也必須同時設計和實現,此時由于沒有真實的芯片存在,所以必須有一種手段能夠模擬真實芯片的動作,為軟件的設計和調試提供環境。模擬器就是具備這種功能的軟件。
模擬器的基本原理是首先讀入一段二進制的指令碼流,通過解碼器將其翻譯成匯編指令,然后按照指令的定義模擬指令的動作,最終實現這段代碼在目標芯片上的功能。
現有的技術方案中,模擬器的一種生成方法是通過模擬器開發人員手工編寫解碼算法。這種方法的主要流程是:
1、人工分析指令集的編碼格式,確定操作碼涉及的位域。
2、人工確定各個位域在解碼算法中應用的先后順序。
3、人工確定每條指令在各個位域上對應的值。
4、人工編寫代碼,按照上述位域的順序,針對每個位域可能出現的值進行區分,如果可以確定操作碼則返回操作碼,否則進入下一個位域比較。
現有的技術方案中,模擬器的另一種生成方法是通過模擬器開發人員手工分析指令集的編碼格式,通過工具產生最終代碼,這種方法稱為半人工方法。這種方法的主要流程是:
1、人工分析指令集的編碼格式,人工分割二進制指令的位域。
2、人工確定各個位域在解碼算法中應用的先后順序。
3、人工確定每條指令在各個位域上對應的值。
4、通過工具產生代碼。
在實現上述模擬器的生成方法的過程中,發明人發現現有技術中至少存在如下問題:
首先,人工分析和編寫代碼的工作量很大,且容易出錯,后期測試代價高;其次,人工分析和編寫代碼工期長;再次,通常模擬器的開發是和芯片設計同步進行的,即指令集及其編碼格式還沒有最終確定時模擬器就要投入開發和應用,這就意味著模擬器的解碼算法是可能隨時更改的,并且要求能夠迅速完成這個更改并投入使用。人工方法或是半人工方法無法適應這種要求。
基于這些問題,模擬器無法實現快速移植,不具有高效性。
發明內容
本發明的實施例提供一種模擬器的生成方法及裝置,用于實現模擬器的快速移植性和高效性。
為達到上述目的,本發明的實施例采用如下技術方案:
一種模擬器的生成方法,包括:
獲取指令集配置文件;根據所述指令集配置文件生成解碼表和解碼算法;所述解碼表包括:指令碼表,指令描述表和位域表;其中,所述指令碼表中記錄有匯編指令操作碼,所述指令描述表記錄有每條匯編指令操作碼的詳細信息,所述位域表記錄有計算每一個操作數位域上的數值的方法;根據所述解碼表、所述解碼算法和模塊代碼生成模擬器;所述模塊代碼是用于模擬匯編指令的動作的代碼和解碼過程中非解碼算法的代碼。
一種模擬器的生成裝置,包括:
獲取單元,用于獲取指令集配置文件;解釋器,用于根據所述指令集配置文件生成解碼表和解碼算法;所述解碼表包括:指令碼表,指令描述表和位域表;其中,所述指令碼表中記錄有匯編指令操作碼,所述指令描述表記錄有每條匯編指令操作碼的詳細信息,所述位域表記錄有計算每一個操作數位域上的數值的方法;編譯器,用于根據所述解碼表、所述解碼算法和模塊代碼生成模擬器;所述模塊代碼是用于模擬匯編指令的動作的代碼和解碼過程中非解碼算法的代碼。
本發明實施例提供了一種模擬器的生成方法及裝置,首先獲取指令集配置文件,然后,根據指令集配置文件生成解碼表和解碼算法,最后,在根據解碼表,解碼算法和模塊代碼生成模擬器。這種生成模擬器的方法及裝置不需要人工分析,還可以利用查找解碼表的方法來定位,保證了模擬器的可移植性和高效性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種模擬器的生成方法的流程圖;
圖2為圖1中生成解碼表的流程圖;
圖3為圖1中生成解碼算法的流程圖;
圖4為本發明實施例提供的一種模擬器的生成方法的解碼算法解析圖;
圖5為本發明實施例提供的一種模擬器的生成方法的解碼算法一種流程圖;
圖6為本發明實施例提供的一種模擬器的生成方法的解碼算法的又一解析圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110369445.3/2.html,轉載請聲明來源鉆瓜專利網。