Пионер Linux Линус Торвальдс — порядочный человек, который говорит то, что думает. Он не любит клише и умеет признавать ошибки, например, недавние проблемы с ядром Linux 4.8.
В конце сентября на конференции Linaro Connect, отвечая на вопрос о любимой процессорной архитектуре, он весьма удивил публику. Не моргнув, он ответил, что это х86, а не ARM.
На его ответ, вероятно, повлияла долгая история ПК на базе x86. Они не страдают от фрагментации программного и аппаратного обеспечения, все работает как надо.
Также, по мнению Торвальдса, люди слишком зациклены на наборе команд и ядре процессора. Фактически, «что важно, так это инфраструктура вокруг набора команд, а x86 имеет всю эту инфраструктуру… на разных уровнях. Она предоставляет возможности, которых нет ни в одной другой архитектуре».
Большая часть разработки программного обеспечения происходит на ПК с чипами Intel и AMD. Совместимость важна для чипов x86 и ПК из-за их унифицированной модели, основанной на аппаратном обеспечении, дизайне и других частях инфраструктуры.
Чего нельзя сказать об ARM. Для поставщиков оборудования это создает фрагментированный рынок, сказал Торвальдс.
«Совместимость не играет такой большой роли в экосистеме ARM, как это традиционно играет в экосистеме x86», — сказал Торвальд во время дискуссии, на которой присутствовали разработчики ARM.
ARM доминирует на рынке мобильных устройств, причем большинство устройств работают под управлением Android, основанного на ядре Linux. Но в экосистеме ARM существует большая фрагментация, что доставляет массу проблем как для поддержки, так и для самих устройств.
Одна из таких проблем: невозможно создать одну версию Android, которая будет устанавливаться на все мобильные устройства. Причиной этого являются разные конфигурации оборудования. Производители настраивают Android под свои чипсеты. Обновление Android невозможно установить на все мобильные устройства – в отличие от обновлений Windows для ПК.
Intel пыталась поставить чипы x86 в смартфоны, но затем отказалась от этих попыток. Помимо прочего, Intel хотела обеспечить возможность загрузки и установки обновлений Android на всех устройствах x86.
У ARM возникают проблемы с разработкой программного обеспечения для серверов. Чипсеты различаются по архитектуре, сетевым возможностям и возможностям ввода-вывода, поэтому программное обеспечение должно учитывать эти особенности. Это значительно замедляет внедрение ARM на серверах x86 не имеет проблем с совместимостью, поэтому продолжает доминировать на рынке серверов.
«Лично я очень разочарован ARM прежде всего как аппаратной платформой, а не как набором инструкций, хотя и там у меня были проблемы», — говорит Торвальдс. «Как аппаратная платформа это пока не очень хорошая вещь».
В детстве Торвальдс программировал 8-битный микропроцессор 6502 в машинном коде и очень любил эту архитектуру из-за ее конвейерных инструкций, что было редкостью в то время. Эта архитектура имела более высокую производительность чипа.
«Я хотел переехать в Acorn Archimedes… отсюда и название ARM», — говорит Торвальдс. «В свое время это была машина моей мечты».
Персональный компьютер Archimedes работал на первых чипах ARM RISC от Acorn Computer Group. ARM был создан как ответвление Acorn.
Торвальдсу понравился Archimedes, потому что он имел конвейерную функциональность в стиле 6502, что в сочетании с чипами ARM обеспечивало высокую производительность. Увы, найти этот компьютер ему так и не удалось.
Затем он купил «странный британский компьютер» Sinclair QL, который, по его словам, оказался даже менее успешным, чем Acorn Archimedes.
«Финляндия еще не была центром Вселенной», — говорит Торвальдс. «В итоге я усвоил урок: никогда не покупайте то, что не имеет инфраструктуры».