Полезные вычислительные устройства требуют обратной связи, что позволяет одному элементу схемы выполнять по существу неограниченное количество последовательных вычислений. Используемые цепи обратной связи должны содержать секции, чье общее количество входов (считая как те, которые возвращаются с выходов, так и нет) превышает количество выходов, которые возвращаются на вход (единственный способ, которым количество входов не будет ' Превышение числа выходов с обратной связью было бы, если бы цепи не реагировали каким-либо образом на внешние раздражители). Поскольку совершенно обратимо-логические функции не могут иметь больше входов, чем выходов, невозможно построить из них какую-либо структуру обратной связи, необходимую для многократного выполнения любых нетривиальных вычислительных задач., Обратите внимание, что с технологией CMOS, используемой в современных компьютерах, обратная связь необходима для обеспечения того, чтобы результаты, представленные вычислениями в разных частях схемы, были доступны одновременно другим частям, поскольку если бы они не были относительной синхронизацией, с которой поступают сигналы, составляют «информацию», которая не может быть полностью передана вниз по течению; другие технологии могут позволить множеству вентилей распространять сигналы с одинаковой скоростью, сохраняя при этом обратимость, но я не знаю практической технологии для этого.
Обратите внимание, что с точки зрения CS тривиально сделать вычислительный процесс обратимым, если у него изначально пустой носитель данных, размер которого по существу пропорционален числу шагов, умноженному на количество состояний, которое может меняться на каждом шаге. Это утверждение не противоречит утверждению предыдущего параграфа, так как для хранения, пропорционального количеству шагов, потребуется схема, пропорциональная количеству шагов, что подразумевает схему, пропорциональную количеству, которое потребовалось бы, если бы была устранена вся обратная связь.
Если разрешено иметь выходы, которые игнорируются, если при надлежащих входных условиях они никогда не будут повышаться, тогда может быть возможно разработать систему, которая теоретически получит выгоду от обратимой логики. Например, если у кого-то был алгоритм, который работал на 256-слововом блоке оперативной памяти, а другой хотел использовать «процессор с обратимой логикой», который выполнял 1 000 000 операций в секунду, и каждая операция обновляла либо регистр, счетчик программ, либо один Слово RAM, можно использовать «обратимый процессор», который бы:
- выполнил кучу инструкций и, на каждой, отправил все, что было перезаписано в буфер LIFO
- после выполнения нескольких инструкций скопируйте ОЗУ в изначально пустой буфер пересылки
- используя значения в LIFO, запустите все вычисления в обратном порядке
- перезаписать содержимое основного ОЗУ буфером пересылки, который будет удален в процессе.
Вышеупомянутый рецепт может повторяться любое количество раз, чтобы запустить алгоритм для произвольного числа шагов; только последний шаг рецепта не будет обратимым. Количество энергии, затрачиваемое на алгоритмический шаг в необратимых операциях, будет обратно пропорционально размеру LIFO, и, таким образом, его можно будет сделать сколь угодно малым, если строить его для создания достаточно большого LIFO.
Однако для того, чтобы эта способность перешла в какую-либо экономию энергии, необходимо иметь LIFO, который будет накапливать энергию при вводе информации и с пользой возвращать эту энергию при считывании. Кроме того, LIFO должен быть достаточно большим, чтобы хранить данные о состоянии для достаточного количества шагов, чтобы любая энергия, затрачиваемая на его использование, была меньше, чем количество энергии, которое оно экономно использовало. Учитывая, что количество энергии, потерянной при хранении и извлечении N байтов из любого практического FIFO, вряд ли будет равно O (1), неясно, что увеличение N значительно уменьшит потребление энергии.