作者HuangJC (吹笛牧童)
看板ask-why
标题Re: [请益] 为什麽电脑资料要用16进位
时间Wed Jun 3 02:33:12 2009
其实电脑系统并不是一切都按 2的 N 次方成长的
只是规格大战的结果,看谁获胜
举例来说,从前的8位元 CPU 有 16条位址线
进到 16 位元电脑时,有 20 条位址线
为什麽不用 32 条?
事实上 32 条也设计得出来
但人家设计 20 条并且行销成功,那..就流行啦~
一个 byte 有 8个 bit,曾不曾惹过麻烦?
有没有听过有些系统只认得七位元?
为什麽这麽怪咧...
可能是够用就好,可能是保留一个当同位元检测
也许有人说保留同位元检测的话,其实骨子里是八位元,因为那个同位位元你又不能不储存
那...真正的八位元系统再保留同位位元
你要不要叫它九位元系统? XD
事实上现在没那麽麻烦,同位位元不储存了
所以当年有把 RAM 上面偷拔一颗 IC 而 user 不会发现的故事
而这种内部细节 user 不必懂
你就当那是 八位元,就可以学得很好
因此,问题其实应该限缩为 '我为什麽感觉电脑储存 16 位元'
注意到,是'感觉'
事实上电脑怎麽储存,已经不见得真的是那样了
在一个 byte 之前,其实四位元一组是流行过的
因为在16进位到10进位间,还流行过一个 BCD 编码
http://zh.wikipedia.org/wiki/二进码十进数
BCD 编码一次就要动用四位元,三位元还不够用
用一个16进位来模拟10进位,它有极大的浪费
所以对於储存方式的浪费,我们很在乎吗?我不认为
而是整个竞争的结果,最後有了暂时的统一
而两个四位元,也就是八位元了
这次整个业界还算统一,用乘2的方法在发展
但如果你扣掉同位位元,看到七位元系统的存在
老实说,它是带来些麻烦
不过它真的存在
对学组合语言的人来说,也许他认为,能被我用 CPU 定址到的才叫'电脑的认知'
那麽(或许)并没有七位元资料汇流排的电脑
不过那并不是设计不出来
可能只是规格大战的结果罢了
而对於一些撰写多单元系统的人来说,他所看到的不只 CPU 的认知
他所要运用的机械语言也不只 CPU 的那一种
我们会用尽方法去想像,描述
不过在讨论之前会先统一一下字眼
主 CPU 一定是用八(的倍数)位元系统吗?
我..不确定
不过会尽量朝这方向设计就是了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.179.152
1F:→ xiaoa:多少bit 和 多少进位 是不同的喔. 你搞混了吧..... 06/03 02:43
2F:→ HuangJC:就是怕搞混,所以我说统一讲电脑认得2进位就好 06/03 02:44
3F:→ HuangJC:我这次的文,只有 BCD 那段用到16进位. 06/03 02:45
4F:→ HuangJC:而且,不用二进位的话,其实不能用 bit 这个字眼 06/03 02:46
5F:→ HuangJC:前面我举周边用的三进位,这时它不能用 bit 喔~ 06/03 02:46
6F:→ xiaoa:难怪PrinceBamboo说你扯...... Orz 06/03 03:05
7F:→ HuangJC:我说了,我们先讨论课本上的就好;但原PO字眼混用呀.. 06/03 03:22
8F:→ HuangJC:你放心,三进位我是在讲义上看到的,不是我发明的 06/03 03:24
9F:→ HuangJC:事实上,为何不用八进位,为了 BCD 编码是个很好的答案 06/03 03:28