С высокой вероятностью, революционным прорывом в архитектуре процессоров будущего станет переход к трёхмерной структуре и использованию наноразмерных компонентов. Это позволит добиться экспоненциального роста числа элементов на кристалле. В настоящее время кремниевые технологии приближаются к своим физическим ограничениям, что побуждает учёных искать альтернативные решения. В качестве таковых рассматриваются клеточные автоматы, спиновые транзисторы, молекулярная логика, нанотрубочные транзисторы и ДНК-вычисления. Однако переход к нанотехнологиям ставит перед исследователями ряд сложных задач: интеграция наноэлементов в единую систему, обеспечение их питанием, организация межэлементной коммуникации, синхронизация работы элементов и, наконец, разработка интерфейса для обмена данными между макроскопическим миром и наноустройствами.
На сегодняшний день большинство перспективных альтернатив кремниевой логике находятся на стадии теоретической разработки или демонстрации принципиальной работоспособности в лабораторных условиях. Их практическая реализация сталкивается с указанными выше проблемами, отсрочив решение этих вопросов на неопределённый срок.
Вместе с тем, вдали от нанотранзисторов, развивается новая область нанотехнологии, изучающая самоорганизацию информационной основы жизни – молекул ДНК. Возможно, именно этой науке удастся задать новый вектор в дизайне наноустройств, ответив на основные остававшиеся без ответа вопросы.
Взяв цепочки молекул ДНК как шаблон, мы попробуем представить, как с их помощью будет выглядеть сборка нанодеталей в нанопроцессор, его «общение» с внешним миром. Задав размер элементов нанопроцессора, мы оценим его сравнительные характеристики и возможную архитектуру (вероятно, супермультиядерную), а также как он сможет изменить повседневную жизнь.
Оценка нанопроцессора
Основываясь на тенденции последних лет, можно сделать вывод, что основной задачей компьютера будущего останется хранение, доступ и обработка увеличивающихся объемов информации. Поток информации (кадры видео, сетевой трафик, данные измерений приборов) состоит из пакетов, которые нанопроцессор будущего должен успевать перерабатывать за время между пакетами.
Любая синхронная процессорная архитектура неизбежно сталкивается с технологическими ограничениями, в частности, с ограничениями частоты, так что дальнейшее повышение производительности становится возможным только благодаря параллельным вычислениям, то есть при увеличении количества ядер процессора. Поэтому задачи будущего неизбежно приведут к многоядерным процессорам.
Рассмотрим сравнительные характеристики предполагаемого нанопроцессора будущего и процессора сегодняшнего дня.
Ядро современного процессора имеет размер кристалла порядка 1 см3 и содержит около 108транзисторов [1]. Таким образом, на один транзистор приходится площадь порядка 1000×1000 нм.
Положим, что наш нанопроцессор будет иметь объем 1 см3 и состоять из плотно упакованных кубиков размером 10 нм. Количество таких кубиков составит 1018, что равнозначно 1010 процессорных ядер, каждое с линейным размерами ~5 мкм. По закону Мура такой процессор нас ожидает в достаточно отдаленном будущем – примерно через 33 года.
Конечность скорости света приводит к пределу частоты нанопроцессора в 30 ГГц (время между импульсами синхронизации 0,03 нс), что не так уж революционно по современным меркам. Однако в случае автономных микроядер нанопроцессора аналогичный предел может быть в 2000 раз выше.
Архитектура процессора
Чтобы не размещать в объеме лишние провода и тем самым сэкономить место, можно использовать свет, синхронизируя и питая элементы процессора световыми импульсами.
Принцип сборки нанопроцессора
Для сборки наноэлементов процессора в трехмерный кристалл можно использовать популярный подход нанотехнологии – самосборку. Из существующих на сегодняшний день подходов, на мой взгляд, наибольшей универсальностью и гибкостью обладает вариант, основанный на принципе комплементарности молекул ДНК.
Метод, основанный на данном принципе, называется ДНК-оригами. Он уже сегодня позволяет собирать довольно сложные структуры (в том числе и трехмерные). Для создания требуемого объекта используется длинная одноцепочечная ДНК вируса М13 и большое число коротких фрагментов, комплементарных разным частям длинной ДНК. При помещении длинной ДНК в раствор с короткими фрагментами, последние самопроизвольно связывают ее в заданную фигуру. Необходимые для формирования заданной фигуры короткие последовательности рассчитываются на компьютере, что позволяет получать самые причудливые формы. [2 – 4].
Кроме того, данный метод позволяет создавать заготовки, называемые тайлами, содержащие по краям в нужных местах липкие концы ДНК, необходимые для дальнейшего связывания тайлов друг с другом или с другими фрагментами. Такие заготовки могут быть использованы в качестве строительных блоков, из которых можно управляемо, как из деталей конструктора, строить достаточно сложные объекты. Было показано, что сборка тайловых ДНК-структур аналогична результатам работы клеточных автоматов.
Необходимо отметить, что в компании IBM тоже заинтересовались этой технологией для построения схем [6], и уже научились располагать объекты ДНК-оригами на литографически вытравленных подложках [7].
Сборка нанопроцессора из элементов
Описанные ДНК-структуры могут стать заготовками для деталей нанопроцессора. Среди них есть как объекты, напоминающие соединительные провода, так и структуры, напоминающие кубические ячейки, в которых можно разместить элементы нанопроцессора. Если «присоединить» к таким молекулам ДНК необходимые элементы процессора, то можно собрать из них нанопроцессор.
Предполагаемая последовательность сборки:
- Выбирается подложка для роста ядер процессора. Создаются одинаковые плоские ДНК-тайлы – основы для ядер процессора (~5мкм). Один такой «тайл-подложка» закрепляется, после чего можно последовательно «привязать» к его грани необходимое количество похожих тайлов, а потом собрать такие «полоски» в квадрат.
- К собранному основанию добавляются первые ДНК-кубики-элементы процессора, которые самоорганизуются в первый плоский слой логических элементов на ДНК-подложках для ядер.
- Добавляются ДНК-провода, соединяющие необходимые ДНК-элементы в каждом из ядер.
Пункты 2) и 3) повторяются шаг за шагом, наращивая слоями элементы процессора.
Подобная схема сборки позволяет использовать большое количество наноэлементов и менять от слоя к слою как правила соединения элементов, так и сами элементы.
Кроме того, специальными ДНК-фрагментами на каждом шаге можно соединять весьма отдаленные участки схем. Например, для корректировки наиболее типичных ошибок сборки. Если после n-й стадии сборки на поверхности строящегося ядра будут присутствовать «типичные ошибки», на следующем шаге для их коррекции можно будет вводить специальные блоки, которые узнают ошибочные тайлы по принципу комплементарности и либо исправят в последующих слоях, либо исключат ошибочные блоки из использования в расчетах.
Можно предложить еще один вариант коррекции самосборки кристалла нанопроцессора. Сначала собрать отдельные ядра процессора, отсеять ошибочные специальными комплементарными им ДНК-зондами, «детекторами ошибок», а готовые бездефектные ядра собрать в единый «кристалл».
Элементы процессора
Элементы-кубики процессора, «привязанные» к ДНК, могут быть любыми, под их особенности можно сконструировать схему. Каждый кирпичик этой схемы может представлять собой как отдельный транзистор, так и логический элемент или ячейку памяти. Также могут быть использованы и «альтернативные» элементы компьютера, например, клеточные автоматы. Этот подход открывает широкие возможности для самых разных модификаций элементов и схем их сборки. Вероятно, в будущем будут спроектированы элементы нанокомпьютера хорошо совместимые с такой архитектурой.
На сегодняшний день наиболее технически-правдоподобно применять предложенный принцип сборки нанопроцессора, используя закрепленные на каркасе ДНК-оригами нанотранзисторы и молекулярные нанопровода.
Проводами могут служить связанные в пучки органические молекулы с цепочками сопряженных двойных связей и концевыми функциональными группами, необходимыми для присоединения к деталям.
Транзисторами могут служить изогнутые полупроводниковые одностенные углеродные нанотрубки, с прикрепленными к ним молекулярными «проводами».
Источники энергии – нанофотоэлементы на квантовых точках или молекулы типа хлорофилла.
После сборки, под внешним воздействием (например, при облучении светом определенной длины волны) оказавшиеся поблизости концевые группы проводов соединятся, замкнув в цепь все элементы.
Компьютер: работа с информацией на наноуровне
Использование нанотехнологий в компьютере будущего поставит вопрос о способах записи и считывании информации на наноэлементы. Например, грань нанопроцессора может принять до 116 ГБ информации. Учитывая размеры бита 10 нм, нужно придумать способ записи и считывания информации, который также может пригодиться и для хранения информации на жестком диске компьютера будущего.
Как один из вариантов, можно «тайлы-подложки» нанопроцессора сделать в виде спиральных «нанорельсов», тогда по ним можно будет запустить ездить нанороботов, считывающих и записывающих информацию, находящуюся в нижележащих элементах.
Такой наноробот может быть создан, например, на основе «ездящей» по ДНК ДНК-полимеразы (скорость ~300 нм/сек [1]), как в работе [8]. После фотовозбуждения полимеразный наноробот начинает скользить по ДНК с некоторой определенной скоростью. Если в момент времени, когда наноробот проходит над нужным элементом, подать световой импульс, то он запишет в нижележащий элемент единицу (например, за счет FRET-взаимодействия между возбужденной квантовой точкой робота и находящимся под ним элементом), иначе элемент остается «нулем». Дойдя до конца рельса, наноробот соскальзывает. На пустое начало рельса, в ожидании следующей команды, самопроизвольно прикрепляется новый наноробот.
В качестве источника энергии движения наноробота могут выступать находящиеся в растворе молекулы АТФ, которые, опять же, могут синтезироваться фотохимически с использованием биомиметических нанотехнологий.
Считывание информации с такого процессора происходит похожим образом: если под нанороботом находится единица – он испускает кванты света. (Идея в измененном виде позаимствована из разработанного недавно метода определения последовательности ДНК: [9]). Чтение и запись происходит в разные ячейки, разделённые в пространстве.
Впрочем, необязательно записывать информацию в каждую ячейку, можно, чтобы один бит записывался одновременно в 10000 ячеек, а логика процессора сама определяла границы записанных битов. Таким способом можно будет быстро записывать в процессор маленькие порции информации. Для подобных приложений также можно представить иные схемы обмена информацией, например, используя нанопровода на основе GaAs/Al0.8Ga0.2As [10].
Преимущества и недостатки по сравнению c традиционными подходами
Описанный принцип самосборки позволяет гибко создавать компактные схемы, предоставляя возможность контроля ошибок. Фотопитание и фотосинхронизация элементов позволяют избавиться от лишних проводов и, упростив схему, более плотно разместить элементы компьютера в объеме.
Однако предложенная наноэлектроника характеризуется рядом существенных недостатков: повышенной помехочувствительностью, меньшей стабильностью органических макромолекул по сравнению с неорганическими, и, как следствие, малым сроком службы. В процессе конструирования предложенной схемы, вероятно, возникнет ряд других технических проблем, например, выбор малопоглощающих свет материалов процессора, отвод выделяющегося тепла и т.д.
Вполне вероятно, что в будущем альтернативные логические наносхемы, например, на неэлектрических молекулярных логических элементах или на синхронных клеточных автоматах, окажутся более совместимыми с таким дизайном нанопроцессора.
Рассмотренная схема обмена информацией между макроуровнем и наноустройством имеет то преимущество, что не требует сверхточного позиционирования сложных приборов, что позволяет обмениваться информацией с наноуровнем, используя технологически реальные средства коммуникации, не требующие сложных методов наноманипулирования. Этот метод, вероятно, не будет лишен ошибок, но используя помехоустойчивое кодирование информации можно добиться, как в современных оптических приводах, достаточной надежности коммуникации.
Перспективы практического использования
Принцип контролируемой самоорганизации процессора позволит значительно упростить и автоматизировать схему производства таких процессоров, что приведет к снижению цены на вычислительные ресурсы. По описанной выше схеме могут быть созданы как относительно медленные суперпроцессоры (например, обладающие гигантской разрядностью), так и сверхбыстрые супермультиядерные процессоры. Кроме того, подобная архитектура может быть использована для хранения данных, если часть элементов использовать как память, а часть как контроллер доступа к ней. Например, куб со стороной 1 см и элементами 10 нм сможет вместить до 1,16*108 ГБ информации, если оперировать объемами данных в двоичной системе счисления. Располагая огромной вычислительной мощностью в малом физическом объеме, такой нанокомпьютер оставит в прошлом огромные громоздкие суперкомпьютеры и сервера.
Описанный в работе компьютер будет иметь наибольшие перспективы в областях, связанных с большими вычислениями, с обработкой больших потоков информации: 3D моделирование (обработка кадров графики), распознавание образов, кодирование информации (сетевые технологии, мультимедиа).
Применение описанного в работе нанопроцессора приведет:
- к увеличению объема производства 3D анимации;
- к снижению стоимости компьютерных вычислений, в том числе, квантово-механического моделирования;
- к организации сетевых серверов вычислений (пользователи высылают задание- компьютер с нанопроцессором его обрабатывает).
Кроме того, появление мощных серверов, занимающих мало места, стимулирует бурное развитие сетевых технологий.
Такой компьютер будет очень полезен:
- при обработке огромных потоков информации от научных приборов в проектах, основанных на распределенных вычислениях (например, поиске внеземных цивилизаций в радиоэфире SETI@Home)
- в компьютерном моделировании и квантово-механических расчетах: быстром поиске новых лекарств, создании новых материалов
- в моделировании нелинейных процессов (прогноз погоды, взрыв), где требуется обработка больших массивов экспериментальных данных, в которых, чем больше точек измерений и параметров, тем точнее прогноз.
Недостатком предложенного нанопроцессора для рядовых пользователей будет необходимость перехода пользователей «обычных» компьютеров и мобильных устройств на закрытые алгоритмы шифрования, поскольку применяемые на данный момент открытые алгоритмы шифрования могут быть легко взломаны таким суперкомпьютером.
Кроме вышеописанных применений, вполне возможно будет создание искусственного интеллекта, поскольку кора головного мозга человека содержит порядка 15-30*109 нейронов [11], что «слабее», чем 1010 элементов более «быстрого» нанопроцессора.
Пример ДНК-компьютера
Экспериментальный протокол и реализация алгоритма сортировки на программируемом ДНК-компьютере
Учёные давно ведут эксперименты с хранением информации в ДНК и с обработкой этой информации. Например, учёные из Вашингтонского университета и Microsoft недавно построили «первый в мире DNA-винчестер». Эта конструкция способна впервые обеспечить запись и считывание информации в ДНК-хранилище без участия человека. Весьма значительное достижение, если учесть, что в ДНК можно записывать информацию с плотностью 2,2 петабайта на грамм. ДНК — компактный контейнер с плотностью записи в тысячи раз больше, чем у существующих носителей.
Экспериментальный ДНК-винчестер
Однако у всех существующих ДНК-систем есть проблема: всё это уникальные проприетарные разработки, у которых напрочь отсутствует какая бы ни было гибкость. Если сравнить с кремниевой техникой, то каждая группа исследователей с нуля разрабатывает новую архитектуру компьютера, для которого нужно писать новый софт. Но ситуация может измениться благодаря созданному недавно первому программируемому ДНК-компьютеру, разработанному в Калифорнийском университете в Дейвисе (UC Davis), Калифорнийского технологического института и Университета Мейнут.
Первый программируемый компьютер на ДНК описан в научной статье, которая опубликована 20 марта 2019 года в журнале Nature. Авторы показали, что с помощью простого триггера один и тот же базовый набор молекул ДНК способен реализовать множество различных алгоритмов. Хотя исследование представляет собой чисто лабораторный эксперимент, но программируемые молекулярные алгоритмы в будущем могут быть использованы, например, для пока невероятного программирования ДНК-роботов, которые уже успешно доставляют лекарства в раковые клетки.
«Это одна из знаковых работ в данной области, — говорит Торстен-Ларс Шмидт, доцент по экспериментальной биофизике в Университете штата Кент, который не участвовал в исследованиях. — Раньше уже демонстрировали алгоритмическую самосборку, но не до такой степени сложности».
В электронных компьютерах биты — это двоичные единицы информации. Они представляют собой дискретное физическое состояние базового оборудования, например, наличие или отсутствие электрического тока. Эти биты, или, скорее, электрические сигналы пропускаются через схемы, состоящие из логических элементов, которые выполняют операцию на одном или нескольких входных битах и производят один бит в качестве выхода.
Объединяя эти простые строительные блоки снова и снова, компьютеры могут запускать удивительно сложные программы. Идея ДНК-вычислений заключается в замене электрических сигналов химическими связями, а кремния — нуклеиновыми кислотами для создания биомолекулярного программного обеспечения.
Абстрактная иерархия архитектуры и практической реализации полной 6-битной логической схемы IBC (Iterated Boolean Circuit)
По словам Эрика Винфри, учёного из Калифорнийского технологического института и соавтора статьи, молекулярные алгоритмы используют естественные возможности обработки информации в ДНК, но вместо того, чтобы позволить природе взять бразды правления в свои руки, вычисления в ДНК производятся в соответствии с программой, написанной человеком.
За последние 20 лет было проведено несколько успешных экспериментов с молекулярными алгоритмами, например, для игры в крестики-нолики или сборки молекул различной формы. В каждом случае требовалась тщательная разработка последовательности ДНК, чтобы выполнить один конкретный алгоритм, который будет генерировать структуру ДНК. В данном случае отличие состоит в том, что исследователи разработали систему, в которой одни и те же базовые фрагменты ДНК могут быть упорядочены для создания совершенно разных алгоритмов — и, следовательно, получения совершенно разного результата.
Процесс начинается с техники ДНК-оригами, то есть складывания длинной цепочки ДНК в желаемую форму. Этот сложенный кусочек работает как seed, который запускает алгоритмическую сборочную линию. Seed остаётся практически неизменным, независимо от алгоритма. Для каждого эксперимента в него вносят лишь небольшие изменения в несколько последовательностей.
Перепрограммирование логической схемы
После создания «семени» оно добавляется в раствор с сотней других нитей ДНК, известных как ДНК-плитки (DNA tiles). Учёные разработали 355 таких плиток. У каждой уникальное расположение азотистых оснований. Соответственно, для каждого алгоритма исследователи просто выбирают другой набор стартовых плиток. Поскольку эти фрагменты ДНК соединяются в процессе сборки, они образуют схему, которая реализует выбранный молекулярный алгоритм на входных битах, предоставляемых «семенем».
Используя эту систему, исследователи разработали и проверили 21 алгоритм для выполнения таких задач, как распознавание деления на три, выбор лидера, генерация паттернов и счёт с 0 до 63. Все эти алгоритмы реализованы с использованием различных комбинаций одних и тех же 355 плиток ДНК.
Конечно, непросто писать код, сбрасывая в пробирку фрагменты ДНК, но если автоматизировать процесс, то будущим молекулярным программистам даже не придётся задумываться о биомеханике, как сегодняшним программистам необязательно понимать физику транзисторов, чтобы писать хорошие программы.
Список использованных источников.
- На основе результатов поиска в Гугл
- P.W.K Rothemund. “Folding DNA to create nanoscale shapes and patterns” // Nature, 2006, v. 440, p. 297-302.
- E. Pound, J. R. Ashton, H.A. Becerril, A.T. Woolley. “Polymerase Chain Reaction Based Scaffold Preparation for the Production of Thin, Branched DNA Origami Nanostructures of Arbitrary Sizes” // Nano Letters, 2009, v. 9 (12), p. 4302-4305.
- E.S. Andersen et al. “Self-assembly of a nanoscale DNA box with a controllable lid” // Nature, 2009, v. 459, p. 73-76.
- K. Fujibayashi et al. “Toward Reliable Algorithmic Self-Assembly of DNA Tiles: A Fixed-Width Cellular Automaton Pattern” // Nano Letters, 2008, v. 8 (7), p. 1791-1797.
- “IBM Scientists Use DNA Scaffolding To Build Tiny Circuit Boards”, цитата по сайтуibm.com
- R.J. Kershner et al “Placement and orientation of individual DNA shapes on lithographically patterned surfaces” // Nature Nanotechnology, 2009, v. 4, p. 557-561.
- “Nanobot lets DNA legs do the walking”, цитата по сайту www.newscientist.com
- J. Eid et al. “Real-time DNA sequencing from single polymerase molecules” // Science, 2009, v. 323(5910), p. 133-138.
- Nicholas A. Melosh, Akram Boukai, Frederic Diana, Brian Gerardot, Antonio Badolato, Pierre M. Petroff, and James R. Heath “Ultrahigh-Density Nanowire Lattices and Circuits”
- // Science 300 (5616), 112.
- P. Pelvig, H. Pakkenberg, K. Stark, B. Pakkenberg. “Neocortical glial cell numbers in human brains” // Neurobiology of aging, 2008, v. 29 (11), p. 1754–1762. Цитата по http://en.wikipedia.org/wiki/Brain
- Википедия: «Жизнь (игра)» http://ru.wikipedia.org/wiki/Жизнь_(игра)
В статье использованы материалы: Архив работ молодых ученых
Авторы: Бидыло Тимофей Иванович, Анатолий Ализар @alizar
Источники: http://www.nanometer.ru/, https://habr.com/