指令集仿效(instruction-set emulation)也稱為程式驅動模擬(program-driven simulation),通常是利用主電腦的指令集來執行被模擬的目標電腦(target computer)的指令集。透過軟體模擬處理器抓取(fetch)、解碼(decode)與執行(execute)指令的過程,並應用每一個指令模擬的結果到一個假想的目標電腦上,因此可以用軟體來發展一個尚未建置的硬體架構或維護舊有的軟體(historical software)。指令集仿效通常用來研究使用者階層應用程式的行為,最近的研究則是延伸指令集仿效來研究應用程式在使用者階層與核心階層的行為。
指令集仿效的優點是有彈性、容易移植以及容易使用;缺點是必須先建構出大量的狀態來模擬目標電腦,當目標電腦的指令(target instruction)經由模擬器執行時由於必須轉譯成對等的主電腦指令(host instructions),所以必須使用比原始程式碼(native code)更多的記憶體,也使得執行時變得非常慢。
沒有留言:
張貼留言