Tại sao máy tính sử dụng hệ thống số nhị phân (0,1)? Tại sao họ không sử dụng Hệ thống số Ternary (0,1,2) hoặc bất kỳ hệ thống số nào khác thay thế?
Tại sao máy tính sử dụng hệ thống số nhị phân (0,1)? Tại sao họ không sử dụng Hệ thống số Ternary (0,1,2) hoặc bất kỳ hệ thống số nào khác thay thế?
Câu trả lời:
Vì chúng tôi ở Khoa học máy tính, tôi sẽ trả lời theo cách này: họ không.
"Máy tính" nghĩa là gì? Có rất nhiều định nghĩa, nhưng trong khoa học máy tính với tư cách là một khoa học, phổ biến nhất là máy Turing.
Một máy turing được xác định bởi một số khía cạnh: bộ trạng thái, bảng chuyển tiếp, bộ tạm dừng và quan trọng cho cuộc thảo luận của chúng tôi, một bảng chữ cái. Bảng chữ cái này đề cập đến các ký hiệu mà máy có thể đọc làm đầu vào và nó có thể ghi vào băng của nó. (Bạn có thể có các bảng chữ cái đầu vào và băng khác nhau, nhưng bây giờ chúng ta đừng lo lắng về điều đó.)
Vì vậy, tôi có thể tạo một máy Turing với bảng chữ cái đầu vào hoặc hoặc hoặc . Nó không thành vấn đề. Thực tế là, tôi có thể sử dụng bất kỳ bảng chữ cái nào tôi chọn để mã hóa dữ liệu.
Vì vậy, tôi có thể nói rằng là 9 hoặc tôi có thể nói rằng là 9. Không thành vấn đề, vì chúng chỉ là biểu tượng chúng ta có thể phân biệt.
Bí quyết là nhị phân là đủ. Bất kỳ chuỗi bit nào cũng có thể được hiểu là một số, vì vậy bạn có thể chuyển đổi từ nhị phân sang bất kỳ hệ thống nào khác và quay lại.
Nhưng, hóa ra unary là quá đủ. Bạn có thể mã hóa 9 thành 111111111. Điều này không đặc biệt hiệu quả, nhưng nó có sức mạnh tính toán tương tự.
Mọi thứ trở nên điên rồ hơn khi bạn nhìn vào các mô hình tính toán xen kẽ, như phép tính Lambda. Tại đây, bạn có thể xem số là hàm. Trong thực tế, bạn có thể xem mọi thứ là các chức năng. Mọi thứ được mã hóa không phải là bit, 0 và 1, mà là các hàm toán học đóng không có trạng thái có thể thay đổi. Xem các chữ số của Giáo hội để biết cách bạn có thể thực hiện các số theo cách này.
Vấn đề là, 0 và 1 là một vấn đề hoàn toàn cụ thể về phần cứng và sự lựa chọn là tùy ý. Mã hóa nào bạn đang sử dụng không liên quan đặc biệt đến khoa học máy tính, bên ngoài một số trường con như hệ điều hành hoặc mạng.
Một số điều khác cần xem xét:
Một phần lý do của việc sử dụng hệ thống số nhị phân là vì đó là hệ thống số cơ sở thấp nhất có thể biểu diễn các số trong logarit, thay vì tuyến tính, không gian. Để phân biệt duy nhất giữa số khác nhau trong unary, độ dài trung bình của các biểu diễn phải tỷ lệ với ít nhất , vì chỉ có một chuỗi có độ dài trong đó ; . Để phân biệt duy nhất giữa số khác nhau trong nhị phân, độ dài trung bình của biểu diễn phải tỷ lệ với ít nhất , vì có số nhị phân có độ dài ; . Chọn một cơ sở lớn hơn cải thiện yêu cầu không gian bởi một yếu tố không đổi; cơ sở 10 giúp bạn có số với độ dài đại diện trung bình là , đó là lần độ dài trung bình của một đại diện hai cơ sở cho tất cả . Sự khác biệt giữa nhị phân và đơn nguyên là lớn hơn nhiều; trong thực tế, nó là một chức năng của . Bạn nhận được rất nhiều bằng cách chọn nhị phân trên unary; bạn sẽ nhận được ít hơn nhiều bằng cách chọn một cơ sở cao hơn, bằng cách so sánh.
Có một sự thật với ý tưởng rằng việc triển khai logic kỹ thuật số sẽ dễ dàng hơn nếu chúng ta chỉ phải phân biệt hai trạng thái. Tín hiệu điện là tương tự và, như vậy, có thể được hiểu là đại diện cho nhiều trạng thái riêng biệt như bạn muốn ... nhưng bạn cần phần cứng chính xác hơn (do đó đắt tiền và khó tính) để phân biệt đáng tin cậy hơn các trạng thái trên cùng một phạm vi. Điều này cho thấy lựa chọn một cơ sở càng thấp càng tốt.
Một xem xét tiềm năng quan trọng khác là logic đã được hiểu theo cách cổ điển liên quan đến hai giá trị riêng biệt: và . Bây giờ, chúng ta có logic logic hơn thế này, nhưng rất nhiều toán học và khoa học vẫn dựa trên các khái niệm khá nền tảng. Khi bạn cho rằng máy tính được sử dụng để tính toán và logic đó rất quan trọng cho việc tính toán, nó cho thấy có sự hỗ trợ tốt cho ít nhất hai trạng thái riêng biệt ... nhưng logic không thực sự đòi hỏi nhiều hơn thế.
Một trong những lý do lớn mà hầu hết các mạch máy tính sử dụng hai trạng thái là số lượng mạch cần thiết để phân biệt giữa n cấp điện áp khác nhau tỷ lệ thuận với n -1. Do đó, có ba trạng thái rõ ràng sẽ đòi hỏi gấp đôi số mạch trên mỗi tín hiệu và có bốn trạng thái sẽ đòi hỏi gấp ba lần. Tăng gấp ba lượng mạch trong khi chỉ tăng gấp đôi lượng thông tin sẽ thể hiện sự mất hiệu quả.
Lưu ý rằng có một số vị trí trong máy tính nơi thông tin được lưu trữ hoặc truyền đạt bằng cách sử dụng nhiều hơn hai trạng thái cho mỗi phần tử. Trong một mảng bộ nhớ flash, hàng trăm hoặc hàng nghìn ô nhớ có thể được phục vụ bởi một bộ mạch cảm biến mức. Sử dụng bốn cấp độ cho mỗi ô thay vì hai khi lưu trữ một lượng thông tin nhất định có thể nhiều hơn gấp ba lần kích thước của mạch cảm biến mức, nhưng sẽ cắt giảm một nửa số lượng ô nhớ cần thiết. Khi giao tiếp với Ethernet 100-T-cơ sở hoặc nhanh hơn, chi phí mạch cần thiết để phát hiện nhiều mức tín hiệu trên cáp có thể sẽ bị giảm do chi phí phải sử dụng cáp có nhiều dây hơn hoặc sử dụng cáp có thể xử lý nhiều hơn chuyển đổi tín hiệu mỗi giây mà không có mức độ biến dạng không thể chấp nhận.
Có tồn tại các máy tính lượng tử trong các phòng thí nghiệm nghiên cứu sử dụng q-bit làm đơn vị thông tin cơ bản có thể đồng thời là 0 và 1.
http://en.wikipedia.org/wiki/Quantum_computer
Cũng đã có các máy tính lượng tử ternary được xây dựng theo tài liệu tham khảo này http://en.wikipedia.org/wiki/Ternary_computer
Vì vậy, thực sự có thể xây dựng các thiết bị điện toán thay thế không dựa vào hệ thống số nhị phân. Ví dụ, hệ thống cáp quang sử dụng 0 cho bóng tối và hai phân cực ánh sáng trực giao khác nhau là 1 và -1.
Lý do tại sao tôi đề cập đến những điều này là vì tôi muốn chỉ ra rằng mặc dù số nhị phân là đủ cho máy tính, có những hệ thống số thay thế có thể được sử dụng cho máy tính.
Theo nghĩa này, hệ thống số nhị phân rất tốt, chúng ta có thể mã hóa tất cả các số nguyên bằng cách sử dụng biểu diễn số của cơ số. http: // en.wikipedia.org/wiki/Radix Các giá trị này có thể đại diện cho mã ASCII A = 0x41 = 01000001 hoặc giá trị có thể đại diện cho lệnh máy nop = 0x90 = 0x10010000.
Trung tâm của sức mạnh xử lý máy tính kỹ thuật số là một bóng bán dẫn, hoạt động giống như một công tắc. Bằng cách tăng dòng điện tại "cổng" của công tắc, nó cho phép dòng điện chạy giữa "bộ thu" và "bộ phát" - công tắc được bật. Transitor sẽ được thiết kế để hoạt động ở một trong hai chế độ - bật hoàn toàn hoặc tắt hoàn toàn ('bão hòa') - với sự phân chia rõ ràng về những trạng thái đó. Các bóng bán dẫn có thể chuyển đổi giữa hai trạng thái một cách nhanh chóng, sẽ vẫn ở trạng thái với các lỗi rất hạn chế.
Mạch này tạo thành cơ sở cho các thiết bị logic, như AND, NAND, OR, XOR và các chức năng khác. Hàm NAND là cơ bản nhất của các khối xây dựng. Các thiết bị logic này được lắp ráp để cung cấp bộ xử lý vẫn ở trạng thái có thể dự đoán được và rất nhiều bóng bán dẫn có thể được đóng gói trong một không gian nhỏ để cung cấp chức năng cần thiết.
Một bóng bán dẫn có thể quản lý nhiều hoặc nhiều trạng thái khác nhau, nhưng khi hoạt động theo cách đó chúng không tạo ra các máy tính "kỹ thuật số" thông thường - chúng không có xu hướng ở trạng thái có thể dự đoán được và chúng dễ bị nhiễu, bão hòa, thẩm thấu, v.v. họ có những ứng dụng hạn chế về khả năng tính toán. Op-amps có thể được coi là máy tính tương tự.
Chúng tôi chỉ sử dụng nhị phân (1,0) vì hiện tại chúng tôi không có công nghệ để tạo "công tắc" có thể giữ đáng tin cậy hơn hai trạng thái có thể. (Máy tính lượng tử không được bán chính xác tại thời điểm này.) Hệ thống nhị phân chỉ được chọn vì khá dễ phân biệt sự hiện diện của dòng điện với sự vắng mặt của dòng điện, đặc biệt là khi làm việc với hàng nghìn tỷ kết nối như vậy. Và sử dụng bất kỳ cơ sở số nào khác trong hệ thống này vô lý, bởi vì hệ thống sẽ cần phải liên tục chuyển đổi giữa chúng. Thats tất cả để có nó.