Mengapa gerbang reversibel tidak digunakan?

25

Saya membaca buku "Singularitas sudah dekat" yang ditulis oleh Kurzweil dan dia menyebutkan gerbang yang dapat dibalik seperti misalnya gerbang Fredkin . Keuntungan menggunakan gerbang seperti itu adalah kita bisa membuang limbah termal yang terkait dengan perhitungan di mana bit hilang menjadi panas, dan perhitungan tidak membutuhkan input energi. Asumsi itu membuat gerbang ini terdengar seperti solusi ajaib. Jadi pertanyaannya adalah rintangan teknis apa yang masih mencegah penggunaan skala besar mereka.

Saya juga berpikir itu memalukan bahwa saya tidak pernah mendengar tentang gerbang itu dalam studi sarjana dan magister teknik elektro saya di universitas top Jerman ...

Mehdi
sumber
5
Perhatikan bahwa perhitungan kuantum sangat banyak tentang gerbang yang dapat dibalik (itu adalah bagian dari apa yang dimaksud "kesatuan").
David Richerby
1
@ DavidRicherby Tidak semua perhitungan kuantum dapat dibalik; akhirnya dekoherensi terjadi.
Alice
Perhatikan bahwa komputer praktis yang menggunakan gerbang reversibel masih akan menghasilkan panas, karena Anda perlu melakukan koreksi kesalahan untuk menjaga komputer tetap di jalurnya. Koreksi kesalahan secara inheren membutuhkan operasi ireversibel (atau pasokan terus-menerus bit nol; perbedaan yang sama).
Craig Gidney

Jawaban:

18

Saya sama sekali tidak ahli dalam topik ini, tetapi hanya dari membaca Wikipedia dengan santai:

itu bergantung pada gerakan bola bilyar bola di lingkungan bebas gesekan yang terbuat dari buffer yang dengannya bola memantul dengan sempurna

... ini terdengar sangat realistis.

Tidak ada yang benar-benar menemukan cara untuk benar-benar membuat gerbang seperti itu, mereka hanyalah kepentingan teoritis. Itu mungkin menjelaskan mengapa Anda belum pernah mendengarnya karena teknik biasanya berkaitan dengan praktik.

Premis Reversible Computing adalah ketika sedikit hilang, sejumlah panas dihasilkan. Dengan menggunakan gerbang reversibel, tidak ada bit yang pernah muncul atau hilang sehingga perhitungannya bisa jauh lebih efisien dengan gerbang reversibel.

Batas teoretis Reversible Computing mengklaim untuk berkeliling adalah bahwa menghapus 1 bit informasi menghasilkan setidaknya energi dalam panas. Untuk komputer yang menjalankan pada pemanggang 60kTln2 dengan 10 9 transistor masing-masing membuat bit menghilang pada laju 560C109 , yang sesuai dengan 165GHz dari generasi panas. Itu hanya menyumbang sebagian kecil ( 1 / 10000 ) dari penggunaan energi komputer.16mW1/10000

Komputer saat ini kami tidak dibatasi oleh generasi panas yang terkait dengan hilangnya bit. Mereka dibatasi oleh inefisiensi inheren dalam memindahkan elektron di sekitar jejak tembaga kecil.

Tom van der Zanden
sumber
5
-1. Beberapa orang telah membuat gerbang yang dapat dibalik dan membangun seluruh CPU dari mereka. Ada foto CPU logika reversibel di cise.ufl.edu/research/revcomp .
David Cary
2
@ DavidVary tetapi mereka tidak (atau diabaikan) lebih efisien daripada komputer yang terbuat dari gerbang non-reversibel.
user253751
3
@immibis Sangat tidak benar; mereka tidak tunduk pada undang-undang yang sama dengan komputer yang dibuat dari gerbang yang tidak dapat dibalik, dan karenanya secara drastis lebih efisien.
Alice
3
@ DavidvidCary Tolong tunjukkan saya beberapa data tentang seberapa efisien CPU yang Anda tautkan. Yang saya lihat hanyalah gambar CPU dengan kata "adiabatik" di atasnya, tetapi tidak ada informasi seberapa efisien dari komputer tradisional itu.
Tom van der Zanden
1
@ TomvanderZanden Mengukur efisiensi agak tidak berguna jika Anda tidak menentukan efisiensi seperti apa. Chip RISC lebih efisien daripada chip CISC, dalam hal ukuran chip, tetapi tidak dalam hal berapa banyak instruksi yang diperlukan untuk menentukan algoritma yang diberikan. Setiap sirkuit yang dapat dibalik secara langsung lebih efisien daripada sirkuit tradisional karena tidak tunduk pada prinsip Landauer ; itu sudah merupakan kemenangan besar.
Alice
15

Masalah dengan gerbang reversibel praktis (gerbang yang dapat (dan telah) dibuat dalam silikon) adalah bahwa penghematan energi aktual sebanding secara linear dengan seberapa lambat Anda menjalankannya.

Saya tahu bahwa kelompok riset Tom Knight di MIT membuat prosesor adiabatik kecil di akhir 1990-an. Keluarga logika praktis yang mereka kembangkan disebut logika pemulihan biaya tingkat terpisah, dan dapat diimplementasikan menggunakan teknik fabrikasi standar (CMOS). Saya percaya pekerjaan telah dilanjutkan oleh Michael P Frank di Universitas Negeri Florida. Contoh karya dalam kelompok Tom Knight adalah tesis master berikut (yang memiliki bagian yang cukup baik pada pekerjaan terkait sampai awal 1990-an.) Vieri, CJ: Pendulum: A Arsitektur Komputer Reversibel , Tesis Master, dept MIT EECS, 1995.

Sirkuit yang dapat dibalik harus adiabatik (tidak mungkin ada pertukaran panas antara sirkuit dan lingkungannya), yang berarti bahwa sirkuit tersebut harus berada dalam kesetimbangan setiap saat. Untuk setiap proses yang perlu mengubah sesuatu, Anda hanya dapat memperkirakan keseimbangan dengan membuat perubahan terjadi selambat mungkin.

Jika saya ingat termodinamika saya dengan benar, Anda dapat membuat energi dari perhitungan yang dapat dibalik menjadi kecil, tetapi tindakan minimum (waktu waktu energi) harus berupa konstanta kecil.

Logika Pengembaraan
sumber
2
Anda tidak ingat termodinamika dengan benar; Prinsip Landauer tidak perlu didukung oleh sirkuit reversibel (karena tidak menghapus bit), dan oleh karena itu energi yang dibutuhkan secara teoritis dapat menjadi nol (dan tidak ada panas yang akan dilepaskan). Sirkuit yang dapat dibalik juga tidak perlu adiabatik; gerbang reversibel praktis telah dibuat yang tidak lebih lambat dari chip non-reversibel (dengan mempertimbangkan bahwa chip reversibel biasanya lebih besar, dan karenanya memiliki kecepatan peningkatan latensi cahaya).
Alice
"kecepatan peningkatan latensi cahaya": Apakah Anda mengacu pada chip optik yang dapat dibalik ? Kebanyakan chip elektronik.
zylstra
6

Rintangan terbesar yang mencegah penggunaan skala besar adalah sama dengan sirkuit asinkron dan hampir semua desain sirkuit non-standar lainnya: hukum Moore.

Hukum Moore telah menjadi semacam ramalan yang dipenuhi sendiri; seperti yang terlihat oleh Tick ​​Tock Release Schedule , produsen chip melihat memenuhi hukum Moore sebagai tantangan. Karena kebutuhan untuk memenuhi hukum Moore, kami semakin mahir dalam mengurangi ukuran chip dengan memajukan litografi (dan seringkali dengan menggunakan cheat, seperti multipatterning).

Apa hubungannya semua ini dengan gerbang yang dapat dibalik? Saat pengecoran berlomba untuk melepaskan ukuran transistor yang lebih baru dan lebih kecil, perusahaan yang ingin mencetak chip baru melihat jalan mudah menuju peningkatan kecepatan hanya dengan menambahkan lebih banyak cache dan mengerjakan ulang desain konvensional mereka untuk menggunakan cache dengan lebih baik.

Pembunuh yang lebih baik bukanlah gangguan teknologi; itu keberhasilan yang cukup baik .

Alice
sumber
1
Semoga suatu hari cukup baik tidak akan cukup baik lagi.
Mehdi
@Mehdi Bukankah kita semua berharap. Tetapi saya tidak akan begitu yakin; energi saat ini murah dan ada jalan untuk melanjutkan siklus saat ini selama setidaknya 5 tahun (mungkin 10, jika kita menemukan cara untuk membuat teknologi tertentu bekerja . Setelah itu, beberapa teknologi baru harus menggantikan litografi, tetapi ini tidak berarti itu harus tidak konvensional. litografi 3D dapat memberikan chip yang lebih padat dengan membangun pada nada yang sama, tetapi dalam arah yang berbeda. Itu bisa membuat kita memperoleh keuntungan sampai tahun 2050.
Alice
3

Perangkat komputasi yang berguna memerlukan umpan balik, yang memungkinkan satu elemen rangkaian melakukan perhitungan sekuensial yang pada dasarnya tidak terbatas. Sirkuit umpan balik yang dapat digunakan harus berisi bagian yang jumlah total inputnya (yang menghitung input yang diumpan balik dari output dan yang tidak) melebihi jumlah output yang diumpankan ke input (satu-satunya cara jumlah input tidak akan ' t melebihi jumlah umpan balik akan jika sirkuit tidak merespon dengan cara apapun terhadap rangsangan luar). Karena fungsi logika yang dapat dibalik sempurna tidak dapat memiliki lebih banyak input daripada output, tidak mungkin untuk membangun dari mereka salah satu dari struktur umpan balik yang diperlukan untuk melakukan tugas komputasi non-sepele berulang kali. Perhatikan bahwa dengan teknologi CMOS yang digunakan di komputer saat ini, umpan balik diperlukan untuk memastikan bahwa hasil yang dilaporkan oleh perhitungan di berbagai bagian sirkuit tersedia secara bersamaan ke bagian lain, karena jika itu bukan waktu relatif yang dengannya sinyal datang akan merupakan "informasi" yang tidak dapat dengan sempurna diteruskan ke hilir; teknologi lain mungkin memungkinkan banyak gerbang menyebarkan sinyal pada tingkat yang persis sama sambil mempertahankan reversibilitas, tetapi saya tahu tidak ada teknologi praktis untuk itu.

Perhatikan bahwa dari perspektif CS, itu sepele untuk membuat proses komputasi reversibel jika seseorang awalnya memiliki media penyimpanan kosong yang ukurannya pada dasarnya sebanding dengan jumlah langkah kali jumlah negara yang dapat berubah di setiap langkah. Klaim ini tidak bertentangan dengan klaim paragraf sebelumnya, karena penyimpanan yang proporsional dengan jumlah langkah akan memerlukan sirkuit yang proporsional dengan jumlah langkah, yang akan menyiratkan sirkuit yang proporsional dengan jumlah yang akan diperlukan jika semua umpan balik dihilangkan.

Jika seseorang diizinkan untuk memiliki output yang diabaikan jika, dengan kondisi input yang tepat, output tidak akan pernah tinggi, maka dimungkinkan untuk merancang sistem yang, secara teori, akan mendapat manfaat dari logika yang dapat dibalik. Misalnya, jika seseorang memiliki algoritme yang beroperasi pada 256 kata RAM dan satu ingin menggunakan "CPU logika reversibel" yang melakukan 1.000.000 operasi per detik dan setiap operasi memperbarui register, penghitung program, atau satu kata RAM, orang dapat menggunakan "CPU reversibel" yang akan:

  • menjalankan banyak instruksi dan, masing-masing, mengirim apa pun yang ditimpa ke buffer LIFO
  • setelah sekelompok instruksi dieksekusi, salin RAM ke buffer "penerusan" yang awalnya kosong
  • menggunakan nilai-nilai dalam LIFO, jalankan semua perhitungan secara terbalik
  • menimpa isi RAM utama dengan buffer penerusan, yang akan dihapus dalam proses.

Resep di atas dapat diulang beberapa kali untuk menjalankan algoritme untuk sejumlah langkah sewenang-wenang; hanya langkah terakhir dari resep tidak akan dapat dibalik. Jumlah energi yang dihabiskan per langkah algoritmik dalam operasi non-reversibel akan berbanding terbalik dengan ukuran LIFO, dan dengan demikian dapat dibuat kecil sewenang-wenang jika seseorang membangun untuk membangun LIFO yang cukup besar.

Agar kemampuan itu dapat diterjemahkan ke dalam segala jenis penghematan energi, bagaimanapun, perlu untuk memiliki LIFO yang akan menyimpan energi ketika informasi dimasukkan, dan berguna mengembalikan energi itu ketika dibacakan. Lebih lanjut, LIFO harus cukup besar untuk menampung data keadaan untuk langkah-langkah yang cukup sehingga biaya energi untuk menggunakannya lebih kecil dari jumlah energi yang dihematnya. Mengingat bahwa jumlah energi yang hilang dalam penyimpanan dan pengambilan N byte dari FIFO praktis tidak mungkin menjadi O (1), tidak jelas bahwa meningkatkan N akan mengurangi konsumsi energi secara bermakna.

supercat
sumber
1
@LoganMayfield: Saya pikir Anda mengabaikan persyaratan bahwa panjang kaset yang diperlukan sebanding dengan jumlah langkah yang harus dilakukan secara terbalik. Jika saya melempar cartridge ke Atari 2600 saya dan menyalakannya untuk sementara waktu, itu akan berjalan sekitar 100 miliar siklus per hari. Karena sistem (termasuk semua kecuali kartrid terbesar) akan memiliki kurang dari 100.000 transistor, itu lebih dari satu juta siklus per hari per transistor. Jika seseorang ingin merancang mesin setara yang dapat berjalan selama satu hari sepenuhnya secara reversibel, bahkan dengan kemampuan untuk membuat LIFO yang dapat dibalikkan dengan satu transistor per bit ...
supercat
1
... akan perlu untuk meningkatkan jumlah transistor lebih dari satu juta kali lipat. Jika seseorang hanya perlu menjalankan beberapa ribu siklus pada satu waktu secara terbalik, tangkap hasilnya, putar ulang siklusnya, dan kemudian ganti keadaan awal sebelumnya dengan hasil yang ditangkap, yang mungkin hampir bisa diterapkan, tetapi akan sangat rumit. Dengan apa pun yang menyerupai teknologi saat ini, setiap pengurangan kerugian "yang secara teoritis tidak dapat dihindari" yang akan diperoleh seseorang dengan menggunakan komputasi yang dapat dibalikkan akan dibanjiri oleh peningkatan daya yang hilang karena sebab-sebab yang hanya dapat dihindari dalam teori.
supercat
1
Saya hanya peduli dengan pernyataan jawaban asli Anda yang muncul dengan mengatakan, "teknologi yang dapat dibalik tidak dapat menghitung hal yang sama dengan teknologi yang tidak dapat diubah". Saya tidak bermaksud mengatakan itu praktis.
Logan Mayfield
1
@LoganMayfield: Pertanyaan awal adalah "mengapa hal-hal ini tidak digunakan". Saya menyarankan bahwa hampir semua perangkat komputasi praktis menggunakan umpan balik sedemikian rupa sehingga jumlah perangkat keras yang tetap akan dapat melakukan jumlah perhitungan tanpa batas jika diberi waktu tanpa batas. Itu adalah sesuatu yang tidak bisa dilakukan oleh logika reversibel . Itu adalah perbedaan kualitatif utama antara komputasi reversibel dan non-reversibel. Mungkin bahkan komputer yang hanya dapat menjalankan sejumlah operasi sebelum "memutar ulang" masih bisa berguna, jadi ...
supercat
1
... Saya telah mengedit posting untuk mengatakan apa yang diperlukan untuk menggunakan hal seperti itu untuk melakukan pekerjaan yang berarti. Saya pikir masalah praktis mendasar bermula, berasal dari apa yang saya katakan sebelumnya: komputer mendapatkan sebagian besar uang mereka dari kemampuan mereka untuk menggunakan kembali elemen rangkaian beberapa kali secara acak untuk melakukan perhitungan yang berbeda, dan ketidakmampuan logika reversibel untuk menangani yang akan menempatkannya pada kerugian parah di luar gerbang.
supercat
2

Komputasi reversibel terapan praktis adalah bidang penelitian aktif dan cenderung menjadi lebih menonjol di masa depan. Sebagian besar komputasi kuantum dapat dilihat sebagai upaya untuk menciptakan gerbang qubit yang dapat dibalik dan sangat sulit secara eksperimental untuk mencocokkan sifat teoritis formalisme QM, tetapi kemajuan yang mantap sedang dilakukan.

Poin dasar lainnya adalah bahwa kapan saja pengurangan energi berkurang pada sebuah chip, pada dasarnya memindahkan sistem gerbang ke "lebih reversibel", dan disipasi chip berenergi rendah telah menjadi prioritas tinggi untuk waktu yang lama sekarang dalam komputasi mobile (mewakili semacam pergeseran paradigma seluruh industri). Selama beberapa dekade, peningkatan kinerja chip (mirip dengan hukum Moore) muncul dengan menjadi agak "santai" atau bahkan "ceroboh" dengan disipasi energi tetapi mencapai titik pengembalian yang menurun beberapa tahun yang lalu. Pabrikan chip terkemuka di dunia, Intel, berusaha untuk berporos ke dalam chip berdaya rendah untuk bersaing dengan Arm yang memiliki keunggulan setelah tidak pernah membangun apa pun kecuali.

Ada beberapa kemungkinan terobosan penelitian terbaru menggunakan teknologi superkonduktor (Juni 2014), dan ada proyek penelitian aktif lainnya di bidang ini.

Lihat misalnya gerbang logika Reversibel menggunakan perangkat superkonduktor adiabatik / Takeuchi, Yamanashi, Yoshikawa, Alam:

Komputasi reversibel telah dipelajari sejak Rolf Landauer mengajukan argumen yang kemudian dikenal sebagai prinsip Landauer. Prinsip ini menyatakan bahwa tidak ada disipasi energi minimum untuk operasi logika dalam komputasi reversibel, karena tidak disertai dengan pengurangan dalam entropi informasi. Namun, sampai sekarang, tidak ada gerbang logika reversibel praktis yang telah dibuktikan. Salah satu masalah adalah bahwa gerbang logika reversibel harus dibangun dengan menggunakan perangkat logika yang sangat hemat energi. Kesulitan lain adalah bahwa gerbang logika yang dapat dibalik harus secara logis dan fisik dapat dibalik. Di sini kami mengusulkan gerbang logika reversibel praktis pertama menggunakan perangkat superkonduktor adiabatik dan secara eksperimental menunjukkan reversibilitas logis dan fisik gerbang. Selain itu, kami memperkirakan disipasi energi gerbang, dan bahas disipasi energi minimum yang diperlukan untuk operasi logika reversibel. Diharapkan bahwa hasil penelitian ini akan memungkinkan komputasi reversibel bergerak dari tahap teoritis ke penggunaan praktis.

ay
sumber
1

Gerbang Fredkin realistis dan banyak yang telah diterapkan. Ada seluruh papan FPGA secara ketat menggunakan gerbang logika reversibel yang diimplementasikan menggunakan gerbang Fredkin dan Toffoli sebagai LU mereka.

Ada beberapa masalah yang mempengaruhi penggunaannya yang luas dalam arsitektur komputer. Ada beberapa keuntungan "yang diiklankan" untuk gerbang fredkin yang tidak selalu berfungsi seperti yang diharapkan di sirkuit nyata. Penghematan energi gerbang logika reversibel sebagian besar disebabkan oleh fakta bahwa mereka tidak memerlukan entropi dibuat ketika operasi dilakukan. Seperti yang dinyatakan oleh Tom van der Zanden, ini adalah alasan utama mengapa logika reversibel bisa jauh lebih efisien. Mengapa ini tidak terjadi di sirkuit nyata:

  1. Saat ini teknologi transistor lebih membatasi kecepatan komputer dan konsumsi daya, dan sayangnya, lebih banyak transistor diperlukan untuk membuat fredkin gate dibandingkan dengan nand tradisional atau gerbang. Ini berarti fredkin gates membuang lebih banyak energi melalui kebocoran transistor dan membutuhkan lebih banyak ruang pada silikon (yang berarti lebih mahal). Ini saja sudah cukup untuk membenarkan menggunakan gerbang nand / atau lebih dari fredkin
  2. Karena bentuk utama dari kehilangan daya jika dari transistor dan bukan penciptaan entropi karena perhitungan yang sebenarnya, Anda masih perlu menjalankan saluran listrik dan tanah ke gerbang fredkin untuk mengkompensasi hilangnya daya ini. Bus besar ini adalah bus penggemar, yang juga memakan banyak ruang pada silikon. Karena ada lebih banyak transistor di gerbang fredkin, ini menyebabkan lebih banyak kipas, sehingga lebih banyak ruang terbuang pada silikon.
  3. Meskipun kami memiliki gerbang fredkin yang dapat dibalik, ini dibangun dari perangkat yang tidak dapat dibalik (transistor). Ini berarti beberapa keuntungan energi tidak direalisasikan dengan teknologi gerbang saat ini (di luar sirkuit kuantum).
  4. Ukuran dan kecepatan berhubungan dengan silikon, semakin dekat satu sama lain, umumnya semakin cepat Anda bisa membuatnya. Karena fredkin gates menggunakan lebih banyak transistor dan memiliki lebih banyak koneksi untuk daya, dll, mereka cenderung lebih lambat secara signifikan.
  5. Keuntungan konsumsi daya dan keuntungan kecepatan hanya direalisasikan ketika bit berhasil digunakan kembali. Sebagian besar algoritma yang kami miliki sangat tidak konservatif. Anda dapat melihat ini dengan meneliti implementasi penambah penuh atau daftar geser menggunakan gerbang fredkin. Karena logika reversibel tidak memungkinkan fan-in dan fan-out yang logis, ini menyebabkan banyak perhitungan bit yang pada akhirnya tidak digunakan untuk mencapai operasi yang bermanfaat. Sesuatu seperti menambahkan dua angka 8-bit akan menghasilkan 9-bit atau informasi berguna (hasil 8-bit, 1 carry bit), tetapi akan membutuhkan bus input dari banyak konstanta 1 dan 0 dan menghasilkan banyak bit output data sampah. Karena Anda memiliki bus yang lebih luas, ini menyebabkan sirkuit silikon yang semakin menyebar.
  6. Selain itu, bit sampah harus dibuang oleh prosesor, dan dengan demikian akan menyebabkan hilangnya energi karena mereka tidak pernah digunakan

Ringkasan: Gerbang Fredkin menghasilkan banyak perhitungan limbah saat menerapkan algoritma nyata. perhitungan limbah = energi yang terbuang. Karena hal ini, ukuran bus bertambah yang menyebar dan memperlambat. Selain itu, implementasi fisik gerbang fredkin adalah perhatian yang lebih besar untuk teknologi saat ini. Implementasi saat ini menyebar lebih banyak hal dengan membutuhkan lebih banyak daya dan saluran tanah untuk mengkompensasi kerugian di sirkuit (yang merupakan keprihatinan yang jauh lebih besar untuk kehilangan energi) dan menggunakan real-estate lebih banyak pada silikon (yang merupakan perhatian yang lebih besar untuk kecepatan )

Saya menyadari ini adalah utas lama, tetapi banyak jawaban berfokus pada fakta bahwa transistor tidak efisien. Tujuan saya adalah menunjukkan algoritme kami juga tidak efisien dan tidak menangani komputasi yang dapat dibalik dengan baik. Saya seorang insinyur komputer yang senang meneliti komputasi reversibel dan kuantum

Ryan
sumber