Re: [斧正] 關於數位電子的一些問題

看板ask-why (知識奧秘)作者 (吹笛牧童)時間16年前 (2009/07/24 02:08), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
: 所以電腦內部是 0 與 1 的世界嗎? : 這..只講數位的話,是.. : 講到實現它的類比技術,我也不確定 除了這個問題,一般我們也說電腦用二進位在'運算' 但其實現在的電腦不運算已經很久了 當然,計概裏還在教我們二進位的加減乘除 要這樣說的話,那中文驅動程式+CPU 能不能說電腦懂中文? 什麼是電腦?什麼是電腦的外掛? 學生把小抄刻在桌上可不可以說是自己懂的一部份? open book 考試又如何解釋? 這些問題都突顯了我們需要另一個方式思考:'電腦'的界限在哪裏 通常我們用層次的觀念來解釋 比如網路有七層協定 又比如從核心看 driver,driver 是軟體 但從應用程式看 driver,driver 可以是硬體的一部份 有人把模糊界定的稱為 F/W,但其實 F/W 間一樣有層次關係 所以 H/W,F/W,S/W 這樣三層是不夠的,N 層更好理解 而對問題的理解或解釋,也要看到是針對哪一層的 二進位是可以做算數的,但光講加法,就有進位的問題 如果一位元加法要一秒,那八位元加法要八秒 (事實上我們說'機械週期') 因為要等前一個位元進位才能做下一個位元加法 在八位元時代可以見到這個現象,而某些 CPU 連乘法都不會,已經要跑副程式了 用層次來看,這顆 CPU+副程式=懂乘法的電腦 看,這樣就不用爭辯電腦懂不懂乘法;而是說這一整個架構的框框到哪裏時,它有什麼能力 現在的 CPU 不管做一位元加法,或32位元加法,乘法,都一樣一個機械週期 因為已經沒在運算了,而是'背'--查表法 也因為'背',所以三角函數也可以背進去了 再次用層次來看,我們熟知的16位元以上,80系列的 CPU 是懂加減乘除的 而浮點及三角函數要掛上浮點運算器才懂;不管是掛上硬體的87或是軟體的模擬器 因此電腦用二進位在'運算'嗎?已經愈來愈少;而是用二進位在查表 如果連外掛副程式都要叫做電腦的一部份,那電腦會微積分,也會下象棋 如果副程式不能算,只能計較 CPU 的基本能力的話,那有的還不懂乘除法 計概一般未必這樣教,因為會引起大混亂 通常說電腦用二進位運算就好了 但繼續往下學半加器,全加器,多位數加法器加速等等 會發現只要肯多用些線路,電腦'背'的愈來愈多,直接處理掉的計算也愈多 既然是查表法,我能不能打造一個十進位的電腦出來呢? 那就當然可以了 XD (人在做長乘法時,還不是先死背九九乘法表) 說到底二進位只是'最划算',不是'不用二進位就做不出電腦' 把框框畫最小,畫到 CPU,有的連乘除法都不會 畫大一點,加入副程式,有的已經會做三角函數 再畫大一點點,電腦插上音效卡,唱歌也會了 那你還認為電腦和生物'非常不同'嗎? 板上討論的架構,正好把生物的感覺繞過一輪 從受器一直討論到作動 (什麼是聽覺,什麼是視覺,什麼是味覺;如何發光,如何發聲,...etc) 為什麼我們可以在電腦上找到很多對應呢? 因為它是長久歷史的結晶,它不是一個人設計的 是一大堆人在改進它,觀察自然界的生物,再以之加強它外部迴路 所以,電腦很笨;但我不敢說自己比它聰明 :P 話說回來,外加硬體很多人不承認是電腦的一部份 他們一定要談'電腦只懂0與1'這樣的範圍 (那你能用電腦聽音樂是怎麼回事?大家的字眼太模糊了) 其實,0與1是有,但這框框要畫得小些 比如 CPU,或者 CPU 內的 ALU 如果你要用 ALU 來界定電腦的基本能力的話 那的確就很硬了 也就因為計概通常講 ALU 裏的那塊 所以大家以為電腦只懂0與1 喔,我還沒和你講調變解頻咧,那是交流電的範圍 從前會吱吱響的 MODEM 就這東西 它實作連續0就不是送出連續低電壓了;再怎麼送也得是交流 用核心 IC 界定範圍好不好? 不好,單晶片混合型 DSP,只要一顆就可以發出音頻 你是不是要跟我說電腦會唱歌,懂樂譜? 全矽技術做的單晶片數位CCD,以矽玻璃做鏡頭,直接黏在 IC 上面 只要一顆 IC 就可以做出數位相機,那你要說電腦會拍照? (目標是只要一顆 IC 就做出保全,所以還要內建網卡直接上網咧) 所以電腦用什麼訊號,那真的得畫定範圍才能談 雖然電腦比不上人腦精密 但要說電腦用0與1,和人腦不同...這就未必了 也許我們也可以談談人腦的計算裏有沒有 Sample & Hold 迴路 抽象化邏輯思考等等 (人看到十顆樹,是記下十顆樹的樣子,還是記下數字十,乘以樹? 那人也蠻'數位'的嘛 XD) 討論歸討論,考試時我還是會寫'電腦只懂0與1,使用二進位' 就好像在路上要守交通規則,但回家後可以討論交通規則一樣 如果要討論,就不要框框;拿框框出來放大絕就很難討論 ;; 事實上有很多負邏輯運作的電路,以高壓為 0,以低壓為 1,正好是相反的 XD 這是硬體上的實務,那你還怎麼堅持電腦內的世界簡單? 0 與 1 是抽象邏輯,不是實務上的必然 實務上可能調變,也可能用負邏輯 如果只講 ALU,調變是不太可能了,但負邏輯還是有 就純數位而言,I2C(唸成I平方C) 也可以很複雜 編碼編到不是單純的0與1... 為什麼不做XXX的設計? 嗯,這問題的答案可能是:你怎麼知道沒有 電腦並不只 Intel 出的這系列 我們除了被計概統一,難不成也被 Intel 統一? 能不能和賣得好不好是兩回事 能!但賣得不好,也許是個答案 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.179.152
文章代碼(AID): #1AQASUYh (ask-why)
文章代碼(AID): #1AQASUYh (ask-why)