作者gwliao (gwliao)
看板CSSE
标题Re: [问题] 关於作业系统的bit数目
时间Tue Jan 30 10:04:53 2007
※ 引述《tinlans ( )》之铭言:
: ※ 引述《fish39 (醒醒吧!!宅宅)》之铭言:
: : 64-bit CPU是指,data bus宽度为64条线
: : 这个问题其实没这麽复杂啊,也很简单
: : 会数位IC design的人,这是个常识喔!!
我也会数位IC design, 我帮你补充一下. :)
你说的是没有cache的CPU的常识.
有cache的CPU几乎都 "data bus的宽度" > "GPR的宽度". Orz
如我之前文章所提 Pentium II (Pentium Pro的後代)的Data bus是64-bit.
这是查Pentium II的Datasheet来的.
(大家都知道Pentium II是32-bit CPU, 不是64-bit.)
80386SX也是一个32-bit CPU, 其data bus只有16-bit.
(这是Cost的问题, 不是Cache或是效能的问题.)
: 之所以会复杂化是因为现在 CPU 的设计常常很诡异,
: 正常又直觉的设计是 data bus 跟 register 宽度相同,
: 但是不少 CPU 又不是这样子,
: 喜欢搞一堆有的没的让它们不同宽,
: 所以出现了一些争议。
就 GPR architecture的CPU来说, CPU是几bit都是用GPR的大小来分.
data bus的Size不等於GPR的Size的原因, 现代几乎都是Cache的原因.
(以前有些CPU是考虑Pin count和周边IC的问题.)
因为Pentium II的Cache line是32-byte, 所以Data bus有64-bit的宽度还蛮合理.
64-bit的Bus可以做8/16/32/64的存取, 传个4次就可以传一个cache line.
即使Cache没有enable, 也是用64-bit data bus去存取.
因为Pentium II所需要的memory system已经被要求如何设计,
这个memory sysytem可以用byte addressing来存取.
(当然也支援其他的addressing mode.)
大部分商业公司是不会讲CPU内部是如何design.
所以用CPU内部设计方式来区分的人大部分都是学术界的人.
业界? 能赚到钱就好了.
区分? 能刺激消费的话就可以搞区分. XD
我之前是做computer architecture.
在1999~2000之间,我曾经clone过ARM7TDMI,
除了功率不同以外, 其他都跟data sheet一样.
(我办不到像ARM一样的low power, ARM太厉害了. Orz )
ARM7TDMI是32/16-bit RISC architecture,
所以我很确定GPR architecture的CPU是用GPR的size来分.
( 当然书本上也是这麽写. XD )
PS: 不过在architecture的领域中,
我最擅长的是ARM7TDMI没有的cache system. Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.230.125
※ 编辑: gwliao 来自: 140.112.48.60 (01/30 18:15)