408|0

6943

帖子

19

资源

纯净的硅(中级)

TI C64x+ DSP 的带宽管理系统(BWM) [复制链接]

BWM的目的:确保某些请求(requestors)不会长时间的霸占总线,而阻止了来自c64x+ megamodule内源(resources)的请求。与c64x+的内存保护类似,BWM可对整个c64x+ megamodule做全局定义,但由每个local c64x+ megamodule源来实现。由此,初始化BWM就包含了对每个c64x+ megamodule源共同寄存器堆进行编程。

BWM对以下4个源进行带宽保护:
    >Level 1 program(L1P) SRAM/cache
    >Level 1 data(L1D) SRAM/cache
    >Level 2(L2) SRAM/cache
    >memory-mapped registers configuration bus
    以上列出的每个c64x+ megamodule源存在以下一些潜在请求,这些请求也是由BWM来管理:
    >CPU-initiated transfers: data access(load/store,etc) / program access
    >可编程的cache一致性操作(如:writeback): block-based   / global
    >internal DMA(IDMA)-initiated transfers(and resulting coherency operations)
    >external-initiated slave DMA(SDMA) transfers(and resulting coherency operations)
    ※一句话,以上即表示c64x+ megamodule包含的源,以及这些源相关的一些请求的优先级由BWM来管理。

      BWM对以上源的带宽管理是通过优先级仲裁来实现的。当同时出现对一个源的多个请求,则优先级最高的请求首先获得访问权,以此来解决冲突。如果出现资源被连续抢占的情况,则由一个抢夺计数器(contention counter)来解决低优先级请求的服务,由它来保证每n个仲裁cycles必须响应一次低优先级请求,这个n可以通过对寄存器的MAXWAIT域编程来决定。资源请求受阻一次,则contention counter加1,当contention counter达到n时,则低优先级请求的优先级设为-1,并对该请求做出响应。因此,除了从高到低(0~8)9种优先级外,硬件还使用一个-1的优先级,表示某个传输请求因contention counter耗尽到n,使得该请求优先级获得提高。但用户不可对BWM仲裁控制寄存器直接写入-1的优先级。

      一系列寄存器(仲裁控制寄存器)来实现BWM。这些寄存器在以下blocks中实现:L1D,L2,extended memory controller(EMC)。对L1P来说,没有可编程的BWM寄存器,但在L1P控制器中有固定带宽管理特性。 对每个源(L1D,L2,EMC)都有一系列仲裁寄存器(CPUARBD/ IDMAARBD/ SDMAARBD/ UCARBD& MDMAARBE),每个寄存器对应一个不同的请求。对应每个源的一组寄存器有相同的初始化值,对大多数应用来说,CPUARBD/ IDMAARBD/ SDMAARBD/ UCARBD的初始化值不需要修改。但MDMAARBE定义的优先级用于c64x+ megamodule以外数据传输,可能需要根据对应系统手册做些调整,大多数情况下,MDMAARBE应该通过编程提高优先级(赋更小值)。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表