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

使用指令追蹤或標(biāo)出的處理器仿真的制作方法

文檔序號(hào):6594616閱讀:181來(lái)源:國(guó)知局
專利名稱:使用指令追蹤或標(biāo)出的處理器仿真的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及微處理器系統(tǒng)仿真,并且具體地說(shuō),涉及利用借助于在處理器上 的執(zhí)行解決(resolve) 了運(yùn)行時(shí)間相關(guān)性的周期準(zhǔn)確或周期近似的模型和指令的仿真方法。
背景技術(shù)
處理器設(shè)計(jì)和基于處理器的系統(tǒng)的仿真在本技術(shù)領(lǐng)域?yàn)槿怂熘?shí)際上,大量 仿真是新處理器設(shè)計(jì)的過(guò)程所必需的。仿真涉及通過(guò)量化系統(tǒng)組件的特征并將那些特征相 互相關(guān)以便出現(xiàn)模型(即,有關(guān)特征之和)提供實(shí)際系統(tǒng)的接近表示而為目標(biāo)系統(tǒng)建模。仿真的一個(gè)熟知方法提供系統(tǒng)組件的硬件準(zhǔn)確模型,例如硬件描述語(yǔ)言(HDL)構(gòu) 造或合成后的其門級(jí)實(shí)現(xiàn),并且仿真組件之間傳遞的實(shí)際裝置狀態(tài)和信號(hào)。這些仿真雖然 高度準(zhǔn)確,但速度較慢,計(jì)算要求高,并且僅在硬件準(zhǔn)確模型已開發(fā)時(shí)才能夠在設(shè)計(jì)過(guò)程中 表現(xiàn)良好。相應(yīng)地,它們不適用于在闡明架構(gòu)權(quán)衡,基本性能的標(biāo)準(zhǔn)檢查及諸如此類中有用 的早期仿真。仿真的一種更有效方法提供硬件組件的更高層周期準(zhǔn)確模型,并且利用面向事務(wù) 的(transaction-oriented)消息傳遞系統(tǒng)為其交互建模。消息傳遞系統(tǒng)通過(guò)將每個(gè)時(shí)鐘 周期分成“更新”階段和“通信”階段而仿真實(shí)時(shí)執(zhí)行。周期準(zhǔn)確的組件功能在適當(dāng)?shù)母?階段中仿真以便仿真實(shí)際組件行為。組件間信令分配到通信階段以便實(shí)現(xiàn)周期準(zhǔn)確的系統(tǒng) 執(zhí)行。仿真的準(zhǔn)確度取決于組件模型準(zhǔn)確地反映實(shí)際組件功能和準(zhǔn)確地展示組件間信令的 程度。甚至諸如處理器等復(fù)雜組件的高度準(zhǔn)確組件模型在本領(lǐng)域?yàn)槿怂熘?,并且產(chǎn)生了 在許多應(yīng)用中以高準(zhǔn)確度匹配現(xiàn)實(shí)硬件結(jié)果的仿真。然而,組件準(zhǔn)確度只是獲得諸如處理器等復(fù)雜組件的高保真仿真的挑戰(zhàn)的一部 分。有意義的仿真附加地要求為在處理器上的活動(dòng)((例如指令執(zhí)行順序和數(shù)據(jù)地址引用 的范圍)準(zhǔn)確建模。在許多應(yīng)用中,可通過(guò)在處理器模型上只執(zhí)行相關(guān)程序而為處理器活 動(dòng)準(zhǔn)確建模。然而,這并不是始終可能的,特別是在為實(shí)時(shí)處理器系統(tǒng)建模時(shí)。例如,輸入 /輸出行為(I/O)可以是要探究的關(guān)鍵區(qū),但實(shí)際I/O環(huán)境十分復(fù)雜,使得準(zhǔn)確的I/O模型 的開發(fā)是不可能或不可行的。這是關(guān)于諸如移動(dòng)通信裝置等許多面向通信的系統(tǒng)的情況。 此問題的一個(gè)解決方案是在仿真模型中只是刪去(或禁用)1/0功能。然而,在I/O交互恰 恰是為其正在運(yùn)行仿真的處理器執(zhí)行的方面時(shí),這毫無(wú)幫助。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)或多個(gè)實(shí)施例,一種有效的周期準(zhǔn)確的處理器執(zhí)行仿真器通過(guò) 執(zhí)行借助于在與目標(biāo)處理器兼容的現(xiàn)有處理器上的執(zhí)行解決了運(yùn)行時(shí)間相關(guān)性的、包括指 令的程序執(zhí)行映像來(lái)為目標(biāo)處理器建模。指令可能已在太復(fù)雜而不能建模的I/O環(huán)境中的 處理器上執(zhí)行。在一個(gè)實(shí)施例中,仿真器執(zhí)行以前直接在處理器上執(zhí)行的指令。在另一實(shí) 施例中,標(biāo)出引擎(markup engine)參照在處理器上執(zhí)行的指令,改變編譯的程序映像以消除運(yùn)行時(shí)間相關(guān)性。標(biāo)出程序映像隨后由仿真器執(zhí)行。處理器執(zhí)行仿真器包括可操作用于周期準(zhǔn)確地或周期近似地仿真指令執(zhí)行的更 新引擎和一個(gè)或多個(gè)通信引擎,每個(gè)通信引擎可操作用于為目標(biāo)處理器的通信總線建模。 仿真器采用面向事務(wù)的消息傳遞系統(tǒng),其中,每個(gè)系統(tǒng)時(shí)鐘周期被分成“更新”階段和“通 信”階段。更新和通信引擎在每個(gè)更新階段中仿真處理器組件或功能,并且在每個(gè)通信階段 中傳送消息和數(shù)據(jù)。


圖1是程序執(zhí)行仿真器的功能框圖。圖2是程序執(zhí)行仿真器和程序標(biāo)出引擎的功能框圖。圖3是在更新引擎中仿真的方法的流程圖。圖4是在通信引擎中仿真的方法的流程圖。
具體實(shí)施例方式圖1示出包括處理器執(zhí)行仿真器12的處理器仿真環(huán)境100。處理器執(zhí)行仿真器12 包括更新引擎14,更新引擎14為特定的目標(biāo)處理器(其可以是現(xiàn)有處理器或更可能是在開 發(fā)的處理器)建模。在所示實(shí)施例中,目標(biāo)處理器包括分開的指令總線和數(shù)據(jù)總線。相應(yīng) 地,處理器執(zhí)行仿真器12包括兩個(gè)通信引擎-I總線通信引擎16和D總線通信引擎18,其 中每個(gè)為目標(biāo)處理器上的總線建模。如本文中進(jìn)一步所述,處理器執(zhí)行仿真器12執(zhí)行處理器執(zhí)行映像(processor execution image) 19,處理器執(zhí)行映像19包括來(lái)自指令追蹤(instruction trace) 20或參 照指令追蹤20標(biāo)出(mark up)的一系列指令。指令追蹤20包括實(shí)際上已在與目標(biāo)處理器 兼容的現(xiàn)有處理器M上執(zhí)行的指令。在目標(biāo)處理器實(shí)現(xiàn)相同的指令集架構(gòu)時(shí),處理器與目 標(biāo)處理器兼容。在一個(gè)實(shí)施例中,為確保最大兼容性,現(xiàn)有處理器M是目標(biāo)處理器緊接的 前面一個(gè)版本。處理器執(zhí)行映像19因此包括一系列指令,其中,程序路徑或指令執(zhí)行的順 序、數(shù)據(jù)和I/O地址及其它運(yùn)行時(shí)間相關(guān)性已通過(guò)實(shí)際處理器M上的執(zhí)行而得到解決。在圖1所示實(shí)施例中,程序執(zhí)行映像19包括實(shí)際上在處理器M上執(zhí)行的指令的 指令追蹤20。例如,處理器M可部署在移動(dòng)通信裝置22中,并且可在通信裝置22參與實(shí) 際無(wú)線通信(如此復(fù)雜而使得其仿真不可能或不可行的I/O環(huán)境)時(shí)已獲得指令追蹤20。 通過(guò)捕獲在處理器M上執(zhí)行的指令,捕獲在實(shí)際的豐富I/O環(huán)境中處理器M對(duì)于給定軟 件程序的實(shí)際、現(xiàn)實(shí)的運(yùn)行時(shí)間行為。此行為隨后在處理器執(zhí)行仿真器12上仿真,從而允 許分析非可仿真I/O環(huán)境中目標(biāo)處理器的架構(gòu)和特性。圖2中示出處理器仿真環(huán)境200的另一實(shí)施例。通過(guò)執(zhí)行來(lái)自程序執(zhí)行映像19 的指令,包括更新引擎14和I總線與D總線通信引擎16,18的程序執(zhí)行仿真器12仿真目 標(biāo)處理器。然而,在此實(shí)施例中,未從指令追蹤20直接獲得程序執(zhí)行映像19。相反,在軟件 開發(fā)環(huán)境30中編譯和鏈接一個(gè)或多個(gè)軟件模塊,從而產(chǎn)生未標(biāo)出程序映像觀。未標(biāo)出程序 映像觀是能夠加載到存儲(chǔ)器中以便執(zhí)行的對(duì)象文件。如本領(lǐng)域所熟知的一樣,每個(gè)現(xiàn)實(shí)未標(biāo)出程序映像觀包括條件指令,例如條件分 支指令,其實(shí)際行為在運(yùn)行時(shí)間之前是未知的-實(shí)際上,在指令到達(dá)管線中深處的執(zhí)行階段前經(jīng)常是未知的。作為此類條件指令如何產(chǎn)生的一個(gè)示例,考慮軟件循環(huán)構(gòu)造。在循環(huán) 的每次迭代之前(或之后),測(cè)試某一條件以確定循環(huán)是應(yīng)終止還是應(yīng)執(zhí)行另一迭代。響應(yīng) 于條件評(píng)估,程序指令執(zhí)行將隨后循序進(jìn)行,或者將(向前或向后)跳躍并開始在指令流中 的不同點(diǎn)處執(zhí)行。雖然條件分支指令的行為可預(yù)測(cè)(有時(shí)以高準(zhǔn)確度),但在運(yùn)行時(shí)間評(píng)估 條件前其實(shí)際行為是未知的。此外,條件評(píng)估可取決于復(fù)雜的非可仿真I/O環(huán)境,例如實(shí)時(shí) 無(wú)線通信。所有此類條件指令-及諸如I/O和存儲(chǔ)器地址計(jì)算、寄存器利用、子例程調(diào)用等其 它運(yùn)行時(shí)間行為-可通過(guò)例如在參與實(shí)際無(wú)線通信的移動(dòng)通信裝置22中在實(shí)際處理器M 上執(zhí)行未標(biāo)出程序映像觀而得以解決。在處理器M上執(zhí)行的指令的指令追蹤20得以捕 獲和存儲(chǔ)。程序標(biāo)出引擎25接收未標(biāo)出程序映像觀和指令追蹤20。程序標(biāo)出引擎25分析 指令追蹤20,并標(biāo)出或改變未標(biāo)出程序映像觀以消除I/O相關(guān)性,解決條件分支及諸如此 類。通過(guò)插入專用于中斷向量的軟件中斷指令,可模擬諸如由于硬件中斷造成的程序控制 更改等其它實(shí)時(shí)行為。程序標(biāo)出引擎25隨后將程序映像的標(biāo)出版本輸出為程序執(zhí)行映像 19,其由處理器執(zhí)行仿真器12執(zhí)行。在任一實(shí)施例中-即,無(wú)論程序執(zhí)行映像19直接從指令追蹤20(圖1)還是從程 序標(biāo)出引擎25(圖2)得到,都使用面向事務(wù)的消息傳遞系統(tǒng)執(zhí)行指令。消息傳遞系統(tǒng)通過(guò) 將每個(gè)時(shí)鐘周期分成“更新”階段和“通信”階段而提供用于實(shí)時(shí)執(zhí)行的周期準(zhǔn)確的仿真。圖3示出在更新引擎14中仿真指令的方法300。從方框310開始,方法等待系統(tǒng) 時(shí)鐘的“更新”階段(方框31幻。在更新階段開始時(shí),更新引擎14檢查是否有來(lái)自通信引 擎16,18的任何事務(wù)完成消息,并且相應(yīng)地更新處理器管線(方框314)。更新引擎14隨 后執(zhí)行有關(guān)一個(gè)或多個(gè)仿真管線中一個(gè)或多個(gè)指令的處理器仿真算法(方框316)。如果 處理器管線可用(方框318)-即,管線能接受新指令,并且指令總線可用(方框320),則更 新引擎14將到I總線通信引擎16的一個(gè)或多個(gè)指令獲取請(qǐng)求排隊(duì),并增大指令追蹤計(jì)數(shù) 器(方框322)。如果需要數(shù)據(jù)訪問(方框324),并且數(shù)據(jù)總線可用(方框326),則更新引 擎14將到D總線通信引擎18的一個(gè)或多個(gè)數(shù)據(jù)訪問請(qǐng)求排隊(duì)。更新引擎14隨后等待下 一更新周期(方框31幻。在下一更新階段前系統(tǒng)時(shí)鐘的“通信”階段期間,將發(fā)送到通信引 擎16,18的任何指令或數(shù)據(jù)訪問請(qǐng)求,并且將接收來(lái)自通信引擎16,18的任何事務(wù)完成消 肩、ο圖4示出在通信引擎16,18中仿真數(shù)據(jù)總線的方法400。從方框410開始,方法等 待系統(tǒng)時(shí)鐘的“通信”階段(方框412)。在通信階段開始時(shí),通信引擎16,18檢查是否有任 何總線事務(wù)在活動(dòng)狀態(tài)(方框414)。如果有,則通信引擎16,18更新所有活動(dòng)事務(wù)(方框 416),并標(biāo)明(flag)所有完成的事務(wù)以便由更新引擎14處理(方框418)。通信引擎16,18 隨后檢查是否有來(lái)自更新引擎14的任何新事務(wù)請(qǐng)求(方框420)。如果發(fā)現(xiàn)新事務(wù)請(qǐng)求,則 通信引擎16,18啟動(dòng)新總線事務(wù)(方框42幻。通信引擎16,18隨后等待下一通信周期(方 框412)。在下一通信階段前系統(tǒng)時(shí)鐘的“更新”階段期間,對(duì)于任何完成的總線事務(wù),將指 令或(讀取的)數(shù)據(jù)提供到更新引擎14,并且從更新引擎14接收任何新的事務(wù)請(qǐng)求。用這種方式,并且通過(guò)執(zhí)行借助于在現(xiàn)有處理器M上的執(zhí)行解決了運(yùn)行時(shí)間相 關(guān)性的、包括指令的程序執(zhí)行映像19,可實(shí)現(xiàn)在復(fù)雜的I/O環(huán)境中目標(biāo)處理器的準(zhǔn)確仿真。此類仿真對(duì)驗(yàn)證預(yù)期使用情況,調(diào)整處理器能力,調(diào)整存儲(chǔ)器大小和配置(包括高速緩存 大小、組織和替代算法;虛擬到物理存儲(chǔ)器轉(zhuǎn)換頁(yè)大?。豢偞鎯?chǔ)需求;及諸如此類),比較備 選架構(gòu),節(jié)能特性的性能影響及諸如此類是有用的。更新引擎14可編寫為仿真任何處理 器,包括超標(biāo)量設(shè)計(jì)、數(shù)字信號(hào)處理器(DSP)、實(shí)時(shí)處理器、RISC或CISC架構(gòu)或諸如此類。仿真允許目標(biāo)處理器在其實(shí)際實(shí)現(xiàn)前進(jìn)行建模。在極為關(guān)注的I/O環(huán)境如此復(fù)雜 而使得建模不可能或不可行時(shí),它允許建模。仿真方法可縮放,并且范圍可從簡(jiǎn)單的基于基 準(zhǔn)性能的調(diào)步算法(pacingalgorithm)到詳細(xì)的處理器硬件再現(xiàn)。它提供了比統(tǒng)計(jì)生成方 案更高的準(zhǔn)確度,但與硬件準(zhǔn)確的組件模型的仿真相比,仍提供了更快的仿真速度,并要求 更少的計(jì)算資源。當(dāng)然,在不脫離本發(fā)明實(shí)質(zhì)特征的情況下,本發(fā)明可以不同于本文具體闡述的那 些方式的其它方式實(shí)現(xiàn)。所示實(shí)施例在所有方面均要視為說(shuō)明性的而不是限制性的,并且 在隨附權(quán)利要求的意義和等同物范圍內(nèi)的所有更改要涵蓋在其中。
權(quán)利要求
1.一種仿真目標(biāo)處理器的操作的方法,包括提供借助于在與所述目標(biāo)處理器兼容的現(xiàn)有處理器上的執(zhí)行解決了運(yùn)行時(shí)間相關(guān)性 的、包括處理器指令序列的處理器執(zhí)行映像;以及將所述處理器執(zhí)行映像饋入目標(biāo)處理器執(zhí)行仿真器,所述仿真器包括 可操作用于根據(jù)所述目標(biāo)處理器的特征仿真每個(gè)指令的所述執(zhí)行的更新引擎,以及 一個(gè)或多個(gè)通信引擎,每個(gè)所述通信引擎可操作用于仿真所述目標(biāo)處理器中的數(shù)據(jù)通 信總線;以及監(jiān)視所述目標(biāo)處理器的所述仿真性能。
2.如權(quán)利要求1所述的方法,還包括提供面向事務(wù)的消息傳遞系統(tǒng),其中每個(gè)系統(tǒng)時(shí) 鐘周期包括更新階段和通信階段。
3.如權(quán)利要求2所述的方法,其中所述更新引擎可操作用于按順序周期地執(zhí)行以下步驟(a)等待新更新階段;(b)檢查是否有來(lái)自一個(gè)或多個(gè)通信引擎的事務(wù)完成,并且響應(yīng)于任何完成的通信引 擎事務(wù)而更新一個(gè)或多個(gè)仿真目標(biāo)處理器管線;(c)仿真來(lái)自所述處理器執(zhí)行映像的一個(gè)或多個(gè)指令的執(zhí)行;以及(d)檢查是否需要指令或數(shù)據(jù)訪問,并且如果需要,則 (i)檢查相關(guān)通信總線的可用性;以及( )如果所述相關(guān)通信總線可用,則啟動(dòng)通信總線事務(wù)。
4.如權(quán)利要求3所述的方法,還包括在下一更新階段前的通信階段期間從通信引擎接 收任何事務(wù)完成,將通信總線事務(wù)請(qǐng)求傳送到一個(gè)或多個(gè)通信引擎,或兩者。
5.如權(quán)利要求3所述的方法,其中所述目標(biāo)處理器包括指令總線,所述目標(biāo)處理器執(zhí) 行仿真器包括指令總線通信引擎,并且無(wú)論何時(shí)目標(biāo)處理器管線可用,都需要指令訪問,以 及還包括在啟動(dòng)指令通信總線事務(wù)時(shí)增大指令跟蹤計(jì)數(shù)器。
6.如權(quán)利要求3所述的方法,其中所述目標(biāo)處理器包括數(shù)據(jù)總線,并且所述目標(biāo)處理 器執(zhí)行仿真器包括數(shù)據(jù)總線通信引擎。
7.如權(quán)利要求2所述的方法,其中每個(gè)通信引擎可操作用于按順序周期地執(zhí)行以下步驟(a)等待新通信階段;(b)檢查是否有任何通信總線事務(wù)在活動(dòng)狀態(tài),并且如果是,則 (i)更新活動(dòng)通信總線事務(wù),以及( )標(biāo)明完成的通信總線事務(wù)以便更新引擎處理;以及(c)檢查是否有來(lái)自所述更新引擎的任何新事務(wù)請(qǐng)求,并且如果發(fā)現(xiàn)有,則, (i)啟動(dòng)新通信總線事務(wù)。
8.如權(quán)利要求7所述的方法,還包括在下一通信階段前的更新階段期間從所述更新引 擎接收任何新事務(wù)請(qǐng)求。
9.如權(quán)利要求1所述的方法,其中提供借助于在與所述目標(biāo)處理器兼容的現(xiàn)有處理器 上的執(zhí)行解決了運(yùn)行時(shí)間相關(guān)性的、包括處理器指令序列的處理器執(zhí)行映像包括提供包 括在與所述目標(biāo)處理器兼容的現(xiàn)有處理器上執(zhí)行的指令的處理器執(zhí)行映像。
10.如權(quán)利要求1所述的方法,其中提供借助于在與所述目標(biāo)處理器兼容的現(xiàn)有處理 器上的執(zhí)行解決了運(yùn)行時(shí)間相關(guān)性的、包括處理器指令序列的處理器執(zhí)行映像包括提供通過(guò)編譯和鏈接程序獲得的、包括一系列指令的未標(biāo)記程序映像;提供包括通過(guò)在與所述目標(biāo)處理器兼容的現(xiàn)有處理器上執(zhí)行所述未標(biāo)記程序映像獲 得的一系列指令的程序執(zhí)行追蹤;以及基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像以生成解決了運(yùn)行時(shí)間相關(guān)性的所 述處理器執(zhí)行映像。
11.如權(quán)利要求10所述的方法,其中基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像 包括基于在所述程序執(zhí)行追蹤中反映的輸入/輸出相關(guān)性的解決,消除所述未標(biāo)記程序 映像中的輸入/輸出相關(guān)性。
12.如權(quán)利要求10所述的方法,其中基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像 包括基于在所述程序執(zhí)行追蹤中反映的執(zhí)行路徑的解決,解決所述未標(biāo)記程序映像中的 條件分支指令。
13.一種目標(biāo)處理器執(zhí)行仿真器,包括更新引擎,可操作用于接收和仿真通過(guò)在與所述目標(biāo)處理器兼容的現(xiàn)有處理器上的執(zhí) 行解決了運(yùn)行時(shí)間相關(guān)性的、包括處理器指令序列的處理器執(zhí)行映像;以及一個(gè)或多個(gè)通信引擎,每個(gè)所述通信引擎可操作用于仿真所述目標(biāo)處理器中的數(shù)據(jù)通 信總線。
14.如權(quán)利要求13所述的仿真器,其中所述仿真器接收系統(tǒng)時(shí)鐘信號(hào),其中每個(gè)周期 包括更新階段和通信階段。
15.如權(quán)利要求14所述的仿真器,其中所述更新引擎可操作用于按順序周期地執(zhí)行以 下步驟(a)等待新更新階段;(b)檢查是否有來(lái)自一個(gè)或多個(gè)通信引擎的事務(wù)完成,并且響應(yīng)于任何完成的通信引 擎事務(wù)而更新仿真目標(biāo)處理器管線;(c)仿真來(lái)自所述處理器執(zhí)行映像的一個(gè)或多個(gè)指令的所述執(zhí)行;以及(d)檢查是否需要指令或數(shù)據(jù)訪問,并且如果需要,則(i)檢查相關(guān)通信總線的可用性;以及( )如果所述相關(guān)通信總線可用,則啟動(dòng)通信總線事務(wù)。
16.如權(quán)利要求15所述的仿真器,其中所述仿真器可操作用于在下一更新階段前的通 信階段期間從通信引擎到所述更新引擎的任何事務(wù)完成,將通信總線事務(wù)請(qǐng)求從所述更新 引擎?zhèn)魉偷揭粋€(gè)或多個(gè)通信引擎,或兩者。
17.如權(quán)利要求14所述的仿真器,在所述目標(biāo)處理器包括指令總線時(shí)還包括指令總線 通信引擎;以及其中無(wú)論何時(shí)目標(biāo)處理器管線可用,都需要指令訪問;以及在所述更新引擎啟動(dòng)指令通信總線事務(wù)時(shí),增大指令追蹤計(jì)數(shù)器。
18.如權(quán)利要求14所述的仿真器,在所述目標(biāo)處理器包括數(shù)據(jù)總線時(shí)還包括數(shù)據(jù)總線 通信引擎。
19.如權(quán)利要求14所述的仿真器,其中每個(gè)通信引擎可操作用于按順序周期地執(zhí)行以下步驟(a)等待新通信階段;(b)檢查是否有任何通信總線事務(wù)在活動(dòng)狀態(tài),并且如果是,則(i)更新活動(dòng)通信總線事務(wù),以及( )標(biāo)明完成的通信總線事務(wù)以便更新引擎處理;以及(c)檢查是否有來(lái)自所述更新引擎的任何新事務(wù)請(qǐng)求,并且如果發(fā)現(xiàn)有,則,(i)啟動(dòng)新通信總線事務(wù)。
20.如權(quán)利要求13所述的仿真器,還包括可操作用于執(zhí)行如下操作的程序標(biāo)出引擎接收通過(guò)編譯和鏈接程序獲得的、包括一系列指令的未標(biāo)記程序映像;接收通過(guò)在與所述目標(biāo)處理器兼容的現(xiàn)有處理器上執(zhí)行所述未標(biāo)記程序映像獲得的、 包括一系列指令的程序執(zhí)行追蹤;以及基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像以生成解決了運(yùn)行時(shí)間相關(guān)性的所 述處理器執(zhí)行映像。
21.如權(quán)利要求20所述的仿真器,其中所述程序標(biāo)出引擎可操作用于通過(guò)基于在所 述程序執(zhí)行追蹤中反映的所述輸入/輸出相關(guān)性的解決來(lái)消除所述未標(biāo)記程序映像中的 輸入/輸出相關(guān)性,從而基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像。
22.如權(quán)利要求20所述的仿真器,其中所述程序標(biāo)出引擎可操作用于通過(guò)基于在所 述程序執(zhí)行追蹤中反映的執(zhí)行路徑的解決而解決所述未標(biāo)記程序映像中的條件分支指令, 從而基于所述程序執(zhí)行追蹤標(biāo)出所述未標(biāo)記程序映像。
全文摘要
一種有效的周期準(zhǔn)確的處理器執(zhí)行仿真器通過(guò)執(zhí)行借助于在與目標(biāo)處理器兼容的現(xiàn)有處理器上的執(zhí)行解決了運(yùn)行時(shí)間相關(guān)性的、包括指令的程序執(zhí)行映像來(lái)為目標(biāo)處理器建模。指令可能已在太復(fù)雜而不能建模的I/O環(huán)境中的處理器上執(zhí)行。在一個(gè)實(shí)施例中,仿真器執(zhí)行以前直接在處理器上執(zhí)行的指令。在另一實(shí)施例中,標(biāo)出引擎通過(guò)參照在處理器上執(zhí)行的指令,改變編譯的程序映像以消除運(yùn)行時(shí)間相關(guān)性。標(biāo)出程序映像隨后由仿真器執(zhí)行。處理器執(zhí)行仿真器包括可操作用于周期準(zhǔn)確地仿真指令執(zhí)行的更新引擎和可操作用于為目標(biāo)處理器的每個(gè)通信總線建模的通信引擎。
文檔編號(hào)G06F17/50GK102132278SQ200980134122
公開日2011年7月20日 申請(qǐng)日期2009年8月24日 優(yōu)先權(quán)日2008年8月26日
發(fā)明者A·D·沃克 申請(qǐng)人:愛立信電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汽车| 岳阳县| 瑞丽市| 景泰县| 永丰县| 临洮县| 宁波市| 金山区| 兴和县| 蒙山县| 开封市| 潮州市| 宣城市| 龙井市| 政和县| 洪江市| 嘉兴市| 济阳县| 无锡市| 阜新市| 长岭县| 扶绥县| 通州市| 唐海县| 皮山县| 台北县| 五指山市| 鄂托克旗| 黄冈市| 友谊县| 竹北市| 微山县| 江陵县| 合水县| 东乌珠穆沁旗| 阿荣旗| 武清区| 沙田区| 察隅县| 黄平县| 瑞安市|