作者Daiblo2 (下学期要住外面了)
看板TransCSI
标题Re: [问题]一题记忆体的迷思...
时间Sat Jun 2 12:45:02 2007
※ 引述《stevennick (空中精灵小金刚)》之铭言:
: ※ 引述《ahongyeh (小叶子)》之铭言:
: : 一CPU有30条位址线,32条资料线,可定址之记忆体为:
: : (A) 4GB (B) 256MB (C) 512MB (D) 1GB
: : 我的问题是...
: : 像题目这样子的问法~~
: : 到底是在问有几个位址,
: : 还是在问有多少容量(空间)!?
: : 如果是问位址~~应该是1G吧~~
: : 如果是问容量~~应该是4GB吧~~
: : 我有说错~~请指正~~
: : 麻烦强者了~~
: ㄟ 看来答案有出入
: 我解释一下为甚麽选A好了...
: 首先呢,要有个GB、MB....的认知
: 大家都知道1GB=1024MB
: 1MB=1024KB
: 1KB=1024Bytes
: 1Byte=8Bit
: 看出来了吗?
: 所谓的GB,指的是gigabyte(MB、KB 依此类推)
: 所以这题题目虽然没有写清楚
: 但是答案已经暗示是在问记忆体容量了
: 那麽
: 先不要管什麽记忆体不记忆体的
: 题目说有30条位址线(Address Line)
: 而每一条位址线可以表示0跟1两种状态
: 两条可以表示2^2=4种状态
: 三条可以表示2^3=8种..
: 依此类推,既然有30条位址线
: 那就可以表示2^30 = 1073741824 种状态
: 也就是说可以定址1073741824个记忆体位址
: 从记忆体位址 0000000 到 3FFFFFF (Hex)
: 然後,题目又说它有32条资料线(Data Line)
: 每一条资料线就代表一个位元
: 而每个位元有两种状态,就是0跟1
: (好吧我这里过份简化了,有兴趣的人请自行找相关资料)
: 两条资料线就代表两个位元....
: 所以32条资料线
到这里之前我都能接受
: 代表这个系统对於每一个记忆体位址(透过Address Line指定)
: 它一次可以存取32个位元的资料(透过Data Line存取)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上述这2行我就不能接受了
一个记忆体位址就只能放1Byte
怎麽可能一次存取4Byte资料呢?
一个word定义是说一次抓连续4个记忆体位址吧
: 也就是对这个系统而言
: 对於每个记忆体位址,记忆体都必须提供32个位元的空间供系统存取
: (不然怎样对应32条位址线?)
: 而32位元 = 32 Bits = 4 Bytes
: 所以整个系统所需的记忆体容量
: 就是 2^30个位址 * 4 Bytes = 4294967296 Bytes
: = 4194304 KB
: = 4096 MB
: = 4 GB
: 这就是我的答案~
: 当然,虽然考试大家都是敌人
: 不过我们还是要懂得相亲相爱,教学相长的
: 所以。。。要是在下不才
: 有说溜嘴的部份
: 还请高手赶快指正
: 免得耽误大家前程那就糟糕啦
因此我的结论是2^30 = 1GB
我以前所学到就是假如问题是问最大记忆体位址定址空间
那就是算位址线有几条来决定
这是我个人的意见
所以假如还是有问题还是可以再提出来讨论
就如同上面大大所说的"教学相长"嘛
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.232.149
1F:推 aubr3:所谓的定只是指有记忆体编号的locate 而32条资料线是说每一 06/02 14:49
2F:→ aubr3:locate有32bits 06/02 14:50
3F:→ aubr3:不然换个想法 只有lG那麽多的地址 最多也只能分给1g那麽多人 06/02 14:51
4F:→ aubr3:一人有四败特 06/02 14:52
5F:→ aubr3:除非它加了特别的电路可以分两次传送位置讯号 不然也只能1G 06/02 14:53
6F:推 aubr3:google了一下台东大学的题目 06/02 15:55
7F:→ aubr3:是可以一次存取四个BYTES的 比较方便 一个INTEGER是4bytes 06/02 15:59
8F:→ aubr3:不过那又是另一回事了 06/02 16:02