※ 引述《nikolas.bbs@ptt.cc (你花多少時間?)》之銘言:
> 我有點疑問~~
> 因為沒接觸過~~想在這邊請教一下
> 有聽過在做一些訊號處理時~~ 例如影像??
> 為什麼硬體處理的速度會比軟體快??
> 用軟體來處理訊號很合理
> 但硬體是怎麼處理的?
> 有人可以舉實際例子嗎??
> 謝謝
這問題其實還蠻難回答的,
因為軟體程式可以被轉換為數位邏輯電路(這種硬體接線式程式被稱為 hard-wired),
而用純電路來計算會比軟體程式快是理所當然的,
因為你在一般用途的 CPU 或特殊用途的 DSP 上寫 assembly code,
CPU 或 DSP 都還是需要花時間去對你的指令做解碼,
去 register 提取需要的運算元,
而且還需要經過一堆有的沒的正規動作,
像是把 data 放到某某 register 去,
然後幹嘛幹嘛的,
常要先做一些事情才能完成一個基本計算。
可是你直接用數位邏輯電路下去搞你想要的功能,
在不考慮成品面積和耗電量等情況下,
這些準備動作幾乎可以說是完全不需要,
所以會比軟體去操縱 CPU 或 DSP 還來得快,
不過最近 DSP 的技術越來越進步,
所以也不見得是純硬體就會比較快這麼一回事了,
pipeline 加上 multi-way issue 的技術搞得好,
加上寫 assembly code 的人夠強的話,
表現起來不會比純 hard-wired 做出來的慢。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-239-251.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎
[修改]tinlans:61-230-239-251.dynamic.hinet.net 06/12/08 23:38:28