查看: 5859|回复: 31
收起左侧

[已解决] 为什么内存条的容量都是2^n?而不是随便?

   关闭 [复制链接]
菩提祖师
发表于 2014-1-22 21:04:54 | 显示全部楼层 |阅读模式
本帖最后由 菩提祖师 于 2014-1-28 23:45 编辑

为什么内存条的容量都是2^n?而不是随便?
虽然计算机是2进制,但增加1bit只是表示范围翻一倍,并不是存储空间翻一倍.
看不出任何原因,除了可以方便加快寻址计算.
原因仅仅是为了加快寻址吗?
感觉不应该是技术上不可能,不然那种安装了1024MB内存,又安装512MB内存的电脑是怎么运行的?

Mon Jan 27 22:44:22 CST 2014补充:
感谢 雪洗铁龙 的解答,不过由于本人水平太菜,看了个一知半解.
目测是最靠谱的答案,将其加入推荐楼层.
但本人水平有限,如果认为不对,欢迎加入讨论.
雪洗铁龙
发表于 2014-1-23 15:13:06 | 显示全部楼层
先从最小单位说起吧,内存这种玩意,容量是这样组织的:
首先得有数据线,这个一般连着译码器,然后是地址线,这个是选择地址的。
然后一开始,至少得有0/1来表示计算机吧?这就是最小单位
0/1之后要扩展出很多的0/1吧?于是最小单位网上乘就是
再然后,内存太小了,得往外部扩展吧?下面是大容量的点了:
因为扩展起来,用地址线扩展太麻烦了啊,你看你插内存条的地方,地址线是不是固定的?(就是内存插槽里面的金属片,不好改对吧?),那只能在数据线上动刀了
比如吧,我用的2-4译码器,就是有四个内存插槽,插了2条,还可以再插两条不是?
LZ理解了吗?。。。。

评分

参与人数 1人气 +1 收起 理由
菩提祖师 + 1 感谢解答: )

查看全部评分

雪洗铁龙
发表于 2014-1-26 18:16:56 | 显示全部楼层
菩提祖师 发表于 2014-1-23 22:34
虽然您的没看懂,但说到地址总线,查了一下,地址总线原来是每条表示1bit,难怪容量总是2^n.
但仍然没看懂您 ...

不好意思,很久才上来回复
首先,为什么地址线不好改呢?因为是这样,地址线,一次激活,务必保证只能选中一个点。
就好像一个5*5的格子,地址线决定了单选哪一个格子,如果有几层5*5的格子呢?这个时候就是数据线的作用了,由于数据线简单理解就是主板上的内存插槽,因此有几层格子完全是我们决定的,而地址线嘛,则是又厂家决定的。
其次,地址线和数据线当然也有复用结构,不过一般是2层复用,太多了, 会很慢的,就没有内存发明出来的意义了(用于缓解CPU与硬盘速度的差距)
最后,内存生产厂商完全可以生产不同大小颗粒的芯片,但是要知道,内存的生产是由:颗粒大小(就是内存条上的黑黑框)和数量决定的,让他们在某个生产周期固定,是因为内存中的地址线和数据线都是纳米级的,要是经常改的话,制作工艺成本过大,嗯,这是从成本角度出发了

评分

参与人数 1人气 +1 收起 理由
菩提祖师 + 1 感谢解答,不过水平太菜,一知半解.

查看全部评分

雪洗铁龙
发表于 2014-1-27 12:36:56 | 显示全部楼层
菩提祖师 发表于 2014-1-27 03:19
"一次激活"是什么意思?"一次寻址"?
"层"是什么意思?内存不是一维吗?

内存的寻址是由数据线和地址线共同构成的!可以理解为X何Y坐标,层,就是你可以简单的理解为内存只有一条,多层,就是内存有2条以上,当然实际上更复杂。只有一条,两条的内存,需要一个片选端控制到底是哪片内存被使用,0代表第一条内存被使用,1代表第二条。比如说,有两条内存,当地址线和数据线一样的时候,片选端就决定了到底是第一片内存的这个地址还是第二片内存的这个地址。也因此早期的两条内存在一块主板上面要求容量一致。如果有3、4条内存,就需要2-4译码器作为片选端,5-8条内存,就需要3-8译码器作为片选端

评分

参与人数 1经验 +5 收起 理由
woxihuan2011 + 5 感谢解答: )

查看全部评分

amberno1113
发表于 2014-1-22 21:16:40 | 显示全部楼层
本帖最后由 amberno1113 于 2014-1-23 13:31 编辑

   你确定那种安装了1024MB内存,又安装512MB内存的电脑可以稳定的运行么???
            我猜测那样的电脑内存应该是 不兼容的吧。。。要么容易死机,要么过几天就挂掉。。
      我记得内存的配置需要遵循三个基本原则:
1.制造工艺必须一致,显存(颗粒)必须采用同一种类、型号的芯片   (不相同大品牌的内存完全可以混用。512m  1g 2g 接口一样完全可以混搭。   完全相同品牌容量型号,那是为了组建内存双通道)
2.总的个数必须是2的n次方,(ps你有见过3个内存配置么??没有吧,要么1个或2个,要么4个,8个等等)   这里错了,3个内存条是可以共存的,见12楼
3.就是你说的这个问题,总容量必须是2的n次方,       这里也错了,应该是单条容量是2的n次方就可以了,8楼的大神解释了
不符合任何一个条件都会不兼容。。。(无视我吧)
我的回答错误,无视我吧   

评分

参与人数 1人气 +2 收起 理由
xiaoluo + 2 我意思是 保留原答案,很好。

查看全部评分

菩提祖师
 楼主| 发表于 2014-1-22 21:19:50 | 显示全部楼层
amberno1113 发表于 2014-1-22 21:16
你确定那种安装了1024MB内存,又安装512MB内存的电脑可以稳定的运行么???
            我猜测 ...

问得是原因.
觇望
头像被屏蔽
发表于 2014-1-22 22:05:18 | 显示全部楼层
amberno1113 发表于 2014-1-22 21:16
你确定那种安装了1024MB内存,又安装512MB内存的电脑可以稳定的运行么???
            我猜测 ...

实际上不同容量的两个内存条是可以一起用的。
wjlaugh
发表于 2014-1-22 22:18:17 | 显示全部楼层
amberno1113 发表于 2014-1-22 21:16
你确定那种安装了1024MB内存,又安装512MB内存的电脑可以稳定的运行么???
            我猜测 ...

事实上我的2G+4G已经稳定运行一年半了
amberno1113
发表于 2014-1-22 22:18:44 | 显示全部楼层
觇望 发表于 2014-1-22 22:05
实际上不同容量的两个内存条是可以一起用的。

  我知道丫,不过兼容性应该是差一些的吧?
          不是特别清楚,不过那三个条件是大部分人都认可的吧。
realraul
发表于 2014-1-22 22:26:25 | 显示全部楼层
1024+512也是两条同时用的,不可能用完了1024,再用512吧,只要单条是2的n次方就行,好算
ft_8001
发表于 2014-1-22 22:26:33 | 显示全部楼层
两条内存,大小不一样。可以使用。但用起来不会很爽。而且,对两条内存都不好。

因为,通常情况下,系统使用内存时,两条内存使用大小一样的。内存一大一小。大的闲死,小的忙死。系统速度当然也会受到影响了~

(好像在BIOS下分别设置每条内存的使用率,这个另当别论了。)。
伊川书院
发表于 2014-1-23 02:57:53 | 显示全部楼层
本帖最后由 伊川书院 于 2014-1-23 03:01 编辑

根计算机的发展有关系,,,,

其中,最直接的关系CPU的16根总线地址,,因此才有8位,16位,32位,64位....................................



http://blog.csdn.net/woxueliuyun/article/details/2033195
CPU的数据、地址、控制总路线

评分

参与人数 1人气 +1 收起 理由
菩提祖师 + 1 感谢解答: )

查看全部评分

VUN
发表于 2014-1-23 04:09:00 来自手机 | 显示全部楼层
觇望 发表于 2014-01-22 22:05

实际上不同容量的两个内存条是可以一起用的。

对,我现在就是2G和4G各一个的在用
来自:卡饭 Windows Phone 8 客户端来自: WindowsPhone客户端
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 14:17 , Processed in 0.133004 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表