簡易檢索 / 詳目顯示

研究生: 張肇嘉
Chao-Jia Chang
論文名稱: 整合系統程式庫流程設計在數位訊號處理器上的研究
Integrate System Library Flow for PAC VLIW DSP Processors
指導教授: 李政崑
Jenq-Kuen Lee
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 產業研發碩士積體電路設計專班
Industrial Technology R&D Master Program on IC Design
論文出版年: 2007
畢業學年度: 95
語文別: 英文
論文頁數: 60
中文關鍵詞: Newlib嵌入式系統數位訊號處理器程式庫開放源代碼PACDhrystoneVLIWMiBenchtime-to-market
外文關鍵詞: Newlib, embedded system, library, open source, PAC, STC, VLIW, DSP
相關次數: 點閱:3下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 中文摘要

    在現今這個科技的時代,更多行動商品的研發,讓嵌入式系統的應用越來越重要,相對的更重視嵌入式應用軟體的研發,隨著軟體與程式的複雜化,工程師需要有更完善的程式庫來加快軟體的研發。Newlib 就是應用於嵌入式系統的C 語言程式庫,由於Newlib是免費軟體及開放源代碼的授權方式,所以我們可以很容易的去修改來源程式碼,快速的應用它所提供的基本函式,來增進系統開發的效率,達到time-to-market的目的,對於在系統開發初期階段,可以說提供了很大的幫助。PAC 數位訊號處理器是工研院晶片技術中心所開發的一顆高效能、低耗能、使用VLIW 指令集的數位訊號處理器,適合應用於嵌入式系統;在嵌入式系統中,PAC數位訊號處理器可以提供高速、低功率消耗的數學運算,為嵌入式系統帶來很好開發價值。
    在實驗的部分,我們使用PAC 數位訊號處理器的平台,來架構Newlib C 語言程式庫,並在PAC 數位訊號處理器平台上測試一些典型的基準測試程式,來測試PAC數位訊號處理器的效能,並最佳化改善Newlib提供的一些函式,來使PAC 數位訊號處理器的效能大量被提升。在這裡我門使用Dhrystone和MiBench基準測試程式,來研究產生效能的問題,並最佳化程式庫,以增加PAC數位訊號處理器的效能提升,在Dhrystone基準測試程式,我們的最佳化過程可以增加程式執行接近95%的效能提升。

    關鍵字:Newlib、嵌入式系統、數位訊號處理器、程式庫、開放源代碼、PAC、Dhrystone、VLIW、MiBench、time-to-market。


    Abstract

    Newlib is a C language library for use on embedded systems. Because newlib C library is free software of the open source license that we can easily revise the source code apply to embedded systems application quickly to enhance the efficiency of development and to achieve the time-to-market. As to the development of a bare machine into initial stage, this offers great assist.

    PAC DSP processor is currently developed at ITRI STC that is a high performance, low power, and low cost VLIW DSP processor applied to the embedded systems. On the embedded system application, PAC DSP supports high speed and low energy consumption for DSP applications. In this thesis, we investigate the issues to enable the newlib flow for PAC DSP processors. In addition, we also investigate performance issues wuth Dhrystone and MiBench.
    In the experimental, we structure the newlib C library for PAC DSP processor and verify some typical benchmark for obtain the performance. Lastly, optimize the library to enhance performance for PAC DSP processor. In the Dhrystone benchmark, we can speed up the programs nearly 95\% with our enhancements.

    Keywords: Newlib, embedded system, library, open source, PAC, STC, VLIW, DSP

    Contents Acknowledgements ..................................i Abstract .........................................ii Contents ........................................iii List of Figures ...................................v List of Tables ................................viii 1 Introduction ....................................1 1.1 Introduction ..................................1 1.2 Background ..................................2 1.2.1 History of newlib C library .................2 1.2.2 Comparison other library ....................5 1.3 The files structure of newlib..................5 2 PAC DSP Platform and Toolkit ....................7 2.1 PAC DSP Platform ..............................7 2.2 Compiler flow .................................8 2.3 Summary of PAC DSP Binutils Toolkits..........10 2.4 VLIWinstruction structure ....................11 2.5 Inline assembly for PAC DSP processor.........11 3 Apply Newlib C Library .........................14 3.1 Building Newlib C library ....................14 3.2 ApplyMapping to PAC DSP ......................17 3.3 System calls .................................25 3.4 Setjmp and longjmp subroutines ...............27 3.5 ISS User-defined function ....................28 4 Experimental Results ...........................29 4.1 Methodology ..................................29 4.2 Results ......................................34 4.2.1 The Standard I/O testing results ...........34 4.2.2 The Dhrystone benchmark testing results.....37 4.2.3 Tuning library for Dhrystone benchmark .....39 4.2.4 MiBench benchmark testing results ..........45 5 Conclusion .....................................48 5.1 Summary ......................................48 5.2 Future work ..................................48 Bibliography .....................................50 Appendix .........................................55

    Bibliography
    [1] M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M.
    Austin, T. Mudge, and R. B. Brown, “Mibench: A free,
    commercially representative embedded benchmark suite,”
    vol. 54, pp. 1–10, 2001.
    [2] The GNU C Library Reference Manual. [Online]. Available:
    http://www.gnu.org/software/libc/manual/html
    node/index.html
    [3] E. Andersen, uClibc. [Online]. Available:
    http://uclibc.org/
    [4] diet libc. [Online]. Available:
    http://www.fefe.de/dietlibc/
    [5] J. Johnston and T. Fitzsimmons, Newlib
    sources.redhat.com, Rad Hat, Inc. [Online]. Available:
    http://sources.redhat.com/newlib/
    [6] D. C.-W. Chang, C.-W. Jen, I.-T. Liao, J.-K. Lee, W.-F.
    Chen, and S.-Y. Tseng,"Pac dsp core and application
    processors,” in Proceedings of International Conference
    on Multimedia and Expo (ICME), July 2006.
    [7] Y.-C. Lin, C.-L. Tang, C.-J. Wu, M.-Y. Hung, Y.-P. You,
    Y.-C. Moo, S.-Y. Chen, , and J. K. Lee, “Compiler
    supports and optimizations for pac vliw dsp
    processors,” in Proceedings of the 18th International
    Workshop on Languages and Compilers for Parallel
    Computing (LCPC’05), October 20-22 2005.
    [8] G.-H. Hwang, J. K. Lee, and D.-C. Ju, “Integrating
    automatic data alignment and array operation synthesis
    to optimize data parallel programs,” in Proceedings
    of the 10th International Workshop on Languages and
    Compilers for Parallel Computing (LCPC’97), Augest
    1997.
    [9] T. Wolf, The New ISO Standard for C (C9X), 2000.
    [Online]. Available: http://home.tiscalinet.ch/t
    wolf/tw/c/c9x changes.html
    [10] BSDGPL. [Online]. Available:
    http://zh.wikipedia.org/wiki/
    [11] J. Johnston, S. Chamberlain, and R. Pesch. (2002,
    July) libc. RAD HAT Inc. [Online]. Available:
    http://www.zap.org.au/elec2041-drom/gnutools/doc/newlib-
    c-library.pdf
    [12] ——. (2005, December) libm. RAD HAT Inc. [Online].
    Available:http://www.zap.org.au/elec2041-
    cdrom/gnutools/doc/newlib-c-library.pdf
    [13] STC/M310, PACDSP v3.0 Binutils User Manual, ITRI, 2006.
    [14] C.-W. Chen, C.-L. Tang, Y.-C. Lin, and J.-K. Lee,
    “Compiler infrastructure supports for vliw dsp
    processors,” in ORC2DSP, October 1997.
    [15] K. Leary and W. Waddington, “Dsp/c: a standard high
    level language for dsp aad numeric processing,” in
    Proceedings of the International Conference on
    Acoustic, Speech, and Signal Processing, 1990, pp.
    1000–1068.
    [16] STC/M310, Programming Constraints and Optimization
    Guide, ITRI, 2006.
    [17] Y.-C. Lin, Y.-P. You, C.-J. Wu, B.-S. Hsu, C.-L. Tang,
    S.-Y. Chen, and Y.-C.
    Mo, “Pac dsp software development suite,” SoC
    Technical Journal, vol. 2, pp. 22–35, May 2005.
    [18] STC/M310, Software Developer’s Guide, ITRI, 2006.
    [19] Y.-C. Lin, Y.-P. You, and J. K. Lee, “Register
    allocation for vliw dsp processors with irregular
    register files,” in Proceedings of Compilers for
    Parallel Computers (CPC’06), Janurary 2006.
    [20] STC/M310, Instruction Set Manual, ITRI, 2006.
    [21] S. S. (2003, March) Gcc-inline-assembly-howto.
    [Online]. Available:
    http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-
    HOWTO.html
    [22] B. Gatliff, Porting and Using Newlib in Embedded
    Systems, 2001. [Online]. Available:
    http://www.billgatliff.com
    [23] A. Rubini. Kernel system calls. [Online]. Available:
    http://www.linux.it/˜rubini/docs/ksys/
    [24] Linux system call table. [Online]. Available:
    http://www.linuxassembly.org
    [25] Solaris 2.4 Reference Manual AnswerBook, Sun
    Microsystems, Inc.,1994–2007. [Online]. Available:
    http://docs.sun.com/app/docs/doc/801-6680-03/6i11qcjpq?
    l=zh TW&a=view
    [26] L.-H. Hsiao, K.-S. Chao, and C.-S. Chen, “Pac soc
    embedded software,” SoC Technical Journal, pp. 1–11,
    May 2005.
    [27] M. Jersak and M. Willems, “Fixed-point extended c
    compiler allows more ef-ficient high-level programming
    of fixed-point dsps,” in Proceedings of the
    International Conference on Signal Processing
    Applications and Technology (ICSPAT’98), October 1998.
    [28] B. Krepp, “Dsp-oriented extension to ansi c,” in
    Proceedings of the International Conference on Signal
    processing Applications and Technology (ICSPAT’97),
    1997, pp. 400–664.
    [29] A. R. Weiss, “Dhrystone benchmark,” in History,
    Analysis, Scores and Recommendations,November 2002.
    [30] R. York, “Benchmarking in context: Dhrystone,” in
    And of course, the very success of a benchmark program
    is a danger in that people may tune their compilers
    and/or hardware to it, and with this action make it
    less useful., March 2002.
    [31] “Dhrystone benchmark results for products,” 2004.
    [32] M. Levy, “Eembc and the purposes of embedded
    processor benchmarking,” in Certified Performance
    Analysis for Embedded Systems Designers, pp. 10–26.
    [33] B. Gladman, “Announcing the advanced encryption
    standard (aes),” in Federal Information Processing
    Standards Publication 197, November 2001. [Online].
    Available: http://fp.gladman.plus.com/cryptography
    technology/
    [34] STC/M310, PACDSP v2.0 Compiler Calling Convention,
    ITRI, 2005.
    [35] D. Batten, S. Jinturkar, J. Glossner, M. Schulte, and
    P. D’Arcy, “A new approach to dsp intrinsic
    functions,” in Proceedings of the Hawaii International
    Conference on System Sciences, January 2000, pp. 908–
    918.
    [36] M. P. Chunho Lee and W. H. Mangione-Smith,
    “Mediabench: A tool for evaluating and synthesizing
    multimedia and communications systems,” vol. 48, pp.
    1–6.
    [37] H. J. Curnow and B. A. Wichmann. (1976) A synthetic
    benchmark. Computer Journal. [Online]. Available:
    http://freespace.virgin.net/roy.longbottom/whetstone.htm
    [38] J. J. Dongarra, “Performance of various computers
    using standard linear equations software,” pp. 1–97,
    2006. [Online]. Available:
    http://netlib.amss.ac.cn/utk/people/JackDongarra/faq-
    linpack.html
    [39] TI-Benchmark v1.2. [Online]. Available: http://www.ticalc.org/archives/files/fileinfo/217/21766.html
    [40] I. The staff of Berkeley Design Technology. (2004) A
    bdti analysis of the texas instruments tms320c64x.
    Berkeley Design Technology, Inc. [Online]. Available:
    http://www.BDTI.com

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE