<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

仿真器和模擬器有什么不一樣?

ss ? 來源:網絡整理 ? 作者:工程師譚軍 ? 2018-10-11 14:53 ? 次閱讀

模擬器(simulator)是用于分析研究目標系統本身,模擬器系統本身要跟目標系統保持一致。例如飛行模擬器對于用戶來講其本身要跟真正的飛機一致;再比如gem5模擬器,其本身要跟CPU所有內部行為一致(包括內部運行原理都要一致)。好的模擬器本身也可以仿真其目標系統,但不是所有模擬器都有這個特性。

仿真器(emulator)的目的是作為目標系統的替代品,可以完全替代目標系統,完成其對外的功能,即仿真器系統只需要保證呈現給外部的行為跟目標系統一致(不需要保證內部運行原理一致)。例如想在電腦上玩小時候玩的街機游戲,就需要在電腦上安裝一個街機仿真器(雖然很多人喜歡稱其為“街機模擬器”)。使用仿真器的目的是模擬目標系統呈現出的運行環境,仿真器保證的是完成目標系統相同的行為,不在乎其內部實現原理,再例如EMU8086仿真器,可以在另一臺非8086電腦上仿真8086微處理器的行為。即使再好的仿真器也不能作為模擬器用于研究目標系統內部運行原理。針對gem5,其本身是一個CPU模擬器,但是因為其也能做到仿真器可以完成的工作(gem5運行于Atmoic模式), 盡管其運行速度相比真正CPU差很多,也可以認為其是一個類似于EMU8086的CPU仿真器。但是盡管gem5運行于亂序(Out Of Order, 簡稱O3)時,gem5可以被看做CPU模擬器,其內部模擬的CPU各個模塊也不是完全一樣,所以也可以任務,gem5是由仿真多個部件的仿真器構成的??傊?,模擬器針對目標系統內部進行模擬,仿真器用于仿真目標系統對外的行為。

仿真器和模擬器的不同----程序運行區別

在線仿真器ICE(In\ Circuit Emulator)能檢查運行程序的處理器的狀態。實際上,ICE取代了(或仿真了)目標板上的處理器,是一種強有力的工具。程序在ICE中可以實時運行、調試。 模擬器(simulator)是完全基于主機程序的。它模擬了目標處理器的功能和指令系統,其用戶界面通常和仿真器的一樣或比較類似。模擬器最大的缺點是它僅能模擬處理器,而嵌入式系統經常包含一個或更多重要的外圍部件。模擬器無能為力而且不能實時運行程序。它只能起輔助作用進行軟件粗調試,是純軟件的工具;而仿真器是硬件工具。

仿真器和模擬器的不同----工作過程區別

模擬器是模擬出原系統的一個抽象模型,而不需要真的去做真實系統要做的事情。因此它其實不具備真實系統的功能,只是當某一功能執行時,通常不必輸出功能執行的結果,只是在simulator中記錄下由此引發的狀態變化。因此它通常用于設計初期的模型驗證。

仿真器則更進一步,要真正地去做所有真實系統能做的事情,只不過做的“過程”不同,它一般用于處理兼容性問題和在資源有限的條件下完成系統原型的實現。

如果把真實系統比作一個人的話,simulator就是這個人的一幅肖像畫,而emulator則是這個人的一個克隆人。

舉個例子,我們要實現一個p2p文件分發系統。

最開始的時候我們可以實現一個simulator:它用一個函數來模擬節點間的通信,這個函數的輸入是網絡性能(帶寬,跳數),輸出是通信時延————注意,并沒有真正的數據在傳輸和拷貝,甚至都沒有真正的節點,我們只是模擬了通信時延這個“特征(feature)”。

接下來,我們把這個分發系統實現了,編譯成一個exe文件,但這時我們發現我們沒有足夠多的計算機來組成一個真實的、具有足夠規模的網絡來進一步測試(通常p2p網絡的節點數成百上千),這時,我們可以寫一個emulator:它可以區分同一個計算機上的不同進程,因此我們可以在一臺計算機上開100個進程,這樣可以用100臺計算機模擬出10000臺計算機的網絡————注意,此時數據真的是通過Socket在傳輸,只不過有的數據走的是loopback口,并沒有真的進網卡。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真器
    +關注

    關注

    14

    文章

    988

    瀏覽量

    83014
  • 模擬器
    +關注

    關注

    2

    文章

    818

    瀏覽量

    42704
收藏 人收藏

    評論

    相關推薦

    2003和245什么不一樣的地方

    2003和245什么不一樣的地方啊啊 ?????
    發表于 10-11 23:11

    線損校準,為啥不一樣

    線損校準,為啥不一樣,今天測試時發現,校準是,信號源頻率不一樣,線損差別很大,1dB 多?。?!
    發表于 06-05 13:58

    兩種仿真軟件仿真結果不一樣怎么回事

    `請問大家有誰遇到過modelsim與signaltap仿真結果不一樣的情況,不知道什么原因引起的,請大家指教!`
    發表于 09-01 17:13

    數據類型不一樣和接口 怎么解決

    要怎么解決接口和產生的數據類型不一樣的問題,然后利用MYRIO的模擬輸出通道接到示波器里面為什么沒有波形啊,數據類型應該是不一樣,要怎么解決這個問題呢?
    發表于 05-09 01:00

    請問使用仿真器加載程序到DDR內存中運行程序是怎樣的過程呢?它和般的內存中的數據的讀寫有什么不一樣嗎?

    本帖最后由 只耳朵怪 于 2018-5-25 15:32 編輯 請問使用仿真器加載程序到DDR內存中運行程序是怎樣的過程呢?它和般的內存中的數據的讀寫有什么不一樣嗎?如果DD
    發表于 05-25 09:24

    FLASH的連接仿真器仿真與脫離仿真器的運行問題,請問為什么會與屏上顯示的不一樣?

    的參數,是實際參數嗎?為什么會與屏上顯示的不一樣?此外,在兩塊DSP芯片互相傳輸的實驗中,插著仿真器運行時,傳輸無誤,但是斷電,拔掉仿真器,上電之后,傳輸就會出現錯誤。請問這個問題又是怎么回事?
    發表于 06-06 04:00

    DSP讀FPGA的DNA,請問為什么會出現仿真器在線運行和片內自動運行結果不一樣的情況呢?

    致。但把程序燒進6713,重啟運行,總是顯示錯誤,并且經常出現上電后HPI忙(HYDY為1)使得上位機直等待而系統黑屏,為什么?說明:6713讀FPGA時序已經設計為默認,即SET\STROBE\HOLD時間均為最長。為什么會出現仿
    發表于 08-02 06:31

    程序編輯結果不一樣

    個程序段int i=1;int j=0;j=((i++)*(i++));printf(“%d,%d\n”,i,j);在不同的編輯結果為什么不一樣 我用虛擬機的VI編輯結果i=3;j=1;用C++編輯結果i=3;j=2;到底結
    發表于 03-13 02:22

    為什么我的淚滴不一樣

    我的淚滴怎么和網上的不一樣??
    發表于 03-13 15:23

    這個仿真例程設置的參數一樣,為何會出現不一樣仿真結果?

    這個仿真例程設置的參數一樣,為何會出現不一樣仿真結果?
    發表于 12-23 09:08

    仿真器仿真時CCS報錯的原因?

    您好,我在使用2812的仿真器產生PWM控制MOSFET時,經常出現CCS報錯的問題,如果把程序燒寫進DSP就不會出現問題,使用仿真器控制DSP與把程序固化到DSP中,什么不一樣嗎?
    發表于 06-13 20:31

    伺服電機控制對比步進電機控制不一樣?

    伺服電機控制與步進電機控制不一樣?
    發表于 02-25 07:42

    風速傳感和風量傳感什么不一樣?

    風速傳感和風量傳感什么不一樣
    發表于 03-17 06:57

    SWD和傳統的調試方式什么不一樣

    SWD 仿真模式概念簡述先所說 SWD 和傳統的調試方式什么不一樣:首先給大家介紹下經驗之談:(): SWD 模式比 JTAG 在高速模式下面更加可靠. 在大數據量的情況下面 JT
    發表于 02-23 06:38

    仿真器模擬器的不同_仿真器模擬器的區別簡單分析

    仿真器模擬器經常被混淆,兩者有些許相似,但是是兩個不同的概念,本文為大家帶來仿真器模擬器的區別簡單分析。
    發表于 01-05 14:27 ?8201次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>