![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| TI-DM642学习报告(4)---C64x L2 cache | |||||
作者:A009 文章来源:本站 点击数: 更新时间:2007-2-28 ![]() |
|||||
|
L2 Cache L1和L2 Cache像这样协同工作:当某个地址在L1中miss,则到L2中查找;L2使用相同的方法检测是否所需地址在L2中。反之,如果L1 hit,则接下来的操作直接在L1中进行,与L2无关。 上表给出了C6000 DSP的L2 Cache 属性,其L2 存储空间可以分为可寻址的片上空间(L2 SRAM)和cache(L2Cache)两部分。与L1 Cache的read-allocate不同,L2 Cache是Read and write allocate。L2 cache只用来cache外部存储地址,而L1 Cache用来cache L2 SRAM和外部存储地址。 下面以CPU要求读取一个可缓冲的外部存储地址为例,说明L2 Cache工作过程。 1、 在L1(L1P或L1D)中miss,并且在L2 Cache中miss。这时,外存中相应的line会被调入L2 cache,再由LRU bits决定被放置在哪条line frame。如果该line frame 包含dirty data,则在被新的line取代时,会将其数据写回外存中相应位置。(如果该line frame也在L1中,则在L2 cache写回外存前要先由L1写回L2 cache,这一操作叫保持 cache 一致性)接着,这一line在被写为L1的形式,并交至L1 cache。L1 cache在将其保存在其cache中,并交由CPU处理。注意,如果L1中放置该line的frame line 含有dirty data,同样要先写回L2 cache。 2、 如果该地址在L2 Cache 中hit。则相应line直接调入L1中。 前面说过,L2 Cache是Read and write allocate,这是指当CPU要向外存中写数据时,如果L1和L2 cache miss,则会像读时那样,把对应位置的line调入L2 cache的line frame中,而这时所作的操作也与读时类似,如果含有dirty data,则应先写回外存。但应注意,这一line是不会出现在L1中的,因为L1 Cache只是read-allocate。
|
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| TI-DM642学习报告(1)---优… TI-DM642学习报告(2)---so… TI-DM642学习报告(3)---C6… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|