Нанотехнологии. Наука, инновации и возможности
Шрифт:
20.11. Электрон как вычислительная машина
Матрицу взаимодействия между атомами можно выписать без особых сложностей. Другими словами, вы действительно можете придумать некий сложный вид физического взаимодействия между атомами, приводящий к выполнению какой-то вычислительной операции. Сложность состоит скорее в том, каким образом можно выразить ответ в приемлемой форме, то есть перевести последовательность преобразования состояний троек атомов в некий разумный ряд чисел. У меня есть очень простая идея на этот счет, и я сейчас ее изложу. ( Фейнман рисует на доске цепочку, ряд маленьких кружков, а затем, в ходе рассказа, часто указывает на некоторые из них.)
Поговорим о возможностях использования электронов. Представьте, что нарисованная мною связная последовательность кружков означает набор узлов или мест возможного расположения электронов, например, просто цепочку атомов. Если в одном из этих узлов находится электрон, то по законам классической механики он имеет возможность
Я думаю, всем понятно, что цепочка атомов изображает проводник, и реальный электрический ток соответствует именно таким «прыжкам» электронов вдоль узлов. Именно это позволяет мне предложить следующую схему вычислительного процесса, в которой описанная выше атомарная схема вычислений легко переносится на электроны. Действительно, ничто не мешает нам на практике ввести энергетический барьер (соответствующий нулевому значению амплитуды вероятности), не позволяющий электрону просто переходить из одного узла в соседний, а требующий для перехода некоторого заданного механизма взаимодействия с атомами (например, с тройкой атомов, означающей некоторый разряд записи). Таким образом, мы можем связать процесс движения электрона вдоль цепочки атомов с их состоянием, которое, как я говорил выше, может быть просто увязано с осуществлением вычислительного процесса. ( Отвечая на вопрос одного из слушателей, Фейнман выписывает на доске типичный член гамильтониана, используя матрицу атомного преобразования Mмежду операторами возникновения и исчезновения электронов в соседних узлах решетки.)
Таким образом, моя идея сводится к тому, чтобы электрон мог осуществлять перескок из одного узла в другой только тогда, когда это будет разрешено состоянием атомной цепочки, определяемой произведением матриц M. Иными словами, если электрон проходит от одного конца цепочки до другого, то мы можем быть уверены, что в атомарной системе произошли все изменения, определяемые матрицами M1, M2, M3, M4, M5 и т. д.
Разумеется, вы возразите, что все сказанное неверно, так как электроны ведут себя совсем по-другому! В каждый момент для них существует вероятность двигаться в определенном направлении, возвращаться на прежнее место и т. д. Например, переход из одного узла в другой означает операцию M2, а возращение – повторение операции M2. Вам кажется, что это нарушает логику рассуждений? Совсем не так! Напомню, что операция M2 является обратимой, поэтому, осуществляя ее дважды, вы фактически просто возвращаетесь в предыдущее состояние. Я бы сравнил последовательные действия операторов с движением обычной молнии-застежки, которую можно двигать взад-вперед, и если вам кажется, что она сработала неверно, вы можете просто вернуть застежку в какое-то положение, а затем застегнуть ее правильно. В любом случае исправная молния-застежка должна точно соединять два заданных конца цепочки, а если она не доведена до конца, то это ничего не означает, так как всегда можно завершить операцию.
Таким образом, если электрон дошел до конца цепочки атомов, можно быть уверенным, что все перестановки атомов (вычислительные действия, следуя логике рассуждений) завершены правильно. Вы просто должны дождаться конца вычислительных процедур, выписать полученный результат и забыть о всех технических подробностях. Это легко сделать в описываемых системах, приложив незначительные электрические напряжения на концах цепочки.
Идея является не только вполне здравой, но и позволяет по-новому взглянуть на проблему ограниченности вычислительных способностей компьютеров. Конечно, описанный выше компьютер трудно создать на практике, но зато нам удалось определить практически все принципы его действия. Мы даже можем вполне серьезно проанализировать его некоторые параметры и особенности работы, включая скорость, количество требуемых элементов и особенно проблему тепловыделения, о чем пойдет речь дальше.
20.12. Тепловыделение в квантовых компьютерах
Все знают, что работающий компьютер выделяет много энергии, о чем постоянно беспокоятся проектировщики и пользователи. Уменьшение размеров вычислительных устройств лишь усугубляет проблемы, так как выделение тепла происходит в более малых и замкнутых объемах пространства, охлаждение которых представляет собой сложную техническую задачу. Можно просто сказать, что все современные ЭВМ плохо спроектированы. Беннет показал (как я уже упоминал выше), что вычислительный процесс может быть сделан полностью обратимым, то есть при использовании обратимых вентилей и схем
Рассмотрим проблему тепловыделения в микрокомпьютерах более подробно. Предположим, что мы пытаемся создать аналог привычной схемы совпадения и т. п. в обратимом варианте с использованием отдельных атомов или электронов. Из общих законов физики известно, что количество энергии, затрачиваемое на одно «срабатывание» такой схемы (одно принятие решений, один переход), имеет порядок кТ. А осознаете ли вы, что принятие одного решения в современных компьютерах требует затрат, пропорциональных примерно 1010 кТ энергии? Чудовищная разница в десять порядков возникает из-за огромных размеров наших вычислительных устройств и огромного количества используемых в процессе электронов! Правильное проектирование вычислительных устройств таит в себе почти неисчерпаемые возможности их совершенствования за счет снижения размеров. Эта проблема не интересовала Беннета, исследовавшего работу вычислительных устройств безотносительно к задачам тепловыделения. Позднее я тоже анализировал работу ЭВМ в рамках его модели и получил очень похожие результаты, но с некоторыми модификациями и уточнениями, о которых расскажу ниже.
Дело в том, что перенос электронов при некоторых (достаточно идеализированных) условиях может осуществляться в так называемом баллистическом режиме, когда протекание тока в сети вообще происходит без рассеяния и потери энергии. Процесс переноса небольших количеств электронов при этом напоминает «выстрел», когда вы точно направляете электроны так, что они проскакивают проводник без рассеяния. Щелк! Процесс завершен!
Поговорим о тепловых потерях при вычислительных операциях. Существует строгая связь между энергией электронов и их скоростью, то есть любой энергии кТ (я хочу особо подчеркнуть, что эта энергия не обязательно должна иметь только термический характер) соответствует некоторая предельная скорость v движения электронов в веществе и компьютере. В идеально сконструированных вычислительных устройствах электроны вообще не будут терять энергию при движении, а будут совершенно точно перескакивать из одних заданных положений в другие. После завершения вычислений, то перехода электрона из одного конца цепочки на другой, пользователь «получает» электрон с той же энергией, готовый к дальнейшим вычислительным операциям. Возможно, когда-нибудь нам удастся даже как-то аккумулировать, хранить или преобразовывать энергию таких электронов, используя ее для дальнейших операций и т. п. Вычисления без затрат энергии! Никаких потерь! Мне хочется напомнить только, что я говорю об абстрактной вычислительной системе, которую можно сравнить с идеальным тепловым двигателем, работающим по циклу Карно. Какие-то потери на «трение» в любой такой машине неизбежны, но наша цель состоит в их уменьшении и устранении.
Почему возникают потери при движении электронов? Обычно потери связаны с несовершенством кристаллической решетки, что известно каждому, кто хоть немного знаком с теорией металлов. В решетке всегда присутствуют дефекты, нарушающие взаимодействия и заставляющие электроны рассеиваться, «отскакивать» назад, создавать новые дефекты и т. д. Электроны перестают двигаться по «правильным», прямым траекториям, отклоняются, блуждают в решетке и т. д., но, приложив внешнее электрическое поле, вы можете заставить их снова и снова двигаться в заданном направлении. Собственно говоря, речь идет о простом электрическом сопротивлении, то есть о том, что соединения в компьютерах построены из реальных материалов, а не из идеальных проводников.
Ситуацию можно количественно описать введением некоторой вероятности рассеяния на пути электронов, то есть вероятности того, что электрон просто «отразится» на дефекте и начнет двигаться в обратном направлении. Предположим для простоты, например, что эта вероятность равна одной сотой на отдельном узле решетки, а мой вычислительный процесс требует прохождения именно сотни узлов. Пусть испускаемые в исходной точке электроны имеют скорость v, соответствующую энергии кТ. Вы можете пересчитать потери на рассеяния в виде изменений свободной энергии, однако принципиальным является то, что потери энтропии при рассеянии действительно являются необратимыми. Более того, я особо хочу подчеркнуть, что эти потери связаны с рассеянием, а не с самим процессом вычислений! (Фейнман выписывает эти слова на доске и тщательно подчеркивает их.) Чем лучше сконструирован компьютер, тем меньше операций вы затрачиваете на вычисление и, следовательно, тем меньше потери энергии.