Новый метод проектирования микрочипов

-M52TvEZOX4_1

Исследователи разработали язык программирования, который позволяет контролировать огромные расходы, связанные с проектированием аппаратных средств.

«В то время как разработчик программного обеспечения может исправить ошибку программирования путем разработки и распространения патча, одного недостатка в дизайне чипа хватает, чтобы все продукты, содержащие его, были отозваны», — объясняет Кристиан Бэйдж (Christiaan Baaij), соискатель докторской степени.

В 2011 году такой конструктивный дефект обошёлся Intel в целый миллиард долларов.

«Очевидно, что процесс проектирования чипов, которые будут использоваться в оборудовании, требует обширного и цикличного тестирования. Это довольно дорогостоящее мероприятие, но в настоящее время — совершенно необходимое. Проектные расходы такой компании, как NVidia, составляют более миллиарда долларов в год».

В своей докторской диссертации Бэйдж описывает мировое производство микрочипов на протяжении многих лет. В 1985 году Intel выпустила 386 процессор, который имел 275 000 транзисторов. Теперь, в 2015 году, самый большой чип от NVIDIA содержит более 7 000 000 000 транзисторов. Удивляют производственные показатели: всего за тридцать лет, количество транзисторов в чипе выросло с менее чем миллиона до нескольких миллиардов. К сожалению, производительность разработки не возрастает с такой же скоростью. Разработчики чипов используют одни и те же методы проектирования микросхем в течение двадцати лет.

Функциональный язык программирования

Разработанный функциональный язык программирования для аппаратного проектирования позволяет формально доказать правильность проектных преобразований.

Эти преобразования заставляют чип работать быстрее. Исследователи смогли доказать, что они не оказывают влияние на характеристики чипа. Это означает, что, в отличие от традиционных методов, нет необходимости проверять и перепроверять все на каждой стадии процесса проектирования. В свою очередь, это показывает, что современные языки программирования делают более управляемыми сложность — и стоимость — проектирования микросхем. Один из важных элементов этого исследования включает в себя компилятор CλaSH, который преобразует описания аппаратного обеспечения, написанные на функциональном языке Haskell, в низкоуровневое представление. Затем стандартное программное обеспечение может создать чип из этого описания. Работа Бэйджа касается усовершенствования этого компилятора, позволяющего осуществлять автоматическую генерацию аппаратного обеспечения из абстрактного описания.

Интерес со стороны корпоративного сектора

Департамент уже представил свою работу корпоративному сектору, который проявляет большой интерес. В день функционального программирования, который прошел в университете Твенте в Нидерландах 9 января 2015 года и был организован ученым Яном Купером (Jan Kuper), приняли участие как значительное число ученых, так и очень много представителей корпоративного сектора. Были запущены совместные проекты с Incas и Нидерландской организацией прикладных научных исследований, а Центр высокопроизводительных вычислений Штутгарта (HLRS) очень заинтересован в разработке.

Тем не менее, Бэйдж заметил, что несмотря на заинтересованность, открытие было воспринято без энтузиазма.

«Многие компании недовольны тем, что им придется переучивать своих сотрудников, не говоря уже о связанных с этим проблемах . Функциональное программирование не является частью стандартной учебной программы. Но я полон надежд. Apple недавно разработала и представила мировому сообществу язык «SWIFT» — мультипарадигменный (в т.ч. функциональный) язык для разработки приложений. Зная Apple, можно быть уверенным, что в ближайшем будущем они начнут продвигать язык . Надеюсь, это значит, у нас скоро будет целая армия программистов, знакомых с функциональными языками, что позволит производителям чипов изменить технологию разработки».

Более подробная информация

Функциональный язык программирования был разработан в отделе компьютерной архитектуры для встраиваемых систем (CAES, профессор Джерард Смит (Gerard Smit) научно-исследовательского института при Университете Твенте. Руководил исследованием Ян Купер, который преподает в бакалавриате и магистратуре по направлениям «Теория вычислительных машин и систем» и «Встраиваемые системы» соответственно.

Докторские исследования Кристиана Бэйджа в пределах этого отдела касаются компилятора, преобразующего описание на языке Haskell в описание низкого уровня. Бэйдж защитил докторскую диссертацию «Цифровые схемы в CλaSH — функциональные спецификации и типонаправленный синтез» 23 января 2015.

Перевод статьи: «Massive chip design savings to be realized»