E-BOOK 嵌入式多核DSP高性能软件开发:TI C66x实战 夏际金,赵洪立,李川 嵌入式多核DSP高性能软件开发:TI C66x实战

嵌入式多核DSP高性能软件开发:TI C66x实战

👤 夏际金,赵洪立,李川 📖 清华大学出版社 📋 9787302589365 🌐 zh-CN
26
Downloads
4.8
Rating

📦 Download Book

  • 多核开发迷茫:系统讲解C66x多核架构与并行设计方法,帮助开发者明确任务划分和同步策略。
  • Cache一致性:深入分析缓存一致性问题,提供解决方案,避免数据错误和性能下降。
  • 数据传输瓶颈:详解EDMA、IDMA和SRIO等传输机制,优化数据搬移效率。
  • 引导配置复杂:介绍多核引导流程和SPI Flash实例,简化启动过程配置。
  • 优化经验缺乏:分享多核软件优化和任务级优化实战经验,提升系统性能。
★★★
Intermediate
BeginnerElementaryIntermediateAdvancedExpert
  • DSP开发工程师:需要掌握多核并行开发技术,提升高性能信号处理能力。
  • 嵌入式软件设计师:从事复杂嵌入式系统开发,需解决多核同步和优化问题。
  • 高校相关专业师生:作为研究生教材,学习多核DSP前沿技术和实践方法。
  • 信号处理研究人员:利用C66x平台实现高效算法,加速数据处理流程。
  1. 基础优先:先读第1-2章,熟悉C66x架构和引导流程,建立整体概念。
  2. 重点突破:第5章Cache一致性是难点,需结合实验反复理解。
  3. 实践结合:第8-9章CCS和SYS/BIOS操作,务必动手配置和调试。
  4. 项目驱动:最后研读第12章实例,将所学应用于完整并行设计项目。
  • 架构理解:深入掌握C66x多核处理器的组成和运行原理。
  • 并行设计:学会任务划分、同步和通信,实现高效并行计算。
  • 优化技巧:掌握缓存、DMA和代码优化方法,显著提升性能。
  • 实战能力:通过完整实例,具备独立开发多核DSP项目的能力。
  • 问题解决:熟悉常见多核开发陷阱,快速定位并解决技术难题。

📖 Book Introduction

产品特色

编辑推荐

本书由浅入深、概念齐全、实践性强、指导性强,结合了多年嵌入式多核软件开发的实际经验,对多核设计中常见的问题进行了详细描述。

从基本概念出发,层层推进,介绍了多核并行、数据传输与处理并行和多层次并行设计的经验,是嵌入式多核DSP并行软件开发者必备的参考书。


内容简介

  《嵌入式多核DSP高性能软件开发:TI C66x实战(电子设计与嵌入式开发实践丛书)》系统介绍了C66x多核软件开发的知识,并基于C6678的设计实例介绍了相关设计经验。系统介绍了C66xDSP器件的基础概念和多核软件设计的基础知识,代领读者循序渐进地掌握多核软件设计技术。对于传统DSP开发人员比较陌生的一些概念,如Cache、预取、数据一致性、数据依赖、死锁等,进行了重点描述。系统介绍了C66x多核器件的存储器、DMA传输、中断等内容,并结合工作实际,介绍了多核软件优化、多核并行设计及任务级优化经验。最后,以多普勒成像的设计实例描述了如何实现并行设计。
  全书共13章,内容包括C66xDSP的基本组成,如存储器组织、DMA传输、中断和异常、Cache缓存和数据一致性等,并包含CCS软件开发环境、SYS/BIOS实时操作系统、多核并行设计、软件设计优化等相关知识。
  《嵌入式多核DSP高性能软件开发:TI C66x实战(电子设计与嵌入式开发实践丛书)》的特点是由浅入深、概念齐全、实践性强、指导性强。该书结合了多年多核软件开发的实际经验,对多核设计中常见的问题进行了详细的描述;从基本概念出发,层层推进,介绍了多核并行、数据传输与处理并行和多层次并行设计的经验。
  对于从事C66x多核软件开发的设计师,该书具有很强的指导意义,该书还适合作为高校计算机、数据处理、信号处理、通信等相关专业的本科生和研究生教材。

作者简介

夏际金,男,1979年,江西上饶人,研究员级高级工程师,嵌入式软件、软件工程专家。长期从事嵌入式软件开发,在嵌入式多核软件设计和并行计算方面具有深入研究。

内页插图
目录




前言/序言

  C66x是TI(Texas Instruments)公司推出的新一代处理器内核,包含定点和浮点计算能力,C66x包含90个新指令用于提升浮点和矢量运算。TMS320C6678是基于C66x内核的8核处理器,66AK2Hx是基于ARM Cortex-A15和C66x内核的异构多核处理器。基于C66x内核的DSP处理器已经成为主流的高性能DSP。
  多核DSP的软件开发技术对DSP嵌入式软件开发人员具有一定的挑战性。多核任务划分、并行处理设计、同步设计以及Cache -致性等问题是多核并行设计的关键,良好的并行设计才能发挥C66x处理器的优势。
  通过多年的研究并结合工程设计实践,总结了C66x多核DSP并行开发技术经验和设计中一些经常遇到的问题。本书以C6678为例系统介绍了C66x多核DSP、数据一致性、CCS使用、SYS/BIOS实时操作系统、多核并行设计和优化等设计方法,用一个设计实例完整地描述了从任务并行设计到具体实现的过程。
  在C66x多核软件设计中,程序员的软件设计思想、设计方法需要调整和提高。本书从程序员的工作需要和高校学生的学习需要出发,结合实际工作,详细叙述了多核软件开发技术。初学者可以循序渐进地建立基于C66x多核并行开发的概念,并积累优化设计的经验,提高设计水平,从初学就设计出高性能的并行代码。
  各章的内容要点如下:
  第1章主要介绍了C66x处理器,并以C6678为例介绍了处理器概况、处理器内核、外围设备、多核导航器等模块。
  第2章详细介绍了C66x多核引导(Boot)的方法。以C6678为例介绍了RBL(ROMBoot Loader)引导过程、在EVM板上实现SPI Flash引导的实例及多核引导的改进方法。
  第3章详细介绍了SRIO接口,包括SRIO、SerDes宏、DeviceID配置、组播和多个DestID支持、包转发、Directl0操作、消息传递、Doorbell、中断操作等相关知识,并介绍了其他SRIO编程注意事项。
  第4章主要介绍了C6678存储控制器、多核共享存储控制器、外部存储控制器EMC、扩展存储控制器XMC、存储器保护架构、带宽管理等存储器相关内容。
  第5章主要介绍了Cache基础知识,C66x的各级Cache、Cache的使用、数据一致性等内容。
  第6章主要介绍了IDMA、EDMA使用的一些知识。
  第7章介绍了C66x中断控制器、内核事件以及中断控制器与DSP交互的相关知识。
  第8章介绍了如何使用CCS进行相关的操作和配置。
  第9章介绍了SYS/BIOS实时操作系统,并给出了相关设计例程。
  第10章介绍了多核并行设计的相关问题,如并行粒度、并行方式、依赖关系、死锁活锁、同步等问题,并介绍了任务级优化设计的例子。
  第11章介绍了软件优化技术,如for循环优化、软件流水、编译指示和关键字的使用、内建函数的使用等。
  第12章介绍了一个多核软件设计的实例。
  第13章介绍了多核发展的趋势及一些思考。
  附录中列出了常用的存储器地址映射、MAR寄存器地址对照表、C6678 EDMACC事件列表、C6678内核System Event事件输入列表和C6678 System Interrupt事件输入列表。
  本书中关于TI C66x多核DSP的相关资料来源于德州仪器(Texas Instruments,TI)相关网站,如德州仪器官网、德州仪器在线技术支持社区等,相关资料的最新版本可以从中查询。
  刘晶参与本书的修订工作,为本书的出版做出了重要贡献。参与本书审校的有牛蕾、习建博、邓庆勇、郭琦、白晓慧、张玉营、潘勇先、朱鹏等,方志红、梁之勇、宋皓、顾庆远等在多核开发技术方面做出了很大贡献。感谢夏靖涵在本书出版过程中给予的鼓励和支持。感谢家人一直以来的支持和付出。为本书的形成及多核C66x DSP开发技术做出贡献的人还有很多,在这里一并致谢!
  多核开发技术发展迅速,基于C66x的多核开发技术难点较多,由于作者水平有限,书中难免有疏漏之处,欢迎读者指正。
  本书提供“C66x多核Boot方法”等内容和代码,以及本书配套教学课件作为附加资源,读者可从清华大学出版社网站下载。

📑 Table of Contents

  1. C66x处理器概述与架构
  2. 多核引导(Boot)机制
  3. SRIO接口与高速通信
  4. 存储器系统与控制器
  5. Cache缓存与数据一致性
  6. DMA传输(IDMA/EDMA)
  7. 中断控制器与事件管理
  8. CCS开发环境配置
  9. SYS/BIOS实时操作系统
  10. 多核并行设计原则
  11. 软件优化与性能调优
  12. 多普勒成像并行设计实例