1.0 【TDA4 C71】TI C7x DSP —— 硬件一览

发布于 2022年 04月 10日 17:47

ref www.ti.com.cn/cn/lit/zip/…

1. 承载 C7x 的 TDA4 硬件结构

  • TDA4 硬件一览图

  • Main Domain 硬件一览图

2. C7x DSP的硬件结构是怎样的

  • C7x DSP 硬件一览图

3. C7x DSP 主要特性

C7x-DSP 浮点计算平台支持矢量计算,在处理大量通用计算上与C6x DSP性能相比更强。另外,C71 DSP提供许多其他功能,如分支预测、protected pipline、异常处理、虚拟内存管理。C71 是在C66基础上开发但并不兼容,具有以下特点

  • 真正的64位设备,64位内存寻址,单周期64位基本算数操作。
  • 与C66相比,具有4-32倍的处理速度。
  • 提供C66的软件迁移
  • 提供OpenCL的加速架构

3.1. C7x DSP 主要模块

  • 矩阵乘法加速器(MMA)作为C71x CorePac CPU的特殊功能单元
  • L1程序内存控制器(PMC)具有32KB的L1内存
  • L1数据内存控制器(DMC)具有48KB L1D内存,可配置为缓存和/或SRAM
  • L2统一内存控制器(UMC), 512KB L2内存,可配置为缓存和/或SRAM
  • 多维流媒体引擎(SE) ,实现灵活的,高带宽的数据读取
  • CorePac内存管理单元(CMMU)
  • 省电控制器
  • 调试功能

3.2. C7x DSP 处理器的主要特性

  • 双数据路径 A-64位标量 和 B-512位矢量
    • A面可在同一时钟周期内并发多种标量运算和内存搬运
    • B面 可在同一时钟周期内并发多种矢量(定点、浮点)运算和内存搬运

3.3. MMA 主要特性

  • 支持fc层任意尺寸矩阵乘
  • 支持2d conv
  • 支持relu
  • //TODO 问题:内存使用谁的 ?

3.4. L1 Data Cache

  • 总共48KB
    • L1D0(cache):支持32KB / 8KB分区,不能为0KB。128-byte cache line size。
    • L1D1(SRAM):支持40KB / 16KB分区的SRAM(可能包含LUT Lookup table),可以通过CPU或DMA访问
  • 带宽1024bit / 16 x 64bit

3.5. L2 Data Cache

  • 512KB的 unified memory controller (UMC)
    • L2 cache:
      • 128-byte cache line size。
      • 通过 MSMC 接入 MMR 和 MDMA
      • 缓存 MMU 页表
      • 从 SE 和 MSMC 缓存进行 cache pre-warming
    • L2 SRAM
  • 带宽 2048bit / 4 x 512bit

3.6. L2 MMU

Supports multiple page sizes: 4KB, 16KB, 64KB, 2MB, 32MB, 512MB, 1GB, 16GB

4. C7x DSP 与系统的互联

与 C7x DSP 相连的硬件

  • MSMC:Multicore Shared Memory Controller
  • DDRSS:DDR Subsystem
  • DRU:Data Routing(路由) Unit
  • NAVSS:Navigator Subsystem

4.1. Multicore Shared Memory Controller (MSMC)

  • 8MB (4 banks x 2MB) SRAM with ECC:
    • Shared coherent level 2/level 3 memory-mapped SRAM
    • Shared coherent level 3 cache
  • 512-bit processor port bus and 40-bit physical address bus
  • Coherent unified bi-directional interfaces to connect to processors or device masters
  • One infrastructure master interface
  • Single external memory master interface
  • Supports distributed virtual system
  • Supports internal DMA engine – DRU (Data Routing Unit)
    • DMA in/out L2 SRAM, MSMC, DDR and system
    • L2, L3 cache pre-warming and post flushing
  • Bandwidth management with starvation bound
  • Two-level QoS support for real-time/nonreal-time split
  • Security firewall flush support for SRAM/cache and external memory
  • Functional reliability:
    • SEC/DED protection on all data and tag memories with hardware scrubbing
    • SEC/DED protection on all data pipelines
    • Data memory address hamming protection
    • Coherent interconnect transaction metadata parity protection
  • One interconnect messaging interface that supports DMA/prefetch requests to DRU
  • Trace and debugging support
  • Supports dynamic clock gating on all logic units
  • MSMC is always on when VD_CORE is on

4.2. DDR Subsystem ( DDRSS )

The DDR subsystem in this device comprises DDR controller, DDR PHY and wrapper logic to integrate these blocks in the device. The DDR subsystem is referred to as DDRSS0 and is used to provide an interface to external SDRAM devices which can be utilized for storing program or data. DDRSS0 is accessed via MSMC, and not directly through the system interconnect.

5. C7x DSP 用到的直接内存访问 Data Movement Architecture (DMA)

多核直接访问内存的模块和统一API。其数据结构和API标准依据NAVSS。其存在两部分,分别在Main和MCU区域。本节主要是Main区域。

5.1. Unified DMA (UDMA)

Main SoC Navigator Subsystem (NAVSS0) consists of DMA/Queue Management components – UDMA and Ring Accelerator (UDMASS), Peripherals (Module subsystem [MODSS]), Virtualization translation (VirtSS), and a North Bridge (NBSS).

NAVSS设计目标

  • Minimize host interaction
  • Maximize memory use efficiency
  • Maximize bus burst efficiency
  • Maximize symmetry between transmit/receive operations
  • Maximize scalability for number of connections, buffer sizes, queue sizes, and protocols supported
  • Minimize protocol specific features
  • Minimize complexity

5.2. Peripheral DMA (PDMA)

存在于Main、MCU区域内。位于多个外设模块附近,负责外设内存传输。由 UDMA-P(负责数据包的UDMA,另外还有负责控制信息的UDMA-C) + PDMA组成。

5.3. Data Routing Unit (DRU)

DRU behaves like a DMA transfer controller, moving data at CPU frequency.

6. C7x DSP 的性能数据有哪些

可以浏览 RTOS-SDK(本栏 资源下载 中有下载链接) 中 pdk_jacinto_08_00_00_37/docs/datasheet/jacinto/index_jacinto.html

推荐文章