内存到底有啥用?

今天突然想到这问题。内存到底有啥用?
后来查资料得到CPU把数据等乱七八糟暂时的数据都塞到内存上进行计算,并把数据结果返回到CPU上。
然而一直以来我都以为CPU是负责处理指令和逻辑计算的,但为何数据是由内存来计算,CPU不是进行计算的吗?

推荐  (0) | 1人关注关注
16个答案
67 0

少个螺丝乳品专业博士,科学松鼠会成员

2012-07-23 17:55

假设CPU是你,内存是桌子,硬盘是柜子,而程序则是那些你放在柜子里的各种书籍,文件,玩具等等。如果你想写作业或者玩玩具,那得先把相应的东西从柜子里拿出来放到桌面上,然后你才可以在桌面上玩玩具或者写作业。

柜子越大,你可以放里面的各种程序就越多;桌子越大,你可以同时处理的东西就越多,比如你可以在桌子左边放着玩具,右边放着作业本。父母一走进了就写作业;没人看着的时候就玩玩具神马的。。。这就是内存的作用。

以上比喻出自我敬爱的大学宿舍舍长。

10 0

小耿神经生物学硕士

2012-07-23 17:30

我的理解就是相当于草稿纸。

CPU“计算”和我们人类“计算”是不同的。假设说,CPU好比是一个迷宫盒子,有很多入口和出口。把一些豆子从特定入口倒进去,等它们从特定出口出来,就完成了一次计算。因为要进行很多次计算,所以在这个过程中就要记录豆子的出入情况。而CPU自己没有这种记录功能,需要内存来临时性地记录一些东西。

5 0

CPU是炒锅。
硬盘是冰箱。
内存是案板。

4 0

NemoTrickSterConsulting Designer

2012-07-23 17:32
支持者: pkuh kekesha JahowChen nasdaq

内存不是用来计算的,内存是存储计算过程中产生的中间数据。计算无论如何都是CPU的工作。

2 0
支持者: 大侃刀 游吟tuzki

电脑中的数据都是存储在硬盘中的,CPU要处理这些数据首先得把它们拿出来,但是CPU处数据的速度远远大于硬盘的读写速度,如果CPU直接从硬盘中读取数据来处理,那么硬盘的读写速度就大大限制了CPU的处理能力,因此需要内存来做一个缓冲。在CPU处理数据之前,先把数据放到读写速度很快的内存中,然后CPU再从内存中取出数据进行处理,这样系统的性能就不会受到硬盘速度的太大影响。
打个比方,一个生产车间(CPU)每次生产时要用大量的水(数据),但这些水只能从远处由人力一桶一桶运送(硬盘读写),如果等到生产时候再一桶一桶运水,那么无疑非常耽误进度,因此就想了一个办法,在车间旁挖了一个大池子(内存),在施工前先把需要用的水运到池子里,生产时候直接从池子取水,这样就大大加快了施工进度。不知道这样比喻你是否能理解。
其实内存的读写速度比起CPU的处理速度仍然很慢,因此,CPU为了加快处理速度,会在内部集成读写更快的缓存(cache),缓存通常不大,把数据从内存读到缓存的过程就像把数据从硬盘读到内存一样,还有比缓存更快的寄存器,寄存器的读写速度基本和CPU的处理速度处于一个数量级。
内存只能起到缓冲数据的作用,没有计算功能。

2 1

Albert_JIAO电子工程专业学生,科学松鼠会成员

2012-07-23 17:42
支持者: kekesha nasdaq

计算的核心部件有三个:CPU,内存,硬盘
CPU是计算数据的,内存是暂时储存数据的,硬盘是长期储存数据的
CPU负责处理指令和逻辑计算的,内存本身没有计算功能,只是暂存数据.如果CPU相当于一支笔,内存就相当于一张草纸,只有笔没有纸没办法完成计算.

0 0

叶精灵误闯Geek领域的旅法师一枚

2012-07-23 17:42

可以这么理解:
一个人在回忆什么东西的时候,会先想到那些记忆,然后再说出来。
电脑调用什么数据的时候,会先把这些数据放到内存里,然后再显示出来。
差不多就是这种感觉……

0 0

好不容易看到比较擅长的电脑问题,结果被大手形象的比喻回答了!!!

0 0

可以这么理解:
一个人在回忆什么东西的时候,会先想到那些记忆,然后再说出来。
电脑调用什么数据的时候,会先把这些数据放到内存里,然后再显示出来。
差不多就是这种感觉…

0 0

内存是用来存储数据的,比硬盘的读写速度都要高很多。数据从硬盘 - 内存 - CPU的cache - CPU计算 - 内存 - 硬盘 or 直接将结果显示给用户。cache的读写速度又比内存高了几个档次。

0 0

我承认我把“内存”看成“内。。”了

0 0

死狐狸幼儿教师兼焊接工人

2012-07-28 09:06

计算机的存储按照距离cpu的远近,也同样是按照速度的快慢分大体就是缓存,内存,硬盘.他们的大小容量一般来说也是依次降低的.
原因是缓存虽然速度速度非常快,但是成本高昂.做成硬盘容量大小的缓存是没法被接受的.所以一般cpu提供几百kb到几mb的缓存做cpu运算之后临时储存数据的地方.缓存也是不同的级别,一级缓存最快,最靠近cpu,也最小,二级缓存次之.三级缓存更次之.

但是数据太多了,那些不经常使用,但是依然会偶然使用的数据,就放在了内存上,内存速度也很快,但是没法永久储存东西,因为一停电里面的东西就没了,而且单位成本也比硬盘高,所以内存一般是从几十kb到几十gb之间.

而有些东西是需要永久性存放,cpu每次使用间隔很低的玩意,例如程序,用的时候拿出来,不用的时候就放回去.这些东西就放在硬盘上.

大体就是这个意思.我曾经想过为何硬盘,内存和缓存都是存储设备,但是还分开来做.后来看了某一篇关于计算机存储发展的 文章才知道,很大一个方面是因为成本的问题.另一个方面就是坚固速度和是否随机存储的缘故.

0 0

其实你要是学过一门编程语言就很好理解了,内存存储可执行程序和变量啊!!!!!!

0 0

本非君子超级不靠谱的管理学在读本科生

2012-07-30 12:39

一楼解释有意思~·

0 0

给我第一眼是...内裤到底有啥用....我面壁-0-

0 0

内存是指(加电)在线存储。相对地,可以离线(断电)保存数据的设备(硬盘、光盘、磁带、闪存盘等)可以称为外存。
现代的CPU中除了控制器和运算单元,还有集成的存储器:寄存器和片内高速缓冲存储器(Cache)。此外,独立显示卡中也有专用的显示处理器。这些存储器同样也是“内存”。
排除集成于处理器中的存储器和一些专用存储器(例如存储BIOS设置的EEPROM),可以根据程序运行时是否必须加载或默认加载的角度区分主存和辅存——前者是一般是,而后者则不是。存储器是否为主存和是否为内存没有必然联系。例如,内置Flash ROM的移动设备具有主外存,可以加载SD卡这样的辅助/扩展外存;NDSL的Slot-2支持扩展RAM卡加载辅助内存。
LZ所说的内存可能只是主内存——分类上是RAM,属于易失性存储的一种——被集成在通常所谓的内存条这种元件上的存储器。但要说清楚问题,还是得把其它存储也提一下。
从存储器和运算/控制单元的关联性来讲,常见的计算机系统的存储设备大致上可以这样排序:通用寄存器堆、高速缓冲存储器、主内存、联机硬盘、备份存储(光存储、磁带存储、移动硬盘等)。其中前三个是内存。这些存储器的数据刷新速率从高到低,存储容量从小到大,单位空间的成本从大到小。从结构特征和性价比来说这是比较符合一般需要的:各种存储器起到的主要作用不同。
通用寄存器用于直接存储CPU中运算/控制单元的操作数和结果(其实也有其它专用寄存器像浮点寄存器干这活)。它通常可以比主内存快几十倍,直接交换数据的效率比较低(寄存器长时间等待同步,运算单元同时在浪费时钟周期),所以出现了性能和容量介于两者之间的Cache缓冲数据同步,可以适当地提升性能。寄存器和Cache一般对于高级语言程序员来说是不可见的,通过汇编语言或特定于平台和语言的底层扩展可以访问寄存器。高级语言逻辑上处理的数据集中存储于以主存为基础的虚拟空间(C/C++和一般操作系统抽象的地址空间,CPU可以提供适当支持),让用户不用关心存储在机体哪种内存里(反正在内存里;以主存的数据为准,其它更快的内存只是临时使用,需要逐级同步到主存);更高层的抽象干脆不使用这个概念而仅涉及“变量”等抽象实体,让用户不用关心这些抽象实体存储的相对位置、顺序、连续性等细节。至于外存一般作为外部设备访问,需要特定的接口,另当别论。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字第朝200003号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区