Не даёт мне покоя отсутствие технической информации по проекту Эльбрус-Б, о котором я писал недавно в статье «Процессор «Эльбрус-Б» — прорыв или афера?» и 2 года назад в статье «Новый процессор «Эльбрус-Б» по техпроцессу «65 нм» собираются создать за 3 года!». Из-за этого мозг пытается сам заполнить этот пробел, и выдаёт нагора всякую дичь.
В частности, я придумал, как выполнить некоторые перечисленные в докладе Евгения Бабаяна условия. Например, приближение эффективности использования аппаратуры к 100%, о чём написано у него в левом нижнем углу слайда:
Процессор новой архитектуры я назову Эльбрус-Э, где Э — Электромозг, конечно. Чем я хуже Евгения Бабаяна, назвавшего свой процессор Эльбрус-Б?
Проблемы современного Эльбруса
Процессор Эльбрус содержит до 16 вычислительных ядер. В каждом ядре находится по 6 АЛУ (арифметико-логических устройств) и ряд других вычислительных блоков. За 1 такт ядро может выполнить 23 различных команды одновременно. Но большинство обычных задач физически не могут быть описаны исходным кодом так, чтобы ежетактно загружать все 23 блока.
Более того, та же проблема стоит и перед аппаратными системами динамического распараллеливания у процессоров обычных суперскалярных архитектур, таких, как Intel или AMD.
АЛУ и другие блоки одного ядра в один момент времени могут загружаться только одной программой, а она не в состоянии загрузить их все одновременно. Нельзя отправить в одно ядро в один и тот же момент времени задачи от двух разных программ. В результате часть незагруженных АЛУ и других блоков ядра будут просто простаивать, что неэффективно. Достичь 100% эффективности на большинстве задач невозможно.
Как проблему решают в Intel?
Они просто взяли идею ARM 2011-го года, реализованную в процессоре для мобильных устройств Samsung Exynos 5 Octa ещё в 2013-м году, и реализовали её в своих десктопных процессорах 12-го поколения Alder Lake, которое было анонсировано в конце 2021 года.
Идея заключалась в объединении внутри одного процессора «лёгких» и «тяжёлых» ядер, т.е. энергоэффективных и мощных, содержащих больше АЛУ и меньше АЛУ. Таким образом, более сложные и хорошо распараллеливаемые задачи отправлялись на тяжёлое ядро, а более простые — на лёгкие. Эффективность использования аппаратуры возросла.
Более того, недавно Intel получила патент на формат процессорных ядер Software Defined Super Cores. Он описывает технологию объединения двух или более «лёгких» ядер CPU через программное обеспечение, чтобы они работали как единое целое для увеличения производительности.
Предполагается, что в будущем процессоре откажутся от тяжёлых физических ядер вообще, создавая их виртуально, когда это необходимо. Не исключено, что разработка ляжет в основу процессоров Titan Lake, которые планируются к выпуску в 2028 году.
Решение в Эльбрус-Э
Я предлагаю пойти дальше, и вообще отказаться от ядер, как таковых. Создать на кремниевой пластине безъядерные массивы АЛУ и других блоков, покрыв ими хоть всю её площадь. Кстати, о покрытии «одним ядром» всей площади пластины упоминал и Евгений Бабаян. Может, он именно это и имел виду?
Во время запуска программы на выполнение специальный диспетчер процессора считывает из её заголовка подготовленную компилятором языка (пусть это будет «Эль-25») информацию об оптимальной для этой программы конфигурации ядра и создаёт из массива аппаратных АЛУ и других блоков виртуальное ядро заданного размера в соответствии с этой информацией.
Более того, в перспективе размер ядра должен будет меняться динамически во время выполнения программы, подстраиваясь под ширину каждой сформированной команды. Тогда и эффективность подтянется до 100%.
Незадействованные программой АЛУ будут использоваться другими программами, запущенными параллельно, а оставшиеся будут вообще энергетически отключаться на время простоя.
Понимаю, что диспетчер такого процессора должен будет производить сложные и массированные манипуляции аппаратными узлами и каналами, сложность чего многим может показаться запредельной. Да, несомненно, нужно будет решить массу технических задач, и за два года, как обещал Бабаян, сделать этого не получится. Но лет за десять — почему бы и нет?
Заключение
Когда даётся информация, что невозможную проблему как-то решили, то мозг начинает искать варианты такого решения и внезапно может их найти. Читал я как-то фантастический рассказ в «Юном технике» или чём-то подобном о том, что учёным поставили задачу изобрести машину времени, хотя научно было доказано, что это невозможно.
Но задачу эту поставили на том основании, что, якобы, был пойман путешественник во времени, но он снова растворился в воздухе, сбежав в другое время. То есть, несмотря на научное доказательство невозможности, учёных убедили в том, что факт имел место быть. И они... изобрели таки машину времени, потому что поверили, что это возможно.
Но это так, пища для размышлений, просто вспомнилось...
На сегодня всё. Ставьте нравлики, делитесь своим мнением в комментариях и подписывайтесь на мой канал. Удачи! :-)