一、概述
TMS320C674x DSP总体框架(megamodule)包括以下子系统:
·C674x浮点/定点 DSP CPU
·第一级程序(L1P)存储空间控制器(不包括L1P存储空间)
·第一级数据(L1D)存储空间控制器(不包括L1D存储空间)
·第二级(L2)存储空间控制器(不包括L2存储空间)
·内部DMA(IDMA)
·带宽管理(BWM)
·中断控制器(INTC)
·省电管理(PDC)
·扩展存储器管理(EMC)
下面依次简单介绍各个部分。
1.1 C674x CPU
C674x CPU在C64x CPU的基础上增加了C67x CPU的浮点运算功能。
C674x CPU支持C67x+和C64x+ DSP指令集,他与这两个指令集的目标代码是兼容的,即C64x的目标代码和C67x的目标代码可以直接在C674x CPU上运行。
关于C674x CPU及其指令集的详情,参见笔记的第二部分。
1.2 L1P存储空间控制器
L1P存储空间控制器是CPU取指流水线和L1P存储空间的接口管理。可以通过L1P存储空间控制器将L1P存储空间的一部分配置成单向(one-way set-associative)缓存(cache),缓存的大小可以被配置成4KB、8KB、16KB或者32KB。
L1P提供带宽管理、内存保护和省电模式。
芯片复位后,L1P存储空间可以被全部初始化为SRAM或者初始化为缓存,缓存的大小为框架可以允许的最大空间。具体的行为根据芯片型号不同而不同。
1.3 L1D存储空间控制器
L1D存储空间控制器是CPU数据通路和L1D存储空间的接口管理。可以通过L1D存储空间控制器将L1D存储空间的一部分配置成双向(tow-way set-associative)缓存(cache),缓存的大小可以被配置成4KB、8KB、16KB或者32KB。
L1D提供带宽管理、内存保护和省电模式。
芯片复位后,L1D存储空间可以被全部初始化为SRAM或者初始化为缓存,缓存的大小为框架可以允许的最大空间。具体的行为根据芯片型号不同而不同。
1.4 L2存储空间控制器
L2存储空间控制器是L1存储空间和L2存储空间的接口管理。可以通过L2存储空间控制器将L2存储空间的一部分配置成四路(four way set-associative)缓存(cache),缓存的大小可以被配置成32KB、64KB、128KB或者256KB。
L1P提供带宽管理、内存保护和省电模式。
芯片复位后,L2存储空间被全部初始化为SRAM。如果需要配置成缓存模式,需要在芯片运行期间配置。
如果将片内存储空间的一部分配置成缓存,L2存储空间控制器将提供两个操作,可以通过回写操作改变其中的内容或者无效操作使缓存的内容整体无效,这两种种操作可以是基于缓存块的或者所有缓存的。用户可以指定这些操作形成一个连续的行为,因此,可以使缓存信息与原始的内存内容相一致。作为缓存架构操作的一个优势,回写操作和无效操作可以自行发生,被称为连续性操作。(待定)
1.5 内部DMA(IDMA)
这里的DMA是指C674x架构内部的IDMA。他只提供L1P、L1D、L2和外设控制寄存器之间的数据搬运。
C674x架构内部有两个IDMA通道——IDMA0和IDMA1。IDMA0是外设控制寄存器和内存(L1P/D、L2)之间的数据通路;IDMA1是内存之间(L1P、L1D和L2)的数据通路。
1.6 带宽管理(BWM)
C674x架构提供一个带宽管理机制,防止框架设备(CPU、SDMA、IDMA)访问资源(L1P、L1D、L2和配置总线)时引发的数据阻塞。
1.7 中断控制器(INTC)
C674x CPU提供两种类型的异步服务信号——中断和异常。并约定,异常是系统错误时引发的中断。
C674x CPU可以接受12个可屏蔽中断,1个可屏蔽异常和1个不可屏蔽中断/异常。
C674x架构的中断控制器可以接受124个系统事件,然后经过仲裁形成递交给CPU的中断或者异常。这124个事件可以直接连接到中断信号,也可以是多个中断或者异常绑定后形成的事件。
中断控制器还提供一个错误事件。该事件表明CPU无法及时处理完当前中断,而又有新的中断到来。该情况下,中断控制器会保存无法及时响应的中断的中断号以便程序处理。
有关CPU处理中断的情况,参见笔记的第二部分。
1.8 内存保护架构(MPA)
C674x提供一个对本地内存(L1P、L1D和L2)的保护架构,有的芯片还可以提供系统级别的内存保护(可以参见相应芯片的data manual)。
为了实现内存保护,内存地址被划分成页(pages),每一个页可以有一个与之对应的权限,各个页之间是相互独立的。如果访问越权,会引发一个异常,并通过内存错误寄存器上报给系统。另外,MPA还支持特权和用户两种操作模式,以及内存锁定。
1.9 省电管理(PDC)
省电模式是软件驱动的,CPU可以关掉部分或者全部的模块,
1.10 外部存储器控制(EMC)
外部存储器控制器是连接C674x DSP架构中包含的部分和芯片其他部分的桥梁。他包括三个接口:
·配置寄存器组接口:该接口提供片上外设寄存器的寻址。注意:该接口不提供CPU内部或C674x架构内部件的寄存器的访问。
·主DMA(MDMA):该接口提供片上外设与C674x架构之间的数据交换。MDMA一般用于CPU或者cache访问除L2以外的内存空间。
·从DMA(SDMA):当芯片作为一个从设备,被其他主设备访问时(例如HPI),该接口可以作为主设备访问C674x架构内部资源的接口。
配置寄存器接口的总线宽度为32bit,因此访问片上外设配置寄存器时只能使用32-bit存取指令或者32-bit IDMA。而MDMA和SDMA接口根据每个芯片不同,可以是32bit、64bit或者128bit,具体情况需要参考相应芯片的data manual。
|