码迷,mamicode.com
首页 > 其他好文 > 详细

TI_DSP_corePac_带宽管理 - 1(原理)

时间:2014-06-05 10:58:51      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:c   style   blog   a   http   ext   

BWM(带宽管理,corePac中的模块,每个corePac有一个BWM)的目的是避免一个请求对一个资源的长期存取而造成的阻塞,BWM确保所有请求者都能获取一定大的带宽资源。

BWM是全局定义(对于整个corePac来说),局部实现(在每一个corePac中实现)。

初始化带宽管理既是设置一系列寄存器(arbitration registers),配置时需要在每个CPU上对同一寄存器设置(即每个仲裁寄存器都是CPU specific的,所有的CPU都有同样的一组仲裁寄存器,寄存器地址也是CPU specific的)。

BWM资源:

L1P SRAM/cache,L1D SRAM/cache,L2 SRAM/cache,配置总线。

请求集:

1,CPU发起的数据访问(load/store),程序访问(包括访问自己所属corePac的资源以及其他corePac的资源以及MSM,DDR);

2IDMA发起的传输(以及产生的一致性操作);

3,cache一致性操作(eg,Wb) - global与block-based;

4corePac外部发起的SDMA(以及产生的一致性操作)操作,即协处理器(DMA)或其他CPU访问当前CPU所在的corePac资源。

 

如下图,在L2内存控制器中实现了下面的仲裁寄存器:

CPUARBU:当前CPU(指当前CPUARBU寄存器所作用的CPU)访问L2内存(当前corePac)的仲裁寄存器;

IDMAARBU:当前CPU所在的corePac的IDMA模块访问L2内存的仲裁寄存器;

SDMAARBU:外设或其他CPU访问当前CPU所属的corePac的L2内存时的仲裁寄存器。注意这个仲裁寄存器是在L2内存控制器上实现,不是在EMC模块上实现。这里的L2内存控制器作为slave接收其他CPU以及外设对本corePac L2内存的访问请求并仲裁(对于L1D内存控制器,有相应的SDMAARBD);

UCARBU:对L2内存的一致性操作的仲裁寄存器;

MDMAARBU:当前CPU访问当前corePac之外的资源时的仲裁寄存器,注意这个仲裁寄存器是在L2内存控制器上实现,不是在XMC模块上实现。这里L2内存控制器作为master发起对其他corePac资源以及MSM,DDR的访问。

bubuko.com,布布扣

TI_DSP_corePac_带宽管理 - 1(原理),布布扣,bubuko.com

TI_DSP_corePac_带宽管理 - 1(原理)

标签:c   style   blog   a   http   ext   

原文地址:http://blog.csdn.net/yiyeguzhou100/article/details/27232783

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!