欢迎来到天天文库
浏览记录
ID:56709005
大小:134.00 KB
页数:11页
时间:2020-07-05
《有关C6000DSP的Cache的操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、篇幅之一TIC64x+DSPCACHE一致性分析与维护作者:DSP技术应用工程师陈永康摘要在各种数字信号处理系统中,CACHE被广泛用于弥补Core与存储器之间的速度差异。在CACHE的使用过程中,存在不同类型存储器之间数据是否一致的问题。本文着重分析TI高性能C64x+DSP系列中各级CACHE之间数据一致性问题以及如何进行一致性维护。1.概述CACHE作为Core和低速存储器之间的桥梁,基于代码和数据的时间和空间相关性,以块为单位由硬件控制器自动加载Core所需要的代码和数据。如果所有程序和数据的存取都由Core完成,基于CACHE的运行机制,Core始终
2、能够得到存储器中最新的数据。但是当有其它可以更改存储器内容的部件存在时,例如不需要Core干预的直接数据存取(DMA)引擎,就可能出现由于CACHE的存在而导致Core或者DMA不能够得到最新数据的现象,也就是CACHE一致性的问题。2.C64x+存储器组织结构TI对高性能C64x核进行了改进,使其性能大大提升,称之为C64x+DSP核。基于C64x+核开发的DSP芯片,所有部件都以交换网络(SCR)为核心连接起来。SCR上的部件分为两类:Master和Slave。Master包括Core、EDMA以及串行高速IO(sRIO),EMAC等外设。Master可以
3、直接通过SCR发起到Slave的数据传输。Slave包括每一个Core的内存,DDR2外存以及其它不能直接发起数据传输的外设,Slave之间的数据传输,需要通过DMA协助完成。各款基于C64x+DSP的数据手册上详细描述了SCR的配置和Master、Slave的情况。C64x+系统的存储器框图如图1所示。存储器被分成了三级:第一级是L1,包含数据存储器(L1D)和代码存储器(L1P);第二级是代码和数据共用存储器(L2);第三级是外部存储器,主要是DDR2存储器。L1P、L1D和L2的CACHE功能分别由相应的L1P控制器、L1D控制器和L2控制器完成。表1总
4、结了C64x+平台上可用的CACHE情况。图1C64x+存储器框图表1C64x+CACHE特性类型大小Line大小L1P代码;直接映射;最大32K字节32字节L1D数据;2路;读分配最大32K字节64字节L2代码、数据;4路;读写分配最大256K字节128字节C64x+平台上L1P用来存储或者缓存代码;L1D用来存储或者缓存数据。L1P和L1D大小都是32K字节,可以分别配置0K、4KB、8KB、16KB或者32KB作为CACHE,其余作为代码或者数据RAM。作为CACHE的部分,用来缓存L2和DDR2的数据或代码。作为RAM的部分,可以存储关键的代码或者数据
5、使得Core能够以很高的速度C64x+平台上L2存储器可用于存储代码和数据。L2上最大可以分配256K字节CACHE来缓存DDR2中的数据或代码。L2中其余部分作为RAM存储代码和数据。图2描述了Core访问存储器内容的操作流程。在这个访问流程中,Core对于存储器的访问总是先从离Core最近的一级存储器开始,如果命中,Core可以直接得到代码/数据,否则代码/数据会被加载到前几级的CACHE中,从而Core可以得到要处理的代码/数据。在这个动态访问过程中,各级CACHE中的内容和下一级存储器中的内容可能存在不一致,这种瞬态的不一致不会造成问题。但是,如果Co
6、re或者其它Master不能得到另外一方对存储器内容更新后的内容,就会出现CACHE一致性问题。图2Core访问存储器流程3.CACHE一致性问题分析在任何时刻,Core或者其它Master访问存储器中数据时,由于CACHE的存在造成不能够得到最近更新过的数据,就会出现CACHE一致性问题。在一个特定的时间范围内,各级CACHE和它的下一级存储器中的内容不一致是正常的。因为CACHE的作用是在一段时间内将低速存储器中的内容自动搬运到高速的CACHE中重复使用。当CACHE中的空间被后续的数据占用的时候,才将CACHE中的内容进行失效或者回写的操作。在失效或者回
7、写之前,CACHE中的内容可能与物理存储器中的内容是不一致的。这种临时性的不一致是正常的,上述CACHE一致性问题的描述不包含此类正常情况。CACHE的引入是为了提高Core存取数据的效率,所以出现CACHE一致性问题一定与Core对存储器的访问有关。Core对存储器的访问分为两类:1.Core读代码或者数据;2.Core写代码或者数据。据此,CACHE的一致性问题分为两个大类:Core读一致性问题和Core写一致性问题。在下面两个小节中,分别描述了这两种情况的模型:3.1Core读一致性模型图3给出了Core读一致性的模型。在这个模型中,CACHE一致性问题
8、的存在取决于图中虚线箭头指示的第二步操
此文档下载收益归作者所有