Пресс-центр
Последние события и самая актуальная информация о деятельности Фонда инфраструктурных и образовательных программ.
13 ноября 2019

Компьютерные процессоры. Инженер Александр Дроздов об архитектуре фон Неймана, машине Тьюринга и процессорах общего назначения

Процессором называется центральное обрабатывающее устройство любой вычислительной системы. Основная часть вычислительных систем, использующихся в настоящее время, построена по архитектуре, которую предложил в 1940-х годах Джон фон Нейман. Сама эта архитектура, ее основа, — это цикл, обрабатывающий программу, которая находится в памяти вычислительной системы или вычислительной машины. Основные ее черты: адресация, управление и сам цикл выборки команды из загруженной программы и ее обработка в соответствии с этим процессом. Это и есть то, что реализует процессор любой современной вычислительной системы. Мы сейчас не берем в расчет архитектуры, которые называются нефоннеймановскими. Они развиваются, безусловно, но в настоящее время очень слабо распространены. Даже если какая-то архитектура называется нефоннеймановской, то, как правило, это просто реализация некоторой концепции на основе фоннеймановской архитектуры.

В свою очередь, в основе фоннеймановской архитектуры и вообще вычислительной техники лежит теоретическое понятие машины Тьюринга. Это идеальная машина, про которую существует гипотеза, никем не опровергнутая, в соответствии с которой эта машина может выполнить любой алгоритм, поступающий на вход этой машины. Причем неважно, какова архитектура вычислительной системы. Если мы говорим о том, что рассматриваем квантовые компьютеры, то есть компьютеры с безграничным параллелизмом на основе физического явления квантовой запутанности, то это тоже машина Тьюринга. В теоретической основе это машина Тьюринга, которая просто обладает свойством безграничного параллелизма.

Если мы говорим о развитии вычислительной техники и микропроцессоров — а это синонимы, потому что процессоры давно стали миниатюрными и название «микропроцессоры» стало стандартом отрасли, так же как и не электроника, а микроэлектроника, потому что интегральные микросхемы стали маленькими, компактными и приобрели приставку «микро», — то в начале развития индустрии вычислительной техники решались конкретные задачи, которые были необходимы. Например, тот же Тьюринг решал задачу дешифровки кодов. Под частные задачи строились большие и сложные вычислительные системы. Дальше эволюция шла, как и эволюция любой технической системы, в сторону универсализации. В какой-то момент был достигнут пик насыщения этой степенью универсализации, были созданы процессоры общего назначения, которые могли обрабатывать на единых принципах и на единой реализации подавляющую часть программ, которые в принципе должны были быть обработаны.

После насыщения и развития процессоров общего назначения на основе технологических наработок, которые связаны с технологиями проектирования и программирования, появилась возможность локализовывать, то есть таргетировать, вычислительные средства в сторону конкретных применений. Сейчас мы видим обратный процесс. Начиналось с единичных решений, потом пришло к универсальным решениям, а сейчас мы видим расцвет специализированных решений на основе новой технологической базы, которая была создана за это время. Это означает, что мы имеем много вычислительных средств, специализированных под конкретные нужды, такие как нейросети, обработка сигналов. Естественно, остались процессоры и общего назначения, мобильные устройства, интернет вещей. Это ведет к тому, что для каждого конкретного применения создается своя собственная микросхема со своим процессором, которая наиболее эффективно вычисляет именно эту задачу из этой конкретной узкой области.

Традиционно классификация микропроцессорных систем происходит в пространстве таких понятий, как элементная база, то есть то, из чего состоит нижний уровень реализации диода и транзистора. Сейчас доминирует кремниевая элементная база. Это архитектура самой системы, то есть ее логическое внутреннее устройство. Это области применения, то есть где конкретно она применяется. Это могут процессоры общего назначения, это могут быть процессоры графические, процессоры матричные. Безусловно, качественная характеристика — это такие характеристики, как скорость работы процессора и его энергопотребление. Это его радиостойкость: можно ли его использовать в условиях открытого космоса (что очень важно для космической индустрии)? Сейчас все больше рассматривают характеристики процессоров в меркантильном смысле, потому что это огромная индустрия, в ней больше 300 миллиардов оборота в год. Соответственно, присутствуют характеристики в пересчете на доллар: скорость в пересчете на доллар, или энергопотребление в пересчете на доллар, или некоторое эффективное требуемое соотношение производительности и энергопотребления опять же в пересчете на доллар. Сейчас идет мощная гонка за удешевление решений, потому что микросхема является основной составляющей почти любой техники, которая сейчас есть, и вносит один из важных вкладов в цену всего устройства. Даже если сама микросхема дешевая, на ее разработку и проектирование все еще тратятся очень большие деньги.

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

В настоящее время большие усилия тратятся на то, чтобы удешевить сам процесс разработки, сделать его предсказуемым и более дешевым с точки зрения ресурсов, которые он требует. Отсюда мы видим бурный рост технологий, в которые инвестируют крупнейшие компании мира. Это технологии проектирования и прототипирования микросхем, которые позволяют сделать вывод о том, удовлетворяет ли микросхема тем требованиям, для которых она создается, есть ли в ней ошибки, еще до того, как микросхема отправляется на фабрику, где она реально изготавливается. Потому что само изготовление на фабрике — это очень дорогая история. Соответственно, каждая итерация на фабрику отнимает много денег у тех, кто разрабатывает. Основная задача — минимизировать эти затраты и сократить время проектирования микросхем, потому что это тоже большие деньги. Если взять серьезную разработку, новую архитектуру процессора или новую систему команд, то этим занимаются коллективы от нескольких сот до тысяч человек. И это может длиться до десяти лет. Поэтому все эти процессы нужно и необходимо сокращать. И над этим как раз работают коллективы во всем мире, включая коллективы в крупных промышленных компаниях и университетах.

Одна из важнейших тенденций на сегодняшний день — появление систем команд процессоров в открытом доступе. То есть проектирование переходит в open source. Хорошим примером служит система команд процессора RISC-5 или RISC-V. Каждый может взять эту систему команд и реализовать на ней свое устройство, которое будет совместимо с любым другим устройством, реализованным на базе этой системы команд. В перспективе это существенно ускорит процесс разработки новых микросхем, потому что позволит переиспользовать наработки других людей. У разработчиков будет необходимость добавлять только свои черты в новую архитектуру или в новое решение, заимствуя при этом наработки других людей.

Если мы говорим про будущее микропроцессорной индустрии, то оно будет развиваться по трем главным направлениям: элементная база, оптимизация и архитектура процессоров. Если мы говорим про элементную базу, то мы сейчас видим, что развиваются квантовые компьютеры. Это компьютеры на основе квантовых технологий. Развиваются такие технологии, как мемристорные технологии и некоторые другие. Если мы говорим про оптимизацию, то это продолжающийся тренд, который уже сейчас очень сильно заметен. Это тотальная специализация микропроцессорных технологий под конкретные задачи. Новые архитектуры — актуальный тренд, потому что для специализированных применений нужны свои специализированные логические структуры внутреннего устройства микросхем.

Источник: Постнаука
Опубликовано: 12 ноября 2019
Автор: Александр Дроздов, д.т.н., руководитель лаборатории моделирования и проектирования архитектур специальных вычислительных систем МФТИ