研究生: |
張肇嘉 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 、嵌入式系統 、數位訊號處理器 、程式庫 、開放源代碼 、PAC 、Dhrystone 、VLIW 、MiBench 、time-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
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