«Камо грядеши?» в кремнии. О процессорах и путях, которые мы выбираем

10 декабря 2015, 16:52
Мне много раз уже писали (кричали, презрительно бросали через губу), что у меня в отношении «российской школы процессоростроения» (детища гр. Бабаяна Б.А.), - голое критиканство, и что я все равно не могу предложить ничего лучшего

Мне много раз уже писали (кричали, презрительно бросали через губу), что у меня в отношении российской школы процессоростроения (детища гр. Бабаяна Б.А.), - голое критиканство, и что я все равно не могу предложить ничего лучшего, чем уже состоявшийся путь развития (приведший отечественные процессоры в концептуальный тупик, не оставляющий шансов на дальнейший рост производительности, но об этом ниже). Я, признаться, думал, что господа патриоты и государственники немного лучше разбираются в теме, по которой пытаются спорить, и мне казалось, что все настолько очевидно, - как надо было , что и говорить не о чем, и это просто истерика. Однако, это оказалось не так, - и мне придется потратить час времени и потыкать патриотов носом.

Скажите, вы слышали что-нибудь про архитектуру MIPS? Нет, не надо кидаться в гугл, не слышали. И про SPARC/Ultra SPARC тоже нифига не знаете, даже не пытайтесь возражать. Так вот, докладываю: компания МЦСТ это, есличо, Международный центр SPARC-технологий . Потому что в середине 90-х именно SPARC v.8 была выбрана в качестве базовой архитектуры будущего российского процессора. Почему? Ну, полагаю, что из-за своей простоты и небольшого числа транзисторов, из-за нетребовательности к техпроцессу и дешевизны лицензии. И, надо признать, что первые отечественные процессоры получились быстро и с вполне ожидаемыми параметрами. Что дальше? А дальше всё, приехали. IPC (не путать с теоретической параллельностью!) даже для Ultra SPARC v.9 примерно никакая, так что несмотря на приличные, казалось бы, частоты, - итоговая производительность не радует (кстати, именно поэтому компания SPARC и сошла со сцены, - ее процессоры застряли на уровне начала 90-х).

Собственно, самым быстрым в мире на сегодня процессором SPARC является МЦСТ R1000 который при проектной норме 90нм имеет производительность 8GFlops, что примерно соответствует четырехядерному процессору Intel Atom N3540 (в маркетинговых целях его перекрестили в Pentium N3540, но у него нет внеочередного исполнения, так что какой же он Pentium? Смех один...). Ну, сами понимаете, что сегодня это самый-самый-самый lowend потребительского рынка. Конечно, такой производительности для всякого военного и встроенного применения хватает, но и только. Усугубляет проблему R1000 и древний интерфейс, с крайне ограниченной ПСП (6,4 Gb/c против 21,32 GB/s), и недостаточный размер кэша, так что в алгоритмах с несложным счетом он еще и в память упирается.

Развивать эту концепцию дальше смысла уже просто не было, - да и было ли это в планах, кроме как на сайте МЦСТ? Не знаю, но рискну предположить, что одним из факторов выбора заведомо тупиковой архитектуры был запланированный тупик отечественных процессоров , прорыв из которого состоялся на припасенном в рукаве принципиально другом, фактически анти-SPARC принципе, - сверхшироком (VLIW) низкочастотном процессоре явного параллелизма и чудовищной IPC, каковой принцип унаследован из еще советских разработок. Тогда, из-за глобального отставания российской микроэлектроники частоты были никакие, вот и придумали делать компьютеры (серии Эльбрус) более широкие, чем быстрые . При этом надо четко понимать, что сверхширокий и низкочастотный , неразрывно и двунаправленно связанные параметры, - огромной сложности схема с явным параллелизмом на 25 команд просто не разгоняется из-за проблем синхронизации, даже когда компоненты/техпроцессы, вроде бы, уже и доступны.

В итоге мы имеем на сегодня Эльбрус-4С, который с миллиардом транзисторов примерно вдвое (теоретический максимум 25Gflops, - и это не считая сложностей достижения этого максимума на системах с таким уровнем параллелизма) медленнее уже устаревшего Core2Quad (42-47Gflops измерено на практике), причем, процессор Intel еще и вдвое меньше транзисторов имеет. Собственно, на этом все, - чудовищный Эльбрус-8С с почти тремя миллиардами транзисторов представляет собой экстенсивный перепил дизайна и максимум что может дать, с учетом новой частоты, на новом техпроцессе 70-80Gflops, вряд ли больше (обещают 125, но я не верю, потому что это арифметический расчет теоретического предела. Если из сотни в реальных тестах выберется, - чудо будет). На этом, собственно, все. Дальше расти Эльбрусам просто некуда, а многосокетные системы на них... Ну, наверное, кто-то им может найти применение. Если денег не считать.

Существует ли другой путь, коль скоро титаны Intel и AMD не горят желанием лицензии продавать? Еще как существует, и любой серьезный IT специалист про него знает. По этому пути пошел Китай.

Что же наши друзья из Китая? А наши друзья из Китая не стали придумывать способы как обхитрить самих себя два раза, и как изобретать велосипеды. Они с конца 90-х взялись за архитектуру MIPS, известную, как раз, довольно короткими конвейерами и высокими значениями IPC. И уже через пару лет показали процессор Godson-1 архитектуры MIPS32. Простенький камешек, работающий, однако, на частоте 200MHz и показывающий производительность больше, чем вышедших в то же время российских R100 и R150. А потом понеслось, - через год появился 64-разрядный (MIPS-III 64-bit) Godson-2, работавший в два раза быстрее, за четыре года его раскрутили до 1200MHz получив в 2007 году вполне путный десктопный процессор, сопоставимый по производительности с Pentium4 с частотой 2.4GHz, - но потребляющий всего 5 (пять!) ватт.

А потом китайцы перешли на MIPS46 (заметьте, - они снова не разрабатывали архитектуру, а просто лицензировались (через STMicroelectronics) и прикладывали дизайн на техпроцесс, что на порядок быстрее и дешевле), и уже в 2012 году имели полуторагигагерцовый процессор Godson-3c с 16 ядрами, примерно двумя миллиардами транзисторов и суммарной производительностью 512(!)GFlops. По 32Gflops на ядро, в смысле. Это, конечно, серверный топ, но десктопные процессоры этой архитектуры с меньшим количеством ядер и частотой в один гигагерц показывают вполне достойную производительность при достаточно умеренном потреблении (15 ватт для гигагерцового четырехядерного Loongson 3A с производительностью около 80Gflops). Это, напомню, в 3+ раза быстрее, чем текущий российский топ Эльбрус-4С.

Про самые новые китайские процессоры Loongson информации пока мало, но некоторые публикации говорят, что они показывают с четырьмя ядрами уровень производительности в 170-180GFlops, что несильно меньше интеловских топов, - и это при кратно меньшем потреблении энергии. Собственно, никакого чуда тут нет, - им же не надо волочить за собой чудовищный хвост совместимости с процессорами и решениями полувековой давности, так что ничего волшебного.

ИТОГО: китайцы с нуля за двадцать лет заполучили современные микропроцессоры мирового уровня, практически без технологического риска, и сдается мне, что существенно дешевле, чем нам Эльбрусы обошлись. И у них перспектива открыта, - а мы опять в тупике. Как из него выбираться? Перестать, наконец, ходить своим путем , и отлицензировать ту же современную MIPS64. Люди, способные запустить трехмиллиарднотранзисторный Эльбрус-8С на 1300 мегагерц (тот же МЦСТ), - года за 2-3 сделают и десктопные MIPS64 камни на 100+ GFlops и серверные на 500+. Если, наконец, начать ехать по дороге, а не продираться через суверенные буераки VLIW, потому что это традиция такая, предки так ездили .

P.S. В России сегодня тоже разрабатываются процессоры архитектуры MIPS32 и даже -64, но это крохотные низкочастотные (от 33 до 150 MHz) счетчики для встраиваемого и военного применения. Слово Гигафлопс в их присутствии произносить невежливо. Плакать будут. :D