怪怪虎 发表于 2010-01-18 10:45

有没有软件实现的cache

cache 用在cpu和内存中见,提高访问速度,是不是都是有硬件实现,有没有软件实现的?

cjaizss 发表于 2010-01-18 14:32

cache只是一个名词而已.
硬件的手段,软件可以参照,软件的手段,硬件也可以参照.
软件也可以建立临时比较快速的访问机制,也可以叫cache,只是和CPU的cache不是同样的功能而已

怪怪虎 发表于 2010-01-18 15:40

原帖由 cjaizss 于 2010-1-18 14:32 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
cache只是一个名词而已.
硬件的手段,软件可以参照,软件的手段,硬件也可以参照.
软件也可以建立临时比较快速的访问机制,也可以叫cache,只是和CPU的cache不是同样的功能而已

硬件的手段,软件可以参照,软件的手段,硬件也可以参照.
>>>是不是有点哲学的味道. 我也这么觉得.想确认下. 只是实现方法的不同而以. 都可以达到同样的目的.

怪怪虎 发表于 2010-01-18 15:43

突然想起你以前说过的一个"傻瓜式的"硬件设计. 硬件就想当于做了一些软件的东西.

<<<不知道为什么,老是觉得没有软件,硬件做不了事情.(老是不相信硬件的能力,^_^)

snail_314 发表于 2010-01-18 16:06

回复 #1 怪怪虎 的帖子

你说的这种cache软件没法做吧。

snail_314 发表于 2010-01-18 16:07

回复 #4 怪怪虎 的帖子

软件能做的事情,都可以用纯硬件搭。只是复杂度无穷大

铁城 发表于 2010-01-18 17:23

楼主所说的软件方法必定是使用内存
cache的执行速度和效率比普通内存高一个数量级,如果能用软件方法将内存变成cache,那intel和AMD搞几十年岂不是白搭了。

cjaizss 发表于 2010-01-18 22:31

原帖由 怪怪虎 于 2010-1-18 15:40 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


硬件的手段,软件可以参照,软件的手段,硬件也可以参照.
>>>是不是有点哲学的味道. 我也这么觉得.想确认下. 只是实现方法的不同而以. 都可以达到同样的目的.
你可能误解了我的意思.CPU的cache那就是CPU的cache,软件模拟不来的.
我的意思是类似的设计思路可以套用.
打个比方,有个很夸张的数据结构,某种访问比较的慢,于是软件就可以提供一个cache算法,临时建立一个小的数据结构,访问比较快,也可以如同cache那样可以回写,那么这就是一个软件级的cache.而这是类似的设计思想.

cjaizss 发表于 2010-01-18 22:33

原帖由 cjaizss 于 2010-1-18 22:31 发表 http://linux.chinaunix.net/bbs/images/common/back.gif

你可能误解了我的意思.CPU的cache那就是CPU的cache,软件模拟不来的.
我的意思是类似的设计思路可以套用.
打个比方,有个很夸张的数据结构,某种访问比较的慢,于是软件就可以提供一个cache算法,临时建立一个小 ...
再有个典型的例子就是数据库,用到很多的cache机制
当然,文件系统的驱动也是个比较好的例子.
这里和我前面说的有点不同,假设一个慢速设备,一个快速设备,那么就可能可以设计一个算法,使得大多数时间都在访问快速设备,降低慢速设备访问频率,这也是cache机制.

[ 本帖最后由 cjaizss 于 2010-1-18 22:36 编辑 ]

xyfree 发表于 2010-01-19 00:03

回复 #1 怪怪虎 的帖子

据我所知没有任何CPU指令能够控制CACHE (本人接触的CPU仅限于x86的)

都是CPU从内存读取数据时按照一定法则将内存数据放入CACHE的

所以,没有任何软件能控制CPU的Cache
页: [1] 2 3
查看完整版本: 有没有软件实现的cache