ARM在移動領(lǐng)域風(fēng)生水起,但是要想在桌面和服務(wù)器上占領(lǐng)一席之地,最大的麻煩就在于不兼容最為普及的x86代碼系統(tǒng)和程序,而出路只有兩條:要么大力推進自己的生態(tài)系統(tǒng),要么模擬運行x86,就像曾經(jīng)的全美達那樣(下場比較慘)。
今年七月份,英國廠商Boston Server推出了基于Calxeda ARM架構(gòu)處理器的服務(wù)器“Viridis”,之后也一直在披露其工作進展,近日更是豪氣萬丈地官方宣布了一個歷史性時刻的到來:這套ARM平臺第一次成功運行了x86代碼!
過去一段時間里,Boston一直在和來自Eltech的工程師團隊就此進行合作。這家貌似來自俄羅斯的公司正在ARM服務(wù)器上開發(fā)能夠運行x86程序的軟件,并且已經(jīng)成功開發(fā)出了一種可作為模擬器使用的二進制轉(zhuǎn)換器(binary translator),能夠發(fā)揮出大約45%的原生ARM性能。
雙方在Viridis平臺上進行了六大類別的深入測試后,將這一模擬效率提高到了65%,并且會爭取在近期繼續(xù)提高到80%,乃至更高。
雖然Boston拒絕披露具體細節(jié),但是AnandTech網(wǎng)站分析指出,Eltech的模擬器是實時翻譯、運行x86代碼的,因此整個模擬器會有些偏大,畢竟它要在兩套完全不同的指令集架構(gòu)之間牽線搭橋,不同于VMware那樣在x86-x86之間轉(zhuǎn)換。
據(jù)稱,Eltech使用了1MB的轉(zhuǎn)換器緩存,這意味著代碼轉(zhuǎn)換可以重復(fù)利用,但隨著緩存逐漸填滿,重復(fù)利用率就會迅速降低,而且只有相對輕便的代碼才能運行得比較快,獲得宣稱的45-65%的轉(zhuǎn)換效率。
但是我們知道,大多數(shù)服務(wù)器應(yīng)用的代碼和指令都很大,所以Eltech的轉(zhuǎn)換器能否高效率運行它們也有待觀察。高性能計算軟件倒是相對不那么復(fù)雜,但這玩意兒對處理器性能要求又特別高,很難說服他們放棄x86、改用ARM再去模擬x86(何苦來著)。
總的來說,二進制轉(zhuǎn)換器在特定場合下還是有用的,比如某些特定的Web應(yīng)用軟件不算很大,又是閉源的,沒有ARM版本,但除此之外就很難說了。ARM服務(wù)器真想闖出一片天地,最穩(wěn)妥的還得是催生一整套針對ARM架構(gòu)完全優(yōu)化編譯的Linux軟件。