作者liu2007 (薯)
看板TheMatrix
標題[疑問] 前幾天上計算機組織學
時間Wed Apr 14 20:00:44 2010
在下才疏學淺
可能完全誤會老師所講授的知識也說不定
請見諒XDDDD
昨天老師在教管線(pipeline) CPU
其中提到data hazard 的問題
因為管線拆的深度越深
其hazard 現象越嚴重
但是為了解決 data hazard 的問題
學者們提出了 靜態 & 動態的解決方法
其中靜態的方法又分為軟體的方法以及硬體的方法
老師說
軟體的解決方法:
是compiler 從高階語言編譯到組合語言的時候,如果發現有data hazard發生的時候
塞入空指令(NOP)
但這無法有效解決data hazard 的問題
所以學者們又提出一個方法: forward (手邊沒書,可能有錯,回家再修改)
將data hazard 區域 上面或是下面不影響結果的組合指令搬到data hazard 的區域
取代NOP
進而將大多數的NOP殺掉
也就是說
原本
1.-------------
2.-------------
3.-------------
4.-------------
5.-------------
6.-------------
7.-------------
8.-------------
經過forward 之後
可能會變成
1.-------------
2.-------------
5.-------------
6.-------------
3.-------------
4.-------------
7.-------------
8.-------------
雖然指令順序不一樣
但是結果卻是正確的
這時候我突然出神
想到The Matrix
會不會人們有時候會預知、預見
其實都是因為有這樣指令重排的機制在??
以後才會發生的事情 (ex.第5.6道指令)
因為某種原因 (ex.程式速度、系統穩定)
事先發生
但是因為在處理完第 1.2.3.4道指令之前
邏輯上第5.6道是還沒發生的
等到真正1234道指令完成之後
事情才真正發生
但是因為指令前挪
所以發生預知的現象 ??
我黑白想的
可能荒誕不經、胡說八道
各位大大看看就好 XDDDDDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.115.251
※ 編輯: liu2007 來自: 140.134.115.251 (04/14 20:01)
1F:推 LivedEarl:你指的預知是誰的預知?電腦的or人類的? 134.208.41.70 04/14 20:23
2F:→ LivedEarl:在Matrix裡面這兩種狀況是有分別的 134.208.41.70 04/14 20:24
好像沒有這麼高級.....
有點像是絕命終結站那樣
主角會突然看到未來的景象
而不是故意去預知
※ 編輯: liu2007 來自: 118.232.58.39 (04/14 23:28)
3F:推 i19890813:好多術語看不懂 不過感覺很厲害XD140.113.244.151 04/15 00:18
4F:推 isdn:這有趣,沒想到有這樣的看法,不過我有個問題 124.11.240.171 04/15 00:31
5F:→ isdn:在Matrix裡人的意識是觀察者,不是執行者, 124.11.240.171 04/15 00:34
6F:→ isdn:如果以指令的角度來看,人是否就變成執行者的 124.11.240.171 04/15 00:35
7F:→ isdn:角色呢? 124.11.240.171 04/15 00:35
人不是指令的執行者
指令的執行者是系統 或是程式
人只是受到指令的結果所影響的client
只能發送要求、接受結果
※ 編輯: liu2007 來自: 118.232.58.39 (04/15 00:56)
8F:推 aubr3:錯誤!硬解OS看不到 軟解 那得重新compile 218.167.66.127 06/23 08:02
9F:→ aubr3:那可能需要很多時間 218.167.66.127 06/23 08:04
10F:→ aubr3:不過也有可能他是interpreter的方式 218.167.66.127 06/23 08:04
11F:→ aubr3:那就跟JAVA一樣需要很強大的硬體 218.167.66.127 06/23 08:05
12F:→ aubr3:而系統崩潰是因為他開外掛亂修改啦 218.167.66.127 06/23 08:07
13F:→ aubr3:因為NEO的頭腦好像頓悟可以看到code所以就可 218.167.66.127 06/23 08:08
14F:→ aubr3:亂害進去然後亂改 自己還可以飛天遁地 218.167.66.127 06/23 08:09
15F:推 aubr3:系統的預知是他可以用機率來算出可能解賭一 218.167.66.127 06/23 08:14
16F:推 JusTKurO:你可以查一下 branch prediction 219.71.69.185 09/26 20:40
17F:推 cress0128:其實人是計算之中的變數而已111.240.156.250 12/18 02:07