作者stevennick (空中精灵小金刚)
看板TransCSI
标题Re: [问题]一题记忆体的迷思...
时间Sat Jun 2 09:40:13 2007
※ 引述《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存取)
也就是对这个系统而言
对於每个记忆体位址,记忆体都必须提供32个位元的空间供系统存取
(不然怎样对应32条位址线?)
而32位元 = 32 Bits = 4 Bytes
所以整个系统所需的记忆体容量
就是 2^30个位址 * 4 Bytes = 4294967296 Bytes
= 4194304 KB
= 4096 MB
= 4 GB
这就是我的答案~
当然,虽然考试大家都是敌人
不过我们还是要懂得相亲相爱,教学相长的
所以。。。要是在下不才
有说溜嘴的部份
还请高手赶快指正
免得耽误大家前程那就糟糕啦
--
空中精灵。SkyElf/Stevennick
要重新在空中飞翔‧遨游全世界 未来正在我的手中 一点一滴的实现
My Blog:
http://stevennick.dyndns.org/
My Podcasting:
http://podcast.blog.webs-tv.net/skyelf
____________________________________________________________________________
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.140.212
1F:推 dgf130:我觉得...题目出的很烂 06/02 11:37
2F:→ dgf130:就"定址"而言应该是1G个word而这边的word大小是32bits 06/02 11:38