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

仿真設(shè)備及其仿真方法

文檔序號:6495980閱讀:197來源:國知局
仿真設(shè)備及其仿真方法
【專利摘要】本發(fā)明涉及仿真方法和設(shè)備。根據(jù)本發(fā)明,使用多個塊的仿真方法包括:劃分步驟,將仿真劃分為用于在塊上執(zhí)行獨特操作的計算操作和用于在不同塊之間的數(shù)據(jù)交換的通信操作;分組步驟,在相互依賴的計算操作和通信操作之間執(zhí)行分組;以及仿真執(zhí)行步驟,根據(jù)是否解決了在計算操作和通信操作之間的相互依賴的程度,使用塊來執(zhí)行包括在每個組中的操作。
【專利說明】仿真設(shè)備及其仿真方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于快速和準確地預測量和預測系統(tǒng)性能的仿真方法和設(shè)備。更加具體地,本發(fā)明提供了一種并行仿真方法,用于提取相互依賴的計算和通信到多個組中以及并行地處理所述組,一種分布式仿真方法,用于在多個節(jié)點中引入的虛擬陰影節(jié)點(shadownodes)以及根據(jù)由某個節(jié)點請求的任務的地址區(qū)域的類型來預處理任務,以及它們的裝置。
【背景技術(shù)】
[0002]用于分析系統(tǒng)結(jié)構(gòu)和性能的系統(tǒng)仿真是制造該系統(tǒng)所不可避免的,如智能電話、TV和電器。仿真使得能夠在無差錯地實現(xiàn)所要求的性能的同時最優(yōu)化系統(tǒng)。仿真方法被執(zhí)行以預測量和預測系統(tǒng)性能,并且對于分析和評估系統(tǒng)是非常重要的。
[0003]然而,近些年隨著系統(tǒng)復雜度增加以便滿足新特征的要求,所述新特征諸如多核、圖形處理單元(GPU)、軟件(S/W)平臺、以及應用處理器(AP),仿真速度已經(jīng)達到其極限。
[0004]為了克服這個問題,最近提出的方法通過降低仿真精度來提高仿真速度。雖然這種方法提高了仿真速度,但是仿真分析結(jié)果不可靠。
[0005]因此,存在對能夠精確地評估系統(tǒng)性能而不損害仿真速度的仿真方法的需求。

【發(fā)明內(nèi)容】

[0006]技術(shù)問題
[0007]已經(jīng)構(gòu)想了本發(fā)明來解決上述問題,并意圖提供能夠快速和準確地預測量和預測系統(tǒng)性能的仿真方法和設(shè)備。
[0008]詳細地說,本發(fā)明首先意圖提供能夠提取相互依賴的計算和通信到多個組中和并行地處理所述組的并行仿真方法和設(shè)備。
[0009]而且,本發(fā)明其次意圖提供能夠在多個節(jié)點中引入虛擬陰影節(jié)點和根據(jù)由某個節(jié)點請求的任務的地址區(qū)域的類型來進行預處理的分布式仿真方法和設(shè)備。
[0010]解決方案
[0011]根據(jù)本發(fā)明的一個方面,使用多個塊執(zhí)行仿真的方法包括:將仿真分解為用于執(zhí)行塊的獨特功能的計算操作和用于在不同塊之間交換數(shù)據(jù)的通信操作;將相互依賴的計算操作和通信操作分組到組中;以及根據(jù)是否解決了計算操作和通信操作之間的依賴關(guān)系,使用塊來運行包括在每個組中的操作。
[0012]根據(jù)本發(fā)明的另一個方面,使用多個塊執(zhí)行仿真的設(shè)備包括:結(jié)構(gòu)存儲單元,其存儲構(gòu)成仿真的至少一個組;運行單元,其包括執(zhí)行仿真的多個塊;以及控制單元,其控制將仿真分解為用于執(zhí)行塊的獨特功能的計算操作和用于在不同塊之間交換數(shù)據(jù)的通信操作、將相互依賴的計算操作和通信操作分組到組中、以及根據(jù)是否解決了計算操作和通信操作之間的依賴關(guān)系使用塊來運行包括在每個組中的操作。
[0013]根據(jù)本發(fā)明的另一個方面,用于在包括彼此連接并具有多個塊的至少兩個節(jié)點的分布式系統(tǒng)中執(zhí)行仿真的方法包括:在每個節(jié)點配置陰影塊;在陰影塊接收從一個節(jié)點傳送到另一個節(jié)點的操作請求;以及在陰影塊預處理所請求的操作。
[0014]根據(jù)本發(fā)明的再一個方面,用于在分布式系統(tǒng)中執(zhí)行仿真的設(shè)備
[0015]包括至少兩個節(jié)點,所述節(jié)點包括多個塊,其中,每個節(jié)點接收從一個節(jié)點傳送到另一個節(jié)點的對操作的請求,以及包括用于預處理操作的陰影塊。
[0016]有益效果
[0017]本發(fā)明的仿真方法有益于準確地評估系統(tǒng)性能而不損害仿真速度。本發(fā)明的仿真方法可以應用到片上系統(tǒng)(SoC)、終端、以及其它嵌入式設(shè)備以用于制造最優(yōu)化的產(chǎn)品。而且,本發(fā)明的仿真方法能夠通過迅速和準確的仿真來分析各種情形,從而幫助改善產(chǎn)品性倉泛。
【專利附圖】

【附圖說明】
[0018]圖1是示出傳統(tǒng)技術(shù)和本發(fā)明的實施例的系統(tǒng)仿真參數(shù)(精度、仿真速度、以及并行性)之間的關(guān)系的示圖。
[0019]圖2是示出用于并行地進行仿真的并行處理方法、示范性并行系統(tǒng)及其問題的示圖。
[0020]圖3是示出通過集群(clustering)若干個節(jié)點來實施分布式系統(tǒng)的例子的示圖。
[0021]圖4是示出根據(jù)本發(fā)明實施例的用于執(zhí)行仿真的系統(tǒng)的示圖。
[0022]圖5是示出根據(jù)本發(fā)明的第一實施例的、按照獨立性對操作進行分組以用于執(zhí)行并行仿真的程序的流程圖。
[0023]圖6是利用圖形通過執(zhí)行仿真時的計算操作和通信操作的圖畫來示出按照獨立性對操作進行分組的程序的示圖。
[0024]圖7是示出根據(jù)本發(fā)明的第一實施例的并行處理包括在仿真組中的計算操作和通信操作的程序的流程圖。
[0025]圖8是利用圖形來示出處理包括在多個仿真組中的計算操作和通信操作的程序的示圖。
[0026]圖9是示出根據(jù)本發(fā)明的第一實施例的仿真設(shè)備的配置的框圖。
[0027]圖10是示出以根據(jù)本發(fā)明的第一實施例的仿真方法來串行地運行計算操作和通信操作的程序的示圖。
[0028]圖11是示出根據(jù)本發(fā)明的第二實施例的在分布式系統(tǒng)中使用的仿真最優(yōu)化方法的示圖。
[0029]圖12是示出根據(jù)本發(fā)明的第二實施例的仿真操作程序的流程圖。
[0030]圖13是示出使用陰影塊在節(jié)點之間運行通信操作的概念的示圖。
[0031]圖14是示出根據(jù)本發(fā)明實施例的仿真性能增強結(jié)果的圖形。
【具體實施方式】
[0032]在本發(fā)明中,執(zhí)行仿真的設(shè)備被稱為“主機(host)”,并且主機可以包括用于執(zhí)行某些計算或預定操作的多個塊(block)。術(shù)語“塊”可以用術(shù)語“主設(shè)備(master)”或“從設(shè)備(slave)”來代替。根據(jù)本發(fā)明的實施例,計算機被用作用于執(zhí)行仿真的主機。[0033]參考附圖詳細地描述本發(fā)明的示范性實施例。貫穿附圖,相同的參考標號被用來指代相同或相似的部分。這里合并的熟知功能和結(jié)構(gòu)的詳細描述將被省略,以避免模糊本發(fā)明的主題。
[0034]如上所述,隨著系統(tǒng)復雜度的增加,仿真速度已經(jīng)達到其極限。為了克服這個問題,考慮引入通過降低仿真精度來增加仿真速度的方法。這將參考圖1來描述。
[0035]圖1是示出傳統(tǒng)技術(shù)和本發(fā)明的實施例的系統(tǒng)仿真參數(shù)(精度、仿真速度、以及并行性(parallelism))之間的關(guān)系的示圖。
[0036]如圖1中所示,傳統(tǒng)技術(shù)使用增加抽象層次(abstraction level)的方法。也就是說,傳統(tǒng)技術(shù)使用以仿真精度為代價來增加仿真速度的方法。然而,這種方法使得很難信賴仿真分析結(jié)果的精度。
[0037]本發(fā)明的實施例提出通過并行處理迅速地進行仿真而不會損害仿真精度的方法。
[0038]通過并行計算(處理)對系統(tǒng)進行仿真的方法可以使用多核處理器或分布式計算機。
[0039]這些將參考圖2和圖3來描述。
[0040]圖2是示出用于并行地進行仿真的并行處理方法、示范性并行系統(tǒng)及其問題的示圖。
[0041]在第一處理塊(例如,主設(shè)備)和第二處理塊(例如,從設(shè)備)并行進行仿真的情況下,在主設(shè)備和從設(shè)備之間存在與如圖2中所示的有線信號(wire signal)相關(guān)聯(lián)的依賴關(guān)系。如果不解決這個依賴關(guān)系,則主設(shè)備或從設(shè)備可能必須等待直到某個任務被完全處理為止。例如,計算6不能開始,直到通信b完成為止,因此,在主設(shè)備完成通信b之前,從設(shè)備必須處于空閑狀態(tài)而不執(zhí)行任何操作。
[0042]這意味著核心停止工作,并且如果這種情形頻繁出現(xiàn),則仿真速度會顯著地降低。假設(shè)系統(tǒng)以IGHz時鐘操作,則等待出現(xiàn)1000000000次,這顯著地影響了仿真速度的降低,直到獲得最終的仿真結(jié)果為止。
[0043]同時,分配給仿真設(shè)備(例如,計算機)的一個節(jié)點的核心的數(shù)目受到限制。為了克服這個限制,近來的超級計算機使用集群(cluster)若干節(jié)點的方法。這在圖3中舉例說明。
[0044]圖3是示出通過集群若干個節(jié)點來實施分布式系統(tǒng)的例子的示圖。
[0045]在集群多個節(jié)點的情況下,與在同一節(jié)點中的核心之間的通信相比較,不同節(jié)點之間的通信速度顯著地減低。這會對系統(tǒng)仿真性能造成壞的影響。
[0046]例如,如果位于第一節(jié)點的塊A從位于第二節(jié)點的塊D讀取數(shù)據(jù),仿真速度會由于連接第一節(jié)點和第二節(jié)點的物理鏈路的特性而顯著地降低。
[0047]本發(fā)明提出了用于解決當在并行系統(tǒng)和分布式系統(tǒng)中執(zhí)行仿真時出現(xiàn)的問題的方法。
[0048]嵌入式系統(tǒng)的每個塊(核心、存儲器、總線等)可以被分類為計算塊和通信塊之一。在這種情況下,計算表示具體塊的獨特功能,而通信表示兩個不同塊之間的數(shù)據(jù)交換。在存儲器的示范性情況下,從外部接收地址是通信,而運行內(nèi)部邏輯以傳送相應的地址的數(shù)據(jù)是計算。
[0049]以下,描述本發(fā)明的第一實施例和第二實施例。在這種情況下,第一實施例針對使用多核心的并行系統(tǒng)中的仿真最優(yōu)化方法。第二實施例針對分布式系統(tǒng)中的仿真最優(yōu)化方法。
[0050]本發(fā)明的實施例可以如圖4中描繪的仿真系統(tǒng)中所示來實施。
[0051]如圖4中所示,執(zhí)行仿真的主機是分布式系統(tǒng),包括第一節(jié)點和第二節(jié)點的至少兩個節(jié)點連接到該分布式系統(tǒng)。鏈路可以包括有線鏈路和/或無線鏈路。在這種情況下,每個節(jié)點具有包括至少兩個核心,即多核心的并行計算環(huán)境。位于每個節(jié)點的塊可以映射到構(gòu)成主機的各個物理功能塊。
[0052]核心和節(jié)點具有映射到每個核心的仿真平臺。平臺的塊彼此通信,從而進行仿真。
[0053]在本發(fā)明的實施例中,同一節(jié)點上的仿真被稱為并行仿真,而在不同節(jié)點之間的仿真被稱為分布式仿真。
[0054]基于以上假設(shè)描述本發(fā)明的第一和第二實施例。
[0055]<第一實施例>
[0056]以下,描述在使用至少兩個核心的并行系統(tǒng)中使用的并行仿真最優(yōu)化方法。
[0057]如圖2中所示,主設(shè)備和從設(shè)備在并行仿真中交換數(shù)據(jù)。然而,在一側(cè)所需的任何數(shù)據(jù)沒有在另一側(cè)被完全處理的情況下,等待是不可避免的。
[0058]為了解決這個問題,本發(fā)明提出一種并行仿真方法,用于提取相互依賴的計算操作和通信操作并將其分類(sorting)到多個組中,并且獨立和并行地處理每個組的計算操作和通信操作。
[0059]圖5是示出根據(jù)本發(fā)明的第一實施例的、按照獨立性對操作進行分組以用于執(zhí)行并行仿真的程序的流程圖。
[0060]圖6是利用圖形通過執(zhí)行仿真時的計算操作和通信操作的圖畫來示出按照獨立性對操作進行分組的程序的示圖。
[0061]在圖6a到圖6c中,上面的線表示由主設(shè)備執(zhí)行的計算操作,而下面的線表示由從設(shè)備執(zhí)行的計算操作。連接上面的線和下面的線的線表示發(fā)生在主設(shè)備和從設(shè)備之間的通信操作。
[0062]首先,仿真設(shè)備被分配某個仿真操作。在步驟S510,仿真設(shè)備從仿真操作提取將在主設(shè)備和從設(shè)備之間進行交換的通信操作。在圖6a中,所述操作由參考字母a、b和c表示。仿真設(shè)備根據(jù)依賴關(guān)系以時間次序?qū)λ崛〉耐ㄐ挪僮鬟M行排序(sort)。在這種情況下,位于通信操作之前和之后的計算操作具有依賴的關(guān)系。
[0063]在步驟S520,仿真設(shè)備提取與通信操作相關(guān)聯(lián)的、主設(shè)備和從設(shè)備的計算操作。這些在圖6b中由參考標號1、2和3表示。通信操作可以被認為是執(zhí)行主設(shè)備塊或從設(shè)備塊的獨特功能。例如,如果主設(shè)備是核心,則處理所分配的任務是計算操作,并且如果從設(shè)備是存儲器,則運行內(nèi)部邏輯以便將相應的地址中的數(shù)據(jù)轉(zhuǎn)發(fā)到外部是計算操作。
[0064]如果在計算操作之間發(fā)生新的通信操作,則仿真設(shè)備將計算操作分割成更小的單
J Li ο
[0065]在步驟S530,仿真設(shè)備將相互依賴的計算操作和通信操作分類到組中。同一組中的通信操作和計算操作具有依賴關(guān)系并彼此連接。然而,不同組的操作是獨立的。也就是說,沒有依賴關(guān)系。
[0066]圖6c示出了仿真操作被分類為第一組610和第二組620的示范性情況。更詳細地,圖6c的計算操作2依賴于計算操作1/5和通信操作a。也就是說,計算操作2不能被執(zhí)行,直到計算操作1/5和通信操作a完成為止。然而,包括在第一組610中的計算操作I和包括在第二組620中的計算設(shè)備3彼此獨立。也就是說,計算操作3可以在任何時間執(zhí)行,甚至在完成計算操作I之前,并且計算操作I可以為了計算操作3暫停,然后恢復。
[0067]存在很多由于硬件塊的性質(zhì)而能夠被分類到組中的并行處理元件。本發(fā)明的第一實施例的特征在于操作組被并行處理。
[0068]圖7是示出根據(jù)本發(fā)明的第一實施例的并行處理包括在仿真組中的計算操作和通信操作的程序的流程圖。
[0069]圖8是利用圖形來示出處理包括在多個仿真組中的計算操作和通信操作的程序的示圖。
[0070]在解釋圖7的并行處理程序之前,以下描述基本原理。通過執(zhí)行仿真的主設(shè)備(第一塊)和從設(shè)備(第二塊),包括在每個組中的計算操作被運行。在這種情況下,主設(shè)備和從設(shè)備基于通信操作是否臨近以及通信依賴關(guān)系是否已經(jīng)被解決來選擇當前運行的計算操作。在運行所選擇的計算操作期間,如果通信操作運行時間到了,則主設(shè)備和從設(shè)備運行相應的通信操作。如果存在任何由于沒有運行先前的通信操作而被中斷的計算操作,則主設(shè)備和從設(shè)備首先運行相應的計算操作。
[0071]主設(shè)備和從設(shè)備重復上述程序,直到分配的仿真完成為止。
[0072]在上述原理的基礎(chǔ)上,參考圖7和圖8描述仿真設(shè)備的仿真運行程序。
[0073]假設(shè)仿真通過圖6的分組程序被分類到第一組610和第二組620中。
[0074]然后,仿真設(shè)備基于兩個條件選擇將要運行的計算操作。為了這個目的,在步驟S710,仿真設(shè)備在包括在第一組610和第二組620中的計算操作當中選擇最接近下一個通信操作的計算操作。參考圖8a,在主設(shè)備選擇計算操作I和3,并在從設(shè)備選擇計算操作5和8。
[0075]接下來,在步驟S720,仿真設(shè)備確定在所選擇的計算操作當中是否存在任何依賴于還未運行的通信操作的操作。參考圖8a,計算操作I和3獨立于所有的通信操作。因此,最接近下一個通信操作的計算操作3被選擇為將要在主設(shè)備運行的計算操作。
[0076]同時,只有當通信操作d被運行,計算操作8才能在從設(shè)備被運行。也就是說,計算操作8依賴于還未運行的通信操作d。然而,計算操作5獨立于該通信操作。因此,計算操作5被選擇為當前將要運行的操作。
[0077]一旦已經(jīng)確定了將要在主設(shè)備和從設(shè)備運行的計算操作,在步驟S730,仿真設(shè)備運行所確定的計算操作。在步驟S740,仿真設(shè)備確定是否存在任何由于缺少通信操作而被中斷的計算操作。如果存在,則在步驟S780,仿真設(shè)備運行相應的計算操作。
[0078]否則,如果不存在被中斷的計算操作,則在步驟S750,仿真設(shè)備確定是否在運行計算操作的中間運行通信操作。這意味著如圖6c中所示,通信操作d運行時間到了。在這種情況下,如圖8b中所描繪的,在步驟S760,仿真設(shè)備運行相應的通信操作。在步驟S770,仿真設(shè)備確定是否所有的計算操作和通信操作都已經(jīng)被運行,如果不是,則程序返回步驟S710。
[0079]仿真設(shè)備根據(jù)上述原理在步驟S710和S720選擇目標以運行計算操作。更詳細地,在主設(shè)備,計算操作I最接近通信操作。因此,主設(shè)備選擇計算操作I作為將要運行的計算操作。同時,在從設(shè)備,計算操作5最接近通信操作。因此,從設(shè)備選擇計算操作5作為將要運行的計算操作。如圖8c中所示,所述計算操作在主設(shè)備和從設(shè)備中被選擇。
[0080]如圖8d中所描繪的,計算操作運行過程前進,直到計算操作I在主設(shè)備完成為止。
[0081]仿真設(shè)備通過步驟S710和S720選擇計算操作的目標。參考圖Se,由于還沒有運行通信操作a,因此計算操作3而不是計算操作2被選擇為當前將要在主設(shè)備運行的計算操作。而且,由于計算操作5與計算操作8相比更接近通信操作,因此計算操作5被選擇作為將要在從設(shè)備運行的計算操作。
[0082]如圖8f中所描繪的,仿真設(shè)備運行,直到通信操作a被運行為止。
[0083]相同的原理被應用到圖8g和圖8h,上述程序被重復地執(zhí)行,直到當前分配的仿真完成為止。
[0084]在本發(fā)明的第一實施例的仿真方法中,主設(shè)備和從設(shè)備以最小化的等待時間執(zhí)行仿真,導致迅速和準確的仿真性能。
[0085]圖9是示出根據(jù)本發(fā)明的第一實施例的仿真設(shè)備的配置的框圖。如圖9中所示,根據(jù)第一實施例的仿真設(shè)備可以包括結(jié)構(gòu)存儲單元910、運行單元920、以及控制單元930。
[0086]結(jié)構(gòu)存儲單元910存儲構(gòu)成仿真的至少一個組。
[0087]運行單元920可以包括運行仿真的多個塊。所述塊可以包括核心、存儲器、總線、
坐坐寸寸ο
[0088]控制單元930將仿真分裂成負責塊的獨特功能的計算操作和負責在不同塊之間交換數(shù)據(jù)的通信操作??刂茊卧?30也將相互依賴的計算操作分類到組中。根據(jù)是否解決了計算操作和通信操作之間的依賴關(guān)系,控制單元930可以控制所述塊運行包括在各個組中的操作。
[0089]特別是在執(zhí)行仿真時,控制單元930選擇某個塊并且從各個組中選擇將要由所選擇的塊首先運行的計算操作。在運行所選擇的計算操作的狀態(tài)中,控制單元930選擇獨立于通信操作并最接近下一個通信操作的計算操作,并且控制運行單元920運行所選擇的計算操作。
[0090]如果在計算操作的運行期間通信操作運行時間到了,則控制單元930控制以運行該通信操作。
[0091]圖10是示出以根據(jù)本發(fā)明的第一實施例的仿真方法來串行地運行計算操作和通信操作的程序的示圖。
[0092]與在圖2中描繪的傳統(tǒng)并行仿真方法相比較,圖10示出了根據(jù)本發(fā)明的實施例的仿真方法與具有較長等待時間的傳統(tǒng)并行仿真方法相比較,能夠通過減少等待時間而迅速地處理仿真。
[0093]<第二實施例>
[0094]以下,描述用于分布式系統(tǒng)中的仿真最優(yōu)化方法。
[0095]第二實施例提出了可應用于分布式系統(tǒng)的仿真最優(yōu)化方法,該分布式系統(tǒng)具有至少兩個功能塊(核心、存儲器、總線、等等),其中多個節(jié)點被集群。
[0096]在傳統(tǒng)分布式系統(tǒng)中,在節(jié)點之間存在延遲(latency)。本發(fā)明的第二實施例提出了用于通過引入被稱為陰影塊的虛擬塊而迅速地處理通信操作的方法。
[0097]圖11是示出根據(jù)本發(fā)明的第二實施例的在分布式系統(tǒng)中使用的仿真最優(yōu)化方法的示圖。[0098]如圖11中所示,根據(jù)第二實施例的分布式系統(tǒng)包括第一節(jié)點1110和第二節(jié)點1120,第一節(jié)點1110具有陰影塊1111,第二節(jié)點1120具有第二陰影塊1121。
[0099]例如,如果第一節(jié)點1110的塊A請求第二節(jié)點1120的塊D通信,則位于第一節(jié)點1110的第一陰影塊1111進行操作。為了這個目的,第一陰影塊1111對第一節(jié)點1110的塊A已經(jīng)請求的操作執(zhí)行預處理,然后在之后調(diào)整該操作。此后詳細描述這個過程。
[0100]被引入本發(fā)明的實施例的陰影塊包括至少一個地址區(qū)域。每個地址區(qū)域通過根據(jù)運行功能的特性來識別,并且可以被分類到存儲器地址區(qū)域、有源設(shè)備地址區(qū)域(有源地址區(qū)域)、以及無源設(shè)備地址區(qū)域(無源地址區(qū)域)之一中。存儲器地址區(qū)域具有常規(guī)的存儲器特性,即讀取/寫入特性,有源地址區(qū)域具有不具備預定設(shè)備行為的特性,而無源地址區(qū)域具有具備預定設(shè)備行為的特性。
[0101]如果第一節(jié)點的塊A請求第二節(jié)點的塊D處理與存儲器輸入/輸出相關(guān)的具體操作,則塊A請求第一陰影塊的存儲器地址區(qū)域用于相應的命令。相反,如果第一節(jié)點的塊A請求第二節(jié)點的塊E處理操作,則塊A請求第一陰影塊的無源地址區(qū)域用于相應的命令。
[0102]被配置到第一節(jié)點和第二節(jié)點的陰影塊執(zhí)行以下操作。如果向陰影塊請求的操作對應于存儲器地址區(qū)域(即請求對存儲器的操作),則陰影塊提供讀取操作服務(如果提供了相應的地址),并且首先寫入陰影塊然后將寫入的內(nèi)容發(fā)送給對方節(jié)點。如果向陰影塊請求的操作對應于有源地址區(qū)域(即請求對有源設(shè)備的操作),該請求被繞過(by-pass)。如果向陰影塊請求的操作對應于無源地址區(qū)域(即請求對無源設(shè)備的操作),則陰影塊根據(jù)行為模型提供服務(serve)并將這個發(fā)送給對方節(jié)點的相應的塊。也就是說,陰影塊通過對無源設(shè)備的行為進行建模來執(zhí)行相應的功能。
[0103]下面詳細描述行為建模。例如,如果塊A命令塊D輸出具體字符串(string),則塊D輸出相應的字符串并向塊A發(fā)送通知相應的字符串的輸出的確認(ack)。
[0104]如果陰影塊對塊D的行為建模,這意味著塊D具有將要傳送給塊A的ack信號,并且如果從塊A接收到字符串輸出命令,則陰影塊直接向塊A發(fā)送ack。
[0105]以這種方式,陰影塊對某個塊在執(zhí)行具體行為之后必須反饋的信號進行建模并保持該信號。陰影塊優(yōu)先地向已經(jīng)傳送某個命令的塊發(fā)送反饋信號。在這個實施例中,這樣的操作被定義為行為建模。
[0106]對上述進行圖示化(schematizing),可以如圖11的下部所示來描繪。參考圖11的下部,如果塊A請求塊D通信,則第一陰影塊1111執(zhí)行通信d,這樣的通信重復三次(AdAdAd)。然后,第一陰影塊1111執(zhí)行與位于第二節(jié)點1120的塊D的實際通信,并接收通信結(jié)果D (DDD)0第一陰影塊1111將由自己預處理的通信d與之后接收到的D進行比較,并且使用比較結(jié)果在第一陰影塊1111調(diào)整所保存的值。
[0107]以下,參考流程圖和詳細的示例來描述本發(fā)明的第二實施例。
[0108]圖12是示出根據(jù)本發(fā)明的第二實施例的仿真操作程序的流程圖。
[0109]而圖13是示出使用陰影塊在節(jié)點之間運行通信操作的概念的示圖。
[0110]首先,在步驟S1205,仿真設(shè)備生成每個節(jié)點的陰影塊。如上所述,陰影塊通過至少一個地址區(qū)域來定義。
[0111]在步驟S1210,仿真設(shè)備確定仿真是否已經(jīng)被完全完成。如果仿真還沒有完全完成,則在步驟S1215,仿真設(shè)備從包括在其所屬的節(jié)點中的某個塊接收具體命令運行請求。如上所述,具體命令被存儲在與作為命令的目標的設(shè)備的類型相對應的地址區(qū)域。例如,如果作為命令的目標的設(shè)備的類型是存儲器,則相應的命令被存儲在存儲器地址區(qū)域中。
[0112]在步驟S1220,陰影塊確定相應的地址區(qū)域是否是有源地址區(qū)域。如果相應的地址區(qū)域是有源地址區(qū)域,則在步驟S1250,陰影塊繞過相應的命令(事務)。
[0113]上述過程對應于圖13a。也就是說,當?shù)谝还?jié)點的塊A向第二節(jié)點的塊D請求具體命令(參考標號3)時,如果塊D是有源設(shè)備,該命令被繞過(參考標號5)。
[0114]回到圖12,如果在步驟S1220相應的地址區(qū)域不是有源地址區(qū)域,則在步驟S1230陰影塊確定相應的地址區(qū)域是否是存儲器地址區(qū)域。如果相應的地址區(qū)域是存儲器地址區(qū)域,則在步驟S1235,陰影塊使用內(nèi)部準備的高速緩存的數(shù)據(jù)來執(zhí)行預處理。在這種情況下,如果相應的命令是“讀取”,則陰影塊發(fā)送所保持的數(shù)據(jù),如果相應的命令是“寫入”,則陰影塊首先存儲數(shù)據(jù)然后發(fā)送確認信號(ack)。如果相應的命令是初始生成的“讀取”,則這意味著陰影塊沒有數(shù)據(jù),因此等待,直到從具有數(shù)據(jù)的塊接收到數(shù)據(jù)為止。如果接收到數(shù)據(jù),則陰影塊存儲在之后的預處理中使用的數(shù)據(jù)。
[0115]在執(zhí)行預處理之后,在步驟S1240,陰影塊將相應的命令(事務)發(fā)送給作為請求的原始目標的塊。然后,在步驟S1260,陰影塊從作為請求的原始目標的塊接收實際處理(后處理)結(jié)果,并且檢查在預處理的服務定時和后處理的服務定時之間的差別。這里,定時差別表示在預處理服務所花費的時間(例如,時鐘數(shù)目)與后處理服務所花費的時間之間的差另O。這意味著在處理各個服務所花費的時間方面可能存在差別。
[0116]如果存在任何差別,則陰影塊存儲關(guān)于后處理的服務的定時信息以用于下一個預處理。在這種情況下,假設(shè)預處理的和后處理的服務內(nèi)容彼此匹配,而只是在定時中出現(xiàn)差別。
[0117]否則,如果相應的地址區(qū)域不是存儲器地址區(qū)域,則在步驟S1245,陰影塊確定相應的地址區(qū)域是否是無源地址區(qū)域。如果相應的地址區(qū)域是無源地址區(qū)域,則在步驟S1250,陰影塊預處理對相應的設(shè)備的預定行為(在這種情況下,返回到已經(jīng)請求命令的塊的行為)。接下來,在步驟S1240,陰影塊執(zhí)行定時更新過程。
[0118]上述過程被描繪在13b和圖13c中。也就是說,如果接收到具體命令請求(4、6、8),則陰影塊執(zhí)行預處理(7、9)并且發(fā)送命令到目標節(jié)點的相應的塊(10)。接下來,陰影塊從目標節(jié)點接收定時信息(11),并且如果定時信息與先前存儲的定時信息不匹配,則更新相應的定時信息。
[0119]圖14是示出根據(jù)本發(fā)明實施例的仿真性能增強結(jié)果的圖形。
[0120]如圖14中所示,本發(fā)明的并行仿真方法顯示了與傳統(tǒng)的單一仿真相比的91%的性能增強。
[0121]雖然已經(jīng)使用具體示例描述了本發(fā)明的優(yōu)選實施例,但是說明書和附圖被當作說明性的,以便幫助理解本發(fā)明,而不是限定性的。本領(lǐng)域技術(shù)人員清楚,能夠?qū)Υ诉M行各種修改和改變,而不脫離本發(fā)明的更寬泛的精神和范圍。
【權(quán)利要求】
1.一種使用多個塊執(zhí)行仿真的方法,該方法包括: 將所述仿真分解為用于執(zhí)行塊的獨特功能的計算操作和用于在不同塊之間交換數(shù)據(jù)的通信操作; 將相互依賴的計算操作和通信操作分組到組中;以及 根據(jù)是否解決了所述計算操作和通信操作之間的依賴關(guān)系,使用塊來運行包括在每個組中的操作。
2.如權(quán)利要求1所述的方法,其中,運行操作包括: 選擇某個塊; 從各個組中選擇將要由所選擇的塊首先運行的計算操作; 在所選擇的計算操作當中選擇獨立于所述通信操作并且最接近下一個通信操作的計算操作;以及 運行所選擇的計算操作。
3.如權(quán)利要求2所述的方法,其中,運行操作包括:當在運行所述計算操作時所述通信操作的運行時間到了時,運行所述通信操作。
4.如權(quán)利要求1所述的方法,其中,包括同一組中的通信操作和計算操作依賴于彼此。
5.一種使用多個塊來執(zhí)行仿真的設(shè)備,該設(shè)備包括: 結(jié)構(gòu)存儲單元,其存儲構(gòu)成所述仿真的至少一個組; 運行單元,包括執(zhí)行所述仿真的所述多個塊;以及 控制單元,其控制將所述仿真分解為用于執(zhí)行塊的獨特功能的計算操作和用于在不同塊之間交換數(shù)據(jù)的通信操作、將相互依賴的計算操作和通信操作分組到組中、以及根據(jù)是否解決了所述計算操作和通信操作之間的依賴關(guān)系使用塊來運行包括在每個組中的操作。
6.如權(quán)利要求5所述的設(shè)備,其中,所述控制單元控制選擇某個塊、從各個組中選擇將要由所選擇的塊首先運行的計算操作、在所選擇的計算操作當中選擇獨立于所述通信操作并且最接近下一個通信操作的計算操作、以及運行所選擇的計算操作。
7.如權(quán)利要求6所述的設(shè)備,其中,當在運行所述計算操作時所述通信操作的運行時間到了時,所述控制單元控制運行所述通信操作。
8.如權(quán)利要求5所述的設(shè)備,其中,包括同一組中的通信操作和計算操作依賴于彼此。
9.一種在分布式系統(tǒng)中執(zhí)行仿真的方法,該分布式系統(tǒng)包括彼此連接并具有多個塊的至少兩個節(jié)點,該方法包括: 在每個節(jié)點配置陰影塊; 在所述陰影塊接收從一個節(jié)點傳送到另一個節(jié)點的操作請求;以及 在所述陰影塊預處理所請求的操作。
10.如權(quán)利要求9所述的方法,還包括: 在預處理之后,將操作請求從所述陰影塊轉(zhuǎn)發(fā)到另一個節(jié)點;以及 通過接收由另一個節(jié)點傳送的處理結(jié)果,在所述陰影塊進行更新。
11.如權(quán)利要求10所述的方法,其中,所述更新包括更新執(zhí)行預處理的服務所花費的時間和執(zhí)行后處理的服務所花費的時間之間的差別。
12.如權(quán)利要求10所述的方法,其中,所述預處理包括當所述陰影塊接收到對存儲器的操作請求時執(zhí)行讀取或?qū)懭牍δ堋?br> 13.如權(quán)利要求10所述的方法,其中,所述預處理包括當所述陰影塊接收到對有源設(shè)備的操作請求時繞過所述操作請求。
14.如權(quán)利要求10所述的方法,其中,所述預處理包括當所述陰影塊接收到對無源設(shè)備的操作請求時根據(jù)所述無源設(shè)備的行為模型來執(zhí)行服務。
15.一種用于在分布式系統(tǒng)中執(zhí)行仿真的設(shè)備,該設(shè)備包括至少兩個節(jié)點,所述節(jié)點包括多個塊,其中,每個節(jié)點接收從一個節(jié)點傳送到另一個節(jié)點的對操作的請求,并且包括用于預處理所述操作的陰影塊。
16.如權(quán)利要求15所述的設(shè)備,其中,所述陰影塊在預處理之后將操作請求從所述陰影塊轉(zhuǎn)發(fā)到另一個節(jié)點,并且通過接收由另一個節(jié)點傳送的處理結(jié)果來執(zhí)行更新。
17.如權(quán)利要求16所述的設(shè)備,其中,所述陰影塊更新執(zhí)行預處理的服務所花費的時間和執(zhí)行后處理的服務所花費的時間之間的差別。
18.如權(quán)利要求17所述的設(shè)備,其中,當所述陰影塊接收到對存儲器的操作請求時,所述陰影塊執(zhí)行讀取或?qū)懭牍δ堋?br> 19.如權(quán)利要求17所述的方法,其中,當所述陰影塊接收到對有源設(shè)備的操作請求時,所述陰影塊繞過所述操作請求。
20.如權(quán)利要求17所述的設(shè)備,其中,當接收到對無源設(shè)備的操作請求時,所述陰影塊根據(jù)所述無源設(shè)備的行為模型來執(zhí)行服務。
【文檔編號】G06F9/455GK103748557SQ201280036428
【公開日】2014年4月23日 申請日期:2012年7月20日 優(yōu)先權(quán)日:2011年7月22日
【發(fā)明者】金慶勛, 金重伯, 李承昱 申請人:三星電子株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新乡市| 资溪县| 金塔县| 沧州市| 凉山| 江西省| 丰镇市| 禹州市| 远安县| 宜章县| 喜德县| 柘荣县| 启东市| 马龙县| 正蓝旗| 平顺县| 安吉县| 嵊泗县| 东兴市| 阿荣旗| 宜春市| 微博| 宿松县| 古浪县| 闻喜县| 沅江市| 湟源县| 德阳市| 酒泉市| 达孜县| 重庆市| 榕江县| 莫力| 壶关县| 兰州市| 福鼎市| 太康县| 鱼台县| 阜宁县| 剑川县| 湄潭县|