А теперь поговорим о возможностях создания сверхминиатюрной вычислительной техники. Со времен лекции 1959 года эта область стремительно развивалась, так что возникла совершенно новая ситуация, и я буду обсуждать только новейшие достижения и перспективы развития. Давайте спросим себя, что нам необходимо для создания компьютера?
Собственно говоря, любое вычислительное устройство всего лишь должно уметь обращаться с числами, то есть воспринимать числа в какой-то записи, обрабатывать их и выдавать ответ в считываемом виде. Поэтому первейшей задачей выступает сама возможность как-то записывать числа!
Новейшие достижения науки дают нам возможность воспользоваться для записи самыми крошечными из известных нам объектов – атомами! Напомню, что проще всего записывать числа в двоичной системе, пользуясь всего двумя числами (обозначающими ноль и единицу), так что любое число может представлено в виде
20.10. Обратимость вычислительных и управляющих процессов
Далее, нам необходимо решить проблему обработки и вычислений на основе записанных таким образом чисел. Каким образом это можно осуществить на уровне атомов? Вы все знаете, что для «обработки» чисел в компьютерах используется лишь небольшое число операций и разных типов элементов, а сложность действия достигается математиками за счет использования очень большого числа элементов и комбинирования их действий.
Проблема осложняется тем, что мы привыкли рассуждать о работе компьютеров на примере электрических схем и устройств типа транзисторов, к которым по входным и выходным проводам подаются сигналы в виде импульсов напряжения (в простейшем случае наличие импульса означает число 1, а его отсутствие – число 0). Такие схемы не похожи на рассматриваемые нами атомы в разных квантовых состояниях, но эта разница в действительности является несущественной, что я покажу на основе анализа работы простейших вычислительных сетей
Для проведения вычислений принципиально нужна еще небольшая схема NOT (схема отрицания, с одним входом и одним выходом), изменяющая значение сигнала на обратное (то есть при сигнале 1 на входе вы получаете на выходе 0, и наоборот). Удивительно, но этих двух типов простеньких схем практически достаточно для создания компьютера, поскольку их сочетания позволяют создать много новых вычислительных элементов. Например, их комбинация (NOT + AND) дает схему NAND (отрицание + совпадение), когда выходной сигнал 0 соответствует двум сигналам 1 на входах, а выходной сигнал 1 возникает в тех случаях, когда хоть один из входных сигналов не равен 1. Комбинируя такие схемы и соединяя их по определенным правилам, можно смонтировать компьютер, способный осуществлять практически любые вычисления.