Mengapa Komputer Menggunakan Sistem Angka Biner (0,1)? Mengapa mereka tidak menggunakan Sistem Angka Ternary (0,1,2) atau sistem angka lainnya?
Mengapa Komputer Menggunakan Sistem Angka Biner (0,1)? Mengapa mereka tidak menggunakan Sistem Angka Ternary (0,1,2) atau sistem angka lainnya?
Jawaban:
Karena kita berada di Ilmu Komputer, saya akan menjawab seperti ini: mereka tidak.
Apa yang kita maksud dengan "komputer?" Ada banyak definisi, tetapi dalam ilmu komputer sebagai ilmu, yang paling umum adalah mesin Turing.
Mesin turing didefinisikan oleh beberapa aspek: set keadaan, tabel transisi, set berhenti, dan penting untuk diskusi kita, alfabet. Alfabet ini mengacu pada simbol-simbol yang dapat dibaca mesin sebagai input, dan bahwa ia dapat menulis ke kasetnya. (Anda dapat memiliki berbagai alfabet input dan tape, tetapi jangan khawatir tentang itu untuk saat ini.)
Jadi, saya bisa membuat mesin Turing dengan alfabet masukan , atau , atau , atau . Itu tidak masalah. Faktanya adalah, saya bisa menggunakan alfabet apa saja yang saya pilih untuk menyandikan data.{ a , b } { 0 , 1 , 2 } { ↑ , ↓ }
Jadi, saya dapat mengatakan bahwa adalah 9, atau saya dapat mengatakan bahwa adalah 9. Tidak masalah, karena itu hanya simbol yang dapat kita bedakan.↑ ↑ ↑ ↓ ↑ ↑ ↓
Kuncinya adalah bahwa biner sudah cukup. Urutan bit apa pun dapat diartikan sebagai angka, sehingga Anda dapat mengonversi dari biner ke sistem lain dan kembali.
Tapi, ternyata unary juga sudah cukup. Anda dapat menyandikan 9 sebagai 111111111. Ini tidak terlalu efisien, tetapi memiliki kekuatan komputasi yang sama.
Hal-hal menjadi lebih gila ketika Anda melihat ke dalam model komputasi alternatif, seperti kalkulus Lambda. Di sini, Anda dapat melihat angka sebagai fungsi. Bahkan, Anda dapat melihat semuanya sebagai fungsi. Hal-hal dikodekan bukan sebagai bit, 0s dan 1s, tetapi sebagai fungsi matematika tertutup tanpa keadaan bisa berubah. Lihat angka - angka Gereja untuk bagaimana Anda dapat melakukan angka dengan cara ini.
Intinya adalah bahwa, 0s dan 1s adalah masalah khusus perangkat keras, dan pilihannya arbitrer. Pengkodean apa yang Anda gunakan tidak terlalu relevan dengan ilmu komputer, di luar beberapa subbidang seperti sistem operasi atau jaringan.
Beberapa hal lain yang perlu dipertimbangkan:
Bagian dari alasan untuk menggunakan sistem bilangan biner adalah karena sistem bilangan terendah-basa yang dapat mewakili angka-angka dalam ruang logaritmik, bukan linear. Untuk secara unik membedakan antara angka yang berbeda di unary, panjang rata-rata representasi harus sebanding dengan setidaknya , karena hanya ada satu string panjang mana ; . Untuk secara unik membedakan antara angka yang berbeda dalam biner, panjang rata-rata representasi harus sebanding dengan setidaknya , karena ada angka biner panjang ;n k k < n 1 + 1 + . . . + 1 = n n log 2 n 2 k k 1 + 2 + . . . + n + 1nlog10nlog102≈0.3nn . Memilih pangkalan yang lebih besar meningkatkan kebutuhan ruang dengan faktor konstan; basis 10 memberi Anda angka dengan panjang representasi rata-rata , yaitu kali panjang rata-rata representasi basis dua untuk semua . Perbedaan antara biner dan unary jauh lebih besar; sebenarnya, ini adalah fungsi dari . Anda mendapatkan banyak dengan memilih biner daripada unary; Anda mendapatkan lebih sedikit dengan memilih basis yang lebih tinggi, dengan perbandingan.
Ada beberapa kebenaran pada gagasan bahwa lebih mudah untuk mengimplementasikan logika digital jika kita hanya perlu membedakan dua keadaan. Sinyal listrik adalah analog dan, dengan demikian, dapat diinterpretasikan untuk mewakili sebanyak mungkin keadaan terpisah yang Anda inginkan ... tetapi Anda membutuhkan perangkat keras yang lebih tepat (karenanya mahal dan rewel) untuk secara andal membedakan lebih banyak keadaan dalam rentang yang sama. Ini menyarankan untuk memilih pangkalan serendah mungkin.
Pertimbangan lain yang berpotensi penting adalah bahwa logika telah dipahami secara klasik untuk melibatkan dua nilai berbeda: dan . Sekarang, kita memiliki logika yang lebih bagus dari ini, tetapi banyak matematika dan sains masih bertumpu pada konsep dasar yang cukup. Ketika Anda menganggap bahwa komputer digunakan untuk menghitung, dan logika itu penting untuk perhitungan, itu menunjukkan memiliki dukungan yang baik untuk setidaknya dua keadaan yang berbeda ... tetapi logika tidak benar-benar memerlukan lebih dari itu.f a l s e
Salah satu alasan besar mengapa sebagian besar sirkuit komputer menggunakan dua keadaan adalah bahwa jumlah sirkuit yang diperlukan untuk membedakan antara n level tegangan yang berbeda kira-kira sebanding dengan n -1. Akibatnya, memiliki tiga keadaan yang dapat dilihat akan membutuhkan sirkuit dua kali lebih banyak per sinyal, dan memiliki empat keadaan akan membutuhkan tiga kali lebih banyak. Tiga kali lipat jumlah sirkuit sementara hanya menggandakan jumlah informasi akan mewakili hilangnya efisiensi.
Perhatikan bahwa ada beberapa tempat di komputer tempat informasi disimpan atau dikomunikasikan menggunakan lebih dari dua status per elemen. Dalam array memori flash, ratusan atau ribuan sel memori dapat dilayani oleh satu set rangkaian sensor level. Menggunakan empat level per sel daripada dua ketika menyimpan sejumlah informasi tertentu mungkin lebih dari tiga kali lipat ukuran sirkuit pengindraan level, tetapi akan memotong setengah jumlah sel memori yang diperlukan. Ketika berkomunikasi dengan lebih dari 100-basis-T atau Ethernet yang lebih cepat, biaya sirkuit yang diperlukan untuk mendeteksi beberapa level sinyal pada kabel kemungkinan akan dikerdilkan dengan biaya apakah harus menggunakan kabel dengan lebih banyak kabel atau menggunakan kabel yang dapat menangani lebih banyak transisi sinyal per detik tanpa tingkat distorsi yang tidak dapat diterima.
Memang ada komputer kuantum di laboratorium penelitian yang menggunakan q-bit sebagai unit dasar informasi yang dapat berupa 0 dan 1 secara bersamaan.
http://en.wikipedia.org/wiki/Quantum_computer
Ada juga komputer kuantum ternary yang dibangun sesuai referensi ini http://en.wikipedia.org/wiki/Ternary_computer
Jadi, memang mungkin untuk membangun perangkat komputasi alternatif yang tidak bergantung pada sistem angka biner. Sistem serat optik misalnya menggunakan 0 untuk polarisasi cahaya orthoganal gelap dan dua berbeda seperti 1 dan -1.
Alasan mengapa saya menyebutkan hal-hal ini adalah karena saya ingin menunjukkan bahwa meskipun angka biner cukup untuk komputasi, ada sistem angka alternatif yang dapat digunakan untuk komputasi.
Sistem bilangan biner bagus dalam arti ini kita dapat menyandikan semua bilangan bulat dengan menggunakan representasi angka radix. http: // en.wikipedia.org/wiki/Radix Nilai-nilai ini dapat mewakili kode ASCII A = 0x41 = 01000001, atau nilainya bisa mewakili instruksi mesin nop = 0x90 = 0x10010000.
Di jantung kekuatan pemrosesan komputer digital adalah sebuah transistor, yang bekerja seperti saklar. Dengan menaikkan arus di "gerbang" sakelar, ia memungkinkan arus mengalir di antara "kolektor" dan "pemancar" - sakelar dihidupkan. Transistor akan dirancang untuk beroperasi dalam salah satu dari dua mode - sepenuhnya aktif atau sepenuhnya mati ('jenuh') - dengan pembagian yang jelas tentang apa negara-negara tersebut. Transistor dapat beralih di antara dua keadaan dengan cepat, akan tetap di negara dengan kesalahan yang sangat terbatas.
Sirkuit ini membentuk dasar untuk perangkat logika, seperti AND, NAND, OR, XOR dan fungsi lainnya. Fungsi NAND menjadi yang paling dasar dari blok bangunan. Perangkat logika ini dirakit untuk menyediakan prosesor yang tetap dalam kondisi yang dapat diprediksi, dan banyak transistor dapat dikemas dalam ruang kecil untuk menyediakan fungsionalitas yang dibutuhkan.
Transistor dapat mengelola banyak, atau berbagai kondisi, tetapi ketika beroperasi dengan cara itu mereka tidak menghasilkan komputer "digital" konvensional - mereka cenderung tidak berada dalam kondisi yang dapat diprediksi dan mereka cenderung mengalami gangguan, saturasi, osilasi, dll - jadi mereka memiliki aplikasi terbatas dalam hal kemampuan komputasi. Op-amp dapat dianggap komputer analog.
Kami hanya menggunakan biner (1,0) karena saat ini kami tidak memiliki teknologi untuk membuat "sakelar" yang dapat dipercaya menyimpan lebih dari dua kemungkinan keadaan. (Komputer kuantum tidak benar-benar dijual saat ini.) Sistem biner dipilih hanya karena cukup mudah untuk membedakan keberadaan arus listrik dari tidak adanya arus listrik, terutama ketika bekerja dengan triliunan koneksi seperti itu. Dan menggunakan basis nomor lain dalam sistem ini konyol, karena sistem perlu terus-menerus mengkonversi di antara mereka. Itu semua yang ada untuk itu.