首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» 怎样使用DSP的cache
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
怎样使用DSP的cache
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-10-25 18:30
|
只看该作者
怎样使用DSP的cache
处理器
,
存储器
处理器
中的cache是存放于处理器附近的高速
存储器
[url=]
[/url]
,它可以用来保存运算处理时的一些共有的指令,从而加速运算的速度。
在本文中,将比较cache存储器和系统中的普通的存储器,随后将介绍cache的一些基本理论和基本术语,以及在高速处理器结构中cache的重要性。以
TI
的TMS320C64x
DSP
[url=]
[/url]
结构为基础,将着重向开发者介绍cache是如何工作,如何配置,以及如何正确使用cahce,本文将以cache的一致性贯穿全文。 存储器结构
在图一中,左边的模块介绍了普通的存储器系统结构,
CPU
[url=]
[/url]
和内部存储器均工作在300MHZ。当
CPU
[url=]
[/url]
访问外部存储器时,将不会发生存储器访问禁止的情况。并且当访问内部存储器时也不会发生访问延迟的情况。
当CPU的时钟增加到600MHZ时,只有当存储器的速度也增加到600MHZ时才不会发生访问等待的状态。很不幸,对于大多数情况下同样频率工作在600MHZ的内部存储器价格将十分昂贵。而300MHZ的也不是好的选择,因为将大幅降低CPU的频率。设想一个算法需要在每个周期访问存储器,每一次对存储器的访问需等待一个周期,加倍了访问周期从而抵消了CPU的双倍工作频率。
图一:普通存储器和多层存储器结构
解决的办法就是采用一个多层次的存储器。最靠近CPU的存储器由一块速度快但体积小组成,访问时不存在任何延迟。稍远离一些CPU的采用体积大但速度稍慢的存储器。对于低级别的存储器来说,最靠近CPU的这块存储器便是典型的cache存储器
位置法则
当然,这个解决办法必须工作在CPU能够最快访问最近的存储器的情况时。由于位置法则,对于大多数CPU来说这一情况都是适用的。这意为着在一个特定的窗口时间内,程序仅仅访问全部地址空间的一块相关的小区域。这包括一下两个基本的位置种类:
1、空间位置法则:一块刚刚被访问过的资源附近的资源更有可能被访问
2、时间位置法则:在过去的一个时间点刚刚被访问的资源更有可能马上在将来被访问
空间位置法则是由计算机程序的编程风格所决定的,一般情况下,相关的数据将被连续的存储在存储器中。例如一个共同的类型在计算时,总是将第一个元素放在第一列,然后是第二个元素,以此类推。同理,时间位置法则形成的原因是程序包含的结构比如循环结构调用的是相同的指令(甚至是同样的数据),以此反复。
图二阐述了空间位置法则,它描述了一个6阶F
IR
滤波器
[url=]
[/url]
。为了计算y[0]输出,将从输入数据缓存x[](值由预算法则对
内存
[url=]
[/url]
中访问的采样数据决定)里读出6个采样数据。当完成一次数据访问时,cache控制器从
内存
[url=]
[/url]
中取出x[0]和一系列的取样值地址。这个一系列的地址值称为cache串。如果再从低速率的存储器中取出数据串将导致一些CPU的延迟周期。这样做的目的是而当进行以下计算时,临近x[0]的这些数据有可能马上将被访问。而对于FIR
滤波器
[url=]
[/url]
来说正好适用这个原则,因为接着的五个采样数值(x[1]-x[5])马上将被访问。这五个数值的访问过程将进入到cache中完成而不是在低速率的存储器中进行,因而不会产生任何延迟周期。
图二:位置原则
当计算下一个输出y[1]时,五个抽样值(x[1]-x[5])将被再次使用,只有一个抽样值(x[6])是新的。所有的抽样值已经提取到cache中,CPU不会发生任何的延迟。这个早先使用过的数据在数据处理中再次被用到的例子很好的说明了时间位置原则。
cache是以局部时间地和空间地访问数据为基础的。因此极大的降低了对低速率的存储器访问,绝大多数数据访问都由高速cache存储器以CPU的工作频率服务于CPU。
存储器数率:
cache系统代表性的包括三种级别
1、第一级cache (L1)位于CPU
芯片
上并且运算于CPU工作频率。
2、第二级cache(L2)也位于芯片上比L1速度慢而体积大。
3、第三级cache(L3)位于CPU外部,是速度最慢体积最大的存储器。
每一级别的cahce相应执行的因素决定于cache距离处理器的距离。表一中体现了一个有代表性的各自相应的时间。
图三:在一个2ns时钟周期的具有多级cache系统的处理器cache执行时间
当运算器需要从存储器中提取数据时,它首先在最高级的cache中寻找然后在次高级的cache中寻找。如果在cache中找到,则称为命中。反之,则称为不命中。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议