瀏覽單個文章
Zsue
Basic Member
 

加入日期: Jul 2002
文章: 16
引用:
Originally posted by mig33

這點我再補充一下
以CPU的進化過程舉例
早期的8086/8088、80286、80386都沒有內建cache
直到80486之後才內建cache
另外,若內建的cache越大
則CPU的效能也會越好、只是成本也越貴

CD Player的進化過程也可說是如此
最早的音響沒有buffer
隨著科技進步,後來才加入buffer
且加入的buffer越大
則越可以避免沒有將乘客即時送上車的現象
(降低jitter兼防震)
所以後來有防震10秒、防震40秒等
現在買的到的音響,應都有加入此機制
(就像現在不可能買到無cache的CPU)
現在不太會買到撞一下就會啵一聲或無聲的機種
(但我還是看過幾台數年前的音響有這現象)
所以後期的音響關鍵取決於buffer大小
若buffer太小,就好像CPU內cache不夠
則還是容易發生jitter現象


我要送你幾個字... "胡說八道"

為什麼呢? CPU 的 Cache 是以幾 KB 與幾 MB 在計算的... 線路暫存用的 FIFO buffer 只需要幾個 BYTE 即可. 一個 BYTE 等於八個 BIT, 用好料的 4T SRAM 設計來做 buffer 好了, 做個 16 byte 的 buffer 光 buffer 本身需要多少電晶體?

16 * 8 * 4 = 512 個電晶體... 就算是在 8088 時代, 512 顆電晶體在一個積體電路上也是 "很不怎樣" 的成本增加. 4T SRAM 的速度與電力消耗, 你自己去查, 懶得詳細講... www.google.com

至於處理速度, 用個專門開的硬體 ASIC 來處理會不夠修正錯誤? 那也太好笑了, 跑個龜速的 1MHz 好了, 以 1 個 cycle 可執行一個簡單動作來計算, 每讀取 16 bit 的資料, 那顆 ASIC 可以允許多少個動作來修正錯誤?

1,000,000 / 44,100 = 22.6 個動作.

這還不夠? 算是很爛很沒效率的修正, 需要 100 個動作, 那也只消耗掉 FIFO 中的 8.5 個 byte 左右. 實際上我不太相信修正動作有可能會超過各位數, 要到那麼沒效率, 可能還要特別花精神去惡搞吧.


至於你用那極其簡單的流程圖來質疑別人所說的 buffer 在哪邊... 很簡單, 我反問你一個問題, 那流程圖上面電源在哪邊? 沒有吧? 這是簡單講解原理的流程圖, 不是設計用的架構圖. 哪邊能放 buffer? 每個處理階段中間想加就可以加, 高興加就可以加, 需要加就可以加... (RF/類比部分例外)



你別在那邊亂吹牛, 不懂就乖乖受教. 在那邊繼續硬撐, 死要面子只會讓你自己更丟臉, 更幼稚...
舊 2003-01-01, 08:43 AM #296
回應時引用此文章
Zsue離線中