進階搜尋


下載電子全文  
系統識別號 U0026-2008201421452000
論文名稱(中文) 適用於RISC32之浮點數協同處理器
論文名稱(英文) A Vector Floating-point Coprocessor for RISC32
校院名稱 成功大學
系所名稱(中) 電機工程學系碩士在職專班
系所名稱(英) Department of Electrical Engineering (on the job class)
學年度 102
學期 2
出版年 103
研究生(中文) 林威宏
研究生(英文) Wei-Hung Lin
學號 n27971266
學位類別 碩士
語文別 中文
論文頁數 45頁
口試委員 指導教授-陳中和
口試委員-徐慰中
口試委員-賴伯承
口試委員-陳培殷
口試委員-黃英哲
中文關鍵字 微處理器  管線  協同處理器 
英文關鍵字 Microprocessor  Pipeline  Coprocessor 
學科別分類
中文摘要 本論文主要以 ARM VFPv2 指令集架構建構一暫存器轉移層級(RTL)之高速浮點數協同處理器,以四級管線化的架構實現,並附加上危障前饋處理。

我們將實驗室日前發展的 NCKU-RISC32 CPU 經由 Coprocessor Interface 與浮點數協同處理器連結,使 NCKU-RISC32 CPU 具有硬體支援浮點運算的能力,藉以提高 CPU 於浮點運算上的性能。

在整體系統架構中,我們要針對 VFPv2 指令集中的三大類指令 (Data processing、Load & Store、Register transfer Instruction) 來做整體架構的規畫。另外在管線結構中對於 Data Hazard 的處理不但關係到整體動作的正確性,對於效能也具有極大的影響。對此我們針對 Data Hazard 問題設計 Forwarding unit 電路來解決。我們用 NC Verilog-Simulator 模擬出運算的結果並比較運算的性能,使用 ARM Real View Debugger3.1 來驗證運算的結果。最後燒入到 FPGA 開發版進行功能測試。根據實驗的結果,含有浮點數協同處理器的 CPU 可以提高執行速度平均達到5.5倍以上。
英文摘要 This thesis is mainly about building a high-speed Vector Floating-point Coprocessor(VFP)with register transfer level (RTL) under the ARM VFPv2 instruction set. In terms of register transfer level design, this coprocessor is implemented with 4-stage pipeline architecture along with a forwarding unit.

We have integrated the VFP coprocessor and NCKU-RISC32 processor through the Coprocessor Interface. Therefore, the NCKU-RISC32 processor has a hardware support on floating point operation. The VFPv2 ISA has three types of instructions (Data Processing, Load/Store, and Register transfer Instruction). In addition, the handling of data hazard in pipeline architecture is not only related to the accuracy of the output result, but also the performance. The data hazard problem has been resolved by a forwarding unit design.

We simulate and compare the performance by using the NC-Verilog Simulator and verify the output result by using the ARM Real View Debugger3.1. Finally, we verify the processor function by using the Xilinx FPGA development board. According to the experimental results, the VFP Coprocessor can speed up to about 5.5 times on average.
論文目次 摘要 I
SUMMARY II
INTRODUCTION III
METHODS III
RESULTS AND DISCUSSION IV
CONCLUSION V
誌謝 VI
目錄 VII
表目錄 X
圖目錄 XI
第1章序論 1
1.1 研究動機 1
1.2 研究貢獻 1
1.3 論文編排 2
第2章背景知識 3
2.1 IEEE754標準 3
2.1.1 單精確度(Single precision)浮點數格式 3
2.1.2 雙精確度(Double precision)浮點數格式 4
2.2 例外狀況(Exceptions) 4
2.2.1 無效運算(Invalid Operation) 5
2.2.2 除以零(Division by Zero) 5
2.2.3 不足位(Underflow) 5
2.2.4 溢位(Overflow) 5
2.2.5 不準確(Inexact) 5
2.3 矽智財(Intellectual Property) 5
2.4 Coprocessor Interface 6
2.5 ARM v5 指令集 8
2.5.1 指令集特性 8
2.5.2 指令類型 8
2.5.3 執行模式 9
2.5.4 暫存器檔案 9
2.5.5 中斷處理 11
第3章架構設計與分析 12
3.1 VFP Register Files 12
3.1.1 FPSID 13
3.1.2 FPSCR 14
3.1.3 FPEXC 15
3.2 Data Processing Instruction 16
3.3 Load & Store Instruction 19
3.3.1 單一載入/儲存(Single Load/Store) 20
3.3.2 連續載入/儲存(Multiple Load/Store) 23
3.4 Register transfer instruction 25
3.5 管線架構(Pipeline) 28
3.5.1 危障(Hazard) 29
3.6 結語 30
第4章架構實現 31
4.1 Overview 31
4.2 Decode stage 32
4.3 Execute stage 32
4.4 Memory stage 34
4.5 Write Back stage 36
4.6 Forwarding Unit 36
4.7 結語 38
第5章實驗環境與數據分析 39
5.1 環境架設 39
5.2 測式程式與軟體平台 40
5.3 實驗數據與結果分析 40
5.3.1 FPGA 開發版實驗 42
5.4 結語 43
第6章結論與未來展望 44
6.1 結論 44
6.2 未來展望 44
參考文獻 45
參考文獻 [1]Hsun-Wei Kao, “Embedded Processor Verification using Particular Characteristics of Linux Operating System,” 2006 master thesis of National Cheng Kung University, Tainan, Taiwan, July, 2005
[2]J.L. Patterson and D.A Hennessy, Computer Organization and Design – The Hardware/Software Interface 3rd edition. 2002
[3]IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std 754-1985, New York, 1985
[4]OpenCores Floating-point IP, http://opencores.org/
[5]ARM Corporation, “ARM946E-STechnical Reference Manual,” 2007
[6]ARM Corporation, “ARM Architecture Reference Manual,” 2005
[7]ARM Corporation, “ARM Architecture Reference Manual– Part C Vector Floating-point Architecture.” 2005
[8]王振傑,“雙指令集架構之嵌入式微處理器的設計與實作”碩士論文,國立成功大學電腦與信工程研究所, 2005
[9]ARM Real View Development Suite 3.1 (RVDS),http://infocenter.arm.com/help/index.jsp
[10]ARM Real View Debugger user guide, http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0153k/index.html
[11]Xilinx ISE design Suite: http://www.xilinx.com/support.html
[12]SCDK2: http://www.socle-tech.com/en/service_63.html
[13]Pi benchmark, http://www.60bits.net/msu/mycomp/bench.htm
[14]Whetstone benchmark, http://en.wikipedia.org/wiki/Whetstone_(benchmark)
[15]fbench benchmark, https://www.fourmilab.ch/fbench/fbench.html
[16]ffbench benchmark, https://www.fourmilab.ch/fbench/ffbench.html
[17]Synopsys DesignWare IP, http://www.synopsys.com/IP/Pages/default.aspx
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2014-08-29起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2016-08-29起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw