| 研究生: |
林璟汶 Lin, Jing-Wun |
|---|---|
| 論文名稱: |
符合電子系統層級設計概念之可參數化超純量亂序執行微處理器設計、分析與實現 Design, analysis, and implementation of a parameter-based out-of-order superscalar microprocessor conforming to ESL methodology |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2008 |
| 畢業學年度: | 96 |
| 語文別: | 中文 |
| 論文頁數: | 60 |
| 中文關鍵詞: | 微處理器 、超純量架構 、管線架構 |
| 外文關鍵詞: | Microprocessor, Pipeline, Reservation Station, Superscalar, Register Update Unit |
| 相關次數: | 點閱:80 下載:3 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文探討如何將目前晶片系統最常使用的ARM處理器,設計成超純量亂序執行之高性能微處理器。將管線化設計的ARM處理器超純量化是非常複雜,需要詳細分析其適用的超純量架構包括:Reservation Station Base與Register Update Unit Base,還要解決ARM特有的多重執行模式和暫存器檔案、定址模式、複雜指令與條件執行指令等。我們將分為架構層面與指令層面兩方面探討、分析並加以解決。
我們採用Register Update Unit Base設計一個九級管線的超純量架構,而ARM特有問題當中最為重要的就是複雜指令與條件執行指令的處理。複雜指令的拆解不但在拆解過程中需要注意,在執行與中斷處理上也必須特別處理。對於條件執行指令的處理不但關係動作的正確性,對於效能也具有極大的影響。我們對於效能的增進使用了四種方式,其中最具效果的就是條件執行指令處理的改進技術。根據各級設計與調整的結果,我們得到高於五級管線處理器30%以上的效能結果。
In this thesis, we design an out-of-order superscalar microprocessor which is based on the popular ARM microprocessor. Many micro-architecture complexities arise when transforming an ARM-based pipelined processor into a superscalar one. The first is to choose a superscalar architecture from a reservation station based model or a register update unit based processor model. And the second one is to deal with the special characteristics of the ARM architecture which has multiple execution modes, multi-banked register files, addressing modes, CICS-like instructions, and conditional executing instructions.
Based on the simulation results, we use the register update unit architecture to design a nine-stage pipelined superscalar processor. We develop techniques to handle the CICS-like instructions and conditional executing instructions for the ARM ISA, and find that the operations of conditional executing instructions are the key factor that affects the performance. The proposed superscalar processor has achieved 30% higher performance than that of the traditional five-stage pipeline processor.
[1] J. E. Smith, and G. S. Sohi, “The Microarchitecture of Superscalar Processors,” Proceedings of the IEEE, vol. 83, pp. 1609-1624, Dec. 1995.
[2] ARM Corporation, “ARM Architecture Reference Manual.”
[3] R. M. Tomasulo, "An Efficient Algorithm for Exploiting Multiple Arithmetic Units," IBM J. Research and Development, vol. 11, pp. 25-33, Jan. 1967.
[4] G. S. Sohi and S. Vajapeyam, "Instruction Issue Logic for High-Performance, Interruptable Pipelined Processors," Proc. 14th Ann. Int'l Symp. Computer Architecture (ISCA '87), Jun. 1987.
[5] R. E. Kessler, “The Alpha 21264 microprocessor,” IEEE Micro, Vol. 19, pp. 24-36, Apr. 1999.
[6] A. Kumar, “The HP PA8000 RISC CPU,” IEEE Micro, vol. 17, pp. 27-32, Apr. 1997.
[7] S. P. Song, M. Denman, and J. Chang, “The PowerPC 604 RISC Microprocessor,” IEEE Micro, vol. 9 no. 3, pp. 1-7, Mar. 1995.
[8] T. A. Diep, C. Nelson, and J. P. Shen, “Performance evaluation of the PowerPC 620 microarchitecture,” Proc. 22th Ann. Int’l Symp. Computer Architecture (ISCA’95), pp. 163-174, May 1995.
[9] K. C. Yeager, “MIPS R10000 Superscalar Microprocessor,” IEEE Micro, vol. 16, pp. 28-40, Apr. 1999.
[10] L. Gwennap, “Intel’s P6 Uses Decoupled Superscalar Design,” Microprocessor Report, vol. 9, no. 2, pp. 1-7, Feb. 1995.
[11] G. Hintom, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker, and P. Roussel, “The Microarchitecture of the Pentium 4 Processor,” Intel Technology Journal, Feb. 2001.
[12] R. Witek, and J. Montanaro, “StrongARM: a high-performance ARM processor,” IEEE Compcon’96, pp. 188-191, Feb. 1996.
[13] ARM Corporation, “Architecture and Implementation of the ARM Cortex-A8 Microprocessor,” Oct. 2005.
[14] 吳燈進, “NCKU RISC32 Instruction Set Encoding and Compiler Porting,” 碩士論文, 國立成功大學電腦與信工程研究所, 2007.
[15] P. H. Wang, H. Wang, R. M. Kling, K. Ramakrishnan, and J. P. Shen , “Register Renaming and Scheduling for Dynamic Execution of Predicated Code,” High-Performance Computer Architecture(HPCA 7th), pp. 15-25, Jan. 2001.
[16] 蕭國樹, “Wake-up Logic Optimizations and Trade-off in High-performance Superscalar Processors,” 博士論文, 國立成功大學電機工程學系, 2006.
[17] J. L. Hennessy, and D. A. Patterson, “Computer Architecture ─ A Quantitative Approach,” 3rd edition, Morgan Kaufmann Publishers, San Francisco, 2003.
[18] S. Manne, A. Kluser, and D. Grunwald “Branch Prediction using Selective Branch Inversion,” Parallel Architectures and Compilation Techniques, pp. 48-56, Oct. 1999.
[19] ARM Corporation, “ARM Developer Suite - Version 1.2 - ADS Debug Target Guide.”
[20] ARM Corporation, “ARM Developer Suite - Version 1.2 - ARM ELF Specification.”
[21] ARM Corporation, “ARM Developer Suite - Version 1.2 - AXD and armsd Debuggers Guide.”
[22] ARM Corporation, “ARM Developer Suite - Version 1.2 - Assembler Guide.”
[23] ARM Corporation, “ARM Developer Suite - Version 1.2 - Codewarrior IDE Guide.”
[24] ARM Corporation, “ARM Developer Suite - Version 1.2 - Compilers and Libraries Guide.”
[25] ARM Corporation, “ARM Developer Suite - Version 1.2 - Developer Guide.”
[26] ARM Corporation, “ARM Developer Suite - Version 1.2 - Getting Started.”
[27] ARM Corporation, “ARM Developer Suite - Version 1.2 - Installation and License Management Guide.”
[28] ARM Corporation, “ARM Developer Suite - Version 1.2 - Linker and Utilities Guide."