第三章 C66x CorePac
组成
• Level-one and level-two memories (L1P, L1D, L2)
• Data Trace Formatter (DTF)
• Embedded Trace Buffer (ETB)
• Interrupt controller
• Power-down controller
• External memory controller
• Extended memory controller
• A dedicated local power/sleep controller (LPSC)
C66x CorePac 还支持大端小端字节序、存储器保护、带宽控制(对CorePac的本地资源)。Figure 3-1是 C66x CorePac 的块图
3.1 存储器结构
每个 C66x CorePac 含1024KB的 二级缓存 (L2),32KB的一级缓程序缓存(L1P),32KB的一级数据缓存(L1D)。设备还包括6144KB的多核共享存储 (MSM)。
所有存储在内存映像图中都有一个唯一的地址。(详见 the Memory, Interrupts, and EDMA chapter)
设备reset后,L1P和L1D存储器会被默认配置为全高速缓存。L1P存储可通过软件更改L1P配置寄存器(L1PMODE)的L1PMODE字段进行重新配置,同理L1DL1P存储器可通过软件更改L1D配置寄存器(L1DCFG)的L1DMODE字段进行重新配置。
L1D是双向组联高速缓存,L1P则是直接映射的高速缓存。
片上bootloader 可改变L1P和L1D的重置配置。详情在“
Bootloader for the C66x DSP User Guide”中。
L1 L2的更多操作见“
C66x DSP Cache User Guide”。
3.1.1 L1P存储器
66AK2H14 器件的 L1P存储器配置情况如下:
• 区域 0 的大小为 0K bytes (禁用)
• 区域 1 的大小为 32K bytes 无等待状态
Figure 3-2 为 L1P 存储器 SRAM/cache 可用的设置状态 。
3.1.2 L1D
略,同上。
介绍了配置方法和各部分地址段,示意图讲的很清晰。
详见datasheet page 21。
3.1.3 L2
略,同上
3.1.4 多核共享存储SRAM
MSM SRAM 配置
• Memory size of 6144KB
• 可被配置为共享 L2 或共享 L3 存储
• 允许2GB到8GB的外部地址扩展
• 内置内存保护功能
MSM SRAM 一般被设置为全SRAM模式,当被设置为共享的L2缓存时, 其中内容可以被缓存在 L1P 和 L1D 中。当被配置成 L3 时,它的内容可以被缓存在 L2 中。对外部存储空间的扩展和存储空间保护的更多细节,参考 “
Multicore Shared Memory Controller (MSMC) for KeyStone Devices User Guide”
3.1.5 L3
器件上的 L3 ROM 为128KB。ROM中置有设备启动用的软件。这一部分到 ROM 的块级访问 (block access) 没有特殊要求。
3.2 存储保护
存储器保护允许操作系统定义谁有权访问 L1D,L1P,L2。为完成这一功能,L1D,L1P 和 L2 被分为页(pages)。L1P 有16页(每页 2KB),L1D有16页(每页 2KB),L2有32页,L2有32页(每页 32KB)。在C66x CorePac中的L1D,L1P和L2控制器有一组寄存器来定义每页存储器的许可权。
每一页可以配置有全正交用户(fully orthogonal user) ,和超级用户读、写及执行许可。此外,每一页可以被标志为本地访问或全局访问(或两者都可)。本地访问就是DSP直接访问 L1D,L1P 和 L2,而全局访问由 DMA 或者其它主系统初始化。注意由 DSP 计数器编程的 EDMA 和 IDMA 是全局访问。对一个受保护器件,页可以被限制为安全访问(默认)或者对公共开放、不安全访问。
器件上的每个 DSP 核及主处理系统都有一个自己的 ID。这个 ID 可以定义存储页是局部的还是全局的。
AIDx和LOCAL位用来定义页保护配置:
软件会在中断(或异常,在 CorePac 中断控制器种可编程)服务程序中处理错误。DSP 或 DMA 在没有获得权限时访问页(pages)将导致:
• 阻止访问 —— 读惭怍返回0,写操作被忽略
• 在状态寄存器中捕获初始状态 —— ID、地址及地址类型都被保存
• DSP 信中断控制器会标志事件
软件负责对事件采取正确响应和重设存储控制器中的错误状态。关于L1D,L1P和L2存储器保护的更多细节祥参“
C66x CorePac User Guide”(datasheet page 19 有目录:2.6 ‘‘Related Documentation from Texas Instruments’’ )
3.3 带宽控制
当多个请求者争夺单个 C66x CorePac 的资源时,只有最高优先级的请求者被授权访问。以下四项资源收到带宽控制硬件的控制:
• Level 1 Program (L1P) SRAM/Cache
• Level 1 Data (L1D) SRAM/Cache
• Level 2 (L2) SRAM/Cache
• 内存映射寄存器配置总线 Memory-mapped registers configuration bus
在 CorePac 外部初始化的操作优先级,是通过系统外围设备在优先级配置寄存器 (PRI_ALLOC) 中的声明实现的。在优先级配置寄存器中没有字段(fields)的外围设备,由自带的寄存器来处理 (program) 他们的优先级。
More information on the bandwidth management features of the CorePac can be found in theC66x CorePac Reference Guide in 2.6 ‘‘Related Documentation from Texas Instruments’’on page 19.
3.4 节电模式控制 (Power-Down Control)
C66x CorePac 支持核上各个部分的节电。节电控制器 (PDC) 可被用于L1P、缓存控制硬件、DSP、和整个CorePac。这些节电特性可用于设计对总体功耗要求更低的系统。
暂时不支持L2(后期的勘误/修订文档中种可能会找到补充说明)
More information on the power-down featuresof the C66x CorePac can be found in the C66x CorePac Reference Guidein 2.6 ‘‘Related Documentation from Texas Instruments’’on page 19.
3.5 C66x CorePac 修订
略
3.6 C66x CorePac 寄存器描述
寄存器的补充说明和定义 (offsets and definitions) 见datasheet page 19,2.6 ‘‘Related Documentation from Texas Instruments’’,
“C66x CorePac User Guide”