鐵之狂傲
標題:
ARM首嘗X86模擬器:前途光明但是道路不適合
[列印本頁]
作者:
CANCERS
時間:
12-10-25 12:01
標題:
ARM首嘗X86模擬器:前途光明但是道路不適合
ARM處理器在低功耗領域如日中天,但在伺服器及工作站之類的市場還是非主流,除了性能因素之外指令不相容目前的主流X86應用軟體也是關鍵原因之一,兩種不同的指令架構如何能做到統一呢?
一種可能就是X86模擬器,如今已經不存在的全美達就做過這樣的事,他們開發的架構是順序超長指令體系,執行X86指令時會動態轉換成X86指令,雖然保留了低功耗的特色的,但是全美達處理器的性能一直偏弱,最終沒能在市場上存活下去,後來NVIDIA吸收了不少全美達的工程師,
他們的丹佛計畫據說也會相容X86指令
,用的也是模擬器的方式。
ARM陣營也有廠商在做這樣的事。
Calxeda
是最早發布ARM伺服器處理器公司之一,一家名為Boston Server的英國公司使用Calxeda的ARM處理器設計了Viridis伺服器。日前他們宣佈在Eltech的幫助下,
其Viridis伺服器成功運行了X86代碼
。
Eltech之前發明了一種二進制轉換器,實際上就相當於一個模擬器,最初的性能是具備了45%的原生ARM性能,但是在他們的合作努力下,在Viridis平台上發揮了65%的原生ARM性能。該公司表示還會和Eltech公司繼續合作,目標是提供至少80%的原生ARM性能。
Anandtech網站也報導這一事件並做了分析
,Eltech的模擬器是動態二進制轉換,這會使得代碼變得過大,與VMWare這樣的binary translator(BT)軟體模擬器相比確實會更大,因為後者是從X86轉換到X86,而Eltech是在兩種不同的指令集中轉換,代價肯定會更高。
Eltech使用了1MB轉換器快取,與VMWare的BT基本相同,這意味着它可以利用之前的模擬器。如果大部分關鍵的指令循環都位於快取中,那麼轉換的損失就會大幅降低,但是(較低的快取容量)也意味着只有相對較少的代碼才能享受這個福利,比如他們所說的40-65%原生性能。
大部分伺服器應用都需要相當大的指令記憶體定址,因此還不清楚這個X86模擬是否會對重負載伺服器軟體有幫助,一些HPC軟體倒是會使用較小的指令記憶體,但是HPC往往對處理器性能要求比較高,這又不是ARM處理器的強項,因此很難說服使用者棄用X86而改用ARM處理器。
因此,ARM的X86模擬器用途有限,只能在部分場合發揮獨特的作用,比如Web應用有些軟體是不開源的,開發商也不提供ARM分支,這時候就只能用X86模擬的方式來實現ARM處理器支援。
總之,Eltech的X86模擬器是一個很好的功能,但是大部分ARM伺服器運行的還是專門最佳化。編譯的Linux伺服器,這才是ARM伺服器的正確出路。
歡迎光臨 鐵之狂傲 (https://gamez.com.tw/)