Подвинуть фон Неймана 2
Современные производители микропроцессоров ведут гонку за увеличение производительности. Первый вариант - повысить частоту службы чипа. Для этого требуется повысить усилие его питания, что при прочих одинаковых ведет к повышению нагрева. Другой маршрут - освоение больше тонких технологических норм, например, переход с 65 и 90 нм, используемых ныне лучшими фабриками, на 45 и 32 нм, но сиё требует многомиллиардных инвестиций. Существует и третий технологический процесс усилить производительность - абсолютно изменить архитектуру процессора так, чтобы он не действовал последовательно, как сейчас, а мог параллельно изготовлять море вычислений. Именно эдакий пускай предлагает команда разработчиков из Уральской архитектурной лаборатории под руководством Николая Стрельцова. На конкурсе в номинации "Белая книга" победил план уральцев "Создание процессорных архитектур с хранимым алгоритмом".
Выпускаемые в текущее время процессоры Intel, Sun, IBM, AMD базируются на архитектуре, разработанной научным работникам Джоном фон Нейманом ещё в серединке прошлого века. Она полагает хранение данных и программ обработки этих данных особняком от процессора, в памяти компьютера. Сам процессор способен осуществлять только ограниченный комплект инструкций, потому сложные расчеты требует представить в виде ряда более простых, понятных ему команд. Переводом программ, написанных на том или ином языке программирования (например, С++ или Fortran), в понятные процессору основные памятки (машинный код) занимаются особые
Подавляющее большинство сегодняшних процессоров может реализовывать инструкции лишь последовательно (конечно, разработчики решают эту задачу при помощи механизмов предсказания и параллельного выполнения данных, но они подходят не для всех программ). А вслед за тем выполнения инструкции процессор вынужден всякий раз осведомляться у программы в памяти, что совершать дальше с полученным результатом.
Разрабатываемый командой Стрельцова процессор сможет исполнять не только простые инструкции. За счет многоклеточной сетевой структуры, подсмотренной в активный природе, он сможет выделить каждой функции, каждому логическому переходу и ветвлению программы отдельную вычислительную клетку. После этого все ветвления и функции будут выполняться внутри самого процессора. Соответственно, туда же перекочует и память, хранящая программу. Процессор Стрельцова уже не несложно обрабатывает поток данных, а по сути дела исполняет перед этим второй период компиляции. Имея представление не об отдельных инструкциях, а об алгоритме в целом, он способен более действенно распараллелить его выполнение внутри себя.
Повышение производительности не одна выгода нового процессора. Как утверждает Стрельцов, процессоры с его архитектурой будет проще проектировать, их возможно динамически реконфигурировать. Повышение языкового уровня процессора сократит затраты на создание как компиляторов, так и программного обеспечения в целом.
Но предлагаемый подход имеет и перечень проблем. Главное, что при перенесении части функций компилятора вовнутрь процессора крайний оказывается зависимым от используемого языка программирования. По словам Николая Стрельцова, в наши дни уже обеспечена помощь классического языка C, но служба с его современным вариантом C++ занятие будущего.
Проект покуда лишь в самом начале. Программная модель (компьютерная программа, имитирующая службу процессора) нового чипа будет готова сквозь пару месяцев, а сроки его воплощения в кремнии в то время как нелегко более того, прогнозировать.
Фон Нейман, будь он нынче жив, скорее всего признал бы превосходства разработанной Стрельцовым архитектуры. Но поверят ли в ее перспективы здравствующие в настоящий момент мировые процессорные гиганты? Ведь выживают только параноики.
Опубликовано: 25 октября 2007