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