作者HuangJC (吹笛牧童)
看板ask-why
标题Re: [请益] 为什麽电脑资料要用16进位
时间Wed Jun 3 03:21:44 2009
: 你只告诉我, 半导体除了体现"通电"和"不通电"以外, 还有什麽第3态就够了
: 真的也不必写什麽论文
: → HuangJC:我刚不是说了,-5,0,+5 这三种电压就可以三态了吗? 06/03 03:01
: 我上面说过了, 请问你的第三态是什麽?
: 半通电? 超通电? 非常不通电?
*----- B pull to -5V
/
A--+--* *----- C pull to 0V
|
| *----- D pull to +5V
|
+----------- output
(三选一连接,不可同时连接两点以上造成短路)
以上电路就可以了
的确只有导通和不导通
但是 A 有 B,C,D 三个导通选择,就可以得到三种电压
很浪费?你可以想像成用三个导不导通来做这一件事
但如果我想省接脚时,我还是用啊
另外,程式都八位元,资料都八位元,一定吗?
01010101 01010100 <= 第一个八位元是程式,第二个八位元是资料
但也可以是这样
01010101010 10100 <= 前11个元位是程式,後五位元是资料
但这时我们会自找麻烦把书编得很难读吗?不会
注意看到,我上面只有抽象讲法的不同,但十六进位都是 '55 54'
所以我可以想法子把书编成 55 是一道指令,
後面的 54 有五位元的资料,加上高达八种小变化
总之在抽象的理解上,弹性很大
有没有这种5位元的资料呢?有..
所以我说中央单元都想像成2进位,想像成八位元
那是让你想像而已..
最重要的是,你感觉到了什麽,然後才能学得好
但如果你想插一根探针就读到这些资料
如果有编码,那会有相当的难度
对於 basic 学生,二进位不一定要懂,它很人性化,用十进位
对於写网页的人,他整天看 UTF-8,理解到的可能是可变长度编码
我们以为这个问题是在讨论中央处理单元所看到的...
但它也可能只用5位元当资料呀 :)
但你一切都只用二进位理解,可以理解到最多没错
即使我举的5位元,它还是二进位的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.179.152
1F:→ HuangJC:对了,这里就有五位元的储存了,谁说没有.. ;如果硬要这样问 06/03 03:31
一般五位元的储存,目前还是会用八位元来做
前面举的例中,前三位元并没浪费
工程师会想法子挤一些排列组合来用
但如果真要浪费(而且例子很多)
那就浪费吧~
data sheet 会这样写
xxxBBBBB <== 前3个 bit don't care,不管填什麽,结果都是一样的
所以问题不是发生在 CPU 为何只取用5位元
而是'为何我只能把资料,放进八位元的 RAM 里'
答案就是便宜..大家都在卖八位元,八位元就有现货;浪费三位元就算了
而事实上很计较 RAM 时,就有很计较的做法
比如存进单位元的串流里,自己去切割,每五位元当一组资料
牺牲的是速度,但不是办不到;怎麽办到的,这里就离题了
但有没有 CPU 取用 5位元资料? 有,当然有
所以也当然有只储存五位元资料(原 PO 所谓的 32进位?)
※ 编辑: HuangJC 来自: 61.59.179.152 (06/03 03:40)
2F:→ pureblue:你根本错到乱七八糟,这种电路图只有三种结果,每种结果 06/03 09:34
3F:→ pureblue:只有两种状态,有电压或没有电压,三种电压哪来的? 06/03 09:34
4F:→ HuangJC:我如果教到你会就真叫离题了,我只说'有没有' 好不好? 06/03 10:11
5F:→ HuangJC:这张图简略了很多地方,但我以为别人看得懂;因为不想讲太多 06/03 10:12
※ 编辑: HuangJC 来自: 61.219.65.16 (06/03 10:26)
6F:→ xiaoa:很好啊. 你都忘记二极管是单向通电的了..... 06/03 12:57
你一直以为硬体工程师办不到?
稍微要试,你就说可以写论文?
那你怎麽不翻一下 AD/DA 线路,这些概念又有多难?
还有,IDE 排线到达传输瓶颈时,是怎麽突破的?
後来为何又回到串列传输?
规格之战,鹿死谁手,我们真的比别人英明?
7F:→ HuangJC:单向通电又怎样? 06/03 13:04
半导体被用成只有导通和截止,那是运用在饱合区
事实上你前面说的没错,半导体就是可以半导,全导
0.1 0.2 0.3 0.4 这种灰阶都能用得出来
类比电脑,运算放大器,你家的音响发出的 SIN 波
那全是半导体参与的
运用在饱合区是为了取得最佳的杂讯免疫,但不是只有饱合区好用
ALU 全用二进位是为了和所有的旧包袱相容,但不是只设计得出二进位
所以当杂讯免疫技术提高时,能不能在一个 digit 内多放一些资讯?
当然可以..
你後文说,谁家光碟用半导体做了
那要不要回头反问,谁说半导体只能用在 0 和 1?
我举了光储存,其他磁储存,电储存,有没有人做过不同的设计?
更有甚者,有讯号就是1,没讯号就是0?
那又怎麽解释有些系统在储存连续0时,是混着1在储存?
那我们回头只看 ALU 好了,它是二进位运算吗?
如果一位元加法花一单位时间,那8位元要8单位,32位元要32单位
为什麽不管我加几位元都一样快呢?
...谁真的和你实作加法器呀,加法器学会後,变成方便讲解的逻辑了
现在都用查表,加数及被加数进入,结果就出来了
电脑是能心算 N 位元加法的聪明小孩 :P
那我要不要做个三进位的 ALU?
能..不划算
但我其实不清楚是不是永远不划算
比方光碟片上的光储存如果是三态,也许我就建个三进位的 IC 来辅助
不过这不是电脑的中央 CPU,周边工程师也不会让你操心这些了
每个人,都会就他看到的抽象概念去理解及发问
事实上是这样
※ 编辑: HuangJC 来自: 61.219.65.16 (06/03 18:54)