实时数字信号处理存储器.ppt

上传人:牧羊曲112 文档编号:6157259 上传时间:2023-09-30 格式:PPT 页数:48 大小:927.50KB
返回 下载 相关 举报
实时数字信号处理存储器.ppt_第1页
第1页 / 共48页
实时数字信号处理存储器.ppt_第2页
第2页 / 共48页
实时数字信号处理存储器.ppt_第3页
第3页 / 共48页
实时数字信号处理存储器.ppt_第4页
第4页 / 共48页
实时数字信号处理存储器.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《实时数字信号处理存储器.ppt》由会员分享,可在线阅读,更多相关《实时数字信号处理存储器.ppt(48页珍藏版)》请在三一办公上搜索。

1、实时数字信号处理,第4章 存储器,分级存储器模型,内核都支持分级存储器片上一级(L1)指令、数据和暂存存储器3个独立部分内核一部分单周期访问片上二级(L2)核外片上存储器空间较大但延迟也较大片外L3存储器同步、异步存储器有更大的空间,但延迟也更大,内核片上存储器L1,100KB32KB指令存储器16KB指令SRAM;16KB指令Cache/SRAM(可通过通道或线锁定Cache)64KB数据存储器32KB SRAM;32KB数据Cache/SRAM4KB Scratch Pad SRAM(数据暂存存储器)5个特点改进的哈佛体系结构每时钟周期多达4个内核存储器访问一个64-bit指令取指,两个3

2、2-bit数据加载,一个流水线的32-bit数据存储同时进行系统DMA、Cache维持和内核访问具有高带宽、低延迟性能,能提供确定性访问时间和非常高的吞吐量用于要求直接控制访问时间的应用用于关键DSP算法和快速文本切换(CCLK速度)指令和数据Cache(带Cache控制硬件的SRAM)高性能、简单编程模型,消除了数据移入/出L1存储器的显性操作快速移植、开发,无需为存储器组织进行性能优化指令和数据cahe选项用于微控制器代码提供了操作方便的Cache控制程序设计指令,如PREFETCH和FLUSH具有存储器保护功能,L1指令SRAM,32KB L1指令SRAM配置为SRAM16KB存储器组分

3、为4KB子组,由处理器和DMA独立访问16KB L1指令存储器配置为4通路设置关联Cache指令可进入高速缓存中4个不同的通道减小了高速缓存线(Cache Line)的置换频率,提高了整体性能可以解除L1指令Cache单个通道或线的锁定,允许进一步控制时间关键代码,L1数据SRAM,数据组A和数据组B如果都配置为SRAM,每个16KB组都分成4个4KB子组,可以独立地被处理器和DMA访问 各自的一个16KB组可配置2通路设置关联结构Cache提供了两个独立的位置来保持被缓存的数据减少了Cache Line的置换率,提高了整体性能,Scratch Pad SRAM,专门的独立的4KB Scrat

4、ch Pad SRAM用于Scratchpad Data SRAM不能设置为Cache或DMA对象在要求快速的应用中用于映射用户和监控堆栈在中断处理时获得最快的上下文环境切换,L2、L3、MMR、BOOT,L2128KB L2具有低延迟、高带宽能力,与L1构成了片上存储器分级结构不能配置为Cache,能够存储指令和数据但为使能了部分或全部Cache的系统提供确定的、限定的访问时间L1 Cache设置成从L2上高速缓存指令和数据L34组异步存储器空间和4组同步DRAM(SDRAM)空间每个异步组固定为64MB,而每个同步组可以配置成16-128MBSDRAM起始地址是0 x0000 0000,异

5、步存储器组起始地址是0 x2000 0000MMR存储器空间高端部分分配给内核和系统MMR在监控模式或仿真模式下访问这个区域Boot ROM内部存储器空间的低2KB空间根据引导方式,复位时处理器在这个空间执行相应的引导程序处理器没有定义单独的I/O空间,L1指令存储器组结构,L1指令存储器子组,指令存储器控制寄存器IMEM_CONTROL,1,ENICPLB位与CPLB描述符,使能L2存储器被高速缓存访问存储器配置为Cache用ENICPLB位使能CPLB通过CPLB描述符(ICPLB_DATAx和ICPLB_ADDRx寄存器)指定想要作为Cache使能的存储器页面复位后默认的指令CPLB是禁

6、止的只通过L1存储器接口来执行最小地址检查异常试图访问保留(没有安装)的L1指令空间、L1数据空间、MMR空间去取指令描述符(ICPLB_DATAx和ICPLB_ADDRx寄存器)更新先必须使用ENICPLB位禁止CPLB应跟着一条CSYNC指令加载存储顺序是不可靠的使能或禁止Cache或CPLB写IMEM_CONTROL后紧接一条SSYNC指令以确保正确的行为要确保正确行为和未来兼容性,所有保留位必须置0,L1指令SRAM取指,内核通过64位宽取指总线读取指令地址64-bit对齐返回任一16-bit、32-bit或64-bit指令的组合4个16-bit指令,两个16-bit指令和一个32-b

7、it指令,或一个64-bit指令DAG不能直接访问L1指令存储器异常写L1指令SRAM必须通过64-bit宽的系统DMA口SRAM单端口子组集合,双端口特征系统和内核同时进行访问不是同一子组的同一个(地址位2匹配的)32-bit单元否则,系统DMA控制器优先权高于内核,L1指令Cache,4通路设置关联的16KB指令Cache不能直接访问Cache为改善关键代码平均延迟,每一Cache通路可单独锁定只有被CPLB指定的能够作为高速缓存的存储器页面才可进行高速缓存操作任何要访问的存储器位置必须有一个可用的相关联的页面定义否则会产生CPLB异常CPLB描述参见“存储器保护和属性”,指令高速缓存组织

8、,高速缓存线,Cache高速缓存线(Cache Line)的集合Cache Line由标签(Tag)和数据(Data)构成Tag了20位地址标签(Address Tag)、最近最少使用的(LRU)位、一个有效位、一个线锁定位Data4个64位字指令数据Tag和Data分别存储在Tag和Data存储器数组中,高速缓存访问命中和错失,Cache命中来自于内核取指请求的地址与Cache中的有效入口匹配要取指地址的高18位及位11和10与当前一个Cache Set里有效高速缓存线地址标签的比较取指地址的位9到5来选择Cache SetAddress-Tag比较匹配则Cache命中目标64-bit指令字

9、首先送到指令对齐单元,保存在2个64-bit的指令缓冲器之一里Cache错失产生Cache Line填充访问重新找回错失的Cache Line访问L2或L3的地址就是目标指令字的地址内核停止运行直到目标指令字返回,高速缓存线填充,从存储器里取32个字节数据要求在L2或外部的读数据口上一个高速缓存线读数据传送即一组4个64位字突发的数据字读传送的地址:目标指令字的地址首先返回目标指令字之后按地址顺序依次获取后续3个指令字如果需要的话,将回绕,如表4-2所示,高速缓存线填充缓冲器,线填充缓冲器返回的新高速缓存线写入L1存储器一个4KB存储器组前,每个64位字被缓冲到2个4入口线填充缓冲器之一允许内

10、核访问新Cache Line上的数据,不必等缓存线写入Cache两个独立的缓冲器允许继续加载来自于慢速的外部存储器里的数据不会导致跳转到快速的片上L2存储器而暂停使用哪一个线缓冲器取决于存储器页面CPLB里的CPLB_MEMLEV位,高速缓存线置换,Tag-Address比较操作时取指地址的位9到5作为索引来选择Cache SetCache错失Cache Line置换单元检查相关Cache Set有效位以决定新Cache Line入口通路?,?=0、1、2、3首先检查无效入口(也就是有效位清除的入口)一个无效入口,它就为新的Cache Line多个无效入口,基于优先级选择新Cache Line

11、置换入口首先是通路0,然后是通路1,接着是通路2,最后是通路3例如:如果通路3是无效的,通路0、1和2都是有效的,那么将选择通路3如果通路0和1是无效的,而通路2和3是有效的,那么将选择通路0如果通路2和3是无效的,而通路0和1是有效的,那么将选择通路2 其次,置换逻辑使用LRU算法,指令Cache管理,指令高速缓存用线锁定ICPLB_DATAx寄存器CPLB_LRUPRIO位用于控制哪些代码继续保留在指令Cache中Cache Line填充时它随缓存线的Tag一起保存它将与LRU算法一起决定当所有通路都被占用而要获取一个新的高速缓存线时,将牺牲哪个通路指示一个缓存线重要性是低还是高改进的LR

12、U策略中一个重要性高的可以置换一个重要性低的,反之不能若通路重要性都高,则可缓存的重要性低的将继续取给内核,但不被高速缓存重要性低的只能置换没有被占用的通路,或其它低重要性的获取的重要性高首先寻找并置换没有被占用的通路,然后是最近最少使用的低重要性的,最后是重要性高的(使用LRU策略)IMEM_CONTROL寄存器的LRUPRIORST位同时将所有先前被缓存的重要性高的指令转换成低重要性的,指令Cache管理,指令高速缓存用通路锁定使能Cache后有4个通路可用锁定位(ILOC3:0)每位控制一个通路锁定特定通路可以阻止其参与LRU置换策略所有4个通路都锁定,将阻止Cache分配一个被缓存的指

13、令在其所在通路被锁定时只能使用IFLUSH指令来移出,或在“backdoor”MMR协助下对Tag阵列进行操纵来实现下面给出的示例序列演示了如何解锁通路0如果感兴趣的代码已经在指令Cache,首先使整个Cache失效如果需要的话,禁止中断以防止ISR潜在地破坏锁定的Cache设置ILOC3:1锁定其它通路,只允许Cache通路0可以被新代码置换执行感兴趣代码。任何可缓存异常,如退出代码,此代码执行所涉及的,都将进入指令Cache一旦退出关键代码,清除ILOC3:1并设置ILOC0,则关键代码(和设置ILOC0的指令)被锁进通路0如果需要的话重新使能中断,指令Cache管理,指令Cache失效可

14、以用一个地址、一条Cache Line或整个Cache使指令Cache无效指令IFLUSH基于缓存线地址明确地使Cache Line无效,地址从P寄存器上产生无修改过的(脏)数据,使Cache Line无效即可例子:P2寄存器包含一个有效的存储器单元地址,已经进入Cache,则使该Cache Line变成无效的指令iflush p2;/*使包含由P2指向的地址的Cache Line无效*/使存储器映射中一个特定地址无效,不能使整个Cache组无效快一些的直接使整个Cache组无效的技术直接设置Cache Line的无效位使用附加的MMR ITEST_COMMAND和ITEST_DATA1:0,

15、直接读/写所有Cache入口使整个指令Cache无效的另一方法清除IMEM_CONTROL的位IMC,所有Cache中的有效位被设置成无效态在使Cache无效前应使用一条SSYNC指令,这些操作的每一个之间应插入CSYNC指令,指令测试寄存器,整理文稿p.6最后一段,指令测试命令寄存器,指令测试数据寄存器ITEST_DATA1,指令测试数据寄存器ITEST_DATA0,指令测试数据寄存器ITEST_DATA0,L1数据存储器,用于存储数据单口子段构成,多端口性能降低了访问冲突一个内核时钟周期的L1数据传送可以是加载2个32-bit DAG一个流水线的32-bit DAG存储一个64-bit D

16、MA IO一个64-bit Cache填充访问,L1数据存储器结构,L1数据存储器SRAM子组起始地址,数据存储器控制寄存器DMEM_CONTROL,L1数据存储器,复位后默认情况下L1数据存储器都作为SRAML1数据SRAM访问同一个(地址位2匹配的)32-bit字、同一个4KB子组(地址位13 和12匹配)、同一个16KB半组(地址位16匹配)、同一个组(地址位21和20匹配)会发生冲突访问权首先授予DAG,然后是存储缓冲区,最后是DMA和Cache填充处理为确保足够的DMA带宽,如果已经被阻塞了连续16个内核时钟周期,或者如果在第1个DMA I/O处理前还有第2个DMA I/O已在队列中

17、,可以给予DMA最高的优先级 使L2存储器能被高速缓存访问使部分存储器用作Cache使能CPLB(使用ENDCPLB位)并通过CPLB描述符(寄存器DCPLB_DATAx和DCPLB_ADDRx)指定选择存储器页面作为使能的高速缓存复位后默认情况下Cache和CPLB地址检查是禁止的为确保适当行为和未来兼容性,写DMEM_CONTROL时所有保留位必须置0更新描述符(寄存器DCPLB_DATAx和DCPLB_ADDRx)之前必须禁止CPLB因为加载存储顺序是不牢靠的,要确保正确的行为禁止CPLB时应先有一条CSYNC指令使能CPLB时应跟上一条CSYNC指令使能或禁止Cache或CPLB时在写

18、DMEM_CONTROL后应立即跟上一条SSYNC,L1数据Cache,3种不同Cache模式仅在读时分配Cache Line的通写模式在读和写时都分配Cache Line的通写模式在读和写时都分配Cache Line的回写模式Cache模式由DCPLB描述符选择(见“存储器保护和属性”)3种模式可以任意组合,每个存储器页Cache模式独立选择,映射可高速缓存地址空间到数据组的例子,整理文稿p.9,数据Cache访问,p.10,Cache写存储器有通写或回写方法,P.11,中断优先级寄存器(IPRIO)和写缓冲器深度,p.11,数据高速缓存控制指令,p.11,数据高速缓存无效,p.11,数据测

19、试寄存器,p.12,片上L2存储器,p.128个独立的16K的子组,有两个L2访问端口 优先级延迟,存储器管理单元,基于页面的存储器管理单元(MMU提供了对存储器高速缓存能力的控制,以及页面级上保护属性的管理 MMU是作为两个16入口的内容可寻址存储器(CAM)块来实现的每个入口被称之为一个高速缓存旁视缓冲器(CPLB)描述符 CPLB入口在指令和数据上也是分开的16个CPLB入口用于取指要求,被称为ICPLB16个CPLB入口用于数据处理,称之为DCPLB,CPLB入口,每一个CPLB入口包含一对32-bit值取指:ICPLB_ADDRn定义了CPLB描述符描述的页面的起始地址ICPLB_D

20、ATAn定义了CPLB描述符描述的页面的属性数据操作:DCPLB_ADDRm定义了CPLB描述符描述的页面的起始地址ICPLB_DATAm定义了CPLB描述符描述的页面的属性两个默认的CPLB描述符用于Scratchpad Data存储器和系统及内核MMR空间的数据访问定义了上述空间是非高速缓存的对这些区间不需要建立附加的CPLB如果为这个空间创建了有效的CPLB,默认的CPLB将被忽略,存储器页面,4GB地址空间划分成小段存储器或I/O,称之为存储器页面一个页面内的地址共享所定义的属性4种不同的页面大小:1KB、4KB、1MB、4MB提供了一个灵活的机制,用于匹配对于不同类型的存储器和I/O

21、属性的映射存储器页面属性 每个页面是由一个双字描述符定义的地址描述符字xCPLB_ADDRn提供了存储器中页面基地址,页面必须对齐页边界,页边界是页面大小的整倍数,一个4MB的页面必须开始于一个可被4MB整除的地址,一个1KB页面开始于1KB边界属性描述符字xCPLB_DATAn指定了页面的其它性质和属性,包括:,参见p.14。,存储器页面描述符表,为指令Cache和/或数据Cache使能了CPLB,就要用Cache访问存储器,就必须在一个MMR对中提供有效的CPLB入口取指令,用于CPLB入口的MMR存储单元被限制到16个描述符对于数据加载和存储操作也是16个描述符静态存储器管理模型对于小的和/或简单的存储器模型,定义一套适合这32个入口的CPLB描述符是可能的,覆盖整个可寻址空间,从不需置换页面描述符表定义更多的CPLB描述符以覆盖可寻址的存储器和I/O空间,这就不能全部装入到片上可用的CPLB MMR用到基于存储器的数据结构页面描述符表,其中存储所有潜在的必需的CPLB描述符页面描述符表的特定格式没有定义为Blackfin处理器体系结构的一部分不同操作系统有不同的存储器管理模型,可以实现符合操作系统需要的页面描述符表结构,CPLB管理,MMU应用,有关寄存器,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号