(3.238.186.43) 您好!臺灣時間:2021/02/28 21:24
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:張勝雲
研究生(外文):Sheng-Yun Zhang
論文名稱:多執行绪虛擬機的研究和設計
論文名稱(外文):Study and Design of a Multithreaded Virtual Machine
指導教授:周哲民
指導教授(外文):Jer-Min Jou
學位類別:碩士
校院名稱:國立成功大學
系所名稱:電機工程學系碩博士班
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2008
畢業學年度:96
語文別:中文
論文頁數:59
中文關鍵詞:同步虛擬機多執行緒
外文關鍵詞:synchronizationvirtual machinemultithread
相關次數:
  • 被引用被引用:2
  • 點閱點閱:144
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:34
  • 收藏至我的研究室書目清單書目收藏:0
超純量處理器利用應用程式內含的指令並行度,期望達到較高的效能,而多執行緒處理器則可以萃取出應用程式中的執行緒並行度,在增加一些硬體的情況下,達到更高的指令並行度。
近來,硬體變地愈來愈複雜來提高效能,甚至發展出多核的處理器,為了提高硬體的使用效率,虛擬機是一個可行的方法,在本篇論文裡,介紹一個利用多執行緒機制的虛擬機,它提供多執行緒的特性建構於在Alpha處理器的基礎上,因此本虛擬機可以提供多個應用程式或多個執行緒同時運行於其上,以期提高硬體的使用率,另一方面,本虛擬機是一個可以達到時脈精準的模擬器,且提供快速驗證的能力,因此我們可以測量其效能,但實際上卻不存在此硬體,藉此方式使得我們可以快速地修改目標硬體的原型和驗證其正確性。
The superscalar processor exploits ILP( instruction level parallelism) from an ordinary application to achieve speedup, and the multithreaded processor can additionally extract TLP( thread level parallelism) from an application. The multithreaded processor is able to reach much higher parallelism than a superscalar one with adding a little hardware.
Recently, hardware has become more and more complicate to raise performance and even the multi cores processor is proposed. Utilizing virtual machines is a solution to raise the utility rate of hardware. In this thesis, we introduce a multithreaded virtual machine and it offers multithreaded property based on the Alpha processor, which is a RISC superscalar processor. Hence, the virtual machine, called MTVM, can support that many applications and threads execute concurrently to raise the execution efficiency and the utility of Alpha. On the other hand, VTVM is a cycle-accurate simulator, which simulates a microarchitecture cycle-accurate, and provides the ability of rapidly functional simulation. Therefore, we can measure the performance of the real hardware, which doesn’t exist and rapidly modify the target processor and verify the correctness.
第一章 緒論....................................................................................................................................................1
1.1. 虛擬機的發展...............................................................................................................................1
1.2. 虛擬機核心...................................................................................................................................2
1.3. 動機和目的...................................................................................................................................2
1.4. 論文架構.......................................................................................................................................3
第二章 相關背景知識....................................................................................................................................4
2.1. 虛擬機背景知識............................................................................................................................4
2.2. 虛擬機分類...................................................................................................................................4
2.3. 國內外相關研究............................................................................................................................6
2.3.1. FX!32............................................................................................................................................6
2.3.2. VMWARE......................................................................................................................................6
2.3.2.1. 處理器的虛擬化...........................................................................................................................6
2.3.2.2. I/O的虛擬化................................................................................................................................7
2.3.2.3. 記憶體的虛擬化...........................................................................................................................7
2.3.3. QEMU..........................................................................................................................................8
2.3.3.1. 可攜式動態轉譯(portable dynamic translation).......................................................................9
2.3.3.2. QEMU上採取的效能策略........................................................................................................10
2.3.3.3. QEMU對於Memory Manager Unit(MMU)的模擬................................................................10
2.3.3.4. QEMU處理硬體中斷的方式....................................................................................................10
第三章 程序虛擬機....................................................................................................................................12
3.1. 程序虛擬機的功能......................................................................................................................12
3.1.1 程序虛擬機系統架構..................................................................................................................12
3.1.2 實現虛擬ABI(APPLICATION BINARY INTERFACE)......................................................................13
3.1.3 實現同時多使用者程序執行......................................................................................................13
3.2 相容度.........................................................................................................................................15
3.2.1 狀態對應(STATE MAPPING).........................................................................................................15
3.2.2 運作(OPERATIONS).....................................................................................................................16
3.3 實現狀態對應..............................................................................................................................16
3.3.1 暫存器的對應..............................................................................................................................16
3.3.2 記憶體位址的對應......................................................................................................................17
3.4 虛擬機架構.................................................................................................................................17
3.4.1 模擬目標平台記憶體架構..........................................................................................................18
3.4.1.1 記憶體保護機制.........................................................................................................................20
3.4.2 指令模擬.....................................................................................................................................21
3.4.2.1 實現直譯器機制.........................................................................................................................21
3.4.2.2 效能權衡....................................................................................................................................22
3.4.3 程式碼快取管理..........................................................................................................................23
3.4.3.1 程式碼快取實作.........................................................................................................................23
3.4.4 作業系統模擬..............................................................................................................................23
3.4.4.1 核心空間和使用者空間(kernel space and user space)...........................................................23
3.4.4.2 相似的作業系統呼叫模擬.........................................................................................................25
第四章 ELF 格式載入器實做.....................................................................................................................27
4.1 ELF格式執行檔..........................................................................................................................27
4.1.1 ELF可執行檔的分類..................................................................................................................27
4.1.2 ELF格式可執行檔的檔頭..........................................................................................................29
4.1.2.1 ELF檔頭....................................................................................................................................29
II
4.1.2.2 程式檔頭(program header)......................................................................................................30
4.1.2.3 section檔頭................................................................................................................................31
4.2 GCC跨平台變編譯器和二進制工具的基本使用.....................................................................32
4.2.1 GCC跨平台編譯器.....................................................................................................................32
4.2.2 二進制工具的基本使用..............................................................................................................34
4.3 在虛擬機上實作ELF格式載入器..............................................................................................35
4.3.1 載入器的基礎概念......................................................................................................................35
4.3.2 原本實作在虛擬機上的載入器..................................................................................................36
4.3.3 修改後的載入器..........................................................................................................................37
4.3.4 記憶體存取管理..........................................................................................................................38
4.3.5 解決目的端和主機平台的系統不吻合問題..............................................................................39
第五章 同步機制..........................................................................................................................................43
5.1 同步指令.....................................................................................................................................43
5.2 同步機制.....................................................................................................................................44
5.2.1 同步機制的目標..........................................................................................................................45
5.2.2 在虛擬機中實現同步機制..........................................................................................................45
5.2.3 從程式設計端所採用的同步機制..............................................................................................47
5.3 多執行緒的記憶體管理..............................................................................................................47
5.3.1 共用和不共用記憶體的管理方式..............................................................................................47
5.3.2 共用記憶體之下的堆疊行為......................................................................................................49
5.3.3 從記憶體角度觀察同步行為......................................................................................................50
5.4 在累加器上套用柵欄機制..........................................................................................................51
第六章 實驗結果和結論...............................................................................................................................54
6.1 實驗環境和執行流程..................................................................................................................54
6.2 實驗結果.....................................................................................................................................54
6.3 結論.............................................................................................................................................57
[1] James E.Smith and Ravi Nair : “Virtual Machines: Versatile Platforms for Systems and Processes”, Morgan Kaufmann, 2005.
[2] Anton Chernoff, Mark Herdeg, Ray Hookway, Chris Reeve, Norman Rubin, Tony Tye, S. Bharadwaj Yadavalli, and John Yates, “FX!32: a Profile-Directed Binary Translator”, IEEE Micro, vol. 18, no.2, 1998.
[3] Fabrice Bellard, QEMU open source processor emulator, http://fabrice.bellard.free.fr/qemu/index.html.
[4] Loikkanen et al., "A Fine-Grain Multithreading Superscalar Architecture," Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques, IEEE, pp. 163-168. Oct. 20-23, 1996.
[5] D. Madon, E. Sanchez, and S. Monnier, "A study of a simultaneous multithreaded processor implementation," Proc. 5th International European Parallel Computing Conference, pp.716–726, Aug. 1999.
[6] Wallace, S. and Bagherzadeh, N, "Performance Issues of a Superscalar Microprocessor," Parallel Processing, 1994. ICPP 1994. International Conference, , pp.293-297, Aug. 1994.
[7] Tullsen, D.M., Eggers, S.J. and Levy, H.M., "Simultaneous multithreading: Maximizing on-chip parallelism," Computer Architecture, 1995. Proceedings. 22nd Annual International Symposium , pp. 392-403, Jun 1995.
[8] Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 (May 1995).
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔