가역 게이트가 왜 사용되지 않습니까?


25

나는 Kurzweil에 의해 쓰여진 "독점은 가까웠다"는 책을 읽고 있었고, 그는 프레드킨 게이트 와 같은 가역 게이트를 언급했습니다 . 이러한 게이트를 사용하면 비트가 열로 사라지고 계산에 에너지 입력이 필요하지 않은 계산과 관련된 열 낭비를 제거 할 수 있다는 이점이 있습니다. 이러한 가정은이 문들이 기적의 해결책처럼 들리게합니다. 따라서 문제는 여전히 기술적 인 장애로 인해 대규모 사용을 방해하는 것입니다.

또한 저의 독일 전기 공학 학사 및 석사 과정에서 그 문들에 대해 들어 본 적이 없다는 것은 부끄러운 일이라고 생각합니다 ...


5
양자 계산은 가역 게이트에 관한 것입니다 ( "단일"의 의미 중 일부 임).
David Richerby

1
@DavidRicherby 모든 양자 계산이 가역적 인 것은 아닙니다. 결국에는 분리가 발생합니다.
Alice

가역 게이트를 사용하는 실제 컴퓨터는 여전히 컴퓨터를 계속 작동 시키려면 오류 수정을 수행해야하기 때문에 열이 발생합니다. 오류 수정에는 본질적으로 돌이킬 수없는 연산 (또는 0으로 된 비트의 연속 공급, 동일한 차이)이 필요합니다.
Craig Gidney

답변:


18

나는 결코이 주제에 대한 전문가는 아니지만, 위키피디아를 우연히 읽는 것입니다 :

그것은 공이 완벽하게 튀는 버퍼로 만들어진 마찰이없는 환경에서 구형 당구 공의 움직임에 의존합니다.

... 이것은 매우 현실적으로 들립니다.

실제로 그러한 게이트를 실제로 만드는 방법을 아직 아무도 알지 못했으며 단지 이론적 인 관심사 일뿐입니다. 엔지니어링은 일반적으로 연습을 다루기 때문에 왜 들어 보지 못한 지 설명 할 수 있습니다.

가역 컴퓨팅의 전제는 비트가 사라지면 약간의 열이 발생한다는 것입니다. 가역 게이트를 사용하면 비트가 나타나지 않거나 사라지지 않으므로 가역 게이트로 계산이 훨씬 효율적일 수 있습니다.

가역 컴퓨팅 청구 이겨내 이론적 한계는 1 비트의 정보를 소거하는 적어도 생성한다는 것이다 열 에너지. 건배 60 에서 실행되는 컴퓨터케이ln2 각각 10 개의 9 개의 트랜지스터가있는 C 는비트가 5 의 비율로 사라짐60기음10916에 해당하는 G H z5H 의 열 발생. 그것은 단지 작은 비율을 (를 차지한다 (1) / 10000 컴퓨터의 에너지 사용).161/10000

오늘날의 컴퓨터는 사라지는 비트와 관련된 열 생성에 의해 제한되지 않습니다. 그것들은 작은 구리 흔적에서 전자를 움직일 때의 고유 한 비 효율성에 의해 제한됩니다.


5
-1. 어떤 사람들은 가역 게이트를 만들어서 전체 CPU를 만들었습니다. cise.ufl.edu/research/revcomp의 가역 논리 CPU 사진이 있습니다.
David Cary

2
@DavidCary 그러나 비가역 게이트로 만든 컴퓨터보다 효율적이지 않습니다.
user253751 2019

3
@immibis 현저히 사실이 아니다; 그들은 뒤집을 수없는 게이트로 만들어진 컴퓨터와 같은 법칙의 적용을받지 않기 때문에 훨씬 더 효율적입니다.
Alice

3
@DavidCary 연결된 CPU의 효율성에 대한 데이터를 보여주세요. 내가보고있는 것은 "디아 바틱 (diaabatic)"이라는 단어가있는 CPU의 이미지이지만, 기존 컴퓨터보다 얼마나 효율적인지에 대한 정보는 없습니다.
Tom van der Zanden

1
@TomvanderZanden 어떤 종류의 효율을 지정하지 않으면 효율 측정은 약간 쓸모가 없습니다. RISC 칩은 칩 크기 측면에서 CISC 칩보다 효율적이지만 특정 알고리즘을 지정하는 데 필요한 명령 수는 아닙니다. 모든 가역 회로는 Landauer의 원칙에 따르지 않기 때문에 기존 회로보다 즉시 더 효율적입니다 . 그것은 이미 큰 승리입니다.
Alice

15

실제 가역 게이트 (실리콘으로 제작 될 수있는 게이트)의 문제점은 실제 에너지 절약이 얼마나 느리게 실행 되는지에 비례한다는 것입니다.

MIT의 Tom Knight의 연구 그룹은 1990 년대 후반에 작은 단열 프로세서를 제작했다는 것을 알고 있습니다. 이들이 개발 한 실용적인 로직 제품군을 분할 레벨 전하 복구 로직이라고하며 표준 (CMOS) 제조 기술을 사용하여 구현할 수 있습니다. 플로리다 주립 대학의 Michael P Frank가이 작업을 계속했다고 생각합니다. Tom Knight 그룹의 작품의 예로는 다음과 같은 석사 논문이 있습니다 (1990 년대 초반까지 관련 작업에 대한 적절한 섹션이 있습니다). Vieri, CJ : Pendulum : Reversible Computer Architecture , Master 's Thesis, MIT EECS dept, 1995.

가역 회로는 단열성 이어야하며 (회로와 환경간에 열 교환이있을 수 없음) 항상 평형 상태에 있어야합니다. 무언가를 변경해야하는 모든 프로세스에 대해 가능한 한 느리게 변경을 수행하여 대략적인 균형 만 유지할 수 있습니다.

열역학을 올바르게 기억 하면 가역 계산의 에너지 를 임의로 작게 만들 수 있지만 최소 동작 (에너지 시간 시간)은 작은 상수 여야합니다.


2
열역학을 정확하게 기억하지 못합니다. Landauer의 원리는 가역적 회로에 의해 지원 될 필요가 없으며 (비트를 지우지 않기 때문에) 필요한 에너지는 이론적으로 0이 될 수 있습니다 (열이 방출되지 않음). 가역 회로도 단열 될 필요는 없습니다. 비가역 칩보다 느리지 않은 실질적인 가역 게이트가 만들어졌다 (가역 칩은 일반적으로 더 크므로 광 레이턴시 증가 속도를 갖는다).
Alice

"광 레이턴시 증가 속도": 가역 광학 칩 을 언급하고 있습니까? 대부분의 칩은 전자식입니다.
zylstra

6

대규모 사용을 방해하는 가장 큰 장애물은 비동기 회로 및 기타 비표준 회로 설계와 거의 같습니다. 무어의 법칙.

무어의 법칙은 자기 성취 예언의 어떤 것이되었습니다. Tick ​​Tock Release Schedule 에서 볼 수 있듯이 칩 제조업체는 무어의 법칙을 도전으로 간주합니다. 우리는 무어의 법칙을 충족시켜야 할 필요성 때문에 리소그래피를 발전시킴으로써 (그리고 종종 멀티 패터닝과 같은 치트를 사용함으로써) 칩 크기를 줄이는 데 점점 더 능숙 해졌습니다.

이 모든 것이 가역 게이트와 어떤 관련이 있습니까? 파운드리가 새롭고 더 작은 트랜지스터 크기를 출시하기 위해 경쟁함에 따라, 새로운 칩을 인쇄하려는 회사는 단순히 더 많은 캐시를 추가하고 해당 캐시를 더 잘 사용하기 위해 기존 디자인을 재 작업함으로써 속도를 높이는 쉬운 길을 봅니다.

더 나은 살인자는 기술적 인 문제가 아닙니다. 그것은 충분히 좋은 성공입니다 .


1
바라건대 언젠가는 충분히 좋아지지 않을 것입니다.
Mehdi

@Mehdi 우리 모두가 원하는 것은 아닙니다. 그러나 나는 확실하지 않다. 에너지는 현재 저렴하고 적어도 5 년 동안 현재주기를 계속할 수있는 길이 있습니다 ( 어떤 기술을 작동 시키는 방법을 찾으면 아마도 10 일 것 입니다. 그 후, 일부 새로운 기술은 리소그래피를 대신해야하지만, 이것은 3D 리소그래피가 같은 피치로, 다른 방향으로 구축함으로써 훨씬 더 고밀도 칩을 제공 할 수 있다는 것을 의미하지는 않습니다. 2050
Alice

3

유용한 컴퓨팅 장치는 피드백을 필요로하므로 하나의 회로 요소가 본질적으로 무제한의 순차 계산을 수행 할 수 있습니다. 사용 가능한 피드백 회로는 총 입력 수 (출력에서 피드백되는 것과 입력되지 않은 것을 모두 계산)가 입력으로 피드백되는 출력의 수를 초과하는 섹션을 포함해야합니다. t는 회로가 외부 자극에 어떤 식 으로든 반응하지 않으면 피드백 출력 수를 초과합니다. 완벽하게 가역적 인 논리 함수는 출력보다 더 많은 입력을 가질 수 없으므로 사소한 컴퓨팅 작업을 반복적 으로 수행하는 데 필요한 피드백 구조를 구성 할 수 없습니다.. 오늘날의 컴퓨터에서 사용되는 CMOS 기술을 사용하면 신호가 도달하는 상대 타이밍이 아니기 때문에 회로의 다른 부분에서 계산하여보고 된 결과를 다른 부분에서도 동시에 사용할 수 있도록 피드백이 필요합니다. 다운 스트림을 완벽하게 통과 할 수없는 "정보"를 구성합니다. 다른 기술을 사용하면 가역성을 유지하면서 많은 게이트가 동일한 속도로 신호를 전파 할 수 있지만 실제 기술은 없습니다.

CS 관점에서 볼 때, 크기가 단계 수와 각 단계에서 변경 될 수있는 상태의 양에 본질적으로 비례하는 초기에 비어있는 저장 매체가있는 경우 컴퓨팅 프로세스를 가역적으로 만드는 것은 사소한 일입니다. 단계 수에 비례하는 저장은 단계 수에 비례하는 회로를 필요로하므로 모든 피드백이 제거 될 때 필요한 양에 비례하는 회로를 의미하기 때문에이 주장은 이전 단락의 주장과 모순되지 않습니다.

적절한 입력 조건이 주어지면 절대로 높은 출력을 얻지 못하면 무시되는 출력을 가질 수 있다면 이론적으로 가역 논리의 이점을 얻을 수있는 시스템을 설계 할 수 있습니다. 예를 들어, 256 워드 RAM 덩어리에서 작동하는 알고리즘이 있고 초당 1,000,000 개의 연산을 수행하는 "가역 논리 CPU"를 사용하고 각 연산이 레지스터, 프로그램 카운터 또는 하나를 업데이트 한 경우 RAM의 한마디로, "가역 CPU"를 사용할 수 있습니다 :

  • 많은 명령을 실행하고 각각에 덮어 쓴 내용을 LIFO 버퍼에 보냅니다.
  • 많은 명령이 실행 된 후 RAM을 초기에 비어있는 "전달"버퍼에 복사합니다.
  • LIFO의 값을 사용하여 모든 계산을 반대로 실행
  • 프로세스에서 지워지는 전달 버퍼로 주 RAM의 내용을 덮어 씁니다.

위의 레시피는 알고리즘을 임의의 수의 단계로 실행하기 위해 여러 번 반복 될 수있다. 레시피의 마지막 단계 만 되돌릴 수 없습니다. 가역적이지 않은 연산에서 알고리즘 단계 당 소비되는 에너지의 양은 LIFO의 크기에 반비례하므로, 충분히 큰 LIFO를 구축하기 위해 구축하는 경우 임의로 작게 만들 수 있습니다.

그러나 어떤 종류의 에너지 절약으로 변환 할 수 있으려면 정보를 넣을 때 에너지를 저장하고 읽을 때 그 에너지를 유용하게 반환하는 LIFO가 필요합니다. 또한, LIFO는 그것을 사용하는 데 드는 에너지 비용이 유용하게 절약 된 에너지의 양보다 적을 정도로 충분한 단계에 대한 상태 데이터를 보유 할 수있을 정도로 커야합니다. 실제 FIFO로부터 N 바이트의 저장 및 검색에서 손실 된 에너지의 양이 O (1) 일 가능성이 낮기 때문에, N을 증가 시키면 에너지 소비를 의미있게 감소시킬 것이라는 것이 불분명하다.


1
@ LoganMayfield : 필요한 테이프 길이가 가역적으로 수행되는 단계 수에 비례한다는 요구 사항을 무시한다고 생각합니다. 카트리지를 Atari 2600에 꽂고 잠시 동안 전원을 켜면 하루에 약 1,000 억주기가 실행됩니다. 시스템 (가장 큰 카트리지를 제외한 모든 시스템 포함)은 100,000 개 미만의 트랜지스터를 갖기 때문에 하루에 백만 사이클 이상입니다. 비트 당 하나의 트랜지스터로 가역적 LIFO를 만들 수있는 능력을 가지고도 하루 동안 완전히 가역적으로 작동 할 수있는 동등한 기계를 설계하고자한다면 ...
supercat

1
... 트랜지스터 수를 백만배 이상 증가시켜야합니다. 한 번에 몇 천 주기만 가역적으로 실행해야하는 경우 결과를 캡처하고주기를 되 감은 다음 이전의 초기 상태를 캡처 된 결과로 바꾸면 거의 실행 가능하지만 엄청나게 복잡 할 수 있습니다. 아무것도 오늘날의 기술을 닮은으로, 사람이 가역적 컴퓨팅을 사용하여 얻을 것 "이론적으로 피할 수없는"손실 삭감은 피할 수 있었다 원인으로 전력 손실의 증가에 의해 압도 될 것이다 단지 이론.
supercat

1
나는 "가역 기술은 비가역 기술과 같은 것을 계산할 수 없다"고 말한 원래의 대답에 대해서만 우려했다. 나는 그것이 실용적이라는 것을 의미하지는 않았다.
로건 메이필드

1
@LoganMayfield : 초기 질문은 "왜 이런 것들이 사용되지 않는가"였습니다. 거의 모든 실제 컴퓨팅 장치가 일정 시간 동안 주어진 경우 고정 된 양의 하드웨어가 무제한의 계산을 수행 할 수 있도록 피드백을 사용하는 것이 좋습니다. 그것은 가역적 논리 가 할 수없는 것 입니다. 이는 가역 컴퓨팅과 비가역 컴퓨팅 의 주요 질적 차이입니다. "되감기"이전에 제한된 수의 작업 만 실행할 수있는 컴퓨터라도 여전히 유용 할 수 있습니다.
supercat

1
... 나는 의미있는 일을하기 위해 그러한 일을하는 데 필요한 것을 말하도록 게시물을 편집했습니다. 그러나 근본적인 실질적인 문제는 내가 원래 말한 것에서 비롯된 것이라고 생각합니다. 컴퓨터는 회로 요소를 임의의 횟수로 재사용하여 다른 계산을 수행 할 수없는 능력과 뒤집을 수있는 논리는 게이트 바로 밖으로 심각한 단점을 안겨줍니다.
supercat

2

실용적 가역 컴퓨팅은 활발한 연구 분야이며 앞으로 더욱 두드러 질 것으로 보입니다. 양자 컴퓨팅의 대부분은 가역적 큐 비트 게이트를 생성하려고 시도하는 것으로 볼 수 있으며 QM 형식주의의 이론적 특성과 일치시키는 것은 실험적으로 매우 어렵지만 꾸준한 진보가 이루어지고 있습니다.

또 다른 기본 요점은 칩에서 에너지 소비가 감소 할 때마다 게이트 시스템을 "더 가역적"으로 옮기고 있으며, 에너지 소비가 낮은 칩 소비는 모바일 컴퓨팅에서 오랫동안 우선 순위가 높다는 것입니다. 업계 전반의 패러다임 전환). 수십 년 동안 (무어의 법칙과 유사한) 칩 성능 향상은 에너지 손실로 다소 "릴렉스"되거나 "느슨해"져 왔지만 몇 년 전 수익이 감소하는 시점에 도달했습니다. 전 세계 주요 칩 제조업체 인 인텔은 저전력 칩으로 피봇을 시도하여 Arm과 경쟁하기 위해 노력하고 있습니다.

초전도 기술을 사용한 최근 연구 (2014 년 6 월)가있을 수 있으며,이 분야에 대한 다른 활발한 연구 프로젝트가 있습니다.

예를 들어, 참조 단열 초전도 장치를 사용하여 가역 논리 게이트를 / 타케우치, 야마나시, 요시카와, 자연 :

Rolf Landauer가 Landauer의 원리로 알려진 주장을 발전시킨 이후 가역 컴퓨팅이 연구되었습니다. 이 원칙은 정보 엔트로피의 감소를 수반하지 않기 때문에 가역 컴퓨팅의 논리 연산에 대한 최소 에너지 소비가 없음을 나타냅니다. 그러나 지금까지 실질적인 가역적 논리 게이트는 입증되지 않았다. 문제 중 하나는 매우 에너지 효율적인 논리 장치를 사용하여 가역 논리 게이트를 만들어야한다는 것입니다. 또 다른 어려움은 가역 로직 게이트가 논리적 및 물리적으로 가역적이어야한다는 것입니다. 여기 우리는 단열 초전도 장치를 사용 하여 첫 번째 실제 가역 논리 게이트를 제안 하 고 게이트의 논리적 및 물리적 가역성을 실험적으로 보여줍니다. 또한 게이트의 에너지 손실을 추정합니다. 가역 논리 연산에 필요한 최소 에너지 소산에 대해 논의합니다. 이 연구의 결과는 가역 컴퓨팅이 이론적 단계에서 실제 사용으로 이동할 수있게 할 것으로 기대됩니다.


1

프레드킨 게이트는 현실적이고 많은 것들이 구현되었습니다. 프레드킨 (Fredkin)과 토 포리 (Toffoli) 게이트를 LU로 사용하여 구현되는 가역 논리 게이트를 엄격하게 사용하는 전체 FPGA 보드가 있습니다.

컴퓨터 아키텍처에서 널리 사용되는 데 몇 가지 문제가 있습니다. 실제 회로에서 예상대로 작동하지 않는 프레드킨 게이트에는 몇 가지 "광고 된"장점이 있습니다. 가역 논리 게이트의 에너지 절약은 주로 작업 수행시 엔트로피를 만들 필요가 없기 때문입니다. Tom van der Zanden이 말했듯이 이것이 가역 논리가 훨씬 더 효율적인 이유 중 하나입니다. 실제 회로에서는 그렇지 않은 이유 :

  1. 현재 트랜지스터 기술은 컴퓨터 속도와 전력 소비를 제한하는 요소이며, 불행히도 전통적인 낸드 또는 게이트와 달리 프레드킨 게이트를 만들기 위해서는 더 많은 트랜지스터가 필요합니다. 이것은 프레드킨 게이트가 트랜지스터 누설을 통해 더 많은 에너지를 낭비하고 실리콘에 더 많은 공간을 필요로한다는 것을 의미합니다. 이것만으로도 fredkin gate를 통해 nand / nor를 사용하여 정당화 할 수 있습니다.
  2. 실제 계산으로 인해 엔트로피 생성이 아닌 트랜지스터에서 전력 손실의 주요 형태이므로,이 전력 손실을 보상하기 위해 여전히 프레드킨 게이트에 전력 및 접지선을 연결해야합니다. 이 대형 버스는 팬인 버스이며 실리콘에서 많은 공간을 차지합니다. 프레드킨 게이트에 더 많은 트랜지스터가 있기 때문에, 이것은 더 많은 팬-인 (fan-in)으로 이어지고 실리콘상의 더 많은 공간을 낭비하게한다.
  3. 우리는 가역적 프레드킨 게이트를 가지고 있지만 비가 역적 장치 (트랜지스터)로 만들어졌습니다. 이는 현재 게이트 기술 (양자 회로 외부)에서는 일부 에너지 이득이 실현되지 않음을 의미합니다.
  4. 크기와 속도는 실리콘과 관련이 있으며, 서로 가까이있을수록 일반적으로 더 빠르게 만들 수 있습니다. 프레드킨 게이트는 더 많은 트랜지스터를 사용하고 전력 등을 위해 더 많은 연결을 갖기 때문에 상당히 느려지는 경향이 있습니다.
  5. 전력 소비 이점과 속도 이점은 비트가 성공적으로 재사용 될 때만 실현됩니다. 우리가 가진 대부분의 알고리즘은 엄청나게 보수적이지 않습니다. 프레드킨 게이트를 사용하여 전체 가산기 또는 시프트 레지스터의 구현을 조사하여이를 확인할 수 있습니다. 가역적 로직은 논리적 팬인 및 팬 아웃을 허용하지 않기 때문에 유용한 연산을 수행하는 데 사용되지 않는 많은 비트 계산이 발생합니다. 두 개의 8 비트 숫자를 추가하는 것과 같은 것은 9 비트 또는 유용한 정보 (8 비트 결과, 1 캐리 비트)를 생성하지만 많은 1 및 0 상수의 입력 버스가 필요하고 많은 정크 데이터 출력 비트를 생성합니다. 더 넓은 버스를 가지고 있기 때문에 실리콘의 회로가 더욱 넓어집니다.
  6. 또한 정크 비트는 프로세서에 의해 덤프되어야하므로 절대 사용되지 않기 때문에 에너지 손실이 발생할 수 있습니다.

요약 : Fredkin 게이트는 실제 알고리즘을 구현할 때 많은 낭비 계산을 생성합니다. 폐기물 계산 = 낭비 된 에너지. 이로 인해 버스 크기가 증가하여 사물이 확산되고 속도가 느려집니다. 또한, 프레드킨 게이트의 물리적 구현은 현재 기술에 대한 더 큰 관심사입니다. 현재의 구현은 회로의 손실 (에너지 손실에 대해 훨씬 더 큰 관심사)을 보상하기 위해 더 많은 전력 및 접지선을 요구함으로써 사물을 더 널리 퍼 뜨리고 실리콘에 훨씬 더 많은 부동산을 사용합니다 (속도에 대한 훨씬 더 큰 관심사) )

나는 이것이 오래된 스레드라는 것을 알고 있지만 많은 답변은 트랜지스터가 비효율적이라는 사실에 중점을 둡니다. 내 목표는 알고리즘이 비효율적이며 가역 컴퓨팅을 잘 처리하지 못한다는 것을 보여주는 것입니다. 나는 가역 및 양자 컴퓨팅 연구를 즐기는 컴퓨터 엔지니어입니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.