簡易檢索 / 詳目顯示

研究生: 謝秉翰
Pin-Han Hsieh
論文名稱: 暫存器架構切換應用於ARM處理器
Switching Between Two Register File Architectures On ARM Processor
指導教授: 黃元欣
Yuan-Shin Hwang
口試委員: 賴祐吉
Yu-Chi Lai
張榮貴
Rong-Guey Chang
學位類別: 碩士
Master
系所名稱: 電資學院 - 資訊工程系
Department of Computer Science and Information Engineering
論文出版年: 2013
畢業學年度: 101
語文別: 中文
論文頁數: 50
中文關鍵詞: 暫存器
外文關鍵詞: Register File Architectures
相關次數: 點閱:327下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

在本篇論文中,我們基於暫存器的加倍模式下,提出了ARM雙倍暫存器與base的原暫存器數目狀態下進行切換。由於 ARM 微處理器中暫存器的數目增為原本的2倍,讓32位元的指令可以使用的暫存器從16個增加到32個,使得編譯器或程式設計師可以使用32個暫存器來存放變數或計算結果,提高程式的效率。但是在暫存器加倍的狀態下,遇上某些應用程式效果卻反而比base的差。

因此我們做了暫存器 (16/32) 模式切換的機制,在編譯時對程式區塊進行了static的分析與判斷,然後根據分析結果選擇使用哪一種模式可使得效能較好,動態的針對各個應用程式做切換,以達到整體效能提升。


In this paper, we register-based doubling mode, the proposed doubling of the ARM registers and base of the original number of registers to switch state.
We did a register (16/32) mode switching mechanism to block the program at compile time for a static analysis and judgment, and then choose which one to use results of the analysis mode can make a better performance, dynamic for each applications do switch, in order to achieve overall performance improvement.

論文摘要 1 誌謝….. 2 目錄….. 3 圖目錄 5 表目錄 7 第一章 序論 8 1.1 研究背景 8 1.2 研究動機 8 1.3 研究目的 10 1.4 研究方法 10 1.5 論文架構 11 第二章 文獻回顧 12 2.1 微處理器硬體架構 12 2.2 增加暫存器數目相關 15 2.2.1 Change Register Bank 15 2.2.2 Trading conditional execution 16 2.2.3 指令編碼方式 17 2.2.4 GCC retargeted 23 2.2.5 加入 THUMB II IT 指令 24 第三章 方法 28 3.1 概念 28 3.2 步驟分析 29 3.2.1 Compiler - IRA 29 3.2.2 尋找loop中conditional code 31 3.2.3 尋找hot pass中conditional code 32 3.2.4 其他因素 35 3.3 Doubling the number of registers with register switch 35 3.3.1 兩種ARM架構 35 3.3.2 選擇最佳模式 37 第四章 實驗結果 41 4.1 實驗平台 41 4.2 效能評估 42 第五章 結論 46 5.1 結論 46 5.2 未來展望 46 參考文獻 47

[1] ARM Limited. ARM9TDMITM Technical Reference Manual,2000.
[2] Todd Austin, David Blaauw, Scott Mahlke, Trevor Mudge,Chaitali Chakrabarti, and Wayne Wolf. Mobile supercomputers.IEEE Computer, 37(5):81–83, May 2004.
[3] Todd Austin, Eric Larson, and Dan Ernst. SimpleScalar:
An infrastructure for computer system modeling. IEEEComputer, 35(2):59–67, 2002.
[4] Huang-Jia Cheng and Yuan-Shin Hwang. Trading conditional execution for more registers on ARM. In Proceedings of the 2010 EUC, pages 53–59, 2010.
[5] Edil S. T. Fernandes, Anna Dolejsi Santos, and Claudio L. de Amorim. Conditional execution:
An approach for eliminatingthe basic block barriers. Microprocessing and Microprogrammin,40:689–692, 1994.
[6] Jason Fritts and Bill Mangione-Smith. MediaBench II -technology, status, and cooperation. In Proceedings of the Workshop on Media and Stream Processors, 2002.
[7] GCC. The GNU compiler collection. http://gcc.gnu.org/
[8] Wen-Mei Hwu. Technology outlook: Introduction to predicated execution. IEEE Computer, 31(1):49–50, January 1998.
[9] Intel Corporation. IntelR StrongARM SA-1110 Microprocessor Developer’s Manual, October 2001.
[10] Tokuzo Kiyohara, Scott Mahlke, William Chen, Roger Bringmann, Richard Hank, Sadun Anik, and Wen-Mei Hwu.
Register connection: a new approach to adding registers into instruction set architectures. In Proceedings of the 20th annual international symposium on Computer architecture, pages 247–256, 1993.
[11] Arvind Krishnaswamy and Rajiv Gupta. Efficient use of invisible registers in thumb code. In Proceedings of the 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’05), 2005.
[12] Chunho Lee, Miodrag Potkonjak, and William H. Mangionesmith.
MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’97), pages 330–335, 1997.
[13] Joseph C. H. Park and Mike Schlansker. On predicated execution. Technical Report HPL-91-58, HP Labs, 1991.
[14] David Seal, editor. ARM Architecture Reference Manual.
Addison-Wesley Professional, 2nd edition, 2001.
[15] Simon Segars. Low power design techniques for microprocessors.
In IEEE International Solid-State Circuits Conference (ISSCC), 2001.
[16] Xiaotong Zhuang and Santosh Pande. Differential register allocation. In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
(PLDI’05), pages 168–179, 2005.
[17] Xiaotong Zhuang, Tao Zhang, and Santosh Pande. Hardwaremanaged register allocation for embedded processors.
In Proceedings of the 2004 ACM SIGPLAN/SIGBED conference
on Languages, compilers, and tools for embedded systems,
pages 192–201, 2004.
[18] J.H. Lee, J. Park, S.M. Moon. Securing More Registers with Reduced Instruction Encoding Architectures. In Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’07), pages 417-425, 2007.
[19] Thomas Ball, James R. Larus. Branch prediction for free.
In Proceedings of ACM SIGPLAN 1993 conference on Programming language design and implementation, pages 300–313, 1993.

QR CODE