引用:
Originally posted by clyen
要 4GB以上定址才不見得要 IA64 或 x86-64 出場,PPro開始就有支援 36 條 memory address line,到 64GB 定址,而且也沒有人把虛擬的 64TB 硬體定址給實做出來,遷涉到太多 TLB更改問題還有分支預測的執行會大受影響,連 Hammer embedded memory control都只有做 40Bit (1024GB)。
如果我資料沒看錯的話,用 V386 mode 透過 TLB 去轉成實體位址下不怎麼需要實體的轉換作業,32bit protect mode 下也可以使用RxX register 等 GPR,compileter 也只是注意 struction hazard還有 segment convert等 pipeline 容易卡住的地方,當年 286轉 386 除非你寫 V86 或 protect 這些 386 開始才支援的東西,要不要重編譯幹什麼? 又不是轉到 IA64 上跑..
而且 IA64 又有 x86 simulator 軟體,另外,Intel 有自己的 x86-64 計畫,Yamhill
|
我是說4gb的"平面定址",利用windows的PAE,或Linux某些版本kernal
他們都可以用4gb更大的記憶體,但是這些都不是平面的定址
例如PAE下的單一程式仍只能使用4gb的記憶體,這確實會有一些問題的
而TLB也不就是在說明這種困難,因為邏輯與實體位置轉換效率太不好了
所以Intel在處理器加入TLB特色,讓他變得比較好用,減損效能較少
AMD一樣在TLB上做了很多功夫,好比K7就比P3多了很多TLB
看起來使用TLB不需要什麼轉換嗎?但是萬一他沒有命中,效能可是損失很大的
直接做了超越4gb平面定址,不正就是治本的方法,這絕對是值得肯定的
另外,386之後做到64TB的虛擬記憶體,我覺得不是64TB那麼大要幹嘛
而且線線位置根本指不到它的時候,我不知道他為什麼要做那麼大
虛擬記憶體一定是要比實際的記憶體大,也許只是因為這個必要,加上順應時勢
就一次把他做到這樣,因為反正對新設計的處理器而言,多花的資源很少
當然,64bit的處理器在家用市場目前確實好處並不明顯
但是我仍然不認為AMD保持留在32位元的設計一定會比較好
轉到64bit平台一樣是一種策略,他仍然有其吸引力
Hammer確實只有40bit memory,印象中Itanium2也不是做到64bit
因為成本很貴,但是40bit實在已經很夠,1TB的ram應該可以撐好多年吧
Yamhill本來就是Intel發展IA64中間的備案,會不會拿出來用還不知道
目前確實有在IA64上開發x86模擬器的計畫,可能可以改善一些x86程式的效率
這本來就是Intel預備萬一IA64失敗時的後路