内存没有保存数据的功能吗?
发布网友
发布时间:2024-10-23 21:34
我来回答
共3个回答
热心网友
时间:2024-10-31 20:13
这个问题要细说起来,能专门写本书,这涉及到计算机的存储管理。他说的大体意思没错,但也有不准切的地方。我们这里先不要扯什么缓存,因为缓存技术其实并不是最主要的问题。我们就说三大块:CPU、内存、硬盘(外存)。
首先内存的容量是一定的,而CPU要处理的各种数据其实都是从内存调用的。内存只是一个数据暂存的容器,关机之后内存数据就会清空。就好比你舀水用的水瓢。而真正长久保存数据的水缸在哪呢?就是硬盘,硬盘是常见的外存储器。
那么既然内存容量有限,而CPU要不断地从内存调用新数据,那么显然会遇到内存使用完的情况,那么这时候一个很重要的机制就要发挥作用,就是内存页面淘汰策略。简单地说就是如何将内存中使用过的数据删除掉,以便装入新数据。淘汰策略有很多种,比如最少使用(优先淘汰最少使用到的数据)、最早使用(优先淘汰最早使用过的数据)等等。
简单来说,内存有暂时保存数据的功能,但是它保存的是当前使用的或者近期最常用到的数据,这些数据都是内存从硬盘中预读到的,当CPU要使用的数据内存中没有的时候,就要有内存到硬盘中去寻找读取。既然所有数据来自硬盘,为什么CPU要从内存中读取,而不直接从硬盘读取数据呢?因为内存读取速度快。缓存技术其实也是为了提高读取速度、提高整机的工作效率才产生的,就不详述了。
以上内容想了解详情,可以找一本计算机教科书来看,就看存储管理。总之,内存确实要经常使用淘汰策略,就是你说的要经常挤掉那些没用的数据。所以一个较大的内存(不是很大)是有助于提高系统的运行效率的。
可以这么理解,但不准确。一个4、5G大的游戏,它需要运行的只是整个游戏中的一部分。因为你每一时刻所要运行的都是游戏中的一个特定场景,一个游戏里面的文件、程序非常多,但是真正能够被你所使用到的大概只有20%,哪怕你玩一天也不大可能会用到所有的数据。所以,内存只需要调用游戏数据中的一小部分就能满足你的需要了。对于任何一个程序也是这样。内存中只保留当前使用或者下一时刻可能使用到的数据,页面淘汰策略是计算机存储管理的重要机制,是常态。运行的速度也是非常快的,是以时钟周期为单位的,你不用担心电脑会累坏了。显然,较大的内存可以减少页面淘汰的次数,可以减少对硬盘的访问频率,提高CPU的使用效率等等。因为水瓢容量大了,你自然往返水缸的次数就少了,而且每次从瓢里都能喝到更多的水。
这就是为什么我前面说到,一个较大的内存有助于提高系统运行效率。但是内存决不是越大越好,太大的内存完全没有必要。比如你4G的游戏,你配上一个8G的内存,他也不会一次就把整个游戏都调进内存里去,还是会像上面说到的那样,只调用当前使用的部分。
10分给你讲了这么多,超值了吧。
热心网友
时间:2024-10-31 20:14
距个例子吧:缓存是飞机拉的货箱,非常小,假设速度10,000,000,容量只有10;内存是跑车拉的货箱,假设速度是10,000,容量是10,000。硬盘是大货车拉的货箱,速度只有10,容量却有10,000,000。而CPU的火箭,速度是10,000,000,000,容量却只有1。
内存、缓存都具有存储数据的功能,预读,其实也是临时存储数据。只是根据速度与容量的不同,而进行不同的形容罢了。
热心网友
时间:2024-10-31 20:19
首先他说的缓存不是cpu的缓存而是硬盘的缓存吧。他举得例子不是很贴切,个人觉得