欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法

文檔序號(hào):40817657發(fā)布日期:2025-01-29 02:36閱讀:8來(lái)源:國(guó)知局
一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法

本發(fā)明屬于處理器設(shè)計(jì)和測(cè)試,具體是涉及一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法。


背景技術(shù):

1、隨著集成電路技術(shù)的發(fā)展和現(xiàn)代處理器架構(gòu)的不斷演進(jìn),處理器作為現(xiàn)代計(jì)算機(jī)系統(tǒng)的核心和關(guān)鍵部件,其復(fù)雜性在急劇增加。這種復(fù)雜性對(duì)處理器的功能驗(yàn)證提出了更高的要求,尤其是在浮點(diǎn)運(yùn)算單元的驗(yàn)證方面。由于浮點(diǎn)運(yùn)算具有特殊的數(shù)據(jù)編碼格式和復(fù)雜的計(jì)算過(guò)程,因此容易引發(fā)各種邊界情況和潛在錯(cuò)誤。因此,確保浮點(diǎn)運(yùn)算的正確性和可靠性是處理器設(shè)計(jì)和驗(yàn)證中的關(guān)鍵任務(wù)。

2、目前,處理器驗(yàn)證主要采用基于仿真的驗(yàn)證方法。這種方法通常使用指令集模擬器作為參考模型,將用于驗(yàn)證的指令序列輸入到指令集模擬器和待測(cè)處理器中,比較二者的執(zhí)行結(jié)果以找出潛在錯(cuò)誤。該方法的驗(yàn)證效率很大程度上取決于輸入指令序列的質(zhì)量和多樣性。因此,生成高質(zhì)量、高覆蓋率的指令序列成為驗(yàn)證的核心技術(shù)之一。為了解決指令序列生成的問(wèn)題,隨機(jī)指令序列生成技術(shù)得到了廣泛研究。

3、risc-v作為一種開源的精簡(jiǎn)指令集架構(gòu),以其模塊化的設(shè)計(jì)特點(diǎn)在工業(yè)界和學(xué)術(shù)界得到了廣泛應(yīng)用。risc-v指令集架構(gòu)由一個(gè)基礎(chǔ)指令集和若干可選擴(kuò)展指令集組成,針對(duì)浮點(diǎn)運(yùn)算的擴(kuò)展指令集主要包括f擴(kuò)展(單精度)、d擴(kuò)展(雙精度)以及q擴(kuò)展(四精度)。目前,針對(duì)risc-v的驗(yàn)證,通常使用的指令序列生成器有risc-v?dv、risc-v?torture等,它們采用約束隨機(jī)的生成方法生成匯編格式的指令序列。然而,這些risc-v指令序列生成器在浮點(diǎn)方面存在著一定的局限性,往往僅在浮點(diǎn)指令層面進(jìn)行約束隨機(jī),而在浮點(diǎn)數(shù)據(jù)方面通常只將浮點(diǎn)寄存器初始化為特殊值,缺乏在指令生成過(guò)程中進(jìn)行進(jìn)一步控制,從而導(dǎo)致浮點(diǎn)數(shù)據(jù)功能覆蓋不夠全面。另外,在現(xiàn)有專利中也鮮有專門針對(duì)risc-v指令集的浮點(diǎn)運(yùn)算單元的驗(yàn)證方法。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明要解決的技術(shù)問(wèn)題是提供一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,用以對(duì)處理器的浮點(diǎn)數(shù)據(jù)通路進(jìn)行高效而全面的驗(yàn)證。

2、為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,包括過(guò)程具體為:

3、s1、構(gòu)建浮點(diǎn)測(cè)試覆蓋模型并生成浮點(diǎn)測(cè)試數(shù)據(jù)庫(kù);

4、s2、構(gòu)建基礎(chǔ)risc-v指令序列生成器;

5、s3、在基礎(chǔ)指令risc-v序列生成器基礎(chǔ)上添加內(nèi)存綁定的寄存器更新機(jī)制,生成內(nèi)存的初始化數(shù)據(jù);

6、s4、將生成的指令機(jī)器碼與內(nèi)存初始化數(shù)據(jù)注入待驗(yàn)證處理器內(nèi)存進(jìn)行仿真,比較仿真得到的執(zhí)行軌跡與指令集模擬器的執(zhí)行軌跡,以找出處理器中的潛在錯(cuò)誤。

7、作為本發(fā)明的一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法的改進(jìn):

8、所述構(gòu)建浮點(diǎn)測(cè)試覆蓋模型并生成浮點(diǎn)測(cè)試數(shù)據(jù)庫(kù)的方法為:

9、浮點(diǎn)測(cè)試覆蓋模型包括浮點(diǎn)數(shù)據(jù)的覆蓋模型和浮點(diǎn)運(yùn)算特性的覆蓋模型,浮點(diǎn)數(shù)據(jù)的覆蓋模型為先將浮點(diǎn)數(shù)據(jù)按基本類型和邊界值進(jìn)行分類,然后為每種浮點(diǎn)運(yùn)算的輸入輸出操作數(shù)生成所有可能的浮點(diǎn)數(shù)據(jù)類型組合,每種組合作為一個(gè)驗(yàn)證任務(wù);浮點(diǎn)運(yùn)算特性的覆蓋模型為針對(duì)浮點(diǎn)運(yùn)算舍入的邊界情況以及上溢、下溢等邊界情況構(gòu)建的驗(yàn)證任務(wù);

10、將浮點(diǎn)測(cè)試覆蓋模型的驗(yàn)證任務(wù)的約束求解得到的代表性浮點(diǎn)測(cè)試構(gòu)成浮點(diǎn)測(cè)試數(shù)據(jù)庫(kù)。

11、作為本發(fā)明的一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法的進(jìn)一步改進(jìn):

12、所述構(gòu)建基礎(chǔ)risc-v指令序列生成器的方法為:

13、首先對(duì)risc-v指令進(jìn)行建模,并依據(jù)用戶輸入的模板生成指令序列;然后將每條生成的指令送入指令集模擬器進(jìn)行模擬,根據(jù)指令模擬結(jié)果更新模型中的狀態(tài)信息,得到的執(zhí)行軌跡反饋給指令序列生成器后,更新狀態(tài)信息;

14、基礎(chǔ)risc-v指令序列生成器將輸出指令機(jī)器碼以及指令集模擬器仿真的執(zhí)行軌跡。

15、作為本發(fā)明的一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法的進(jìn)一步改進(jìn):

16、所述添加內(nèi)存綁定的寄存器更新機(jī)制的方法為:

17、步驟s3.1、所述基礎(chǔ)risc-v指令序列生成器中的每條指令生成后,進(jìn)行寄存器更新檢測(cè);

18、步驟s3.2、檢測(cè)到需要觸發(fā)浮點(diǎn)寄存器更新機(jī)制后,隨機(jī)選擇更新的浮點(diǎn)寄存器;對(duì)于每個(gè)待更新的浮點(diǎn)寄存器,插入一條flw指令,每條flw指令對(duì)應(yīng)一段未使用的內(nèi)存和一個(gè)需要更新的浮點(diǎn)寄存器;生成每條用于浮點(diǎn)寄存器更新的flw指令后,生成器中記錄浮點(diǎn)寄存器與內(nèi)存地址的綁定信息;

19、步驟s3.3、繼續(xù)指令序列生成,當(dāng)選擇生成的指令的源寄存器為浮點(diǎn)寄存器時(shí),進(jìn)行浮點(diǎn)測(cè)試選擇,包括指令無(wú)關(guān)的浮點(diǎn)測(cè)試和指令相關(guān)的浮點(diǎn)測(cè)試;

20、步驟s3.4、指令操作數(shù)選擇,對(duì)于每個(gè)選擇了浮點(diǎn)測(cè)試的源寄存器,從浮點(diǎn)寄存器與內(nèi)存地址的綁定關(guān)系中選擇一個(gè)綁定的浮點(diǎn)寄存器作為該源寄存器,如果未選擇浮點(diǎn)測(cè)試的源寄存器,則根據(jù)基礎(chǔ)指令序列生成器的方法隨機(jī)選??;

21、步驟s3.5、更新模擬器中內(nèi)存與寄存器中數(shù)據(jù),確定源寄存器與對(duì)應(yīng)浮點(diǎn)測(cè)試信息后,需要將指令集模擬器中每個(gè)更新的浮點(diǎn)測(cè)試數(shù)據(jù)對(duì)應(yīng)的寄存器及綁定的內(nèi)存地址中的值直接更新為相應(yīng)的數(shù)值;

22、步驟s3.6、輸出內(nèi)存初始化信息并更新生成器狀態(tài),每條指令執(zhí)行上述步驟后,輸出更新后的源寄存器對(duì)應(yīng)的綁定內(nèi)存地址及浮點(diǎn)數(shù)值作為內(nèi)存初始化信息;同時(shí),從浮點(diǎn)寄存器與內(nèi)存綁定列表中刪除已更新的寄存器,并將指令的源寄存器和目的寄存器中的浮點(diǎn)寄存器記錄到被使用的寄存器列表中,等待后續(xù)更新。

23、作為本發(fā)明的一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法的進(jìn)一步改進(jìn):

24、所述指令無(wú)關(guān)的浮點(diǎn)測(cè)試為部分浮點(diǎn)源寄存器從所述浮點(diǎn)數(shù)據(jù)的覆蓋模型的類型中選擇浮點(diǎn)值進(jìn)行更新;

25、所述指令相關(guān)的浮點(diǎn)測(cè)試為從所述浮點(diǎn)測(cè)試數(shù)據(jù)庫(kù)中選擇浮點(diǎn)測(cè)試,所有的浮點(diǎn)源寄存器都需更新為浮點(diǎn)測(cè)試中對(duì)應(yīng)的浮點(diǎn)數(shù)值。

26、本發(fā)明的有益效果主要體現(xiàn)在:

27、本發(fā)明構(gòu)造了高效的覆蓋模型以生成代表性的浮點(diǎn)測(cè)試數(shù)據(jù),采用內(nèi)存綁定的寄存器更新機(jī)制將浮點(diǎn)測(cè)試與指令生成相結(jié)合生成。與現(xiàn)有的risc-v指令序列生成方法相比,實(shí)現(xiàn)了浮點(diǎn)操作數(shù)據(jù)類型的全面覆蓋,能夠?qū)μ幚砥鞯母↑c(diǎn)數(shù)據(jù)通路進(jìn)行更全面的驗(yàn)證,用以克服現(xiàn)有方法在risc-v指令生成過(guò)程中浮點(diǎn)方面的不足,發(fā)現(xiàn)處理器中潛在的設(shè)計(jì)缺陷。



技術(shù)特征:

1.一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,其特征在于包括過(guò)程具體為:

2.根據(jù)權(quán)利要求1所述的一種全面驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,其特征在于:

3.根據(jù)權(quán)利要求2所述的一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,其特征在于:

4.根據(jù)權(quán)利要求3所述的一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,其特征在于:

5.根據(jù)權(quán)利要求4所述的一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,其特征在于:


技術(shù)總結(jié)
本發(fā)明涉及處理器設(shè)計(jì)和測(cè)試技術(shù)領(lǐng)域,公開了一種驗(yàn)證處理器浮點(diǎn)運(yùn)算的指令序列生成方法,包括構(gòu)建浮點(diǎn)測(cè)試覆蓋模型并生成浮點(diǎn)測(cè)試數(shù)據(jù)庫(kù),構(gòu)建基礎(chǔ)RISC?V指令序列生成器;在基礎(chǔ)指令RISC?V序列生成器基礎(chǔ)上添加內(nèi)存綁定的寄存器更新機(jī)制,生成內(nèi)存的初始化數(shù)據(jù);將生成的指令機(jī)器碼與內(nèi)存初始化數(shù)據(jù)注入待驗(yàn)證處理器內(nèi)存進(jìn)行仿真,比較仿真得到的執(zhí)行軌跡與指令集模擬器的執(zhí)行軌跡,以找出處理器中的潛在錯(cuò)誤。本發(fā)明構(gòu)造了高效的覆蓋模型以生成代表性的浮點(diǎn)測(cè)試數(shù)據(jù),能夠?qū)μ幚砥鞯母↑c(diǎn)數(shù)據(jù)通路進(jìn)行更全面的驗(yàn)證,用以克服現(xiàn)有方法在RISC?V指令生成過(guò)程中浮點(diǎn)方面的不足,發(fā)現(xiàn)處理器中潛在的設(shè)計(jì)缺陷。

技術(shù)研發(fā)人員:劉鵬,鹿天瑤,吳佳歡
受保護(hù)的技術(shù)使用者:浙江大學(xué)
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/28
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
涿州市| 阿坝| 资溪县| 永寿县| 保康县| 环江| 建宁县| 阳曲县| 石屏县| 进贤县| 垦利县| 宣汉县| 会理县| 崇仁县| 舟曲县| 永春县| 安泽县| 清原| 德格县| 策勒县| 赤水市| 乐东| 大港区| 阜宁县| 琼海市| 剑河县| 元阳县| 邹城市| 临安市| 靖远县| 淮南市| 榆社县| 三亚市| 闸北区| 哈巴河县| 大名县| 西平县| 台南县| 林口县| 柳林县| 张掖市|