TI_DSP_corePac_带宽管理 - 1(原理)

本文深入探讨了BWM(带宽管理)模块的工作原理,包括其全局定义与局部实现方式,初始化过程以及对不同资源(如L1PSRAM/cache、L2SRAM/cache等)的带宽管理策略。重点阐述了优先级仲裁机制如何解决资源冲突,以及如何通过内容竞争计数器确保低优先级请求得到适当响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,配置总线。

BWM对以上源的带宽管理是通过优先级仲裁来实现的。当同时出现对一个源的多个请求,则优先级最高的请求首先获得访问权,以此来解决冲突。如果出现资源被连续抢占的情况,则由一个抢夺计数器(contention counter)来解决低优先级请求的服务,由它来保证每n个仲裁cycles必须响应一次低优先级请求,这个n可以通过对寄存器的MAXWAIT域编程来决定。资源请求受阻一次,则contention counter加1,当contention counter达到n时,则低优先级请求的优先级设为-1,并对该请求做出响应。因此,除了从高到低(0~8)9种优先级外,硬件还使用一个-1的优先级,表示某个传输请求因contention counter耗尽到n,使得该请求优先级获得提高。但用户不可对BWM仲裁控制寄存器直接写入-1的优先级。对L1P来说,没有可编程的BWM寄存器,但在L1P控制器中有固定带宽管理特性。对每个源(L1D,L2,EMC)都有一系列仲裁寄存器(CPUARBD/ IDMAARBD/ SDMAARBD/ UCARBD& MDMAARBE),每个寄存器对应一个不同的请求。对应每个源的一组寄存器有相同的初始化值,对大多数应用来说CPUARBD/ IDMAARBD/ SDMAARBD/ UCARBD的初始化值不需要修改。但MDMAARBE定义的优先级用于C66x corePac以外数据传输,可能需要根据对应系统手册做些调整,大多数情况下,MDMAARBE应该通过编程提高优先级(赋更小值)。

 请求集:

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的访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值