指令集仿真器是目前嵌入式系統研究中一個極其重要的領域,一個靈活高效且準確度高的仿真器不僅可以實現對嵌入式系統硬件環境的仿真,而且是現代微處理器結構設計過程中性能評估的重要工具. 仿真器的性能已經成為影響整個設計效率的重要因素,在現有的指令集仿真技術中,編譯型仿真技術雖然可以獲得高的仿真速度,但其對應用的假設過于嚴格,限制了其在商業領域中的應用;解釋型仿真器雖被普遍使用,但其缺點也很明顯,由于模擬過程中需要耗費大量時間用于指令譯碼,解釋型模擬器速度往往很有限,使用性能較低。由此可見,如何減少仿真過程中的指令譯碼時間,是提高仿真器的性能的關鍵。 本文旨在提出一個指令集仿真器的原型,重點解決指令解碼過程中的速度瓶頸,在其基礎可以進行擴充和改進,以適應不同硬件平臺的需要。文章首先從ARM指令集的指令功能和編碼格式入手,通過分析和比較找出了一般常用指令的編碼和實現規律,并在此基礎上進行了高級語言的描述,其后提出了改進版解釋型指令集仿真器的設計方案,包括為提高仿真器性能,減少譯碼時間,創新性的在流程設計中加入了預解碼的步驟,同時用自己設計的壓縮算法解決了因預解碼產生大量譯碼信息而帶來的內存過度消耗難題。接下來,描述了仿真器的實現,包括指令的取指、譯碼、執行等基本功能,并著重描述了如何通過劃分存儲域和存儲塊的方式模擬真實存儲器的讀寫訪問實現。 另外,需要特別指出的是,針對仿真器中普遍存在的調試難問題,本文從一線程序開發人員的角度,在調試模塊的設計中除了斷點設置、程序暫停、恢復等基本功能外,還添加了各類監視設備和程序跟蹤的功能,以期能提高本仿真器的實用性。 在文章的結尾,提出了仿真器的驗證方案,并按照該方案對仿真器進行了功能和性能上的驗證,最后對進一步的工作進行了展望。
標簽:
ARM
指令集
仿真器
上傳時間:
2013-08-02
上傳用戶:宋桃子