專(zhuān)利名稱(chēng):性能評(píng)估模擬的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)軟件模型和硬件模型進(jìn)行的性能評(píng)估模擬,以便進(jìn)行 性能評(píng)估,其中針對(duì)所述軟件模型和所述硬件模型,根據(jù)系統(tǒng)規(guī)范分別 通過(guò)使用軟件和硬件來(lái)臨時(shí)確定要執(zhí)行的處理。
背景技術(shù):
通常,電子設(shè)備中使用的處理器、總線、存儲(chǔ)器以及其他部件被實(shí)
施在一個(gè)LSI (大規(guī)模集成電路)上,且在該LSI (系統(tǒng)LSI)上要執(zhí)行 多個(gè)處理。在一個(gè)LSI上這樣實(shí)施多個(gè)處理是為了例如減小LSI尺寸且 減小成本和功耗的目的。然而, 一旦確定了 LSI的硬件和架構(gòu),就很難 輕易改變,由此增加了設(shè)計(jì)LSI的功能的難度。
具體而言,為了追求LSI的尺寸減小和低成本,減小LSI上的處理 負(fù)荷是十分重要的,且LSI上實(shí)施的每個(gè)處理必須優(yōu)選地分為軟件(此 后稱(chēng)為"SW")或硬件(此后稱(chēng)為"HW")。因此,在LSI設(shè)計(jì)的初始階 段臨時(shí)確定SW或HW (其上將實(shí)現(xiàn)要在LSI上執(zhí)行的功能)之后,執(zhí) 行SW/HW性能驗(yàn)證。
在上述性能驗(yàn)證中,軟件例如以C語(yǔ)言、匯編語(yǔ)言等編寫(xiě),并且在 包括目標(biāo)處理器的實(shí)際機(jī)模型上執(zhí)行(該目標(biāo)處理器是被實(shí)現(xiàn)在LSI上 用于性能驗(yàn)證的處理器)或者在用于所述目標(biāo)處理器的ISS (指令集合模 擬器)上執(zhí)行,由此模擬所述軟件的操作。此外,硬件例如以用于描述 硬件的語(yǔ)言RTL (寄存器轉(zhuǎn)換層)或TLM (事務(wù)級(jí)模型)編寫(xiě)或以通過(guò) 混合RTM和TLM獲得的語(yǔ)言編寫(xiě),由此模擬硬件的操作。
在這種性能驗(yàn)證中,當(dāng)在設(shè)計(jì)系統(tǒng)LSI的初始階段執(zhí)行SW/HW劃 分時(shí),通過(guò)使用人力來(lái)分析并劃分應(yīng)用程序的源碼和系統(tǒng)LSI的規(guī)范以 基于將要執(zhí)行的周期數(shù)等來(lái)驗(yàn)證劃分的有效性。近年來(lái),已經(jīng)公開(kāi)了用于自動(dòng)進(jìn)行這種驗(yàn)證的各種技術(shù)。
例如,日本特開(kāi)No.2001-142927公開(kāi)了如下技術(shù)對(duì)完成到一定程
度的源碼進(jìn)行分析,并且通過(guò)采用每個(gè)處理單元的值作為確定因素,諸 如從時(shí)鐘周期數(shù)計(jì)算的吞吐量和從功能的描述部分計(jì)算的功耗數(shù)量,對(duì)
每個(gè)處理單元進(jìn)行SW/HW劃分。
此外,例如,日本特開(kāi)平No.Hll-259552公開(kāi)了如下技術(shù)將系統(tǒng) LSI的架構(gòu)描述轉(zhuǎn)變成以執(zhí)行為單元的模塊以進(jìn)行SW/HW劃分,并且對(duì) 基于基準(zhǔn)程序通過(guò)執(zhí)行模擬而獲得的相應(yīng)模塊的執(zhí)行時(shí)間進(jìn)行比較,由 此確定SW/HW劃分的有效性。
然而,在上面說(shuō)明的常規(guī)技術(shù)中,難以在設(shè)計(jì)的初始階段最佳地執(zhí) 行SW/HW劃分,且不能確定SW/HW劃分的有效性。
具體而言,在日本特開(kāi)No.2001-142927中,由于直到應(yīng)用程序的源 碼完成到一定程度時(shí)才能實(shí)施分析,所以難以在設(shè)計(jì)的初始階段最佳地 執(zhí)行SW/HW劃分。而且,日本特開(kāi)平No.Hll-259552中,僅將執(zhí)行單元 的處理時(shí)間相互比較,并且不考慮從系統(tǒng)的高速緩存分析獲得的CPU(中 央處理單元)的統(tǒng)計(jì)信息。因此,不能確定SW/HW劃分的有效性。
發(fā)明內(nèi)容
本發(fā)明的目的是至少部分地解決常規(guī)技術(shù)中的問(wèn)題。 根據(jù)實(shí)施方式的一方面,性能評(píng)估模擬裝置通過(guò)對(duì)其中根據(jù)系統(tǒng)規(guī) 范使用軟件和硬件來(lái)臨時(shí)確定要執(zhí)行的處理的軟件模型和硬件模型進(jìn)行 模擬來(lái)評(píng)估性能。該性能評(píng)估模擬裝置包括基本處理單元?jiǎng)澐謫卧?其進(jìn)行基本處理單元的劃分,該基本處理單元是基于表示通過(guò)在實(shí)際機(jī) 或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷史的執(zhí)行日志,而要在軟件 模型中執(zhí)行的處理的執(zhí)行單元;吞吐量計(jì)算單元,其根據(jù)執(zhí)行日志中所 保存的指令地址串的數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)所 述基本處理單元?jiǎng)澐謫卧M(jìn)行的劃分所獲得的每個(gè)基本處理單元的吞吐 量;布置結(jié)構(gòu)改變單元,其將所述吞吐量計(jì)算單元計(jì)算出的每個(gè)吞吐量 與預(yù)定閾值進(jìn)行比較,并且改變布置結(jié)構(gòu),以便將吞吐量超過(guò)預(yù)定閾值的基本處理單元從軟件模型改變?yōu)橛布P?;以及統(tǒng)計(jì)信息產(chǎn)生單元, 其通過(guò)對(duì)其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單元改變?yōu)橛布P偷幕?處理單元以及按軟件模型布置的基本處理單元進(jìn)行性能評(píng)估模擬,來(lái)產(chǎn) 生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,該性能評(píng)估模擬經(jīng)由指令高速緩存 和數(shù)據(jù)高速緩存來(lái)執(zhí)行總線存取以對(duì)系統(tǒng)的操作分析所需的數(shù)據(jù)進(jìn)行測(cè) 量。
根據(jù)實(shí)施方式的另一方面, 一種性能評(píng)估模擬方法用于通過(guò)執(zhí)行對(duì) 其中根據(jù)系統(tǒng)規(guī)范使用軟件和硬件臨時(shí)確定要執(zhí)行的處理的軟件模型和 硬件模型的模擬來(lái)評(píng)估性能。該性能評(píng)估模擬方法包括以下步驟劃分 步驟,其進(jìn)行基本處理單元的劃分,該基本處理單元是基于表示通過(guò)在 實(shí)際機(jī)或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷史的執(zhí)行日志,而要
在軟件模型中執(zhí)行的處理的執(zhí)行單元;計(jì)算步驟,其根據(jù)執(zhí)行日志中所
保存的指令地址串的數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)所
述劃分步驟所獲得的每個(gè)基本處理單元的吞吐量;比較步驟,其將計(jì)算 出的每個(gè)吞吐量與預(yù)定閾值相比較;改變步驟,其改變布置結(jié)構(gòu),以將 吞吐量超過(guò)預(yù)定閾值的基本處理單元從軟件模型改變?yōu)橛布P?;以?產(chǎn)生步驟,其通過(guò)對(duì)其布置結(jié)構(gòu)已被所述改變步驟改變?yōu)橛布P偷幕?本處理單元和按軟件模型布置的基本處理單元進(jìn)行性能評(píng)估模擬,來(lái)產(chǎn) 生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,該性能評(píng)估模擬經(jīng)由指令高速緩存 和數(shù)據(jù)高速緩存來(lái)執(zhí)行總線存取以對(duì)系統(tǒng)的操作分析所需的數(shù)據(jù)進(jìn)行測(cè)
根據(jù)實(shí)施方式的又一方面, 一種電子裝置包括性能評(píng)估模擬裝置, 該性能評(píng)估模擬裝置對(duì)根據(jù)系統(tǒng)規(guī)范而在軟件和硬件上執(zhí)行的處理進(jìn)行 模擬,并且該電子裝置基于通過(guò)該性能評(píng)估模擬裝置獲得的性能評(píng)估來(lái) 設(shè)計(jì)LSI。該電子裝置包括接受單元,其接受軟件模型和硬件模型;基 本處理單元?jiǎng)澐謫卧?,其?zhí)行基本處理單元的劃分,該基本處理單元是 基于表示通過(guò)在實(shí)際機(jī)或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷史的 執(zhí)行日志,而要在軟件模型中執(zhí)行的處理的執(zhí)行單元;吞吐量計(jì)算單元, 其根據(jù)執(zhí)行日志中保存的指令地址串的數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)所述基本處理單元?jiǎng)澐謫卧膭澐侄@得的每個(gè)基本處
理單元的吞吐量;布置結(jié)構(gòu)改變單元,其將所述吞吐量計(jì)算單元計(jì)算的
每個(gè)吞吐量與預(yù)定閾值進(jìn)行比較,并且改變布置結(jié)構(gòu),使得將吞吐量超
過(guò)預(yù)定閾值的基本處理單元從軟件模型改變?yōu)橛布P停唤y(tǒng)計(jì)信息產(chǎn)生 單元,其通過(guò)對(duì)其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單元改變?yōu)橛布P?的基本處理單元和按軟件模型布置的基本處理單元執(zhí)行性能評(píng)估模擬, 來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,該性能評(píng)估模擬經(jīng)由指令高速 緩存和數(shù)據(jù)高速緩存來(lái)執(zhí)行總線存取以測(cè)量系統(tǒng)的操作分析所需的數(shù) 據(jù);以及LSI產(chǎn)生單元,其基于所述統(tǒng)計(jì)信息產(chǎn)生單元產(chǎn)生的統(tǒng)計(jì)信息, 以劃分的方式在LSI上實(shí)現(xiàn)軟件和硬件。
本發(fā)明(實(shí)施方式)的其它目的和優(yōu)點(diǎn)將在下面的說(shuō)明中部分地進(jìn) 行闡述,且可部分地從說(shuō)明中顯現(xiàn),或者可通過(guò)本發(fā)明的實(shí)踐而獲知。 本發(fā)明的目的和優(yōu)點(diǎn)可通過(guò)所附權(quán)利要求中具體指出的部件和組合來(lái)實(shí) 現(xiàn)并獲得。
應(yīng)當(dāng)理解上述總體描述和下文的詳細(xì)描述都僅是示例性和說(shuō)明性 的,并且并非對(duì)本發(fā)明的限制。
圖1是根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的概況和特征的圖; 圖2是根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的配置的圖; 圖3是根據(jù)第一實(shí)施方式在整個(gè)執(zhí)行日志中的對(duì)地址的存取與基本 處理單元之間的關(guān)系的圖4是根據(jù)第一實(shí)施方式的統(tǒng)計(jì)信息的示例的圖; 圖5是LSI開(kāi)發(fā)流的圖6是根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的模擬處理的流程圖7是用于說(shuō)明通過(guò)根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置所執(zhí)行
的SW/HW劃分處理的圖8是當(dāng)CPU模型定期執(zhí)行事件時(shí),時(shí)間與CPU吞吐量之間的關(guān) 系的圖;圖9是根據(jù)第二實(shí)施方式當(dāng)CPU中的功能模塊的一部分轉(zhuǎn)變成硬件
時(shí)的事件處理的圖IO是根據(jù)第二實(shí)施方式的UML類(lèi)的示例的圖11是根據(jù)第二實(shí)施方式的以系統(tǒng)C語(yǔ)言描述的示例的圖12是根據(jù)第二實(shí)施方式的硬件模型的抽象程度與模擬處理之間的
關(guān)系的圖13是用于說(shuō)明根據(jù)第三實(shí)施方式的性能評(píng)估模擬處理的圖; 圖14是用于說(shuō)明根據(jù)第四實(shí)施方式的性能評(píng)估模擬處理的圖15是根據(jù)第四實(shí)施方式的當(dāng)CPU中的進(jìn)程處理的一部分轉(zhuǎn)變?yōu)?硬件時(shí)的事件處理的圖16是用于說(shuō)明根據(jù)第五實(shí)施方式的使用執(zhí)行日志的文件大小作為 SW/HW劃分的閾值的情況的圖17是用于說(shuō)明根據(jù)第六實(shí)施方式的通過(guò)使用附加CPU向多核轉(zhuǎn) 變的構(gòu)思的圖;以及圖18是執(zhí)行性能評(píng)估模擬程序的計(jì)算機(jī)的圖。
具體實(shí)施例方式
參考附圖,下面詳細(xì)說(shuō)明根據(jù)本發(fā)明的性能評(píng)估模擬裝置的實(shí)施方 式。下面,依次說(shuō)明根據(jù)本發(fā)明的性能評(píng)估模擬裝置的概況和特征,以 及該性能評(píng)估模擬裝置的配置和處理流,最后說(shuō)明實(shí)施方式的效果。
第一實(shí)施方式
首先,通過(guò)使用圖1,對(duì)根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的概 況和特征進(jìn)行說(shuō)明。圖1是根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的概 況和特征的圖。
該性能評(píng)估模擬裝置利用執(zhí)行日志(指令串)作為輸入來(lái)執(zhí)行性能 評(píng)估模擬。該執(zhí)行日志表示從將系統(tǒng)LSI的規(guī)范劃分成軟件模型和硬 件模型并且使用ISS (信息存儲(chǔ)系統(tǒng))等在實(shí)際機(jī)或目標(biāo)CPU上執(zhí)行通 過(guò)所述劃分獲得的軟件模型的結(jié)果而獲得的執(zhí)行歷史。在這種配置中,性能評(píng)估模擬裝置的概況是,使得在軟件模型和硬 件模型中,根據(jù)系統(tǒng)規(guī)范臨時(shí)確定將要在軟件和硬件中執(zhí)行的處理,并 且針對(duì)軟件模型和硬件模型的每一個(gè)執(zhí)行性能評(píng)估。具體而言,該裝置 的主要特征在于,使得能夠在設(shè)計(jì)的初始階段最優(yōu)化地執(zhí)行SW/HW劃
分,并且能夠確定SW/HW劃分的有效性。
現(xiàn)在將具體說(shuō)明這些主要特征?;诒硎就ㄟ^(guò)執(zhí)行實(shí)際機(jī)上的軟件 模型或模擬軟件而獲得的執(zhí)行歷史的執(zhí)行日志,性能評(píng)估模擬裝置做出 基本處理單元的劃分,該基本處理單元是軟件模型中將要執(zhí)行的處理的 執(zhí)行單元(參考圖1的(l))。
具體的示例如下。性能評(píng)估模擬裝置接收?qǐng)?zhí)行日志的輸入,該執(zhí)行
曰志表示從將系統(tǒng)LSI規(guī)范劃分成軟件模型和硬件模型并且使用ISS等 在實(shí)際機(jī)或目標(biāo)CPU上執(zhí)行軟件模型的結(jié)果而獲得的執(zhí)行歷史。然后, 基于該輸入執(zhí)行日志,性能評(píng)估模擬裝置進(jìn)行基本處理單元的劃分,該 基本處理單元是將要在軟件模型中執(zhí)行的處理的執(zhí)行單元。在這種基本 處理單元的劃分中,在通信處理軟件的情況下,例如,在從周期性處理 的圖形(pattern)找到OS (操作系統(tǒng))的任務(wù)起始點(diǎn)之后,以任務(wù)為單 元來(lái)執(zhí)行劃分。此外,例如,在從指令地址串追蹤對(duì)象文件之間的處理 流之后,找到中斷并進(jìn)行劃分。
然后,性能評(píng)估模擬裝置根據(jù)保存在執(zhí)行日志中的指令串?dāng)?shù)目或者 用于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)劃分所獲得的每個(gè)基本處理單 元的吞吐量(參考圖1的(2))。具體而言,在上述示例中,性能評(píng)估模 擬裝置根據(jù)在處理執(zhí)行時(shí)表示分支目的地地址信息的指令地址串的數(shù) 目、表示用于存取數(shù)據(jù)庫(kù)的存取目的地地址信息的數(shù)據(jù)存取地址串的數(shù) 目、或者保存在執(zhí)行日志中的其他信息來(lái)計(jì)算通過(guò)劃分獲得的每個(gè)基本 處理單元的吞吐量。
此后,性能評(píng)估模擬裝置將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值進(jìn)行比 較,且改變布置結(jié)構(gòu),將吞吐量超過(guò)預(yù)定閾值的基本處理單元從軟件模 型改變?yōu)橛布P?參考圖1的(3))。具體而言,在上述示例中,性能 評(píng)估模擬裝置將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值吞吐量進(jìn)行比較。然后,根據(jù)比較的結(jié)果,性能評(píng)估模擬裝置改變布置結(jié)構(gòu),以便將具有指示吞 吐量超過(guò)預(yù)定閾值吞吐量的執(zhí)行日志的基本處理單元從軟件處理改變?yōu)?硬件處理,從而直接連接到總線,由此進(jìn)行向硬件的轉(zhuǎn)變。
然后,對(duì)于其布置結(jié)構(gòu)被改變?yōu)橛布P偷幕咎幚韱卧桶窜浖?模型布置的基本處理單元,性能評(píng)估模擬裝置通過(guò)執(zhí)行經(jīng)由指令高速緩 存和數(shù)據(jù)高速緩存的總線存取來(lái)執(zhí)行性能評(píng)估模擬,以測(cè)量系統(tǒng)操作分 析所需的數(shù)據(jù),由此產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息(參考圖1的 (4))。具體而言,在上述示例中,對(duì)于其布置結(jié)構(gòu)被改變?yōu)橛布P偷?基本處理單元和按硬件模型布置的基本處理單元,以及其布置結(jié)構(gòu)被改 變?yōu)檐浖P偷幕咎幚韱卧桶窜浖P筒贾玫幕咎幚韱卧?,性?評(píng)估模擬裝置通過(guò)經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取來(lái)執(zhí) 行性能評(píng)估模擬。然后,性能評(píng)估模擬裝置測(cè)量指令執(zhí)行時(shí)間、指令讀 取時(shí)間以及數(shù)據(jù)存取時(shí)間,由此產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,
諸如CPU負(fù)載系數(shù)。該性能評(píng)估模擬裝置所產(chǎn)生的統(tǒng)計(jì)信息用于確定最 佳SW/HW劃分的有效性。在此,通過(guò)多次執(zhí)行性能評(píng)估模擬,可獲得 高度精確的模擬結(jié)果。
以這種方式,當(dāng)根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置基于通過(guò)使 用ISS等在實(shí)際機(jī)或目標(biāo)CPU上執(zhí)行軟件模型的結(jié)果而獲得的執(zhí)行曰志 來(lái)執(zhí)行性能評(píng)估模擬時(shí),在通過(guò)基于保存在執(zhí)行日志中的信息進(jìn)行劃分 而獲得的基本處理單元中,將具有大吞吐量的基本處理單元轉(zhuǎn)變?yōu)橛糜?執(zhí)行模擬的硬件。因此,如上所述,在主要特征中,可在設(shè)計(jì)的初始階 段最優(yōu)化地進(jìn)行SW/HW劃分,并且可確定SW/HW劃分的有效性。
即,性能評(píng)估模擬裝置通過(guò)使用保存在執(zhí)行日志中的信息來(lái)針對(duì)每 個(gè)處理執(zhí)行SW/HW劃分。因此,與依賴(lài)于LSI上實(shí)現(xiàn)的每個(gè)處理的完 成程度來(lái)執(zhí)行SW/HW劃分的常規(guī)技術(shù)的情況相比,可在設(shè)計(jì)的初始階 段最優(yōu)化地執(zhí)行SW/HW劃分。而且,在測(cè)量指令執(zhí)行時(shí)間、指令讀取 時(shí)間以及數(shù)據(jù)存取時(shí)間的同時(shí),性能評(píng)估模擬裝置通過(guò)執(zhí)行經(jīng)由指令高 速緩存和數(shù)據(jù)高速緩存的總線存取來(lái)進(jìn)行模擬,以輸出高度精確的統(tǒng)計(jì) 信息,諸如CPU負(fù)載系數(shù)。因此,與相互比較各個(gè)執(zhí)行單元的處理時(shí)間的常規(guī)技術(shù)的情況相比,可以確定SW/HW劃分的有效性。 [根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的配置]
接下來(lái),通過(guò)利用圖2,對(duì)根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的 配置進(jìn)行說(shuō)明。圖2是根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置的配置的 圖。如圖2所示,性能評(píng)估模擬裝置IO包括功能模塊11-1至ll-n、調(diào)度 器單元20以及存取處理單元21 。
性能評(píng)估模擬裝置10經(jīng)由總線30從I-高速緩存和D-高速緩存連接 到外部RAM (隨機(jī)存取存儲(chǔ)器)和外圍HW,其中該I-高速緩存是用于 減少獲得外部RAM上的指令的時(shí)間的指令高速緩存,且該D-高速緩存 是用于減小數(shù)據(jù)存取時(shí)間的數(shù)據(jù)高速緩存,該外部RAM是連接在性能評(píng) 估模擬裝置10外部的RAM,且該外圍HW例如包括外部I/F (接口)和 用于專(zhuān)門(mén)目的的專(zhuān)用硬件。另外,例如,使用系統(tǒng)C語(yǔ)言在事務(wù)級(jí)構(gòu)建 除了基本處理執(zhí)行日志以外的部分,該系統(tǒng)C語(yǔ)言是用于設(shè)計(jì)電子電路 的硬件描述語(yǔ)言之一。模塊之間的發(fā)送和接收是利用函數(shù)調(diào)用來(lái)執(zhí)行的。 此外,與總線30的連接是通過(guò)利用模塊共用的接口 (例如TLM-I/F)來(lái) 執(zhí)行的。因此,與RTL中的信號(hào)級(jí)通信不同,可容易地實(shí)現(xiàn)模塊的布置 和重新組合。
功能模塊11-1至ll-n表示基本處理單元,它們是在通過(guò)基于執(zhí)行曰 志的劃分而獲得的軟件模型中將要由存取處理單元21執(zhí)行的處理的執(zhí)行 單元。例如,如圖3所示,在數(shù)據(jù)存取的情況中,功能模塊ll-l (Fn[l]) 保持地址"E050D6E0"、指令/數(shù)據(jù)存取"I/D"以及加載(讀取)/存儲(chǔ)(寫(xiě) 入)"R/W"。在這些從輸入到性能評(píng)估模擬裝置10的執(zhí)行日志獲得的信 息條中, 一旦獲知將存取的地址,就可從存儲(chǔ)每個(gè)硬件地址和數(shù)據(jù)的 RAM獲知要存取哪個(gè)地址。然后,從該地址信息,可獲知性能評(píng)估模擬 裝置IO針對(duì)哪個(gè)HW發(fā)出指令或數(shù)據(jù)存取。在數(shù)據(jù)存取的情況,可獲知 加載還是存儲(chǔ)。此外,在作為整體的執(zhí)行日志中,在"xxx.o"、 "yyy.o" 和"zzz.o"(對(duì)象文件)之間存取每個(gè)地址,并且將對(duì)象文件之間的存取 的起始點(diǎn)到結(jié)束點(diǎn)的部分作為中斷,且提取作為基本處理單元(Fn[l])。 圖3是根據(jù)第一實(shí)施方式的整個(gè)執(zhí)行日志中的對(duì)地址的存取與基本處理單元之間的關(guān)系的圖。
基于表示通過(guò)在實(shí)際機(jī)或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷 史的執(zhí)行日志,存取處理單元21進(jìn)行基本處理單元的劃分,該基本處理 單元是將在軟件模型中執(zhí)行的處理的執(zhí)行單元。存取處理單元21隨后根 據(jù)保存在執(zhí)行日志中的指令地址串的數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù) 目來(lái)計(jì)算通過(guò)劃分獲得的每個(gè)基本處理單元的吞吐量。此后,存取處理
單元21將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值進(jìn)行比較,并且改變布置結(jié)構(gòu),
以便將吞吐量超過(guò)預(yù)定閾值的基本處理單元從軟件模型改變?yōu)橛布?型。隨后,對(duì)于布置結(jié)構(gòu)己經(jīng)改變?yōu)橛布P偷幕咎幚韱卧桶窜浖?br>
模型布置的基本處理單元,存取處理單元21對(duì)執(zhí)行經(jīng)由指令高速緩存和
數(shù)據(jù)高速緩存的總線存取進(jìn)行性能評(píng)估模擬。
具體示例如下?;趫?zhí)行日志,存取處理單元21進(jìn)行基本處理單元 的劃分,該基本處理單元是將在軟件模型中執(zhí)行的處理的執(zhí)行單元。存 取處理單元21隨后根據(jù)表示處理執(zhí)行時(shí)的分支目的地地址信息的指令地 址串的數(shù)目、表示用于存取數(shù)據(jù)庫(kù)的存取目的地地址信息的數(shù)據(jù)存取地 址串的數(shù)目或保存在執(zhí)行日志中的其他信息,來(lái)計(jì)算通過(guò)劃分獲得的各 基本處理單元的吞吐量。
此后,存取處理單元21將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值進(jìn)行比較, 并且改變布置結(jié)構(gòu),以便將具有表示吞吐量超過(guò)預(yù)定閾值吞吐量的執(zhí)行 曰志的基本處理單元從軟件處理改變?yōu)橛布幚?,從而直接連接到總線 30,由此進(jìn)行向硬件的轉(zhuǎn)變。隨后,當(dāng)從調(diào)度器單元20接收到針對(duì)進(jìn)程 處理的請(qǐng)求時(shí),存取處理單元21通過(guò)執(zhí)行經(jīng)由指令高速緩存(I-高速緩 存)和數(shù)據(jù)高速緩存(D-高速緩存)的總線存取,同時(shí)測(cè)量指令執(zhí)行時(shí) 間、指令讀取時(shí)間以及數(shù)據(jù)存取時(shí)間,來(lái)對(duì)布置結(jié)構(gòu)己變?yōu)橛布P鸵?便向硬件轉(zhuǎn)換的基本處理單元執(zhí)行性能評(píng)估模擬。
調(diào)度器單元20根據(jù)存取處理單元21執(zhí)行的模擬處理來(lái)產(chǎn)生作為性 能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息。具體而言,在上述示例中,發(fā)生某一事件作 為觸發(fā),調(diào)度器單元20請(qǐng)求相應(yīng)的功能模塊(基本處理單元)進(jìn)行進(jìn)程 處理。調(diào)度器單元20隨后根據(jù)由存取處理單元21獲得的模擬結(jié)果來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,諸如CPU負(fù)載系數(shù)。如圖4所示,
其中已存儲(chǔ)了如下統(tǒng)計(jì)信息,例如,"100納秒"的指令執(zhí)行時(shí)間、"3納 秒"的指令讀取時(shí)間、"2納秒"的數(shù)據(jù)存取時(shí)間以及每個(gè)處理單元"Fn[l]" "30°/。"的CPU負(fù)載系數(shù)。另外,存取處理單元21對(duì)經(jīng)由總線30與外 部RAM、外圍HW以及其他設(shè)備相連接的接口的端口 ID (標(biāo)識(shí)符)以 及統(tǒng)一標(biāo)準(zhǔn)化的功能模塊11-1至ll-n的塊ID進(jìn)行管理,并且獲知功能 模塊請(qǐng)求存取處理單元21進(jìn)程處理的順序,還獲知功能模塊的布置。圖 4是根據(jù)第一實(shí)施方式的統(tǒng)計(jì)信息的示例圖。 [LSI開(kāi)發(fā)流]
接下來(lái),通過(guò)利用圖5,對(duì)LSI開(kāi)發(fā)流進(jìn)行說(shuō)明。圖5是LSI開(kāi)發(fā)流 的圖。這里,該流程是設(shè)計(jì)包括根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置 的處理的完整LSI。
如圖5所示,當(dāng)產(chǎn)生規(guī)范(步驟S601為"是")時(shí),根據(jù)所產(chǎn)生的 規(guī)范對(duì)系統(tǒng)請(qǐng)求進(jìn)行分析(步驟S602)。然后,根據(jù)經(jīng)分析的系統(tǒng)請(qǐng)求來(lái) 設(shè)計(jì)考慮十進(jìn)制的方案(步驟S603)。然后,在對(duì)SW/HW劃分進(jìn)行性能-評(píng)估和考慮的情況下,對(duì)構(gòu)架進(jìn)設(shè)計(jì)(步驟S604)。此后,對(duì)硬件部分進(jìn) 行RTL邏輯設(shè)計(jì)(步驟S605),并且執(zhí)行該硬件的物理設(shè)計(jì)(步驟S606)。 另外,對(duì)軟件部分進(jìn)行軟件開(kāi)發(fā)(步驟S607)。然后,組合硬件和軟件以 產(chǎn)生實(shí)際的機(jī)器模型(步驟S608),然后裝配產(chǎn)品(步驟S609)。
接下來(lái),通過(guò)利用圖6,對(duì)由根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置 10執(zhí)行的模擬處理進(jìn)行說(shuō)明。圖6是根據(jù)第一實(shí)施方式的性能評(píng)估模擬 裝置10的模擬處理的流程圖。這里,圖6中說(shuō)明的處理是圖5中示出的 步驟S604處的構(gòu)架設(shè)計(jì)的一部分。
如圖6所示,在產(chǎn)生規(guī)范(步驟S101為"是")時(shí),性能評(píng)估模擬 裝置10將規(guī)范劃分成軟件處理和硬件處理(步驟S102),并且隨后輸出 作為軟件模型的臨時(shí)軟件和作為硬件模型的操作模型(步驟S103和 S104)。當(dāng)輸出執(zhí)行日志時(shí),所述執(zhí)行日志表示從使用ISS等在實(shí)際機(jī)或 目標(biāo)CPU上執(zhí)行輸出的臨時(shí)軟件的結(jié)果而獲得的執(zhí)行歷史(步驟S105和S106),基于所述執(zhí)行日志,做出基本處理單元的劃分,該基本處理單
元是軟件模型中要執(zhí)行的處理的執(zhí)行單元(步驟S107)。
然后,性能評(píng)估模擬裝置IO根據(jù)表示處理執(zhí)行時(shí)的分支目的地地址
信息的指令地址串的數(shù)目、表示用于存取數(shù)據(jù)庫(kù)的存取目的地地址信息 的數(shù)據(jù)存取地址串的數(shù)目,或者保存在執(zhí)行日志中的其他信息來(lái)計(jì)算通
過(guò)劃分獲得的每個(gè)基本處理單元的吞吐量(步驟S108)。
此后,性能評(píng)估模擬裝置IO將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值進(jìn)行 比較(步驟S109)。然后,根據(jù)比較結(jié)果,性能評(píng)估模擬裝置10改變布 置結(jié)構(gòu),以便將具有表示吞吐量超過(guò)預(yù)定閾值吞吐量的執(zhí)行日志的基本 處理單元從軟件處理改變?yōu)橛布幚?,從而直接連接到總線,由此做出 向硬件的轉(zhuǎn)變(步驟SllO)。這里,當(dāng)將基本處理單元的布置結(jié)構(gòu)改變?yōu)?硬件時(shí),性能評(píng)估模擬裝置10基于塊ID來(lái)搜索與吞吐量超過(guò)預(yù)定閾值 吞吐量的基本處理單元相對(duì)應(yīng)的功能模塊,由此改變?cè)摴δ苣K的布置 結(jié)構(gòu)。即,性能評(píng)估模擬裝置10將該功能模塊從CPU內(nèi)部移動(dòng)到能夠 直接總線連接的端口 ,由此將功能模塊的工作從通過(guò)CPU的軟件處理轉(zhuǎn) 變?yōu)橛布?br>
然后,對(duì)于布置結(jié)構(gòu)已改變?yōu)橛布P偷幕咎幚韱卧桶窜浖?型布置的基本處理單元,性能評(píng)估模擬單元IO通過(guò)執(zhí)行經(jīng)由指令高速緩 存和數(shù)據(jù)高速緩存的總線存取,同時(shí)測(cè)量指令執(zhí)行時(shí)間、指令讀取時(shí)間 以及數(shù)據(jù)存取時(shí)間,來(lái)執(zhí)行性能評(píng)估模擬。此后,性能評(píng)估模擬單元10 根據(jù)所述指令執(zhí)行時(shí)間、指令讀取時(shí)間以及數(shù)據(jù)存取時(shí)間來(lái)產(chǎn)生作為性 能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,諸如CPU負(fù)載系數(shù)(步驟Slll)。
接下來(lái),通過(guò)利用圖7,對(duì)由根據(jù)第一實(shí)施方式的性能評(píng)估模擬裝置 10進(jìn)行的SW/HW劃分處理進(jìn)行說(shuō)明。圖7是用于說(shuō)明根據(jù)第一實(shí)施方 式的性能評(píng)估模擬裝置IO進(jìn)行的SW/HW劃分處理的圖。
如圖7所示,性能評(píng)估模擬裝置IO確定用作基本處理單元的SW/HW 劃分條件的吞吐量閾值(預(yù)定閾值)(步驟S201)。性能評(píng)估模擬裝置IO 隨后對(duì)保存在通過(guò)劃分獲得的基本處理單元的執(zhí)行日志中的指令地址串 的數(shù)目和數(shù)據(jù)存取地址串的數(shù)目進(jìn)計(jì)數(shù),并且根據(jù)這些計(jì)數(shù)之一 (或其總數(shù))來(lái)計(jì)算基本處理單元的吞吐量(步驟S202至S204)。
此后,當(dāng)計(jì)算出的吞吐量超過(guò)預(yù)定閾值(步驟S205為"是")時(shí), 性能評(píng)估模擬裝置10基于塊ID來(lái)搜索與超出閾值的執(zhí)行日志相對(duì)應(yīng)的 基本處理單元(步驟S206)。隨后,性能評(píng)估模擬裝置10將找到的基本 處理單元指配給能夠進(jìn)行直接總線連接的端口,且根據(jù)基本處理單元的 布置結(jié)構(gòu)的變化,將端口ID變?yōu)橛布?步驟S207和S208)。
接著,性能評(píng)估模擬裝置IO不需要對(duì)轉(zhuǎn)變?yōu)橛布幕咎幚韱卧M(jìn) 行高速緩存存取,而是需要對(duì)RAM的直接存取。然而,由于不需要針對(duì) 執(zhí)行日志的指令讀取,所以可刪除指令地址串,并且在執(zhí)行模擬中只提 取數(shù)據(jù)存取(步驟S209和S210)。 [根據(jù)第一實(shí)施方式的效果]
這樣,根據(jù)第一實(shí)施方式,性能評(píng)估模擬裝置10使用保存在執(zhí)行曰 志中的信息來(lái)進(jìn)行每個(gè)處理的SW/HW劃分。而且,性能評(píng)估模擬裝置 10通過(guò)執(zhí)行經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存的總線存取且同時(shí)測(cè)量指 令執(zhí)行時(shí)間、指令讀取時(shí)間以及數(shù)據(jù)存取時(shí)間來(lái)執(zhí)行模擬。西此,可以 在設(shè)計(jì)的初始階段最優(yōu)化地執(zhí)行SW/HW劃分,且可以確定SW/HW劃 分的有效性。
例如,性能評(píng)估模擬裝置IO基于保存在執(zhí)行日志中的指令地址串的 數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù)目中的任意一個(gè)或其總數(shù)來(lái)計(jì)算每個(gè) 基本處理單元的吞吐量,隨后改變布置結(jié)構(gòu),將吞吐量超過(guò)預(yù)定閾值的 基本處理單元改變?yōu)橛布P汀P阅茉u(píng)估模擬裝置IO隨后針對(duì)布置結(jié)構(gòu) 已變?yōu)橛布P偷幕咎幚韱卧桶窜浖P筒贾玫幕咎幚韱卧?,?zhí) 行通過(guò)執(zhí)行經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存的總線存取的性能評(píng)估模 擬,以產(chǎn)生諸如指令執(zhí)行時(shí)間、指令讀取時(shí)間以及數(shù)據(jù)存取時(shí)間的統(tǒng)計(jì) 信息。因此,性能評(píng)估模擬裝置10能夠在設(shè)計(jì)的初始階段最優(yōu)化地執(zhí)行 SW/HW劃分,并且還能夠確定SW/HW劃分的有效性。
第二實(shí)施方式
盡管在第一實(shí)施方式中,解釋了當(dāng)采用通過(guò)基于執(zhí)行日志的劃分而 獲得基本處理單元作為執(zhí)行單元時(shí)的向硬件的轉(zhuǎn)換。然而,本發(fā)明不限
18于這種向硬件的轉(zhuǎn)變。另選的是,可以考慮針對(duì)由第一塊和第二塊形成的基本處理單元的向硬件的另一轉(zhuǎn)變。
在下面的第二實(shí)施方式中,參考圖8至12,詳細(xì)解釋根據(jù)第二實(shí)施方式的,針對(duì)由第一塊和第二塊形成的基本處理單元的向硬件的轉(zhuǎn)變。
圖8是當(dāng)CPU模型定期執(zhí)行事件時(shí),時(shí)間與CPU吞吐量之間的關(guān)系的圖。圖9是根據(jù)第二實(shí)施方式的當(dāng)將CPU中的功能模塊的一部分轉(zhuǎn)變成硬件時(shí)的事件處理的圖。圖10是根據(jù)第二實(shí)施方式的UML類(lèi)的示例圖。圖11是根據(jù)第二實(shí)施方式的系統(tǒng)C語(yǔ)言的描述示例的圖。圖12是根據(jù)第二實(shí)施方式的硬件模型的抽象程度與模擬處理之間的關(guān)系的圖。這里,根據(jù)第二實(shí)施方式的性能評(píng)估模擬裝置的配置、功能以及其他方面與第一實(shí)施方式類(lèi)似,且因此此處不做解釋。
在第二實(shí)施方式中,通過(guò)利用圖8,對(duì)CPU模型定期執(zhí)行事件時(shí)的時(shí)間與CPU吞吐量之間的關(guān)系進(jìn)行說(shuō)明。在圖8中,每個(gè)基本處理單元由白盒部分和黑盒部分形成,所述白盒部分根據(jù)組合多個(gè)基本處理單元的進(jìn)程處理單元,在此描述了每個(gè)基本處理單元的獨(dú)特功能,并且在所述黑盒部分中執(zhí)行用于收集統(tǒng)計(jì)信息的處理。而且,進(jìn)程處理是組合執(zhí)行多個(gè)基本處理單元的處理,同時(shí)事件由僅包括基本處理單元的進(jìn)程處理的組合形成。這里,在圖8中的縱軸表示"CPU吞吐量",而橫軸表示"時(shí)間"的情況下,還對(duì)CPU吞吐量與時(shí)間之間的關(guān)系進(jìn)行了說(shuō)明。
如圖8所示,例如,當(dāng)周期事件A發(fā)生時(shí),利用該事件A作為觸發(fā),性能評(píng)估模擬裝置10相繼調(diào)用基本處理單元Fn[l]和Fn[2]。然后,當(dāng)周期事件B發(fā)生時(shí),利用該事件B作為觸發(fā),性能評(píng)估模擬裝置10相繼調(diào)用基本處理單元Fn[2], Fn[3], Fn[l]。然后,當(dāng)周期事件C發(fā)生時(shí),利用該事件C作為觸發(fā),性能評(píng)估模擬裝置10調(diào)用基本處理單元Fn[l]。
在作為基本處理單元的功能模塊中,在通過(guò)白盒部分根據(jù)每個(gè)進(jìn)程處理來(lái)調(diào)用黑盒部分之后,黑盒部分收集諸如指令執(zhí)行時(shí)間、指令讀取時(shí)間以及數(shù)據(jù)存取時(shí)間的統(tǒng)計(jì)信息。另外,通過(guò)"白盒+黑盒X調(diào)用次數(shù)"來(lái)確定用于基本處理的處理時(shí)間,并且處理時(shí)間越長(zhǎng),CPU的吞吐量越大。而且,針對(duì)每個(gè)事件和基本處理單元,提供優(yōu)先級(jí),從而避免執(zhí)行進(jìn)程在時(shí)間上的沖突。的布置結(jié)構(gòu)改變?yōu)橛布?。在基本處理單元向硬件的轉(zhuǎn)變中,如圖9所示,縮短了轉(zhuǎn)變?yōu)橛布幕咎幚韱卧狥n[3]的處理時(shí)間,且減小了整個(gè)事件B的CPU吞吐量。
艮P,性能評(píng)估模擬裝置IO將具有大負(fù)載的功能模塊轉(zhuǎn)變?yōu)橛布?,由此減小了CPU吞吐量。而且,由于轉(zhuǎn)變?yōu)橛布墓δ苣K直接對(duì)RAM進(jìn)行存取,所以不需要指令執(zhí)行串,且用于數(shù)據(jù)存取的地址范圍也有限。因此,與對(duì)D-高速緩存(在數(shù)據(jù)存取時(shí)使用的高速緩存)進(jìn)行存取的情況相比,縮短了時(shí)間,由此減少了黑盒部分的處理時(shí)間并且還減少了整個(gè)進(jìn)程處理的處理時(shí)間。這里,與轉(zhuǎn)變?yōu)橛布墓δ苣K的數(shù)目的增加相關(guān)聯(lián)地,考慮用于向硬件的轉(zhuǎn)變的實(shí)施區(qū)域的增加、功耗的增加、總線占用率的增加等,來(lái)設(shè)置用于SW/HW劃分的閾值。
接下來(lái),通過(guò)利用圖10和11,對(duì)根據(jù)第二實(shí)施方式的UML類(lèi)的示例和以系統(tǒng)C語(yǔ)言描述的示例進(jìn)行說(shuō)明。并且,通過(guò)利用圖12,對(duì)根據(jù)第二實(shí)施方式的硬件模型的抽象程度與模擬處理之間的關(guān)系進(jìn)行說(shuō)明。在圖10或11中,"Fn—*"表示功能模塊,"Fn—if"表示功能模塊公共接口, "FnjMi"表示每個(gè)功能模塊的頭部,"Fn—*.0 "表示源碼,"Fn—if.h"表示功能模塊公共接口的頭部,且"Fn—if.cpp"表示源碼。
在形成功能模塊的白盒和黑盒中,執(zhí)行用于收集統(tǒng)計(jì)信息的處理的黑盒部分被設(shè)置在功能模塊公共接口中,并且其中根據(jù)性能驗(yàn)證目的和硬件模型的完成程度來(lái)描述針對(duì)每個(gè)模塊唯一的功能的白盒部分被設(shè)置在每個(gè)功能模塊的"cbjrocess()"的進(jìn)程處理中。
然后,由調(diào)度器單元指令進(jìn)行"doj)rocess()"的進(jìn)程處理的每個(gè)功能模塊"Fn—*"執(zhí)行白盒部分。此后,白盒部分執(zhí)行針對(duì)每個(gè)模塊唯一的功能,隨后,給出針對(duì)每個(gè)模塊確定的參數(shù)"x"以調(diào)用"blackbox()"的功能。接著,基于參數(shù)"x",黑盒部分獲得基本處理單元的執(zhí)行日志,從該執(zhí)行日志指定指令讀取和/或數(shù)據(jù)存取的處理的數(shù)目以導(dǎo)致在CPU上發(fā)生負(fù)載,且收集諸如指令執(zhí)行時(shí)間的統(tǒng)計(jì)信息。
以這種方式,根據(jù)第二實(shí)施方式,無(wú)論是否執(zhí)行每個(gè)基本處理單元的獨(dú)特功能,性能評(píng)估模擬裝置10都能夠提供CPU負(fù)載。因此,可以進(jìn)行高速緩存分析和CPU統(tǒng)計(jì)信息的獲取等操作。
艮P,如圖12所示,性能評(píng)估模擬裝置10能夠與執(zhí)行在白盒部分中描述的每個(gè)基本處理單元的獨(dú)特功能無(wú)關(guān)地,甚至與根據(jù)LSI設(shè)計(jì)的過(guò)程的硬件模型的抽象程度無(wú)關(guān)地,實(shí)現(xiàn)性能評(píng)估模擬和SW/HW劃分的最優(yōu)考慮。
第三實(shí)施方式
在第一實(shí)施方式中,描述了其中將在SW/HW劃分中的基本處理單元的吞吐量與預(yù)定閾值相比較以執(zhí)行模擬的情況。然而,本發(fā)明不限于此。另選的是,SW/HW劃分中的基本處理單元的預(yù)定閾值可以根據(jù)CPU負(fù)載系數(shù)而變化,并且隨后將該預(yù)定閾值與吞吐量相互比較以執(zhí)行模擬。
在下面的第三實(shí)施方式中,通過(guò)利用圖13,對(duì)根據(jù)第三實(shí)施方式的性能評(píng)估模擬處理進(jìn)行說(shuō)明。圖13是用于對(duì)根據(jù)第三實(shí)施方式的性能評(píng)估模擬處理進(jìn)行說(shuō)明的圖。在該第三實(shí)施方式中,使用包含在目標(biāo)處理器中的所有功能模塊來(lái)執(zhí)行性能評(píng)估處理,以將存儲(chǔ)在執(zhí)行日志中的指令執(zhí)行次數(shù)、數(shù)據(jù)裝載次數(shù)以及數(shù)據(jù)的存取次數(shù)與CPU確定條件(例如,CPU負(fù)載系數(shù)和總線占用率)相關(guān)聯(lián)。
如圖13所示,性能評(píng)估模擬裝置10基于CPU負(fù)載系數(shù)等來(lái)設(shè)置用于確定CPU性能的閾值(步驟S301),以確定作為SW/HW劃分條件的用于基本處理單元的預(yù)定閾值(步驟S302)。接著,與第一實(shí)施方式一樣,性能評(píng)估模擬裝置10對(duì)保存在通過(guò)劃分成基本處理單元而獲得的執(zhí)行日志中的指令地址串的數(shù)目、用于數(shù)據(jù)存取的地址串的數(shù)目以及其他信息進(jìn)行計(jì)數(shù),隨后根據(jù)這些計(jì)數(shù)中的任意一個(gè)(或其總數(shù))來(lái)計(jì)算基本處
理單元的吞吐量(步驟S303至S305)。
此后,當(dāng)計(jì)算出的吞吐量超過(guò)預(yù)定閾值時(shí)(步驟S306為"是"),性能評(píng)估模擬裝置10基于塊ID,搜索與示出吞吐量超過(guò)所述閾值的執(zhí)行日志相對(duì)應(yīng)的基本處理單元(步驟S307)。然后,性能評(píng)估模擬裝置10將所找到的基本處理單元指配到能夠進(jìn)行直接總線連接的端口,且根據(jù)基本處理單元的布置結(jié)構(gòu)向硬件的改變來(lái)變更端口ID(步驟S308和S309)。
接下來(lái),性能評(píng)估模擬裝置IO不需要對(duì)轉(zhuǎn)變?yōu)橛布幕咎幚韱卧M(jìn)行高速緩存存取,而是需要對(duì)RAM的直接存取。然而,由于不需要針對(duì)執(zhí)行日志的指令讀取,所以可刪除指令地址串,且在執(zhí)行模擬時(shí)僅提取數(shù)據(jù)存取(步驟S310和S311 )。然后,當(dāng)不滿足CPU性能確定條件(步驟S312為"是")時(shí),處理過(guò)程返回步驟S302,在此,性能評(píng)估模擬裝置10確定(校正)基本處理單元的吞吐量的閾值。這里,可根據(jù)事先找到的執(zhí)行日志的吞吐量與CPU性能確定條件之間的關(guān)聯(lián)來(lái)計(jì)算基本處理單元的吞吐量的閾值的校正范圍。另選的是,可按照基本處理單元的降序(或升序)逐一地將功能模塊轉(zhuǎn)變成硬件,以執(zhí)行模擬,直到滿足CPU性能確定條件為止。
以這種方式,根據(jù)第三實(shí)施方式,當(dāng)不滿足基于性能評(píng)估結(jié)果的CPU性能確定條件時(shí),性能評(píng)估模擬裝置IO改變基本處理單元的確定閾值。這樣,能夠執(zhí)行更高精確度的模擬,從而能夠確定SW/HW劃分的有效性。
第四實(shí)施方式和Fn[l]的布置結(jié)構(gòu)轉(zhuǎn)變?yōu)橛布?。在進(jìn)程處理單 元向硬件的轉(zhuǎn)變中,如圖15所示,在將進(jìn)程處理單元Fn[3]和Fn[l]中的 每一個(gè)轉(zhuǎn)變?yōu)橛布那闆r下,縮減了處理時(shí)間,從而也減少了整個(gè)事件B 中的CPU吞吐量。
艮P,性能評(píng)估模擬裝置IO通過(guò)進(jìn)程處理單元將具有大負(fù)載的功能模 塊轉(zhuǎn)變?yōu)橛布?,由此減小了CPU的吞吐量。而且,由于轉(zhuǎn)變?yōu)橛布墓?能模塊直接存取RAM,所以不需要指令執(zhí)行串,并且用于數(shù)據(jù)存取的地 址范圍也有限。因此,與存取D-高速緩存(在數(shù)據(jù)存取時(shí)使用的高速緩 存)的情況相比,縮減了時(shí)間,由此減少了黑盒部分的處理時(shí)間且進(jìn)一 步減小了整個(gè)進(jìn)程處理的處理時(shí)間。
以這種方式,根據(jù)第四實(shí)施方式,當(dāng)不滿足基于性能評(píng)估結(jié)果的CPU 性能確定條件時(shí),性能評(píng)估模擬裝置IO改變進(jìn)程處理單元的確定閾值。 這樣,能夠執(zhí)行更高精確度的模擬以確定SW/HW劃分的有效性。
第五實(shí)施方式
在第一實(shí)施方式中,描述了其中利用預(yù)先確定的SW/HW劃分中的 基本處理單元的預(yù)定閾值來(lái)執(zhí)行模擬的情況。然而,本發(fā)明不限于此。 另選的是,SW/HW劃分中的基本處理單元的預(yù)定閾值可以通過(guò)利用執(zhí)行 日志的文件大小來(lái)確定。
在下面的第五實(shí)施方式中,通過(guò)利用圖16,對(duì)根據(jù)第五實(shí)施方式的 利用執(zhí)行日志的文件大小作為SW/HW劃分的閾值的情況進(jìn)行說(shuō)明。圖 16是用于對(duì)根據(jù)第五實(shí)施方式的利用執(zhí)行日志的文件大小作為SW/HW 劃分的閾值的情況進(jìn)行說(shuō)明的圖。
如圖16所示,性能評(píng)估模擬裝置10對(duì)保存在通過(guò)劃分而獲得的基本處理單元的執(zhí)行日志中的指令地址串的數(shù)目和用于數(shù)據(jù)存取的地址串 的數(shù)目進(jìn)行計(jì)數(shù),利用包含在目標(biāo)處理器中的所有功能模塊執(zhí)行模擬, 并且根據(jù)執(zhí)行模擬而獲得的統(tǒng)計(jì)信息來(lái)計(jì)算CPU吞吐量(步驟S501至
S504)。
然后,性能評(píng)估模擬裝置10利用計(jì)算出的CPU吞吐量將執(zhí)行日志 中的指令執(zhí)行次數(shù)、數(shù)據(jù)裝載次數(shù)以及數(shù)據(jù)存儲(chǔ)次數(shù)與CPU確定條件(例 如CPU負(fù)載系數(shù))相關(guān)聯(lián)(步驟S505)。性能評(píng)估模擬裝置10隨后將通 過(guò)劃分成基本處理單元獲得的執(zhí)行日志的文件大小與該文件中的指令執(zhí) 行次數(shù)和/或數(shù)據(jù)存取次數(shù)相關(guān)聯(lián)(S506)。然后,根據(jù)步驟S505和S506 的結(jié)果,性能評(píng)估模擬裝置10將CPU吞吐量與基本處理單元的執(zhí)行日 志的文件大小相關(guān)聯(lián)(步驟S507)。基于上述處理,性能評(píng)估模擬裝置 10可采用執(zhí)行日志的文件大小作為SW/HW劃分的閾值。
以這種方式,根據(jù)第五實(shí)施方式,性能評(píng)估模擬裝置10能夠使用執(zhí) 行日志的文件大小作為SW/HW劃分的閾值。這樣,可以進(jìn)行更高精確 度的模擬以確定SW/HW劃分的有效性。
第六實(shí)施方式
在第一實(shí)施方式中,描述了其中通過(guò)執(zhí)行性能評(píng)估模擬,來(lái)確定最 佳SW/HW劃分的有效性的情況。然而,本發(fā)明不限于此。另選的是, 可以考慮通過(guò)SW/HW劃分向多核的轉(zhuǎn)換。
在下面的第六實(shí)施方式中,通過(guò)利用圖17,來(lái)說(shuō)明通過(guò)使用附加 CPU向多核轉(zhuǎn)換的考慮。圖17是用于說(shuō)明根據(jù)第六實(shí)施方式的通過(guò)使用 附加CPU向多核轉(zhuǎn)換的考慮的圖。這里,在要進(jìn)行性能評(píng)估的性能評(píng)估 模擬設(shè)備的外部配置新的總線模型,并且在該總線上,按照需要布置有 附加CPU、 I-高速緩存、D-高速緩存以及外圍HW,由此構(gòu)建了性能評(píng)估 模擬環(huán)境。注意,附加CPU、 I-高速緩存以及D-高速緩存的結(jié)構(gòu)類(lèi)似于 CPU中的結(jié)構(gòu),并且執(zhí)行處理使得用于管理每個(gè)模塊的布置和處理順序 的端口 ID和塊ID不彼此重疊。如圖17所示,例如,根據(jù)SW/HW劃分的預(yù)定閾值,性能評(píng)估模擬
裝置10從CPU模塊中分離出相關(guān)功能模塊Fn[n],將它設(shè)置在附加CPU 中的接口中,并且改變功能模塊Fn[n]的端口 ID。接著,通過(guò)CPU和附 加CPU分別收集從模擬執(zhí)行結(jié)果獲得的統(tǒng)計(jì)信息,用于對(duì)當(dāng)在多個(gè)CPU 之間分配軟件處理時(shí)的效果進(jìn)行高速緩存分析。
艮口,性能評(píng)估模擬裝置10基于閾值將CPU中要轉(zhuǎn)變成硬件的功能 模塊分配并輸出到附加CPU。因此,輸出是軟件X軟件的形式。
這樣,根據(jù)第六實(shí)施方式,性能評(píng)估模擬裝置10基于SW/HW劃分 的閾值,將CPU中要轉(zhuǎn)變成硬件的功能模塊分配并輸出到附加CPU中。 這樣,可以認(rèn)為是在一個(gè)CPU中存在多個(gè)CPU核的多核。
第七實(shí)施方式
另外,盡管已經(jīng)解釋了本發(fā)明的實(shí)施方式,但除了上述實(shí)施方式之 外,本發(fā)明還可以利用各種不同的實(shí)施方式來(lái)實(shí)現(xiàn)。這里,對(duì)(1)性能 評(píng)估模擬裝置的配置,(2)包括性能評(píng)估模擬裝置作為一個(gè)設(shè)計(jì)過(guò)程的 電子裝置以及(3)程序中的不同實(shí)施方式進(jìn)行說(shuō)明。 (1)性能評(píng)估模擬裝置的配置
除非特別聲明,否則處理過(guò)程、控制過(guò)程以及包括特定名稱(chēng)以及各 種數(shù)據(jù)和參數(shù)的信息(例如,如圖2所示的存儲(chǔ)為"統(tǒng)計(jì)信息"的信息) 可以任意改變。
而且,所示的每個(gè)裝置的每個(gè)組件在功能方面是概念性的,且不必 物理地如圖所示那樣配置。g卩,每個(gè)裝置的分配和聯(lián)合的特定圖形并不 限于附圖中示出的那些。例如,存取處理單元21可以分配到如下單元中 基于執(zhí)行日志進(jìn)行基本處理單元的劃分的基本處理單元?jiǎng)澐謫卧挥?jì)算 每個(gè)基本處理單元的吞吐量的吞吐量計(jì)算單元;改變布置結(jié)構(gòu)以便將基 本處理單元改變?yōu)橛布牟贾媒Y(jié)構(gòu)改變單元;以及執(zhí)行性能評(píng)估模擬的 模擬執(zhí)行單元。這樣,所有或部分的組件可以根據(jù)不同的負(fù)載和使用狀 態(tài),在功能或物理上分配或聯(lián)合在任意單元中。而且,在每個(gè)裝置中執(zhí)
行的處理功能的全部或任意部分可通過(guò)CPU和在該CPU上分析并執(zhí)行的程序來(lái)實(shí)現(xiàn),或可實(shí)現(xiàn)為具有布線邏輯的硬件。
(2) 包括性能評(píng)估模擬裝置作為一個(gè)設(shè)計(jì)過(guò)程的電子裝置。
此外,在上述實(shí)施方式中,說(shuō)明了用于執(zhí)行軟件模型和硬件模型的 最佳SW/HW劃分的性能評(píng)估模擬裝置。然而,本發(fā)明不限于此。另選 的是,可以考慮具有包括性能評(píng)估模擬裝置作為一個(gè)設(shè)計(jì)過(guò)程的電子裝 置。
例如,這種電子裝置接受其中通過(guò)根據(jù)系統(tǒng)規(guī)范使用軟件和硬件臨 時(shí)確定將要執(zhí)行的處理的軟件模型和硬件模型,且使用接受的軟件模型 和硬件模型,基于通過(guò)執(zhí)行如上所述的性能評(píng)估模擬而產(chǎn)生的統(tǒng)計(jì)信息,
在LIS上實(shí)施通過(guò)再次劃分而獲得的軟件和硬件。
(3) 程序
同時(shí),在上述實(shí)施方式中,說(shuō)明了其中通過(guò)硬件邏輯實(shí)現(xiàn)各種處理 的情況。然而,本發(fā)明不限于此。另選的是,可通過(guò)執(zhí)行預(yù)先提供的程
序的計(jì)算機(jī)來(lái)實(shí)現(xiàn)各種處理。下面,通過(guò)使用圖18,對(duì)執(zhí)行具有與上述 各實(shí)施方式中的性能評(píng)估模擬裝置類(lèi)似的功能的性能評(píng)估模擬程序的計(jì) 算機(jī)示例進(jìn)行說(shuō)明。圖18是執(zhí)行性能評(píng)估模擬程序的計(jì)算機(jī)的圖。
如圖18所示,作為性能評(píng)估模擬裝置的計(jì)算機(jī)110包括經(jīng)由總線180 彼此相連的HDD130、 CPU 140、 ROM 150以及RAM 160。
在ROM 150中,預(yù)先存儲(chǔ)了用于實(shí)現(xiàn)與第一實(shí)施方式中說(shuō)明的性能 評(píng)估模擬裝置10類(lèi)似的功能的性能評(píng)估模擬程序即,如圖18所示, 這些預(yù)先存儲(chǔ)的程序是基本處理單元?jiǎng)澐殖绦?50a、吞吐量計(jì)算程序 150b、布置結(jié)構(gòu)改變程序150c以及統(tǒng)計(jì)信息產(chǎn)生程序150d。這里,與圖 2所示的性能評(píng)估模擬裝置10的每個(gè)組件一樣,這些程序150a至150d 可以聯(lián)合或分散。
接著,CPU 140從ROM 150讀取這些程序150a至150d用于執(zhí)行。 這樣,如圖I8所示,它們用作基本處理單元?jiǎng)澐痔幚?40a、吞吐量計(jì)算 處理140b、布置結(jié)構(gòu)改變處理140c以及統(tǒng)計(jì)信息產(chǎn)生處理140d。這里, 處理140a至140d對(duì)應(yīng)于如圖2所示的調(diào)度器單元20和存取處理單元21 。
然后,CPU 140基于RAM 160中記錄的數(shù)據(jù)來(lái)執(zhí)行性能評(píng)估模擬程
27序。
這里,這些程序150a至150d并不一定必須預(yù)先存儲(chǔ)在ROM 150中。 另選的是,每個(gè)程序例如可以存儲(chǔ)在如下介質(zhì)中并且可被計(jì)算機(jī)110讀 取以執(zhí)行,所述介質(zhì)例如:"便攜式物理介質(zhì)",諸如軟磁盤(pán)(FD)、CD-ROM (壓縮光盤(pán)只讀存儲(chǔ)器)、DVD (數(shù)字通用光盤(pán))、磁光盤(pán)或插入到計(jì)算 機(jī)110的IC (集成電路)卡;"固定物理介質(zhì)",諸如內(nèi)置于或外置于計(jì) 算機(jī)110的HDD (硬盤(pán)驅(qū)動(dòng));或經(jīng)由公共電路、英特網(wǎng)、LAN (局域 網(wǎng))或WAN(廣域網(wǎng))與計(jì)算機(jī)110連接的"另一計(jì)算機(jī)(或服務(wù)器)"。
根據(jù)本申請(qǐng)中公開(kāi)的性能評(píng)估模擬裝置,可以實(shí)現(xiàn)在設(shè)計(jì)的初始階 段最優(yōu)化地執(zhí)行SW/HW劃分并且確定SW/HW劃分的有效性的效果。
此處引用的所有示例和條件語(yǔ)言旨在用于教學(xué)目的,以幫助讀者理 解本發(fā)明的原理和發(fā)明人為促進(jìn)本領(lǐng)域發(fā)展所提供的概念,并且應(yīng)被解 釋為不限于這些具體引用的示例和條件,也不限于與展示本發(fā)明的優(yōu)缺 點(diǎn)相關(guān)的說(shuō)明中的這種示例組織。盡管詳細(xì)描述了本發(fā)明的(多種)實(shí) 施方式,但應(yīng)當(dāng)理解,可以在不偏離本發(fā)明的精神和范圍的情況下對(duì)其 進(jìn)行各種變化、替換以及更改。
本申請(qǐng)基于并且要求2008年1月8日提交的在先日本專(zhuān)利申請(qǐng) No.2008-001606的優(yōu)先權(quán),在此通過(guò)引用并入其全部?jī)?nèi)容。
權(quán)利要求
1、一種性能評(píng)估模擬裝置,其通過(guò)對(duì)其中根據(jù)系統(tǒng)規(guī)范使用軟件或硬件來(lái)臨時(shí)確定要執(zhí)行的處理的軟件模型和硬件模型執(zhí)行模擬來(lái)評(píng)估性能,所述性能評(píng)估模擬裝置包括基本處理單元?jiǎng)澐謫卧鋱?zhí)行基本處理單元的劃分,所述基本處理單元是基于執(zhí)行日志,要在軟件模型中執(zhí)行的處理的執(zhí)行單元,所述執(zhí)行日志表示通過(guò)在實(shí)際機(jī)或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷史;吞吐量計(jì)算單元,其根據(jù)保存在所述執(zhí)行日志中的指令地址串的數(shù)目或用于數(shù)據(jù)存取的地址串的數(shù)目,來(lái)計(jì)算通過(guò)所述基本處理單元?jiǎng)澐謫卧膭澐侄@得的每個(gè)基本處理單元的吞吐量;布置結(jié)構(gòu)改變單元,其將所述吞吐量計(jì)算單元計(jì)算出的每個(gè)吞吐量與預(yù)定閾值進(jìn)行比較,并且改變布置結(jié)構(gòu),使得將吞吐量超過(guò)所述預(yù)定閾值的基本處理單元從所述軟件模型改變?yōu)樗鲇布P停灰约敖y(tǒng)計(jì)信息產(chǎn)生單元,其通過(guò)對(duì)布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單元改變?yōu)橛布P偷幕咎幚韱卧桶窜浖P筒贾玫幕咎幚韱卧獔?zhí)行性能評(píng)估模擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,所述性能評(píng)估模擬經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量系統(tǒng)的操作分析所需的數(shù)據(jù)。
2、 根據(jù)權(quán)利要求l所述的性能評(píng)估模擬裝置,其中,所述統(tǒng)計(jì)信息 產(chǎn)生單元通過(guò)對(duì)其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單元改變?yōu)樗鲇布?模型的基本處理單元和按所述軟件模型布置的基本處理單元執(zhí)行預(yù)定次 數(shù)的性能評(píng)估模擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,所述性能 評(píng)估模擬經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量所述系 統(tǒng)的操作分析所需的數(shù)據(jù)。
3、 根據(jù)權(quán)利要求l所述的性能評(píng)估模擬裝置,其中 所述基本處理單元由第一塊和第二塊形成,所述第一塊根據(jù)組合了多個(gè)基本處理單元的進(jìn)程處理單元,描述了每個(gè)基本處理單元的獨(dú)特功能,并且在所述第二塊中執(zhí)行用于收集所述統(tǒng)計(jì)信息的處理,并且在組合了其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單元改變?yōu)樗鲇布?型的多個(gè)基本處理單元和按軟件模型布置的基本處理單元的進(jìn)程處理 中,所述統(tǒng)計(jì)信息產(chǎn)生單元通過(guò)在執(zhí)行來(lái)自所述第一塊的每個(gè)基本處理 單元的獨(dú)特功能時(shí)調(diào)用所述第二塊,對(duì)調(diào)用的所述第二塊中的進(jìn)程處理 施加負(fù)載,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,所述性能評(píng)估模擬 經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量所述系統(tǒng)的操作 分析所需的數(shù)據(jù)。
4、 根據(jù)權(quán)利要求1所述的性能評(píng)估模擬裝置,其還包括確定條件設(shè) 置單元,所述確定條件設(shè)置單元設(shè)置用于確定將對(duì)其執(zhí)行性能評(píng)估模擬 的目標(biāo)處理器的性能評(píng)估結(jié)果的確定條件,其中當(dāng)在執(zhí)行性能評(píng)估模擬之后獲得的統(tǒng)計(jì)信息不滿足所述確定條件設(shè) 置單元所設(shè)置的確定條件時(shí),所述布置結(jié)構(gòu)改變單元改變所述預(yù)定閾值, 將所述吞吐量計(jì)算單元計(jì)算出的吞吐量與改變后的預(yù)定閾值相比較,并 且改變布置結(jié)構(gòu),使得將吞吐量超過(guò)所述預(yù)定閾值的基本處理單元從所 述軟件模型改變?yōu)樗鲇布P?,并且所述統(tǒng)計(jì)信息產(chǎn)生單元通過(guò)對(duì)其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單 元改變?yōu)樗鲇布P偷幕咎幚韱卧桶此鲕浖P筒贾玫幕咎?理單元執(zhí)行性能評(píng)估模擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,所 述性能評(píng)估模擬經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量 所述系統(tǒng)的操作分析所需的數(shù)據(jù)。
5、 根據(jù)權(quán)利要求l所述的性能評(píng)估模擬裝置,其還包括確定條件設(shè)置單元,所述確定條件設(shè)置單元設(shè)置用于確定將對(duì)其執(zhí)行性能評(píng)估模擬 的目標(biāo)處理器的性能評(píng)估結(jié)果的確定條件,其中-所述吞吐量計(jì)算單元根據(jù)保存在所述執(zhí)行日志中的指令地址串的數(shù) 目或用于數(shù)據(jù)存取的地址串的數(shù)目,來(lái)計(jì)算組合了通過(guò)所述基本處理單 元?jiǎng)澐謫卧膭澐侄@得的多個(gè)基本處理單元的進(jìn)程處理單元的吞吐當(dāng)在執(zhí)行性能評(píng)估模擬之后獲得的所述統(tǒng)計(jì)信息不滿足所述確定條件設(shè)置單元設(shè)置的確定條件時(shí),所述布置結(jié)構(gòu)改變單元改變所述預(yù)定閾 值,將所述吞吐量計(jì)算單元計(jì)算出的吞吐量與改變后的預(yù)定閾值相比較, 并且改變布置結(jié)構(gòu),使得將吞吐量超過(guò)所述預(yù)定閾值的基本處理單元從 所述軟件模型改變?yōu)樗鲇布P停⑶宜鼋y(tǒng)計(jì)信息產(chǎn)生單元通過(guò)對(duì)其布置結(jié)構(gòu)已被所述布置結(jié)構(gòu)改變單 元改變?yōu)樗鲇布P偷倪M(jìn)程處理單元和按所述軟件模型布置的進(jìn)程處 理單元執(zhí)行性能評(píng)估模擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,所 述性能評(píng)估模擬經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量 所述系統(tǒng)的操作分析所需的數(shù)據(jù)。
6、 根據(jù)權(quán)利要求l所述的性能評(píng)估模擬裝置,其中 基于根據(jù)從所述統(tǒng)計(jì)信息產(chǎn)生單元獲得的所述統(tǒng)計(jì)信息計(jì)算出的針對(duì)每個(gè)基本處理單元的性能評(píng)估結(jié)果和所述基本處理單元的所述執(zhí)行日志的文件大小,來(lái)確定用于在所述布置結(jié)構(gòu)改變單元中使用的所述預(yù)定 閾值,并且所述布置結(jié)構(gòu)改變單元將通過(guò)所述吞吐量計(jì)算單元計(jì)算出的吞吐量 與所述確定的預(yù)定閾值進(jìn)行比較,并且將吞吐量超出所述預(yù)定閾值的基 本處理單元的布置結(jié)構(gòu)從所述軟件模型改變?yōu)樗鲇布P汀?br>
7、 根據(jù)權(quán)利要求1所述的性能評(píng)估模擬裝置,其中 設(shè)置第二性能評(píng)估模擬裝置,所述第二性能評(píng)估模擬裝置具有與如下性能評(píng)估模擬裝置類(lèi)似的功能,該性能評(píng)估模擬裝置通過(guò)對(duì)其中根據(jù) 所述系統(tǒng)規(guī)范使用軟件和硬件來(lái)臨時(shí)確定將執(zhí)行的處理的軟件模型和硬 件模型進(jìn)行模擬來(lái)評(píng)估性能,并且所述布置結(jié)構(gòu)改變單元將通過(guò)所述吞吐量計(jì)算單元計(jì)算的吞吐量與 所述預(yù)定閾值進(jìn)行比較,且改變布置結(jié)構(gòu),使得將吞吐量超出所述預(yù)定 閾值的基本處理單元設(shè)置在所述第二性能評(píng)估模擬裝置中。
8、 一種性能評(píng)估模擬方法,其用于通過(guò)對(duì)其中根據(jù)系統(tǒng)規(guī)范使用軟 件和硬件來(lái)臨時(shí)確定要執(zhí)行的處理的軟件模型和硬件模型進(jìn)行模擬來(lái)評(píng) 估性能,該性能評(píng)估模擬方法包括以下步驟-劃分步驟,其執(zhí)行基本處理單元的劃分,該基本處理單元是基于執(zhí)行日志要在軟件模型中執(zhí)行的處理的執(zhí)行單元,所述執(zhí)行日志表示通過(guò)在實(shí)際機(jī)或模擬軟件上執(zhí)行軟件模型而獲得的執(zhí)行歷史;計(jì)算步驟,其根據(jù)保存在所述執(zhí)行日志中的指令地址串的數(shù)目或用 于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)劃分步驟獲得的每個(gè)基本處理單 元的吞吐量;比較步驟,其將每個(gè)計(jì)算出的吞吐量與預(yù)定閾值進(jìn)行比較; 改變步驟,其改變布置結(jié)構(gòu),使得將吞吐量超過(guò)所述預(yù)定閾值的基 本處理單元從所述軟件模型改變?yōu)樗鲇布P停灰约爱a(chǎn)生步驟,其通過(guò)對(duì)其布置結(jié)構(gòu)已被所述改變步驟改變?yōu)樗鲇布?模型的基本處理單元和按軟件模型布置的基本處理單元進(jìn)行性能評(píng)估模 擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,該性能評(píng)估模擬經(jīng)由指令 高速緩存和數(shù)據(jù)緩存執(zhí)行總線存取以測(cè)量所述系統(tǒng)的操作分析所需的數(shù) 據(jù)。
9、 一種包括性能評(píng)估模擬裝置的電子裝置,該性能評(píng)估模擬裝置對(duì) 根據(jù)系統(tǒng)規(guī)范而在軟件和硬件上執(zhí)行的處理執(zhí)行模擬,并且該電子裝置 基于通過(guò)該性能評(píng)估模擬裝置獲得的性能評(píng)估來(lái)設(shè)計(jì)LSI,所述電子裝置 包括-接受單元,其接受軟件模型和硬件模型;基本處理單元?jiǎng)澐謫卧鋱?zhí)行基本處理單元的劃分,該基本處理 單元是基于執(zhí)行日志要在所述軟件模型中執(zhí)行的處理的執(zhí)行單元,所述 執(zhí)行日志表示通過(guò)在實(shí)際機(jī)或模擬軟件上執(zhí)行所述軟件模型而獲得的執(zhí) 行歷史;吞吐量計(jì)算單元,其根據(jù)保存在所述執(zhí)行日志中的指令地址串的數(shù) 目或用于數(shù)據(jù)存取的地址串的數(shù)目來(lái)計(jì)算通過(guò)所述基本處理單元?jiǎng)澐謫?元的劃分而獲得的每個(gè)基本處理單元的吞吐量;布置結(jié)構(gòu)改變單元,其將所述吞吐量計(jì)算單元計(jì)算出的每個(gè)吞吐量 與預(yù)定閾值進(jìn)行比較,并且改變布置結(jié)構(gòu),使得將吞吐量超過(guò)所述預(yù)定 閾值的基本處理單元從所述軟件模型改變?yōu)樗鲇布P停灰约敖y(tǒng)計(jì)信息產(chǎn)生單元,其通過(guò)對(duì)其布置結(jié)構(gòu)己被所述布置結(jié)構(gòu)改變單元改變?yōu)橛布P偷幕咎幚韱卧桶窜浖P筒贾玫幕咎幚韱卧獔?zhí) 行性能評(píng)估模擬,來(lái)產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息,該性能評(píng)估 模擬經(jīng)由指令高速緩存和數(shù)據(jù)高速緩存執(zhí)行總線存取以測(cè)量所述系統(tǒng)的操作分析所需的數(shù)據(jù);以及LSI產(chǎn)生單元,其基于所述統(tǒng)計(jì)信息產(chǎn)生單元所產(chǎn)生的統(tǒng)計(jì)信息,以 劃分的方式在LSI上實(shí)現(xiàn)軟件和硬件。
全文摘要
本發(fā)明涉及性能評(píng)估模擬。一種性能評(píng)估模擬裝置基于執(zhí)行日志將處理劃分成基本處理單元;根據(jù)保存在所述執(zhí)行日志中的信息來(lái)計(jì)算每個(gè)基本處理單元的吞吐量;改變布置結(jié)構(gòu),使得計(jì)算出的吞吐量超過(guò)預(yù)定閾值的基本處理單元被布置在硬件模型中;并且對(duì)所述硬件模型和軟件模型進(jìn)行性能評(píng)估模擬以產(chǎn)生作為性能評(píng)估的基礎(chǔ)的統(tǒng)計(jì)信息。
文檔編號(hào)G06F19/00GK101482891SQ20081019052
公開(kāi)日2009年7月15日 申請(qǐng)日期2008年12月30日 優(yōu)先權(quán)日2008年1月8日
發(fā)明者中山典保, 加藤知己, 小泉伸和, 平本覺(jué), 湯沢直樹(shù), 稗田裕之 申請(qǐng)人:富士通株式會(huì)社