没有合适的资源?快使用搜索试试~ 我知道了~
首页TMS320C6000 DSP编程指南:优化与实战教程
《TMS320C6000 DSP程序员指南》是一本专门针对TMS320C6000系列数字信号处理器(DSP)编程的权威参考手册,旨在帮助开发者更有效地编写和优化代码。该书在使用前需要安装相应的代码生成和调试工具。
该手册分为五个主要部分:
1. 入门篇:C6000架构与开发流程 - 这部分提供了C6000架构的简要概述,包括其特性和工作原理。同时,它涵盖了整个开发流程的介绍,包括设计、编码、测试和调试各阶段。教程部分会引导读者熟悉每个阶段所使用的工具,并提供一个优化清单,以确保代码性能达到最佳。
2. C语言编程 - 这是核心章节,包含丰富的C代码示例和优化方法讨论。通过学习,开发者可以掌握如何选择最适合项目的优化技术,如内存管理、算法优化、并行计算等,以提高程序运行效率。
3. 汇编语言编程 - 对于那些对底层控制有需求的开发者,这部分详细介绍了汇编语言的结构和编写技巧。作者提供了实际的代码示例,探讨了针对C6000的汇编优化策略,还特别关注了中断子程序的设计和优化。
4. C64x编程技术 - 针对C64x系列的特定,这部分着重讨论了针对该平台特有的编程注意事项,可能涉及到硬件特性的利用、指令集差异、以及与C6000通用编程的兼容性问题。
5. 附录与参考资料 - 书中还可能包含相关的参考资料、更新信息和故障排除指南,以支持持续的学习和问题解决。
《TMS320C6000 DSP程序员指南》不仅是一本实用的编程手册,还是一份宝贵的性能优化指南,对于想要深入理解并提升C6000 DSP应用开发能力的工程师来说,是不可或缺的参考资料。通过遵循本书的指导,开发者可以确保他们的代码在性能、可读性和可维护性上都达到业界标准。
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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页未读,继续阅读
2021-06-30 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-07-05 上传
sbren
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功