作者Stonehendge
其實不只data-level parallelism
有些時候是要注重指令排程及data structure以避免掉hazard的發生
不過現在大部份都靠compiler及CPU本身的re-order mechanism去解掉
再加上大部份的programmer都只用高階語言來開發,連inline assembly都很少人用
不知道該說是compiler太強還是新一代的programmer太懶?
另外一個現象就是不同領域的人分的太清楚
EE出來的人通常會把自己侷限在固態電子電路的範圍內(我把CPU/system performance搞好就好,software不關我事)
mathmatic/algorithm/software出來的人會把自己侷限在軟體的範圍內(app function有出來就好,系統跑的快不快是那群H/W阿宅的事)
會這樣的原因是大部份使用者根本就不在乎軟體跑的慢一點或會頓(stutter),反正只要不會lag到完全卡住就好了
程式設計師當然也懶得去檢視自己的演算法是否有效率
以手機來講
我自己的手機CPU是S801,家裡長輩用的...
|