没有合适的资源?快使用搜索试试~ 我知道了~
首页TMS320C6000 DSP编程指南:优化与实战教程
《TMS320C6000 DSP程序员指南》是一本专门针对TMS320C6000系列数字信号处理器(DSP)编程的权威参考手册,旨在帮助开发者更有效地编写和优化代码。该书在使用前需要安装相应的代码生成和调试工具。
该手册分为五个主要部分:
1. 入门篇:C6000架构与开发流程 - 这部分提供了C6000架构的简要概述,包括其特性和工作原理。同时,它涵盖了整个开发流程的介绍,包括设计、编码、测试和调试各阶段。教程部分会引导读者熟悉每个阶段所使用的工具,并提供一个优化清单,以确保代码性能达到最佳。
2. C语言编程 - 这是核心章节,包含丰富的C代码示例和优化方法讨论。通过学习,开发者可以掌握如何选择最适合项目的优化技术,如内存管理、算法优化、并行计算等,以提高程序运行效率。
3. 汇编语言编程 - 对于那些对底层控制有需求的开发者,这部分详细介绍了汇编语言的结构和编写技巧。作者提供了实际的代码示例,探讨了针对C6000的汇编优化策略,还特别关注了中断子程序的设计和优化。
4. C64x编程技术 - 针对C64x系列的特定,这部分着重讨论了针对该平台特有的编程注意事项,可能涉及到硬件特性的利用、指令集差异、以及与C6000通用编程的兼容性问题。
5. 附录与参考资料 - 书中还可能包含相关的参考资料、更新信息和故障排除指南,以支持持续的学习和问题解决。
《TMS320C6000 DSP程序员指南》不仅是一本实用的编程手册,还是一份宝贵的性能优化指南,对于想要深入理解并提升C6000 DSP应用开发能力的工程师来说,是不可或缺的参考资料。通过遵循本书的指导,开发者可以确保他们的代码在性能、可读性和可维护性上都达到业界标准。
![](https://csdnimg.cn/release/download_crawler_static/5098071/bg10.jpg)
Tables
xvi
Tables
1−1 Three Phases of Software Development 1-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−2 Code Development Steps 1-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−1 Compiler Options to Avoid on Performance Critical Code 2-4. . . . . . . . . . . . . . . . . . . . . . . . . . .
2−2 Compiler Options for Performance 2-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−3 Compiler Options That Slightly Degrade Performance and Improve Code Size 2-5. . . . . . . .
2−4 Compiler Options for Control Code 2-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−5 Compiler Options for Information 2-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−6 TMS320C6000 C/C++ Compiler Intrinsics 2-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−7 TMS320C64x/C64x+ C/C++ Compiler Intrinsics 2-19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−8 TMS320C64x+ C/C++ Compiler Intrinsics 2-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−9 TMS320C67x C/C++ Compiler Intrinsics 2-27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−10 Memory Access Intrinsics 2-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−1 Status Update: Tutorial example lesson_c lesson1_c 3-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−2 Status Update: Tutorial example lesson_c lesson1_c lesson2_c 3-18. . . . . . . . . . . . . . . . . . . .
3−3 Status Update: Tutorial example lesson_c lesson1_c lesson2_c lesson3_c 3-23. . . . . . . . . .
3−4 Status Update: Tutorial example lesson_c lesson1_c lesson2_c lesson3_c 3-25. . . . . . . . . .
5−1 Comparison of Nonparallel and Parallel Assembly Code for Fixed-Point Dot Product 5-18. .
5−2 Comparison of Nonparallel and Parallel Assembly Code for Floating-Point
Dot Product 5-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−3 Comparison of Fixed-Point Dot Product Code With Use of LDW 5-28. . . . . . . . . . . . . . . . . . . .
5−4 Comparison of Floating-Point Dot Product Code With Use of LDDW 5-28. . . . . . . . . . . . . . . .
5−5 Modulo Iteration Interval Scheduling Table for Fixed-Point Dot Product
(Before Software Pipelining) 5-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−6 Modulo Iteration Interval Scheduling Table for Floating-Point Dot Product
(Before Software Pipelining) 5-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−7 Modulo Iteration Interval Table for Fixed-Point Dot Product
(After Software Pipelining) 5-35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−8 Modulo Iteration Interval Table for Floating-Point Dot Product
(After Software Pipelining) 5-36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−9 Software Pipeline Accumulation Staggered Results Due to Three-Cycle
Delay 5-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−10 Comparison of Fixed-Point Dot Product Code Examples 5-57. . . . . . . . . . . . . . . . . . . . . . . . . .
5−11 Comparison of Floating-Point Dot Product Code Examples 5-57. . . . . . . . . . . . . . . . . . . . . . . .
5−12 Modulo Iteration Interval for Weighted Vector Sum (2-Cycle Loop) 5-64. . . . . . . . . . . . . . . . . .
5−13 Modulo Iteration Interval for Weighted Vector Sum With SHR Instructions 5-66. . . . . . . . . . .
5−14 Modulo Iteration Interval for Weighted Vector Sum (2-Cycle Loop) 5-69. . . . . . . . . . . . . . . . . .
5−15 Modulo Iteration Interval for Weighted Vector Sum (2-Cycle Loop) 5-72. . . . . . . . . . . . . . . . .
5−16 Resource Table for IIR Filter 5-80. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
![](https://csdnimg.cn/release/download_crawler_static/5098071/bg11.jpg)
Tables
xviiContents
5−17 Modulo Iteration Interval Table for IIR (4-Cycle Loop) 5-83. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−18 Resource Table for If-Then-Else Code 5-90. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−19 Comparison of If-Then-Else Code Examples 5-94. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−20 Resource Table for Unrolled If-Then-Else Code 5-98. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−21 Comparison of If-Then-Else Code Examples 5-101. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−22 Resource Table for Live-Too-Long Code 5-105. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−23 Resource Table for FIR Filter Code 5-115. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−24 Resource Table for FIR Filter Code 5-129. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−25 Comparison of FIR Filter Code 5-129. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−26 Comparison of FIR Filter Code 5-136. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−27 Resource Table for FIR Filter Code 5-146. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−28 Comparison of FIR Filter Code 5-150. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6−1 Packed Data Types 6-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6−2 Supported Operations on Packed Data Types 6-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6−3 Instructions for Manipulating Packed Data Types 6-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6−4 Unpacking Packed 16-Bit Quantities to 32-Bit Values 6-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6−5 Intrinsics Which Combine Multiple Operations in One Instruction 6-28. . . . . . . . . . . . . . . . . . .
6−6 Comparison Between Aligned and Non-Aligned Memory Accesses 6-37. . . . . . . . . . . . . . . . .
7−1 Intrinsics With Increased Multiply Throughput 7-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7−2 Intrinsics Combining Addition and Subtraction Instructions on Common Inputs 7-10. . . . . . .
7−3 Intrinsics Combining Multiple Data Manipulation Instructions 7-10. . . . . . . . . . . . . . . . . . . . . . .
7−4 SPLOOPD ILC Values 7-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7−5 Execution Unit Use for SPLOOP of Autocorrelation 7-40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7−6 Execution Unit Use for Outer Loop of SPLOOP of Autocorrelation 7-42. . . . . . . . . . . . . . . . . .
8−1 Selected TMS320C6x Directives 8-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
−2 Functional Units and Operations Performed 8-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10−1 Definitions 10-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10−2 Command Line Options for Run-Time-Support Calls 10-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10−3 How _FAR_RTS is Defined in Linkage.h With −mr 10-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
![](https://csdnimg.cn/release/download_crawler_static/5098071/bg12.jpg)
Examples
xviii
Examples
1−1 Compiler and/or Assembly Optimizer Feedback 1-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−1 Basic Vector Sum 2-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−2 Use of the Restrict Type Qualifier With Pointers 2-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−3 Use of the Restrict Type Qualifier With Arrays 2-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−4 Incorrect Use of the restrict Keyword 2-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−5 Including the clock( ) Function 2-13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−6 Saturated Add Without Intrinsics 2-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−7 Saturated Add With Intrinsics 2-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−8 Vector Sum With restrict Keywords,MUST_ITERATE, Word Reads 2-28. . . . . . . . . . . . . . . . .
2−9 Vector Sum with Type-Casting 2-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−10 Casting Breaking Default Assumptions 2-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−11 Additional Casting Breaking Default Assumptions 2-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−12 2−10 Rewritten Using Memory Access Intrinsics 2-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−13 Vector Sum With Non-Aligned Word Accesses to Memory 2-32. . . . . . . . . . . . . . . . . . . . . . . . .
2−14 Vector Sum With restrict Keyword, MUST_ITERATE Pragma, and Word
Reads (Generic Version) 2-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−15 Dot Product Using Intrinsics 2-34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−16 FIR Filter—Original Form 2-35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−17 FIR Filter— Optimized Form 2-36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−18 Basic Float Dot Product 2-37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−19 Float Dot Product Using Intrinsics 2-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−20 Float Dot Product With Peak Performance 2-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−21 Int Dot Product with Nonaligned Doubleword Reads 2-40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−22 Using the Compiler to Generate a Dot Product With Word Accesses 2-40. . . . . . . . . . . . . . . .
2−23 Using the _nassert() Intrinsic to Generate Word Accesses for Vector Sum 2-41. . . . . . . . . . .
2−
24 Using _nassert() Intrinsic to Generate Word Accesses for FIR Filter 2-42. . . . . . . . . . . . . . . .
2−25 Compiler Output From 2−24 2-42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−26 Compiler Output From 2−17 2-43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−27 Compiler Output From 2−16 2-43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−28 Automatic Use of Word Accesses Without the _nassert Intrinsic 2-44. . . . . . . . . . . . . . . . . . . .
2−29 Assembly File Resulting From 2−28 2-45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−30 Trip Counters 2-47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−31 Vector Sum With Three Memory Operations 2-50. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−32 Word-Aligned Vector Sum 2-51. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−33 Vector Sum Using const Keywords, MUST_ITERATE pragma, Word
Reads, and Loop Unrolling 2-51. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−34 FIR_Type2—Original Form 2-52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
![](https://csdnimg.cn/release/download_crawler_static/5098071/bg13.jpg)
Examples
xixContents
2−35 FIR_Type2—Inner Loop Completely Unrolled 2-53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−36 Vector Sum 2-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2−37 Use of If Statements in Float Collision Detection (Original Code) 2-56. . . . . . . . . . . . . . . . . . .
2−38 Use of If Statements in Float Collision Detection (Modified Code) 2-57. . . . . . . . . . . . . . . . . . .
3−1 Vector Summation of Two Weighted Vectors 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−2 lesson_c.c 3-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−3 Feedback From lesson_c.asm 3-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−4 lesson_c.asm 3-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−5 lesson1_c.c 3-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−6 lesson1_c.asm 3-11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−7 lesson1_c.asm 3-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−8 lesson2_c.c 3-16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−9 lesson2_c.asm 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−10 lesson2_c.asm 3-19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−11 lesson3_c.c 3-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−12 lesson3_c.asm 3-22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−13 Profile Statistics 3-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−14 Using the iircas4 Function in C 3-27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−15 Software Pipelining Feedback From the iircas4 C Code 3-28. . . . . . . . . . . . . . . . . . . . . . . . . . .
3−16 Rewriting the iircas4 ( ) Function in Linear Assembly 3-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−17 Software Pipeline Feedback from Linear Assembly 3-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−1 Stage 1 Feedback 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−2 Stage Two Feedback 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−3 Stage 3 Feedback 4-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−1 Linear Assembly Block Copy 5-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−2 Block Copy With .mdep 5-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−3 Linear Assembly Dot Product 5-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−4 Linear Assembly Dot Product With .mptr 5-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−5 Fixed-Point Dot Product C Code 5-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−6 Floating-Point Dot Product C Code 5-9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−7 List of Assembly Instructions for Fixed-Point Dot Product 5-10. . . . . . . . . . . . . . . . . . . . . . . . . .
5−8 List of Assembly Instructions for Floating-Point Dot Product 5-10. . . . . . . . . . . . . . . . . . . . . . .
5−9 Nonparallel Assembly Code for Fixed-Point Dot Product 5-14. . . . . . . . . . . . . . . . . . . . . . . . . .
5−10 Parallel Assembly Code for Fixed-Point Dot Product 5-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−11 Nonparallel Assembly Code for Floating-Point Dot Product 5-16. . . . . . . . . . . . . . . . . . . . . . . .
5−12 Parallel Assembly Code for Floating-Point Dot Product 5-17. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−13 Fixed-Point Dot Product C Code (Unrolled) 5-19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−14 Floating-Point Dot Product C Code (Unrolled) 5-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−15 Linear Assembly for Fixed-Point Dot Product Inner Loop With LDW 5-20. . . . . . . . . . . . . . . . .
5−16 Linear Assembly for Floating-Point Dot Product Inner Loop With LDDW 5-21. . . . . . . . . . . . .
5−17 Linear Assembly for Fixed-Point Dot Product Inner Loop With LDW
(With Allocated Resources) 5-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−18 Linear Assembly for Floating-Point Dot Product Inner Loop With LDDW
(With Allocated Resources) 5-26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
![](https://csdnimg.cn/release/download_crawler_static/5098071/bg14.jpg)
Examples
xx
5−19 Assembly Code for Fixed-Point Dot Product With LDW
(Before Software Pipelining) 5-26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−20 Assembly Code for Floating-Point Dot Product With LDDW
(Before Software Pipelining) 5-27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−21 Linear Assembly for Fixed-Point Dot Product Inner Loop
(With Conditional SUB Instruction) 5-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−22 Linear Assembly for Floating-Point Dot Product Inner Loop
(With Conditional SUB Instruction) 5-31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−23 Pseudo-Code for Single-Cycle Accumulator With ADDSP 5-37. . . . . . . . . . . . . . . . . . . . . . . . .
5−24 Linear Assembly for Full Fixed-Point Dot Product 5-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−25 Linear Assembly for Full Floating-Point Dot Product 5-40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−26 Assembly Code for Fixed-Point Dot Product (Software Pipelined) 5-42. . . . . . . . . . . . . . . . . .
5−27 Assembly Code for Floating-Point Dot Product (Software Pipelined) 5-43. . . . . . . . . . . . . . . .
5−28 Assembly Code for Fixed-Point Dot Product (Software Pipelined
With No Extraneous Loads) 5-46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−29 Assembly Code for Floating-Point Dot Product (Software Pipelined
With No Extraneous Loads) 5-48. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−30 Assembly Code for Fixed-Point Dot Product (Software Pipelined With
Removal of Prolog and Epilog) 5-52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−31 Assembly Code for Floating-Point Dot Product (Software Pipelined With
Removal of Prolog and Epilog) 5-53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−32 Assembly Code for Fixed-Point Dot Product (Software Pipelined
With Smallest Code Size) 5-55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−33 Assembly Code for Floating-Point Dot Product (Software Pipelined
With Smallest Code Size) 5-56. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−34 Weighted Vector Sum C Code 5-58. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−35 Linear Assembly for Weighted Vector Sum Inner Loop 5-58. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−36 Weighted Vector Sum C Code (Unrolled) 5-59. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−37 Linear Assembly for Weighted Vector Sum Using LDW 5-60. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−38 Linear Assembly for Weighted Vector Sum With Resources Allocated 5-62. . . . . . . . . . . . . . .
5−39 Linear Assembly for Weighted Vector Sum 5-74. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−40 Assembly Code for Weighted Vector Sum 5-75. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−41 IIR Filter C Code 5-77
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−42 Linear Assembly for IIR Inner Loop 5-78. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−43 Linear Assembly for IIR Inner Loop With Reduced Loop Carry Path 5-82. . . . . . . . . . . . . . . . .
5−44 Linear Assembly for IIR Inner Loop (With Allocated Resources) 5-82. . . . . . . . . . . . . . . . . . . .
5−45 Linear Assembly for IIR Filter 5-84. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−46 Assembly Code for IIR Filter 5-85. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−47 If-Then-Else C Code 5-87. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−48 Linear Assembly for If-Then-Else Inner Loop 5-88. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−49 Linear Assembly for Full If-Then-Else Code 5-91. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−50 Assembly Code for If-Then-Else 5-92. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−51 Assembly Code for If-Then-Else With Loop Count Greater Than 3 5-93. . . . . . . . . . . . . . . . . .
5−52 If-Then-Else C Code (Unrolled) 5-95. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−53 Linear Assembly for Unrolled If-Then-Else Inner Loop 5-96. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5−54 Linear Assembly for Full Unrolled If-Then-Else Code 5-99. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
剩余440页未读,继续阅读
2013-07-04 上传
2021-06-30 上传
2021-09-29 上传
2023-12-23 上传
2023-07-30 上传
2023-06-06 上传
2023-12-02 上传
2023-12-30 上传
2023-07-16 上传
![](https://profile-avatar.csdnimg.cn/d36ff376548e43078e855dfc0fd4d394_sbren.jpg!1)
sbren
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)