Під час Computex Microsoft і Qualcomm посилалися на емуляцію x86 у Windows 10 ARM, що викликало відповідь від Intel. Ми звертаємося до них і проводимо розслідування.
У грудні 2016р Qualcomm і Microsoft оприлюднили новини про те, що вони збираються зробити те, чого багато хто з мобільних пристроїв не очікував: Ще одна спроба змусити Windows працювати на процесорі ARM. Але подібність між цією новою спробою та попередніми, затьмареними випуском Windows RT, швидко була забута.
Під час того самого оголошення Windows випустила технічну демонстрацію на YouTube, яка показує, що вже можна мати «звичайну» Windows. Це не були програми, які були перекомпільовані з використанням початкового набору інструкцій ARM, а замість цього 32-розрядні програми (наприклад, Photoshop), які працювали та поводилися належним чином у процесі робочого столу, але цього разу увімкнено Snapdragon.
Те, що спонукало нас до цієї подорожі, було a останній запис у блозі Intel минулого тижня, рекламуючи свою 40-річчя архітектури Intel. Що привернуло увагу більшості новин, так це те, що було сказано в кінці запису в блозі (виділення наше):
«Однак були повідомлення про те, що деякі компанії можуть спробувати емулювати пропрієтарний x86 ISA Intel без дозволу Intel. Емуляція не є новою технологією, і Transmeta була, зокрема, останньою компанією, яка стверджувала, що випустила сумісний процесор x86 за допомогою методів емуляції («перетворення коду»). Intel посилила патенти, пов’язані з удосконаленнями набору інструкцій SIMD проти реалізації Transmeta x86, навіть якщо вона використовувала емуляцію. У будь-якому випадку Transmeta не була комерційно успішною, і вона вийшла з мікропроцесорного бізнесу 10 років тому.
Лише час покаже, чи зміниться доля нових спроб імітації Intel x86 ISA. Intel вітає законну конкуренцію, і ми впевнені, що мікропроцесори Intel, які були спеціально оптимізовані для реалізації Intel x86 ISA протягом майже чотирьох десятиліть, забезпечить дивовижний досвід, узгодженість між програмами та повний спектр споживчих пропозицій, повну керованість та ІТ-інтеграцію для підприємства. Проте ми не вітаємо незаконне порушення наших патентів і повністю очікуємо, що інші компанії продовжуватимуть поважати права інтелектуальної власності Intel. Сильний захист інтелектуальної власності дозволяє Intel продовжувати інвестувати величезні ресурси необхідні для вдосконалення динамічної ISA x86 від Intel, і Intel зберігатиме свою пильність, щоб захистити свої інновації та інвестиції».
Час для цього запису в блозі швидко пов’язав це з подальшими оголошеннями під час Computex 2017 на Тайвані кілька тижнів. Спочатку здається дивним, що Intel так довго чекала, щоб зробити те, що, на думку більшості, було попереджувальним пострілом у бік Qualcomm і Microsoft. Запис у блозі залишив його досить розпливчастим, щоб його неможливо було безпосередньо пов’язати з партнерством Qualcomm і Microsoft. Після пошуку жодні інші нещодавні обговорення емуляції x86 не виправдали цієї відповіді. Це лише ще більше підкреслило, хто був ціллю юридичної команди Intel - Qualcomm і Microsoft. Це залишило у нас багато питань. У ході дослідження цієї статті було отримано відповіді на деякі питання, і ми їх розглянемо. Але є питання, які також залишаються без відповіді, як з початкового запиту, так і зараз в результаті інформації, наданої всіма трьома сторонами. Ми цінуємо той факт, що всі три компанії – Intel, Qualcomm і Microsoft – охоче відгукнулися на наші запити.
Windows 10 ARM підтверджено
Одним із перших запитань, на яке, природно, потрібно було відповісти, було зрозуміти, чим є ця версія Windows, а чим ні. На щастя, корпорація Майкрософт надала нам посилання на відео, опубліковане під час Build 2017, у якому детально описано велику частину цієї інформації:
https://channel9.msdn.com/Events/Build/2017/P4171/player
Оскільки на момент випуску лише кілька сайтів висвітлювали це питання, воно, здається, пройшло поза увагою багатьох. Це пропонує нам кілька моментів, найважливішим з них є те це безумовно повноцінна Windows 10 ARM. І очевидно, що Microsoft прийняла близько до серця проблеми, з якими зіткнулася Windows RT, зокрема неможливість запуску програм x86 на платформі. Новий підхід пропонує вирішення цієї проблеми за допомогою того, що описано як у відео, так і в попередніх прес-релізах Емуляція x86 через рівень Windows на Windows, що є частиною, яка привернула увагу Intel. Але чи справді це емуляція x86? Давайте подивимося на слайд у відео, який розбиває це для нас.
Оскільки Intel відмовилася від посилання на Transmeta у своєму записі в блозі, давайте повернемося до Стаття ArsTechnica про ЦП у 2000 році. Після огляду обох варто відзначити, що між ними є дуже реальні подібності та відмінності. У випадку Transmeta та її процесорів Crusoe робота цих процесорів полягала в основному в тому, щоб запускати рівень програмного забезпечення в процесорі під назвою Морфінг коду. Цей рівень програмного забезпечення, набагато нижче рівня додатків і навіть рівня ядра, є тим, що перетворює набори інструкцій x86 в апаратні команди, які може виконувати Crusoe.
Важливо також відзначити, що кінець Transmeta на ринку x86, можливо, був нізустрічний позов Intel проти Transmeta у 2007 році. Transmeta, ймовірно, ініціювала зустрічний позов, намагаючись подати до суду на Intel за порушення прав інтелектуальної власності; до того часу Intel залишила їх у спокої. Вихід Transmeta був a рішення його правління що він більше не життєздатний, натомість зосередився на своїй інтелектуальній власності, щоб залишитися в бізнесі.
У випадку Qualcomm і Microsoft не здається, що це робиться на рівні машинних інструкцій. Натомість те, що тут відбувається, схоже на використання 32-розрядних програм у 64-розрядній операційній системі. У випадку з 32-розрядними програмами на 64-розрядній операційній системі Microsoft інвестувала час і ресурси для створення межа, яка дозволяє безперебійно працювати 32-розрядним програмам у 64-розрядній операційній системі - це називається Windows на Windows або WOW. У випадку ARM була створена така сама межа; головна відмінність полягає в тому, що замість виконання відповідних інструкцій x64 використовується набір інструкцій і рівень ARM64. Коли ці переклади відбуваються, Windows кешуватиме копію цього або в пам’яті, і/або в оперативній пам’яті для подальшого використання в майбутньому, зменшуючи накладні витрати на подібні виклики пізніше.
«Особливий соус» CHPE DLL
Виконання цього для всіх можливих інструкцій займе багато накладних витрат - насправді це одна з речей, з якою Crusoe боровся в тестах продуктивності. Ми також бачили це у спробах емулювати операційні системи x86 за допомогою таких проектів, як QEMU. Корпорація Майкрософт додатково вирішує це за допомогою того, що вони називають компільованими гібридними портативними виконуваними файлами DLL (CHPE). Щоб зрозуміти це, потрібно багато читати, і одним із місць, з яких можна почати, було б Технічний документ із специфікацією формату файлу PE. Поточна версія містить інформацію спеціально для ARM64 і запропонує програмістам і тим, хто бажає глибше зрозуміти цю внутрішню роботу, гарною відправною точкою. У двох словах, багато критичних викликів API, які допомагають працювати Windows, були попередньо скомпільовані для ARM64, щоб замість того, щоб їх перекладати, вони могли працювати з майже повною продуктивністю.
Бачачи роботу, яку Microsoft вклала в це, співпрацюючи з Qualcomm і їхнім процесором Snapdragon 835, стає зрозуміло, що Microsoft має намір виправити помилки, які так багато відчували щодо Windows RT, і показати, що вони нарешті можуть запровадити Windows 10 ARM у спосіб, який працюватиме для більшості споживачів. І це цілком логічно з однієї точки зору — абсолютна потреба отримати максимальну продуктивність за мінімального використання батареї. У той час як Intel досягла значних успіхів на цій сцені, ARM – і особливо Qualcomm – встановили еталон балансу між продуктивністю мобільних пристроїв і потребами мобільності. Qualcomm може запропонувати повний пакет, який включає радіо, дисплей, процесор, графіку, і все одно вдається це зробити, пропонуючи вражаючий час автономної роботи.
Єдине, чого не було у Qualcomm, це можливість додати підтримку обробки за допомогою Thunderbolt. За іронією долі, власна спроба Intel щоб допомогти розвивати та поширювати технологію цілком може закінчитися використанням у конкуренції проти нього. Мобільний пристрій на базі ARM, наприклад планшет, із можливістю повного інтерфейсу та використання додаткових ресурсів через док-станцію, безумовно, додасть конкуренції не лише в цьому конкретному сегменті, а й в інших частинах персональних комп’ютерів ринку.
Qualcomm, Microsoft і Intel відповідають
Корпорація Майкрософт і Qualcomm зацікавлені в тому, щоб це вдалося – і вони безперечно вірять, що персональні комп’ютери є частиною ринку, яка дозріла для конкуренції. Коли ми звернулися до Qualcomm за коментарем, представник Qualcomm відповів наступним чином:
«Враховуючи наше нещодавнє оголошення з ASUS, HP і Lenovo, ми визнали блог, який один із наших конкурентів опублікував 8 червня, дуже цікавим. Ми з нетерпінням чекаємо запуску постійно підключеного ПК з Windows 10 на базі платформи мобільних ПК Qualcomm Snapdragon 835 пізніше цього року. Як було продемонстровано на Computex 2017 спільно з Microsoft, платформа для мобільних ПК Snapdragon 835 забезпечує справжнє завжди підключений комп’ютер із підтримкою підключення до гігабітного LTE та цілий день автономної роботи для елегантного, тонкого й безвентиляторного конструкції. Це змінить майбутнє персональних комп’ютерів».
Подібним чином представник Microsoft надав заяву на додаток до посилання на відео вище:
«Є користувачі, які потребують постійного підключення до хмари, використовуючи новітні мережеві технології, такі як гігабітний LTE та eSIM. Microsoft співпрацює зі своєю екосистемою над спільним баченням, яке починається з тісного партнерства в кремнієвий шар, з Intel і Qualcomm, а також з її партнерами-операторами мобільного зв’язку, щоб забезпечити безперебійну eSim підключення. Партнери Microsoft із пристроїв, зокрема ASUS, HP, Huawei, Lenovo, VAIO та Xiaomi, віддані цій новій категорії комп’ютерів Always Connected, які використовують технологію eSim.
Крім того, пристрої Always Connected будуть надходити від ASUS, HP і Lenovo на чіпсеті Qualcomm Snapdragon 835. Ці нові пристрої будуть оснащені Windows 10 із постійним підключенням LTE і великим часом автономної роботи».
Відповідь Intel була такою ж стриманою, як і її запис у блозі. Від представника Intel:
"Intel поважає права інтелектуальної власності, і ми очікуємо, що інші будуть робити те саме. Технологія x86 є запатентованою та центральною для нашого бізнесу, і ми хвилюємося, коли з’являється враження, що інші копіюють її неналежним чином. Ми ретельно оцінюватимемо будь-які продукти, які стверджують, що імітують технологію x86, і суворо забезпечуватимемо наші права інтелектуальної власності, якщо вважатимемо, що вони порушені».
Аналіз і висновок
Це дуже гарний танець, який ці троє виконують. І в той же час, враховуючи, що чутки ходили ще в листопаді минулого року - за кілька тижнів до оголошення на WinHEC - здається дивним, що Intel не знала про це до Computex, незалежно від того, визнають вони це публічно чи ні. У той же час історія (наприклад, Transmeta Crusoe і WoW64) показує, що з юридичної точки зору не так багато, щоб оскаржити це. Але в той момент, коли хтось скидає слова «емуляція x86», наприклад те, що робили Microsoft і Qualcomm до Computex, це лише питання часу, коли достатньо стурбованих голосів і акціонерів вимагатимуть від Intel відповіді на це.
Чи змінить це проект, над яким працюють Microsoft і Qualcomm? Я звернувся до Аншеля Сага, помічника аналітика Moor Insights & Strategy, щоб дізнатися його думки щодо цього. (Примітка учасника: пан Саг, як галузевий аналітик, також дуже допоміг досягти потрібних людей для своєчасної відповіді Intel, Microsoft і Qualcomm.) Його відповідь:
«Судячи з відповіді, яку я бачив від Qualcomm, не здається, що вони анітрохи не стурбовані коментарями Intel. Microsoft, звичайно, нічого не сказала через їхні тісні стосунки з Intel, які, я вважаю, це дещо напружує. Я вважаю, що конкуренція завжди корисна для ринку, і я вважаю, що Microsoft також вірить у це».
Успішний запуск Windows 10 ARM становить ризик для Intel у той час, коли вона стикається з посиленням конкуренції в інших сегментах свого бізнесу. Як у нас охоплено також Computex AMD збирається наростити рівень і випустити серверні процесори Epyc на основі архітектури Zen. Його споживча лінійка, Ryzen, також збирається продовжити конкуренцію, розширившись як на настільні комп’ютери високого класу, так і на мобільні пристрої. Конкуренція ARM64, така як Qualcomm, безсумнівно, кине виклик його сегментам вбудованих пристроїв, Atom і Core M.
У той же час, коли вони виділили «Завжди підключені» пристрої, ми бачили, що Microsoft підкреслила свої зусилля щодо розвитку пристроїв змішаної та доповненої реальності, таких як їхні власні HoloLens. Я не переконаний, що ні Microsoft, ні виробники напівпровідників ARM, такі як Microsoft, збираються зупинятися на цьому. NVIDIA, наприклад, зараз досить добре сидить у своєму портфоліо Tegra між ініціативою щодо безпілотних автомобілів і угодою з Nintendo, що живить Switch. Хоча запит до NVIDIA не свідчив про те, що на горизонті щось є, я б зовсім не здивувався, якщо б NVIDIA також розглянула можливість повторного входу. Він легко може запропонувати пристрій на базі Tegra X1 або X2 - і він, безумовно, може запропонувати графічну потужність для керування дисплеєм, встановленим на голові.
Запитуючи пана Сага на цю тему, можна припустити, що ми не самотні:
«Я абсолютно вірю, що це може вийти за рамки «Завжди підключених» ПК, які були анонсовані на Computex. Ми вже бачили, як смартфони Microsoft з Windows 10 використовують ARM, що, на мою думку, стало основою для цього розвитку ПК. Я також вважаю, що як програми та екосистема зростають, ми можемо побачити гарнітури AR/MR/VR з процесорами ARM під управлінням Windows, що, на мою думку, є частиною довгострокової стратегії Microsoft домінувати над Ринок AR/MR/VR. Я не вірю, що Hololens буде єдиною окремою гарнітурою для Windows Mixed Reality, і я вірю, що ми побачимо гарнітури з ARM».
Я повторював це знову і знову – 2017 рік швидко стає роком посилення конкуренції на ринку ПК. І враховуючи, що в багатьох із цих сегментів цього було так мало, прикро, що Intel нестиме на себе основний тягар через їхні минулі успіхи. Але те, що втратила Intel, безсумнівно, буде виграшем для інших, особливо споживача. І це завжди добре.
Що ви думаєте про Windows на процесорах ARM? Як це змінить екосистеми настільних ПК, ноутбуків і мобільних пристроїв? Звук нижче!
Оновлення 16.06.17, 22:51 за східним часом: виправлено кілька граматичних змін і виправлено назву однієї компанії (вказано в коментарях). Дякуємо за попередження!