Responsive image
博碩士論文 etd-0319112-161808 詳細資訊
Title page for etd-0319112-161808
論文名稱
Title
針對軟體及系統單晶片匯流排之效能量測套件:以三維圖形系統單晶片為例
A Performance Monitoring Tool Suite for Software and SoC on-chip Bus: Using 3D Graphics SoC as an example
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
212
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2011-10-21
繳交日期
Date of Submission
2012-03-19
關鍵字
Keywords
取樣技術、匯流排、軟體、效能分析、效能監測
Sampling Techniques, Bus, Software, Performance analysis, Performance monitoring
統計
Statistics
本論文已被瀏覽 5689 次,被下載 370
The thesis/dissertation has been browsed 5689 times, has been downloaded 370 times.
中文摘要
現今的系統單晶片同時牽涉了軟體及硬體的設計,效能瓶頸有可能會發生在軟體端或硬體端或甚是兩者,但現有的效能監測工具通常只能監測軟體或硬體其中一端的效能,這對於我們現今的系統單晶片設計已經有所不足。此外,由於使用者對於系統單晶片的所需的功能日益複雜,嵌入式作業系統,如:Linux,已越來越常被使用在系統單晶片系統中來管理有限的硬體資源。然而,由於記憶體位址空間被嵌入式作業系統切割為使用者空間及核心空間,而這兩空間擁有完全不同的系統資源存取權限,因此也導致了效能監測上的困難,一般執行在使用者空間的應用程式,若是沒有核心及硬體的支援,基本上是很難去取得完整的系統效能資訊的。因此,在此篇論文中,我們提出了一個足以針對使用Linux作業系統的系統晶片,同時分析使用者空間的應用程式、核心空間的驅動程式及AMBA AHB匯流排效能的量測套件。我們開發了Performance Monitoring Tool Suite (PMTS),其中包含了:Program Monitor (PM)來監測軟體的執行時間;Bus Utilization Monitor (BUM)、Bus Contention Monitor (BCM)及Bus Global Monitor (BGM)來監測匯流排之使用率及不同Masters之間匯流排的競爭。PMTS可以幫助使用者更容易的找出軟硬體之間的效能瓶頸。我們也將PMTS應用在FPGA開發版上,並找出了我們設計上的軟硬體效能瓶頸。由實驗結果我們也可以知道,加入PMTS並不會對於SoC造成critical path的產生。
Abstract
Nowadays SoC involves both software and hardware designs, performance bottleneck may occur either in software/hardware or even both. But present performance monitoring tools usually evaluates one of software/hardware performance, which is not quite enough for nowadays SoC designs. Furthermore, due to increasing complexity of user requirements, embedded OS, such as Linux is introduced to manage the limited hardware resources for complicated applications. However, it also makes performance monitoring harder since the memory addressing space is divided into user space and kernel space with different capability to access system resources, which makes user space application impossible to retrieve system performance information without kernel or hardware supports. In this thesis, we propose a performance monitoring tool suite which is capable of analyzing the performance of user pace application, kernel space device driver and AMBA AHB bus for SoC running under Linux. We develop Performance Monitoring Tool Suite (PMTS) which includes: Program Monitor (PM) to monitor the execution time of software; Bus Utilization Monitor (BUM), Bus Contention Monitor (BCM) and Bus Global Monitor (BGM) to monitor the bus utilization, contentions…etc. PMTS can help user to find out the performance bottleneck of both software and hardware more easily. We have applied PMTS to FPGA develop board and find out the hardware/software performance bottlenecks of the designs. From the experimental results we can know that adding PMTS won’t impact the critical path of SoC.
目次 Table of Contents
Chapter 1. Introduction 1
1.1 Motivation 1
1.2 Background 1
Chapter 2. Related Works 4
2.1 Static Instrumentation 4
2.1.1 LTTng (Linux Trace Toolkit next generation) 5
2.1.2 Moduletracer 9
2.1.3 gprof (GNU Profiler) 12
2.1.4 Ftrace (Function Trace) 13
2.2 Dynamic Instrumentation 15
2.2.1 SystemTap 16
2.3 Sampling Techniques 19
2.3.1 Oprofile 20
2.4 SoC On-Chip bus activities 22
2.4.1 PAU (Performance Analysis Unit) 22
2.4.2 Formal Modeling of AMBA AHB 29
Chapter 3. Software Performance Monitoring 32
3.1 Executable File Format 35
3.2 Analyzing User Program and Device Driver with GDB 37
3.3 Program Monitor (PM) 41
3.4 Summary 42
Chapter 4. Hardware Performance Analysis 43
4.1 Overall Architecture 44
4.2 Bus Utilization Monitor (BUM) 45
4.3 Bus Contention Monitor (BCM) 48
4.4 Bus Global Monitor (BGM) 52
4.5 Summary 53
Chapter 5. Data Compression 54
5.1 Differential compression 54
5.2 Leading Zero Detector (LZD) 55
5.3 Trace Data Controller 59
5.4 Summary 63
Chapter 6. Utility Software Tools 64
6.1 Linux Device Driver 64
6.2 Multitasking Problem 66
6.3 Interactive Run-Dump Control 69
6.4 Server program 72
6.5 Summary 78
Chapter 7. Performance Analysis Tool 79
7.1 Configuration Windows 79
7.2 Software Execution Analyzer 82
7.3 Hardware Performance Analyzer 94
7.3.1 BUM Analyzer 94
7.3.2 BCM Analyzer 96
7.3.3 BGM Analyzer 96
7.4 Reporting 97
7.4.1 Execution time reports 97
7.4.2 BUM reports 98
7.4.3 BCM reports 99
7.4.4 BGM reports 100
7.5 Summary 100
Chapter 8. Experiment Results 101
8.1 3D Graphics SoC Introduction 104
8.2 Testbench: Texture Cube (30 frames) 108
8.3 Testbench: NSYSU 3D (1 frame) 119
8.4 Testbench: NSYSU 3D (20 frames) 126
8.5 Summary 133
8.6 Enhancements of 3D Graphic SoC 138
Chapter 9. Conclusions 144
Chapter 10. Future Works 147
References 148
Appendix A: Control Registers Table 150
Appendix B: Application Notes 159
Appendix C: Design Notes 179
參考文獻 References
[1] Ting-Yun Huang, “Hardware Design, Integration, and Verification of Geometry Engine in 3D Graphics”, Master dissertation, National Sun Yat-sen University, 2006
[2] Tsung-Hua Tsai, “Design of 3D Graphic Tile-based Rendering Engine for Embedded Systems”, Master dissertation, National Sun Yat-sen University, 2007
[3] Liang-Bi Chen, Ruei-Ting Gu, Wei-Sheng Huang, Chien-Chou Wang, Wen-Chi Shiue, Tsung-Yu Ho, Yun-Nan Chang, Shen-Fu Hsiao, Chung-Nan Lee, and Ing-Jer Huang, “An 8.69 Mvertices/s 278 Mpixels/s Tile-based 3D Graphics SoC HW/SW Development for Consumer Electronics”, Proc. of the 2009 IEEE/ACM Asia and South Pacific Design Automation Conference (ASP-DAC'09), Yokohama, Japan, pp.131-132, Jan. 2009
[4] Mathieu Desnoyers and Michel R. Dagenais, “The LTTng tracer: A low impact performance and behavior monitor for GNU/Linux”, Ottawa Linux Symposium, July 2006
[5] Desnoyers, Mathieu, “Low-Impact Operating System Tracing”, Ph.D. dissertation, Ecole Polytechnique de Montreal, 2009
[6] K. Yaghmour and M. Dagenais. System administration: The Linux trace toolkit. Linux J., 2000(73es):22, 2000
[7] Shih-hao Hung, Shu-jheng Huang, Chia-heng Tu, “New Tracing and Performance Analysis Techniques for Embedded Applications”, Real-Time Computing Systems and Applications, 2008
[8] Shih-Hao Hung, Chia-Heng Tu, Thean-Siew Soon, “Trace-based Performance Analysis Framework for Heterogeneous Multicore Systems”, Design Automation Conference (ASP-DAC), 2010 15th Asia and South Pacific
[9] Susan L. Graham, Peter B. Kessler, Marshall K. McKusick, “gprof: a Call Graph Execution Profiler”. ACM/SIGPLAN Conference on Programming Languages Design and Implementation” ACM SIGPLAN, 2003
[10] Steven Rostedt, “Finding Origins of Latencies Using Ftrace”, In Proceedings of the Eleventh Real-Time Linux Workshop, Dresden, Germany, September 2009
[11] Tim Bird, “Measuring Function Duration with Ftrace”, Linux Symposium, Canada, 2009
[12] Frank Ch. Eigler, “Problem Solving With Systemtap”, Ottawa Linux Symposium, 2005
[13] V Prasad, W Cohen, FC Eigler, M Hunt, “Locating System Problems Using Dynamic Instrumentation”, Linux Symposium, 2005
[14] A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, and M. Hiramatsu, “Probing the Guts of Kprobes”, Ottawa Linux Symposium, 2006
[15] Jim Keniston, Ananth Mavinakayanahalli, Prasanna Panchamukhi, Vara Prasad, “Ptrace, Utrace, Uprobes Lightweight, Dynamic Tracing of User Apps”, Ottawa Linux. Symposium, 2007
[16] William E. Cohen, “Tuning Programs with OProfile”, Wide Open Magazine, 2004
[17] Hyun-min Kyung, Gi-ho Park, Jong Wook Kwak, Wookyeong Jeong, Tae-jin Kim, Sung-bae Park, “Performance Monitor Unit Design for an AXI-based Multi-Core SoC Platform”, ACM Symposium on Applied Computing, SAC, 2007
[18] Hyun-min Kyung, Gi-Ho Park, Jong Wook Kwak, Tae-Jin Kim, Sung-Bae Park, “Design and implementation of Performance Analysis Unit (PAU) for AXI-based multi-core System on Chip (SOC)”, Microprocessors and Microsystems, 2010
[19] Gabor Madl, Sudeep Pasricha, Luis Angel D. Bathen, Nikil Dutt, Qiang Zhu, “Formal performance evaluation of AMBA-based system-on-chip designs”, Proceedings of the 6th ACM & IEEE International conference on Embedded software, 2006
[20] ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
[21] COFF: http://en.wikipedia.org/wiki/COFF
[22] Chung-Fu Kao, Shyh-Ming Huang, Ing-Jer Huang, “A Hardware Approach to Real-Time Program Trace Compression for Embedded Processors”, IEEE Transactions on Circuits and Systems I-regular Papers - IEEE TRANS CIRCUIT SYST-I , vol. 54, no. 3, pp. 530-543, 2007
[23] Fu-Ching Yang, Cheng-Lung Chiang, Ing-Jer Huang, “A Reverse-Encoding-Based On-Chip Bus Tracer for Efficient Circular-Buffer Utilization”, IEEE Transactions on Very Large Scale Integration Systems - VLSI , vol. 18, no. 5, pp. 732-741, 2010
[24] V. G. Oklobdzija, “A hierarchical and modular circuit implementing leading zero detector for a high-systems, and applications”, Proc. 5th Int. Symp. IC Technology, Systems, and Applications, ISIC-93, Nanyang Technological University, Singapore, 1993
[25] Tom Zanussi, Karim Yaghmour, Robert Wisniewski, Richard Moore, Michel Dagenais, “relayfs - An Efficient Unified Approach for Transmitting Data from Kernel to User Space”, Ottawa Linux. Symposium, 2003
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:自定論文開放時間 user define
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code