r   e   k   l   a   m   a
r   e   k   l   a   m   a

Prawdziwy Windows 10 na ARM – powtórka z Transmety zaboli Intela

Strona główna AktualnościOPROGRAMOWANIE

Zapowiadając Windows 10 na architekturę ARM, Microsoft zaskoczył wszystkich zapowiedzią możliwości uruchamiania na takim systemie klasycznych aplikacji win32, kompilowanych przecież na architekturę x86. Jak jednak mogłoby być inaczej? Pierwsza próba z Windows on ARM, tj. Windows RT, skończyła się fiaskiem, właśnie ze względu na brak oprogramowania na ten system. Zapowiedź drugiej próby, podjętej ramię w ramię z Qualcommem, spotkała się jednak z nerwową reakcją Intela. Czy cokolwiek może jednak powstrzymać przyszłość, w której w sklepach na półkach leżeć będą ultralekkie hybrydy z Windows 10, ale bez logo Intel Inside?

Prezentacja Windows 10 działającego na procesorze Snapdragon Qualcomma musiała poważnie zaniepokoić decydentów Intela. Zobaczyliśmy tam nie tylko nieokrojony system operacyjny Microsoftu, płynnie działający na szybkim procesorze ARM, ale też coś wyjątkowo niepokojącego: całkiem sprawnie działające na tym wszystkim aplikacje win32: Photoshopa oraz World of Tanks. Tu nie ma mowy o rekompilacji na ARM, to przecież oprogramowanie firm trzecich, do którego kodu Microsoft nie ma dostępu.

r   e   k   l   a   m   a

Wkrótce po tej prezentacji Intel na swoim oficjalnym blogu, we wpisie poświęconym 40. rocznicy jego architektury sprzętowej, wspomniał o „jakichś firmach”, które chciałyby emulować własnościową architekturę x86 bez jego zgody. Przywołano we wpisie historię firmy Transmeta, która „jako ostatnia” próbowała tworzyć kompatybilny z x86 procesor, korzystający z emulacji kodu – i która z powodów patentowych upadła. Zapowiedziano też, że Intel będzie się bacznie przyglądał nowym eksperymentom z emulacją x86, a jeśli okaże się, że naruszają one patenty Intela, to cóż, Intel zrobi wszystko, by chronić swoje innowacje i inwestycje. Innymi słowy, obiecano tym jakimś firmom otwartą wojnę patentową.

Oczywiście z nazwy nie wymieniono ani Microsoftu, ani Qualcomma, ale o kogo innego mogło chodzić? Intel nic nie jest w stanie zrobić z producentem rosyjskich procesorów Elbrus, które właśnie drogą software’owej emulacji zapewniają całkowitą kompatybilność z x86. Ich cieszący się rządowymi zamówieniami producent działa całkowicie w zgodzie z rosyjskim prawem i nie musi przejmować się porachunkami amerykańskich firm.

Czy jednak faktycznie straszenie Intela ma jakiejkolwiek podstawy? Niedawno Microsoft ujawnił architekturę emulatora x86 win32 w Windows 10 for ARM. Aplikacje i biblioteki DLL skompilowane dla x86 uruchamiane są tu na warstwie abstrakcji WOW (Windows On Windows), która komunikuje się z autorskim emulatorem x86-ARM (zapewne coś w rodzaju QEMU), warstwą usług systemu (NTDLL) oraz bibliotekami hybrydowymi CHPE – są to biblioteki DLL x86, które zawierają w środku kod ARM. Czy Microsoft może mieć przez to problemy analogiczne do tych, jakie miało Transmeta?

W świetle tego slajdu, blogowe straszenie Intela po prostu nie ma sensu. Windows On Windows w niczym nie przypomina rozwiązania w procesorze Crusoe firmy Transmeta, w którym stosowano technikę morfingu kodu. Łączyła ona architekturę VLIW z interpreterem, dynamicznym translatorem, optymalizatorem i środowiskiem uruchomieniowym, działającymi głęboko poniżej warstwy systemu operacyjnego. Windows On Windows (WOW64) to podsystem, który Microsoft od dawna już stosuje do uruchamiania 32-bitowych aplikacji x86 na 64-bitowym systemie x86. Podsystem ten przekształca wywołania 32-bitowych API na ich 64-bitowe odpowiedniki, zapewnia wsparcie dla 32-bitowej przestrzeni adresowej, modeli pamięci i wskaźników.

W wypadku „WOW-ARM” jedyną różnicą jest to, że tutaj odpowiednikami instrukcji 64-bitowej architektury x86 są instrukcje 64-bitowej architektury ARM. Przeprowadzone już translacje instrukcji przechowywane są w buforze, by uniknąć konieczności każdorazowego tłumaczenia, ale to nie wszystko – szczególny wzrost wydajności uzyskuje się właśnie poprzez te biblioteki hybrydowe CHPE. Microsoft pozwolił sobie bowiem na zrekompilowanie praktycznie wszystkich wywołań API win32 na ARM64, dzięki czemu to, co aplikacja win32 „widzi” jako bibliotekę DLL zgodną z jej architekturą x86, w rzeczywistości jest biblioteką ARM, działającą z natywną wydajnością. Czy Intel uważa, że ma patenty na podsystem Windows on Windows, albo interfejsy programowania Windowsa?

Przypomnieć należy młodszym Czytelnikom, że już kiedyś był czas, gdy na sklepowych półkach znaleźć można było laptopy z Windowsem, w których nie było procesora Intela (ani AMD). Takie urządzenia zyskały popularność na przełomie stuleci, produkowały je m.in. Sony, HP, Toshiba, Compaq i Fujitsu.

Perspektywa, w której takie komputery pojawią się znowu, uruchamiając pełnowymiarowe Windows, kompatybilne z aplikacjami win32 – no cóż, to nie może się podobać udziałowcom Intela. Na pewno za to jest zachwycająca dla Qualcomma i Microsoftu. Z jednej strony pozwoli firmie z Redmond efektywnie konkurować z chromebookami na procesorach ARM, z drugiej pozwoli wreszcie Qualcommowi wyjść poza ograniczenia narzucane przez smartfony.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.