Мне нравится идея Хибса о «проглатываемом хирурге», однако по-настоящему она получит развитие лишь тогда, когда мы научимся изготавливать очень маленькие устройства, которые могут стать промежуточным этапом на пути создания самых крошечных машин, которые я в названии этой беседы назвал «инфинитезимальными», то сеть бесконечно малыми.
20.7. Изготовление точных изделий грубыми инструментами
При любом разговоре о малых и сверхмалых машинах или устройствах неизбежно возникает проблема точности их изготовления. Стремление к миниатюризации очень быстро сталкивается с границами точности механической обработки деталей. Именно точность обработки (класс точности, как говорят инженеры) определяет реальную ценность устройства. Бессмысленно создавать изделия просто меньшего размера из деталей с низким классом точности обработки поверхностей, так как «шатающиеся» подшипники и неточно подогнанные болты не позволят производить высококачественные детали.
Вопрос о точности заставляет нас задуматься об очень сложных проблемах. Например, в этой связи уместно напомнить, что вся история человечества связана с прогрессом в точности обработки предметов и изделий. Когда первобытные люди впервые начали применять орудия труда и охоты, в их распоряжении были лишь палки и камни, но уже тогда наши предки инстинктивно старались подбирать прямые и длинные палки или более округлые камни, которыми было удобнее пользоваться. Никакой точности обработки не существовало и в помине! Всю дальнейшую историю люди старались сделать свои инструменты совершенными и эффективными, благодаря чему мы сейчас живем среди множества высокоточных, ценных и полезных предметов.
С чего следует начать развитие сверхмалых машин? Каким образом мы обеспечиваем точность изготовляемых изделий? Любой слесарь и механик прекрасно понимает это, но лишь до тех пор, пока речь идет о крупных изделиях. Наши первобытные предки начинали обработку с того, что били камни друг об друга, стараясь придать им более правильную и удобную форму. Отмечу, что, расколов камень на две части, вы получаете куски, которые хотя бы примерно подходят друг к другу, то есть их впадины и выпуклости имеют какие-то соответствия. Попробовав достаточно долго «тереть» куски камня друг об друга, каждый может получить почти ровные, очень гладкие, притертые поверхности. Когда я был мальчишкой, мы с друзьями в Бостоне любили полировать кусочки мягкого песчаника, и у нас это неплохо получалось. Студентом МТИ я забавлялся притиркой снежков из разных видов снега (твердого спрессованного снега и пушистого, свежевыпавшего), и мне удавалось создавать шары с очень аккуратной сферической поверхностью.
В качестве еще одного наглядного примера повышения точности при «притирке» можно привести пару болта и гайки одного размера. Попробуйте многократно вкрутить болт в гайку и выкрутить его, и вы убедитесь, что скоро он будет очень легко и точно входить во все прорези. Это метод достижения точности не кажется мне подходящим для очень малых изделий хотя бы потому, что любая притирка требуем много механических усилий, не говоря уже о том, что ее эффективность на требуемом нам микроскопическом уровне весьма сомнительна.
Существует еще один известный метод точной механической обработки изделий, основанный на так называемом электростатическом пушпульном механизме (что означает движение взад-вперед вдоль одной оси). Метод сводится к тому, что при повторяющемся движении обрабатываемых деталей относительно друг друга, вы можете регулировать напряжение таким образом, чтобы неоднородности при трении взаимно «гасились». Впрочем, должен признаться, что этот метод точной подгонки также не представляется мне эффективным для решения проблемы точности на микроуровне.
С другой стороны, стоит задуматься над тем, что проблемы точности в малых масштабах могут трансформироваться и принимать более приемлемые формы. Подумайте, например, над тем, что если обрабатываемые изделия содержат всего около сотни атомов, а вам необходима точность в 0,5 %, то задача сводится лишь к удалению или добавлению всего нескольких атомов, после чего изделия могут стать почти одинаковыми. На атомарном уровне точности числа атомов в объектах могут различаться на один атом, то есть сверхмалые изделия при этом в некотором смысле должны быть совершенно одинаковыми.
Мне представляется, что в качестве метода изготовления микроскопических объектов может эффективно использоваться классическое «литье» деталей или целых изделий. В сущности, кроме каких-то специфических атомарных ограничений, ничто не мешает нам изготавливать формы и отливать микроскопические объекты по точно заданному образцу. Более того, мы уже частично занимаемся таким производством, поскольку все чаще в технических процессах используются так называемые реплики. В разных производствах их называют образцами, шаблонами, отпечатками и т. д., но это не меняет сути, поскольку речь идет именно о создании копий (чаще всего по биологическим образцам) в виде кремниевых или ацетатных «отливок». Строго говоря, получаемые на электронном микроскопе изображения являются вовсе не «изображениями» реальных объектов, а их репликами, или «отливками», полученными иных средах и материалах. Этот процесс может быть фактически развит для всех масштабов исследования и производства.
Исторически создалась ситуация, когда ученые постоянно оглядываются на биологию, рассматривая природу в качестве образца для подражания. Это отношение сложилось так давно и является столь утвердившимся, что его не могут поколебать даже явные недочеты эволюции (природа действительно не смогла создать колеса!). Очень многие наши успехи связаны именно с отказом от природных аналогов, например, самолеты оказались эффективнее и перспективнее всех вариантов летательных аппаратов типа махолетов, подражающих полету птиц. Я хочу сказать, что биология выступает учителем науки, но она вовсе не является идеалом, и мы вполне можем придумывать методы, не существующие в биологии. Например, если требуется изготовить особо гладкую деталь из твердого материала, мы можем применить заполненные особыми молекулами жидкие «мешочки», способные изменять форму под воздействием электрического поля (в какой-то степени они напоминают хорошо известные в биологии структуры, именуемые «сумками»). Регулируя вязкость этих мешочков в разных местах, мы можем по-новому организовать процесс обработки поверхностей, а именно – организовать его так, чтобы шлифующие частицы «затвердевали» или «размягчались» (под воздействием электрического поля) именно в требуемых участках обрабатываемых деталей.
20.8. Трение и прилипание
Давайте попробуем определить характерные особенности интересующих нас сверхмалых устройств. Прежде всего бросается в глаза, что их малые размеры и ничтожный вес позволяют развернуть производство в огромных количествах экземпляров. Стоимость материала в таких процессах становится совершенно несущественной, так что фактическая цена изделия зависит лишь от расходов на производство деталей и их сборку.
С другой стороны, весьма важно, что свойства микроскопических частиц существенно отличаются от свойств тех же материалов в объемной форме, поэтому, например, две особо чистые частицы металла могут просто слипнуться под воздействием сил молекулярного притяжения, в результате чего детали создаваемого механизма не смогут свободно двигаться из-за непомерно возросшего трения. Конечно, нам придется в этом случае придумывать особые методы борьбы с трением (например, покрывать металлические частицы оксидным слоем или наносить на них специальные вещества, играющие роль смазки), но такие действия, естественно, будут усложнять технологию и создавать новые проблемы.
В целостных объектах силы притяжения и трения отсутствуют, однако и в этом случае могут возникать неожиданные проблемы. Например, любые детали в микроскопическом устройстве могут «трястись» под воздействием броуновского движения до тех пор, пока вся молекулярная «конструкция» не выработает единого характера поведения, что может создавать какие-то дополнительные возможности для практического изготовления и применения таких систем.
Должен признаться, что я никак не могу выработать собственного отношения к проблеме микроскопических машин. Мне самому они кажутся очень интересными и привлекательными, но я несколько устал думать о них и с нетерпением жду, когда кто-либо найдет им, наконец, возможности полезного и эффективного применения. Как только микроустройства станут реально использоваться в промышленности, ученые и инженеры обратят на них серьезное внимание и приступят к решению множества интересных научно-технических задач.
20.9. Вычисления с использованием атомов
А теперь поговорим о возможностях создания сверхминиатюрной вычислительной техники. Со времен лекции 1959 года эта область стремительно развивалась, так что возникла совершенно новая ситуация, и я буду обсуждать только новейшие достижения и перспективы развития. Давайте спросим себя, что нам необходимо для создания компьютера?
Собственно говоря, любое вычислительное устройство всего лишь должно уметь обращаться с числами, то есть воспринимать числа в какой-то записи, обрабатывать их и выдавать ответ в считываемом виде. Поэтому первейшей задачей выступает сама возможность как-то записывать числа!
Новейшие достижения науки дают нам возможность воспользоваться для записи самыми крошечными из известных нам объектов – атомами! Напомню, что проще всего записывать числа в двоичной системе, пользуясь всего двумя числами (обозначающими ноль и единицу), так что любое число может представлено в виде
20.10. Обратимость вычислительных и управляющих процессов
Далее, нам необходимо решить проблему обработки и вычислений на основе записанных таким образом чисел. Каким образом это можно осуществить на уровне атомов? Вы все знаете, что для «обработки» чисел в компьютерах используется лишь небольшое число операций и разных типов элементов, а сложность действия достигается математиками за счет использования очень большого числа элементов и комбинирования их действий.
Проблема осложняется тем, что мы привыкли рассуждать о работе компьютеров на примере электрических схем и устройств типа транзисторов, к которым по входным и выходным проводам подаются сигналы в виде импульсов напряжения (в простейшем случае наличие импульса означает число 1, а его отсутствие – число 0). Такие схемы не похожи на рассматриваемые нами атомы в разных квантовых состояниях, но эта разница в действительности является несущественной, что я покажу на основе анализа работы простейших вычислительных сетей
Для проведения вычислений принципиально нужна еще небольшая схема NOT (схема отрицания, с одним входом и одним выходом), изменяющая значение сигнала на обратное (то есть при сигнале 1 на входе вы получаете на выходе 0, и наоборот). Удивительно, но этих двух типов простеньких схем практически достаточно для создания компьютера, поскольку их сочетания позволяют создать много новых вычислительных элементов. Например, их комбинация (NOT + AND) дает схему NAND (отрицание + совпадение), когда выходной сигнал 0 соответствует двум сигналам 1 на входах, а выходной сигнал 1 возникает в тех случаях, когда хоть один из входных сигналов не равен 1. Комбинируя такие схемы и соединяя их по определенным правилам, можно смонтировать компьютер, способный осуществлять практически любые вычисления.
Основным препятствием при создании атомарно-молекулярных аналогов вычислительных устройств выступает то, что поведение атомов описывается законами не классической, а квантовой механики, и это каким-то образом должно быть учтено. Все знают, что я люблю квантовую механику, так что мне приятно рассказать о том, как можно построить квантовый компьютер (непосредственно из атомов!) вместо привычных всем устройств на основе законов классической физики.
На первый взгляд кажется странным, что мы можем создать атомарную схему AND, сформировать схему NAND и вообще организовать вычислительный процесс. Я поясню, в чем состоит сложность на уровне общих рассуждений. Вы имеете только два входа и один выход, поэтому, получив на выходе сигнал 0, не можете определить, какие сигналы пришли по входным каналам. Иными словами, процесс работы схемы является необратимым. Я подчеркиваю этот факт, так как законы атомной физики, как известно, являются обратимыми (точнее говоря, эти законы обладают микроскопической обратимостью). Из этого следует, что вы не только обязаны пользоваться обратимыми законами при описании любых атомарных процессов, но просто обязаны применять обратимые атомарные устройства, схемы и «вентили».
Этой проблемой в фирме IBM занимались Беннет, Фредкин и Тоффоли, которые пытались понять, насколько проблемы вычислительной техники связаны с обратимостью процессов, устройств и схем. Выяснилось (и это кажется чудом!), что необратимость не является существенным фактором при проведении вычислений, что и позволило нам создавать вычислительные машины.
Вы можете сделать схему обратимой простым приемом, который выглядит «жульничеством», но позволяет решить поставленную задачу
Конечно, вы можете отметить, что предложенный процесс не является полностью обратимым, так как при нем на входе имеется два «кусочка» информации (то есть, например, два атома), а на выходе – три. Создается впечатление, что откуда-то появился третий атом, который необходимо как-то учесть. (
Если сигналы в каналах
Полученная схема является полностью обратимой (как в электротехническом, так и в общем смысле), так что даже если поменять входы и выходы местами, то вся схема (или состояния изображающего ее атома!) будут выглядеть и вести себя обратимо. При этом, как показал Тоффоли, такая схема вполне способна осуществлять логические операции.
Каким образом нам следует теперь определить некую вычислительную операцию? Мы можем утверждать, что изобретен метод, позволяющий вводить между каждой тройкой атомов (из полного набора, содержащего
Я должен подчеркнуть, что в приведенном выше примере со схемой совпадения AND и связанных с ней рассуждениях неявно подразумевалось, что после каждой операции выходные каналы (или, вообще говоря, атомы) должны как-то обновляться, то есть заменяться новыми. В случае с матрицами все выглядит гораздо проще, так как после воздействия матрицы в том же регистре остаются все те же атомы, но теперь их состояние соответствует результату вычислительного процесса! Имея систему из
20.11. Электрон как вычислительная машина
Матрицу взаимодействия между атомами можно выписать без особых сложностей. Другими словами, вы действительно можете придумать некий сложный вид физического взаимодействия между атомами, приводящий к выполнению какой-то вычислительной операции. Сложность состоит скорее в том, каким образом можно выразить ответ в приемлемой форме, то есть перевести последовательность преобразования состояний троек атомов в некий разумный ряд чисел. У меня есть очень простая идея на этот счет, и я сейчас ее изложу. (
Поговорим о возможностях использования электронов. Представьте, что нарисованная мною связная последовательность кружков означает набор узлов или мест возможного расположения электронов, например, просто цепочку атомов. Если в одном из этих узлов находится электрон, то по законам классической механики он имеет возможность перескочить в какой-либо другой узел. В квантовой механике ситуация иная. Вы можете говорить лишь об определенном значении амплитуды волновой функции и т. п. Эти рассуждения заставляют вас обратиться к решениям в виде комплексных чисел и других весьма занятных приемов квантовой механики, но суть дела от этого не меняется, так как все расчеты относятся к тому же процессу возможного движения электрона вдоль цепочки. В квантовой механике вы просто пользуетесь другими терминами и говорите о «расплывании» функции Шрёдингера, при котором заданные значения амплитуды в определенной точке могут меняться во времени. Это означает, что электрон может смещаться вдоль цепочки, перескакивая из точки в точки, возвращаясь, доходя до ее концов и т. д. В принципе, вы можете вычислить вероятности, соответствующие любым маршрутам движения.
Я думаю, всем понятно, что цепочка атомов изображает проводник, и реальный электрический ток соответствует именно таким «прыжкам» электронов вдоль узлов. Именно это позволяет мне предложить следующую схему вычислительного процесса, в которой описанная выше атомарная схема вычислений легко переносится на электроны. Действительно, ничто не мешает нам на практике ввести энергетический барьер (соответствующий нулевому значению амплитуды вероятности), не позволяющий электрону просто переходить из одного узла в соседний, а требующий для перехода некоторого заданного механизма взаимодействия с атомами (например, с тройкой атомов, означающей некоторый разряд записи). Таким образом, мы можем связать процесс движения электрона вдоль цепочки атомов с их состоянием, которое, как я говорил выше, может быть просто увязано с осуществлением вычислительного процесса. (
Таким образом, моя идея сводится к тому, чтобы электрон мог осуществлять перескок из одного узла в другой только тогда, когда это будет разрешено состоянием атомной цепочки, определяемой произведением матриц M. Иными словами, если электрон проходит от одного конца цепочки до другого, то мы можем быть уверены, что в атомарной системе произошли все изменения, определяемые матрицами M1, M2, M3, M4, M5 и т. д.
Разумеется, вы возразите, что все сказанное неверно, так как электроны ведут себя совсем по-другому! В каждый момент для них существует вероятность двигаться в определенном направлении, возвращаться на прежнее место и т. д. Например, переход из одного узла в другой означает операцию M2, а возращение – повторение операции M2. Вам кажется, что это нарушает логику рассуждений? Совсем не так! Напомню, что операция M2 является обратимой, поэтому, осуществляя ее дважды, вы фактически просто возвращаетесь в предыдущее состояние. Я бы сравнил последовательные действия операторов с движением обычной молнии-застежки, которую можно двигать взад-вперед, и если вам кажется, что она сработала неверно, вы можете просто вернуть застежку в какое-то положение, а затем застегнуть ее правильно. В любом случае исправная молния-застежка должна точно соединять два заданных конца цепочки, а если она не доведена до конца, то это ничего не означает, так как всегда можно завершить операцию.
Таким образом, если электрон дошел до конца цепочки атомов, можно быть уверенным, что все перестановки атомов (вычислительные действия, следуя логике рассуждений) завершены правильно. Вы просто должны дождаться конца вычислительных процедур, выписать полученный результат и забыть о всех технических подробностях. Это легко сделать в описываемых системах, приложив незначительные электрические напряжения на концах цепочки.
Идея является не только вполне здравой, но и позволяет по-новому взглянуть на проблему ограниченности вычислительных способностей компьютеров. Конечно, описанный выше компьютер трудно создать на практике, но зато нам удалось определить практически все принципы его действия. Мы даже можем вполне серьезно проанализировать его некоторые параметры и особенности работы, включая скорость, количество требуемых элементов и особенно проблему тепловыделения, о чем пойдет речь дальше.
20.12. Тепловыделение в квантовых компьютерах
Все знают, что работающий компьютер выделяет много энергии, о чем постоянно беспокоятся проектировщики и пользователи. Уменьшение размеров вычислительных устройств лишь усугубляет проблемы, так как выделение тепла происходит в более малых и замкнутых объемах пространства, охлаждение которых представляет собой сложную техническую задачу. Можно просто сказать, что все современные ЭВМ плохо спроектированы. Беннет показал (как я уже упоминал выше), что вычислительный процесс может быть сделан полностью обратимым, то есть при использовании обратимых вентилей и схем совпадения мы могли бы снизить тепловые потери до ничтожного уровня. Строго говоря, это потребовало бы очень медленной работы и даже снижения скорости движения электронов по используемым схемам. Стоит отметить, что создание идеальных обратимых логических схем несколько напоминает ситуацию с обратимым циклом Карно, идеальным (но исключительно медленным) термодинамическим циклом со 100 %-ным коэффициентом полезного действия! Конечно, идею замедления скорости работы ЭВМ не стоит даже рассматривать всерьез, но можно придумать правильно сконструированную вычислительную машину, в которой движение электронов не связано с потерей энергии, за исключением столкновений с дефектами кристаллической решетки, о чем я сейчас расскажу.
Рассмотрим проблему тепловыделения в микрокомпьютерах более подробно. Предположим, что мы пытаемся создать аналог привычной схемы совпадения и т. п. в обратимом варианте с использованием отдельных атомов или электронов. Из общих законов физики известно, что количество энергии, затрачиваемое на одно «срабатывание» такой схемы (одно принятие решений, один переход), имеет порядок
Дело в том, что перенос электронов при некоторых (достаточно идеализированных) условиях может осуществляться в так называемом баллистическом режиме, когда протекание тока в сети вообще происходит без рассеяния и потери энергии. Процесс переноса небольших количеств электронов при этом напоминает «выстрел», когда вы точно направляете электроны так, что они проскакивают проводник без рассеяния. Щелк! Процесс завершен!
Поговорим о тепловых потерях при вычислительных операциях. Существует строгая связь между энергией электронов и их скоростью, то есть любой энергии
Почему возникают потери при движении электронов? Обычно потери связаны с несовершенством кристаллической решетки, что известно каждому, кто хоть немного знаком с теорией металлов. В решетке всегда присутствуют дефекты, нарушающие взаимодействия и заставляющие электроны рассеиваться, «отскакивать» назад, создавать новые дефекты и т. д. Электроны перестают двигаться по «правильным», прямым траекториям, отклоняются, блуждают в решетке и т. д., но, приложив внешнее электрическое поле, вы можете заставить их снова и снова двигаться в заданном направлении. Собственно говоря, речь идет о простом электрическом сопротивлении, то есть о том, что соединения в компьютерах построены из реальных материалов, а не из идеальных проводников.
Ситуацию можно количественно описать введением некоторой вероятности рассеяния на пути электронов, то есть вероятности того, что электрон просто «отразится» на дефекте и начнет двигаться в обратном направлении. Предположим для простоты, например, что эта вероятность равна одной сотой на отдельном узле решетки, а мой вычислительный процесс требует прохождения именно сотни узлов. Пусть испускаемые в исходной точке электроны имеют скорость v, соответствующую энергии
Именно такие потери энтропии и приводят нас к представлению о знаменитых Iog2 и других постоянных, типа использованной мною
Перемещая электроны в проводнике, вы преодолеваете сопротивление. Потери энергии на создание электрического тока составляют порядка
Возможности совершенствования современных компьютеров очень велики (выше я говорил о том, что мы тратим в 1010 раз больше энергии, чем это требуется теоретически!), так что я могу лишь призвать разработчиков начать следующий этап развития, который позволит обеспечить экспоненциальный рост скорости и эффективности.
Благодарю за внимание!
Акронимы и аббревиатуры
AFM – atomic force microscopy
AI – artificial intelligence
ANSI – American National Standards Institute
CMOS – complementary metal oxide semiconductor
CMP – chemical mechanical planarization or chemical mechanical polishing
CNTs – carbon nanotubes
CPSC – Consumer Products Safety Commission
CRADA – Cooperative Research and Development Agreement
CVD – chemical vapor deposition
DoD – Department of Defense
DOE – Department of Energy
DPN – dip-pen nanolithography
DRAM – dynamic random access memory
IBEA – Institute for Biological Energy Alternatives
IDD – implantable drug delivery
LEDs – light-emitting diodes
MEMS – microelectromechanical systems
MMS – molecular microswitch
MOSFET – metal oxide semiconductor field effect transistor
MRI – magnetic resonance imaging
MURI – Multi-University Research Initiative
NASA – National Aeronautics and Space Administration
NBIC – nano-bio-info-cogno
NBs – nanobelts
NCN – Network for Computational Nanotechnology
NDA – nondisclosure agreement
NDC – negative differential conductance
NEMS – nanoelectromechanical systems
NER – Nanoscale Exploratory Research
NIEHS – National Institute of Environmental Health Studies
NIH – National Institutes of Health
NIL – nanoimprint lithography
NIOSH – National Institute for Occupational Safety and Health
NIRTs – Nanoscale Interdisciplinary Research Teams
NIST – National Institute of Standards and Technology
NNCO – National Nanotechnology Coordination Office
NNI – National Nanotechnology Initiative
NNIN – National Nanotechnology Infrastructure Network
NNUN – National Nanofabrication Users Network
NSE – NanoscaleScienceandEngineering
NSECs – NanoscaleScienceandEngineeringCenters
NSEE – NanoscaleScienceandEngineeringEducation
NSET – NanoscaleScience,Engineering and Technology
NSF – National Science Foundation
NSP – Nanotechnology Standards Panel
NSRCs – Nanoscale Science Research Centers
NUE – Nanotechnology Undergraduate Education
NWs – nanowires