计算机组成原理——cache的读写过程和性能分析

一、读操作

1、旁路式读(CPU 并行访问 主存 和 cache)
	<1>CPU 向 cache 和 主存 同时发读命令和地址
	<2>cache 命中,则 cache 回送数据并中断主存读取
	<3>cache 未命中,直接访问主存读取数据
2、通过式读(CPU 串行访问 cache 和 主存)
	<1>CPU 首先向 cache 发读命令和地址
	<2>cache 命中,则从 cache 中读取数据
	<3>cache 未命中,再将读命令和地址传给主存并读主存

二、写操作

	写操作注意点:
		1、写操作必须得在确认是命中后才可进行
		2、写操作有可能导致 cache 和 主存 内容不一致
1、写命中:当要修改的数据在 cache 中
	<1>写直达法:写操作时数据既写入 cache 又写入主存
		1、保证了主存和 cache 内容相同,方法简单可靠
		2、对 cache 的更新同时要写主存,速度会受影响
	<2>写回法:写操作时只把数据写入 cache 而不写入主存,用标志予以注明,当cache数据被替换
		出去时才协会主存
		1、省去不必要的立即回写操作
		2、写回法 cache 系统比较复杂
		3、因为 cache 和主存数据不一致,设置一个标志位来标志是否数据不一致(清、浊)
2、写不命中
	<1>按写分配法:在写 cache 不命中时,把所要写的字写入主存。把包含改字的一个块从
	主存调入cache
	<2>不按写分配法:在写 cache 不命中时,只把所要写的字写入主存

三、cache 的性能分析

1、cache 的命中率与容量
	cache 容量大,命中率高,当容量达到一定值时,命中率将不再明显提高
	cache 容量大,成本越高
	容量是成本与命中率的折中
2、cache 的命中率与块长
	取决于程序的局部特性
	对着块由小到大增长,命中率最初将提高,而后反而下降
	块长最优值较难确定,一般取每块4~8个可编址单位,或是一个主存周期能读出的主存的信息长度
	除此之外,地址映象方式、替换策略等影响命中率

在这里插入图片描述

四、cache 的改进

1、微机系统中普遍采用多个 cache
	增加 cache 的级数
	将统一 cache 变成分开 cache
2、单一缓存和多集缓存
	片内 cache
	片外 cache
3、统一缓存和分开缓存
	统一缓存:指令和数据都存放到同一个 cache 中
	分开缓存:指令 cache 和数据 cache
总结起来就是纵向扩张、横向扩张、内部模块化。
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值