Przydatne urządzenia komputerowe wymagają sprzężenia zwrotnego, dzięki czemu jeden element obwodu może wykonywać praktycznie nieograniczoną liczbę kolejnych obliczeń. Użyteczne obwody sprzężenia zwrotnego muszą zawierać sekcje, których całkowita liczba wejść (licząc zarówno te, które są sprzężone zwrotnie z wyjściami, jak i te, które nie są), przekracza liczbę wyjść, które są sprzężone zwrotnie z wejściami (jedyny sposób, w jaki liczba wejść nie byłaby „ t przekroczyłoby liczbę sprzężeń zwrotnych, gdyby obwody nie reagowały w żaden sposób na bodźce zewnętrzne). Ponieważ funkcje doskonale odwracalnej logiki nie mogą mieć więcej danych wejściowych niż danych wyjściowych, nie można z nich zbudować żadnej struktury sprzężenia zwrotnego wymaganej do wielokrotnego wykonywania wszelkich nietrywialnych zadań obliczeniowych. Zauważ, że dzięki technologii CMOS stosowanej w dzisiejszych komputerach wymagane jest sprzężenie zwrotne, aby zapewnić, że wyniki raportowane przez obliczenia w różnych częściach obwodu są udostępniane jednocześnie innym częściom, ponieważ gdyby nie były względnym taktowaniem, z którym przychodzą sygnały, stanowią „informacje”, których nie można idealnie przekazać na dalszym etapie; inne technologie mogą pozwolić, aby wiele bramek propagowało sygnały dokładnie z tą samą prędkością, zachowując odwracalność, ale nie znam na to żadnej praktycznej technologii.
Zauważ, że z punktu widzenia CS, trywialne jest uczynienie procesu obliczeniowego odwracalnym, jeśli ma się początkowo pusty nośnik pamięci, którego rozmiar jest zasadniczo proporcjonalny do liczby kroków pomnożonej przez liczbę stanów, które mogą się zmieniać w każdym kroku. Twierdzenie to nie jest sprzeczne z twierdzeniem z poprzedniego akapitu, ponieważ przechowywanie proporcjonalne do liczby kroków będzie wymagało zespołu obwodów proporcjonalnych do liczby kroków, co będzie oznaczało zespół obwodów proporcjonalny do ilości, która byłaby wymagana, gdyby wszystkie sprzężenia zwrotne zostały wyeliminowane.
Jeśli ktoś może mieć wyjścia, które są ignorowane, jeśli przy odpowiednich warunkach wejściowych nigdy nie osiągną wysokiego poziomu, możliwe byłoby zaprojektowanie systemu, który teoretycznie skorzystałby na odwracalnej logice. Na przykład, jeśli ktoś miał algorytm działający na 256-słowowej części pamięci RAM i chciałby zastosować „odwracalny procesor logiczny”, który wykonywał 1 000 000 operacji na sekundę, a każda operacja aktualizowała rejestr, licznik programu lub jeden słowo RAM, można użyć „odwracalnego procesora”, który:
- uruchomiłem kilka instrukcji i na każdym wysłałem wszystko, co zostało zastąpione do bufora LIFO
- po wykonaniu szeregu instrukcji skopiuj pamięć RAM do początkowo pustego bufora „przesyłania”
- używając wartości w LIFO, uruchom wszystkie obliczenia w odwrotnej kolejności
- nadpisuje zawartość głównej pamięci RAM buforem przesyłania, który zostałby w ten sposób usunięty.
Powyższy przepis można powtórzyć dowolną liczbę razy, aby uruchomić algorytm dla dowolnej liczby kroków; tylko ostatni krok przepisu nie byłby odwracalny. Ilość energii wydatkowanej na krok algorytmu w nieodwracalnych operacjach byłaby odwrotnie proporcjonalna do wielkości LIFO, a zatem mogłaby być dowolnie mała, gdyby budować, aby zbudować wystarczająco dużą LIFO.
Aby ta zdolność mogła przełożyć się na jakąkolwiek oszczędność energii, konieczne byłoby jednak posiadanie LIFO, który magazynowałby energię po wprowadzeniu informacji i pożytecznie zwrócił tę energię po odczytaniu. Co więcej, LIFO musiałby być wystarczająco duży, aby pomieścić dane stanu dla wystarczającej liczby kroków, aby każdy koszt energii jego użycia był mniejszy niż ilość energii, którą użytecznie zaoszczędził. Biorąc pod uwagę, że ilość energii utraconej podczas przechowywania i pobierania N bajtów z jakiegokolwiek praktycznego FIFO prawdopodobnie nie będzie równa O (1), nie jest jasne, czy zwiększenie N znacząco zmniejszy zużycie energii.