• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      功能精確型多核處理器參考模型設(shè)計

      2013-12-02 14:12:46紀(jì)麗婧汪國鋒周曉慧
      關(guān)鍵詞:參考模型時序指令

      紀(jì)麗婧,汪國鋒,周曉慧

      (1.杭州電子科技大學(xué)自動化學(xué)院,浙江 杭州310018;2.浙江省福利彩票發(fā)行中心技術(shù)部,浙江 杭州310012)

      0 引 言

      嵌入式產(chǎn)品應(yīng)用的日益復(fù)雜促使系統(tǒng)對處理器的性能需求越來越高,多核處理器已逐漸成為嵌入式系統(tǒng)應(yīng)用的主要選擇之一[1]。復(fù)雜的多核處理器及其高速緩存一致性使得其功能驗證愈加龐大[2]。為在驗證中盡早發(fā)現(xiàn)設(shè)計缺陷,如何構(gòu)建和實(shí)現(xiàn)高效準(zhǔn)確的多核處理器參考模型已成為關(guān)鍵問題和重大挑戰(zhàn)[3-4]。現(xiàn)在主流的多核處理器參考模型分為時序精確型參考模型[5]、傳輸級精確型參考模型[6]和功能級精確型參考模型[7]。時序精確型參考模型的特點(diǎn)是:能精確模擬硬件細(xì)節(jié),能夠準(zhǔn)確評估多核處理器的性能,有利于同時追蹤功能和性能缺陷,但模型開發(fā)周期長,仿真時間長,不利于設(shè)計前期多核處理器的功能驗證。傳輸級精準(zhǔn)型參考模型是在傳輸級精確型參考模型的基礎(chǔ)上進(jìn)行了抽象,忽略處理單元的時序信息,其仿真效率高于時序精確型參考模型,同時能準(zhǔn)確給出核心通信的性能。功能精確型參考模型在傳輸級精確型參考模型的基礎(chǔ)上進(jìn)一步抽象,只保證功能正確。其特點(diǎn)是:實(shí)現(xiàn)簡單,仿真效率高。功能精確型參考模型雖然無法早期評估架構(gòu)的性能,但能夠為硬件設(shè)計提供功能結(jié)果的參考,在多核驗證中被廣泛采用。在同構(gòu)多核處理器的驗證中,高速緩存一致性一直是驗證人員關(guān)注的重點(diǎn)和難點(diǎn)。能否提供高效的高速緩存一致性驗證機(jī)制,直接影響到多核處理器的驗證效率。當(dāng)前大部分功能精準(zhǔn)型多核參考模型只給出最終的執(zhí)行結(jié)果,無法精確地模擬硬件高速緩存一致性操作過程,這給錯誤的追蹤帶來巨大的困難,顯著降低驗證的效率。本文提出了一種新的功能精確型多核參考模型架構(gòu)和流程,本參考模型通過讀寫指令順序作為輸入,采用指令提前執(zhí)行模塊技術(shù)和高速緩存一致性模塊技術(shù)來精確模擬多核處理器硬件并發(fā)操作和高速緩存一致性功能。

      1 多核參考模型的架構(gòu)與流程

      多核處理器驗證的典型流程如圖1所示,首先將測試激勵文件分別輸入到多核處理器和參考模型中,得到執(zhí)行結(jié)果后,再將兩者的執(zhí)行結(jié)果進(jìn)行對比,判斷設(shè)計是否正確。本文采取的就是這樣的流程。

      圖1 多核處理器驗證流程

      本文提出的多核參考模型架構(gòu)如圖2所示,由6部分組成:序列文件處理模塊、處理器選擇模塊、處理器模塊、結(jié)果對比模塊、提前執(zhí)行模塊和高速緩存一致性模塊。序列文件處理模塊負(fù)責(zé)讀取并處理序列文件。為了精確模擬硬件高速緩存一致性,參考模型中讀寫指令的執(zhí)行順序與硬件的執(zhí)行順序保持一致,為此,引入了序列文件。在序列文件中,所有讀寫指令按其訪問存儲器的先后順序排列,參考模型將嚴(yán)格按照序列文件中的順序執(zhí)行讀寫指令。序列文件中的信息包括:讀寫指令編號、處理器標(biāo)識(ID)、PC、指令訪問的地址和數(shù)據(jù)等信息。處理器選擇模塊用于選擇執(zhí)行下一條指令的處理器。如果當(dāng)前被選中的處理器要執(zhí)行的下一條指令為讀寫指令,且處理器與序列文件處理模塊提供的處理器ID不一致,處理器選擇模塊將切換處理器,序列文件中指示的處理器將被選中;否則,處理器選擇模塊不工作,被選中的處理器繼續(xù)執(zhí)行指令。

      圖2 參考模型架構(gòu)

      提前執(zhí)行模塊決定一條讀寫指令是否需要被提前執(zhí)行。若被選中的處理器要執(zhí)行的下一條指令為讀寫指令,其處理器ID與序列文件處理模塊提供的處理器ID 匹配,但PC與序列文件處理模塊提供的PC 不匹配,則序列文件處理模塊指示的指令將被提前執(zhí)行;否則,提前執(zhí)行模塊不工作。高速緩存一致性模塊負(fù)責(zé)維護(hù)高速緩存一致性,其接收并響應(yīng)處理器模塊發(fā)送的高速緩存一致性請求。提前執(zhí)行模塊和高速緩存一致性模塊是多核處理器參考模型的兩個關(guān)鍵模塊,確保準(zhǔn)確模擬指令亂序執(zhí)行、多核并發(fā)操作和高速緩存一致性功能。

      處理器模塊負(fù)責(zé)執(zhí)行指令,包括取指、譯碼、執(zhí)行等子模塊。指令是多核參考模型的最小執(zhí)行單元,即多核參考模型中沒有流水線及周期。這種簡單的調(diào)度方式能很好地滿足單核處理器功能驗證,但在多核處理器功能驗證中,需要結(jié)合序列文件以確定各個處理器的讀寫指令執(zhí)行順序。結(jié)果對比模塊用于對比參考模型的執(zhí)行結(jié)果與硬件執(zhí)行結(jié)果,從而發(fā)現(xiàn)設(shè)計缺陷。

      1.1 多核參考模型工作流程

      多核參考模型的工作流程如圖3所示,參考模型首先選擇未完成仿真的處理器,并讀取指令。

      若本指令為非讀寫指令,本處理器執(zhí)行當(dāng)前指令。若本指令為讀寫指令,判斷本指令是否被提前執(zhí)行,若本指令被提前執(zhí)行,使用亂序堆棧中保存的值更新寄存器;若本指令未被提前執(zhí)行,且當(dāng)前處理器ID與序列文件中的處理器ID 不匹配,則切換處理器,使其處理器ID與序列文件中的處理器ID 匹配;若本指令未被提前執(zhí)行,且當(dāng)前處理器ID 及PC與序列文件中的處理器ID 及PC 匹配,則執(zhí)行當(dāng)前指令;若本指令未被提前執(zhí)行,且當(dāng)前處理器ID與序列文件中的ID 匹配,但PC與序列文件中的PC 不匹配,則提前執(zhí)行序列文件中PC 對應(yīng)的指令,并將提前執(zhí)行信息寫入提前執(zhí)行堆棧中。每執(zhí)行完一條指令(包括提前執(zhí)行),需要判斷處理器是否完成仿真,若當(dāng)前處理器完成仿真且其它處理器未完成仿真,則切換至未完成仿真的處理器繼續(xù)執(zhí)行指令;若所有處理器完成仿真,則停止并輸出仿真結(jié)果。

      圖3 多核參考模型工作流程

      1.2 高速緩存一致性模塊

      參考模型采用高速緩存一致性協(xié)議[8]作為高速緩存一致性協(xié)議,各處理器嚴(yán)格按照高速緩存一致性協(xié)議執(zhí)行指令。當(dāng)發(fā)生讀缺失、寫缺失、寫命中且高速緩存塊狀態(tài)為共享時,處理器模塊將向高速緩存一致性模塊發(fā)送高速緩存一致性請求。

      1.3 提前執(zhí)行模塊

      本文介紹的參考模型引入了提前執(zhí)行堆棧。當(dāng)一條讀指令被提前執(zhí)行,其數(shù)據(jù)不會被直接寫回寄存器,而是暫存在提前執(zhí)行堆棧中,直到參考模型PC與被提前執(zhí)行指令的PC 匹配,將數(shù)據(jù)寫回寄存器。提前執(zhí)行堆棧包括處理器ID、指令PC、指令是否為讀指令、指令讀取的數(shù)據(jù)、指令使用的寄存器等信息。參考模型遵守序列文件中的指令順序執(zhí)行讀寫指令。

      2 仿真實(shí)驗

      為評估參考模型的可實(shí)現(xiàn)性,將本模型用于自主國產(chǎn)CK610 多核處理器驗證平臺,詳細(xì)流程如圖4所示。由于功能級參考模型無法模擬硬件的時序信息,例如中斷等。通過軟硬件交互的仿真方法,在硬件RTL仿真過程中獲取以上信息,并通過文件傳輸給參考模型。因此,參考模型需要接收一定格式的事件輸入,包括含有中斷信息的中斷歷史文件、含有在直接訪問存儲器傳輸過程中完成指令信息的DMA 傳輸文件、含有TLB條目信息的TLB 歷史文件以及含有讀寫指令順序信息的讀寫指令序列文件。

      如表1所示,在CK610MP 多核處理器的設(shè)計驗證過程中,本文分別構(gòu)建了時序級精確、傳輸級精確和功能級精確模型,并在功能級精確模型上添加了提前執(zhí)行模塊和Cache 一致性模塊兩個技術(shù)。通過處理器所有Case的Regress 測試,可以發(fā)現(xiàn)本文提出的參考模型在仿真時間上是RTL的0.18%,并可以100%的并發(fā)操作和Cache 一致性功能精確度。與傳統(tǒng)的時序級精確、傳輸級精確和功能級精確模型相比,本文模型通過利用提前執(zhí)行模塊和Cache 一致性模塊兩個技術(shù),取得了仿真時間和仿真精確度較好的折中,可顯著提高多核處理器的驗證開發(fā)效率。

      表1 各仿真模型運(yùn)行時間結(jié)果表

      3 結(jié)束語

      本論文闡述了一種新的用于多核處理器驗證的功能精確型多核參考模型,本參考模型通過指令提前執(zhí)行模塊技術(shù)和高速緩存一致性模塊技術(shù)來精確模擬多核處理器的高速緩存一致性和并發(fā)功能,快速高效實(shí)現(xiàn)多核處理器功能級驗證。若多核處理器設(shè)計出錯,本參考模型能提供出錯指令的詳細(xì)信息,便于跟蹤設(shè)計缺陷。仿真證明:與時序精確型多核參考模型和傳輸級精確型多核參考模型相比,本多核參考模型能快速完成仿真,在保證驗證正確性的同時,提高了驗證效率。

      [1]Ahmed Jerraya,Wayne Wolf.Multiprocessor Systems-on-Chip[M].San Francisco:Elsevier Morgan Kaufmann,2005:1-9.

      [2]黃凱,殷燎,林鋒毅,等.一種多處理器原型及其系統(tǒng)芯片設(shè)計方法[J].電子學(xué)報,2009,37(2):181-186.

      [3]黃永勤,朱英,巨鵬錦,等.“申威-1 號”高性能處理器的功能驗證[J].軟件學(xué)報,2009,20(4):1 077-1 086.

      [4]張欣,黃凱,孟建熠,等.一種面向微處理驗證的分層隨機(jī)激勵方法[J].計算機(jī)應(yīng)用研究,2010,37(4):30-35.

      [5]Felix Sheng-Ho Chang,Alan J Hu.Fast Specification of Cycle-Accurate Processor Models[C].Britain∶International Conference on Computer Design,2001:1 488-2 001.

      [6]Zhou Haixiang,Ge Ning,Xu Lixin,etal.Transaction Level Modeling of SPARC Based on TLM2.0[J].Computer Engineering,2011,68(12):14-19.

      [7]Mehrdad Reshadi,Nikil Dutt.Generic Pipelined Processor Modeling and High Performance Cycle-Accurate Simulator Generation[J].Design Automation and Test in Europe,2005,99(1):786-791.

      [8]John L Hennessy,David A Patterson.Computer Architecture A Quantitative Approach[M].Fourth Edtion:Elsevier,2007:167-174.

      猜你喜歡
      參考模型時序指令
      聽我指令:大催眠術(shù)
      基于時序Sentinel-2數(shù)據(jù)的馬鈴薯遙感識別研究
      基于Sentinel-2時序NDVI的麥冬識別研究
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      基于環(huán)境的軍事信息系統(tǒng)需求參考模型
      語義網(wǎng)絡(luò)P2P參考模型的查詢過程構(gòu)建
      坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
      DPBUS時序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      望城县| 黄骅市| 瓮安县| 中西区| 大关县| 宁强县| 江川县| 武川县| 桦南县| 新乡县| 清水县| 会理县| 合山市| 淮安市| 都安| 内黄县| 谷城县| 叶城县| 威海市| 新密市| 青浦区| 青海省| 南城县| 鹿泉市| 富顺县| 宜宾市| 东山县| 阿坝县| 城步| 南郑县| 会东县| 遂川县| 武山县| 师宗县| 万载县| 旅游| 贡嘎县| 罗城| 静安区| 浪卡子县| 绥化市|