A Hardware Monitor Using Tms320c40 Analysis Module
Total Page:16
File Type:pdf, Size:1020Kb
Disclaimer: This document was part of the DSP Solution Challenge 1995 European Team Papers. It may have been written by someone whose native language is not English. TI assumes no liability for the quality of writing and/or the accuracy of the information contained herein. Implementing a Hardware Monitor Using the TMS320C40 Analysis Module and JTAG Interface for Performance Measurements in a Multi-DSP System Authors: R. Ginthor-Kalcsics, H. Eder, G. Straub, Dr. R. Weiss EFRIE, France December 1995 SPRA308 IMPORTANT NOTICE Texas Instruments (TI™) reserves the right to make changes to its products or to discontinue any semiconductor product or service without notice, and advises its customers to obtain the latest version of relevant information to verify, before placing orders, that the information being relied on is current. TI warrants performance of its semiconductor products and related software to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. Certain application using semiconductor products may involve potential risks of death, personal injury, or severe property or environmental damage (“Critical Applications”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI products in such applications requires the written approval of an appropriate TI officer. Questions concerning potential risk applications should be directed to TI through a local SC sales office. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards should be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein. Nor does TI warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. Copyright © 1997, Texas Instruments Incorporated TRADEMARKS TI is a trademark of Texas Instruments Incorporated. Other brands and names are the property of their respective owners. CONTACT INFORMATION US TMS320 HOTLINE (281) 274-2320 US TMS320 FAX (281) 274-2324 US TMS320 BBS (281) 274-2323 US TMS320 email [email protected] Contents Abstract ..............................................................................................................................7 Product Support on the World Wide Web ......................................................................8 Introduction........................................................................................................................9 Motivation........................................................................................................................ 10 The Monitor (Module lB) ................................................................................................ 13 Analysis Module.......................................................................................................... 13 Method of Measurement ............................................................................................ 13 Implementation ........................................................................................................... 15 The Graphical User Interface (GUI) .............................................................................. 19 Function ...................................................................................................................... 19 Diagrams..................................................................................................................... 20 System Utilization............................................................................................... 20 Processor Utilization .......................................................................................... 21 Cooperation with the XDS510.................................................................................... 23 Summary and Conclusion ............................................................................................. 25 References ......................................................................................................................26 Figures Figure 1. The Modular Monitor System............................................................................. 11 Figure 2. Measurement Process and Calculation of "Real" and "Virtual" Time ............... 14 Figure 3. Block Diagram of the Monitor Module................................................................ 17 Figure 4. The GUI.............................................................................................................. 19 Figure 5. Utilization Histogram .......................................................................................... 20 Figure 6. Utilization Meter.................................................................................................. 21 Figure 7. Gantt Chart......................................................................................................... 22 Figure 8. Kiviat Diagram .................................................................................................... 22 Figure 9. The Process Flow of the GUI and the Program Controlling the XDS510 ......... 24 Tables Table 1. Overview of the Information Provided by Module lB ......................................... 12 Table 2. Control/Status Register Definitions.................................................................... 18 Implementing a Hardware Monitor Using the TMS320C40 Analysis Module and JTAG Interface for Performance Measurements in a Multi-DSP System Abstract This application report describes the design and implementation of a hardware monitor that provides information from the processor level up to the application level. It uses the on-chip analysis module of the Texas Instruments (TI) TMS320C40 digital signal processor (DSP) and a boundary-scan technique according to the IEEE 1149.1 JTAG-standard. The monitor can be used for both single processor and multiprocessor systems. There is no limit on the number of processors monitored. An instrumentation of the software running on the DSPs is not required. The monitor influences the application in terms of runtime but does not change the order of events. This document was an entry in the 1995 DSP Solutions Challenge, an annual contest organized by TI to encourage students from around the world to find innovative ways to use DSPs. For more information on the TI DSP Solutions Challenge, see TI’s World Wide Web site at www.ti.com. Implementing a Hardware Monitor Using the TMS320C40 Analysis Module and JTAG Interface for Performance Measurements in a Multi-DSP System 7 SPRA308 Product Support on the World Wide Web Our World Wide Web site at www.ti.com contains the most up to date product information, revisions, and additions. Users registering with TI&ME can build custom information pages and receive new product updates automatically via email. 8 Implementing a Hardware Monitor Using the TMS320C40 Analysis Module and JTAG Interface for Performance Measurements in a Multi-DSP System SPRA308 Introduction It is the aim of each software design to develop an algorithm/application that uses the underlying HW-resources in the best way. This is a complex task in case of multiprocessor systems. The distribution of work amongst the processors greatly influences the performance of the application. Therefore, users need tools to obtain information about the system's behavior and the degree of its utilization. Monitors are such tools that can provide this information. They use different approaches, like hardware, software, and hybrid monitoring.1 Examples of these approaches are documented.2,3,4 These monitors usually yield information of the application and operating system level (e.g. process creation). At the processor level, they can monitor the CPU load but not the use of resources like coprocessors or memory. Furthermore, they often demand an additional instrumentation of the application and/or system software. Since multiprocessor systems feature asynchronous concurrent activities and lack central control, the instrumentation can change the order of events. So, the results delivered by the monitor do not correspond to the real behavior. Implementing a Hardware Monitor Using the TMS320C40 Analysis Module 9 SPRA308 Motivation One research area at our institute is the analysis and parallelization of different simulation algorithms.5 These algorithms are implemented as distributed applications on multi-DSP systems, like the PPDS (Parallel Processing Development System) from Texas Instruments, which contains four C40s. The operating system, VIRTUOSO6 from Eonic Systems, Inc, has a programming framework based on a virtual single processor model. By this, the same application programming interface (API) is provided across all target