Mã nhị phân: máy tính cộng 6 với 7 thế nào khi chỉ biết bật và tắt

Tóm lược nhanh
Tổng hợp và đối chiếu bởi gemini-2.0-flash-thinking-exp
“Bên trong mỗi chiếc điện thoại có hàng tỷ công tắc tí hon, mỗi cái chỉ biết hai việc: cho dòng điện”
Các điểm cốt lõi
- 1.Bên trong mỗi chiếc điện thoại có hàng tỷ công tắc tí hon, mỗi cái chỉ biết hai việc: cho dòng điện đi qua hoặc chặn lại.
- 2.Vậy mà từ những công tắc đó, máy tính làm được mọi phép tính.
- 3.Bí quyết nằm ở hai thứ: cách viết số chỉ bằng 0 và 1, gọi là hệ nhị phân, và các mạch nhỏ gọi là cổng logic biến dòng điện thành phép tính.
Bên trong mỗi chiếc điện thoại có hàng tỷ công tắc tí hon, mỗi cái chỉ biết hai việc: cho dòng điện đi qua hoặc chặn lại. Vậy mà từ những công tắc đó, máy tính làm được mọi phép tính. Bí quyết nằm ở hai thứ: cách viết số chỉ bằng 0 và 1, gọi là hệ nhị phân, và các mạch nhỏ gọi là cổng logic biến dòng điện thành phép tính.
Đếm bằng hai ngón tay
Hệ thập phân có mười chữ số từ 0 tới 9, lớn hơn 9 thì thêm một chữ số ở bên trái. Hệ nhị phân làm y như vậy nhưng chỉ có hai chữ số là 0 và 1. Đếm lên sẽ được 0, 1, rồi hết chữ số nên phải viết 10, tiếp theo là 11, 100, 101 và cứ thế. Trong hệ thập phân, mỗi vị trí có giá trị gấp mười vị trí bên phải nó, còn ở hệ nhị phân là gấp đôi: lần lượt 1, 2, 4, 8, 16. Số 13 viết là 1101, nghĩa là một số 8, một số 4, không số 2 và một số 1.
Mỗi chữ số nhị phân gọi là một bit. Theo HowStuffWorks, máy tính dùng hệ này vì nó dễ làm bằng linh kiện điện tử hơn nhiều so với hệ mười chữ số. Tám bit gộp thành một byte, đủ ghi 256 giá trị, từ 0 tới 255.
Cách đếm bằng hệ nhị phân, phép cộng 6 + 7 viết theo kiểu nhị phân và bộ cộng bán phần gồm hai cổng logic XOR và AND
Ý tưởng có từ thế kỷ 17
Theo Wikipedia, người thường được ghi công phát minh hệ nhị phân hiện đại là Gottfried Wilhelm Leibniz, dù Thomas Harriot đã nghiên cứu nó trước đó. Leibniz để lại hơn một trăm bản thảo về chủ đề này. Năm 1679, ông viết bài đầu tiên trình bày cách đổi số thập phân sang nhị phân và cách cộng, trừ, nhân, chia với các số chỉ gồm 0 và 1. Bài nổi tiếng nhất, Explication de l'Arithmétique Binaire, được công bố năm 1703.
Một trang ghi chép tay của Leibniz về hệ nhị phân, lưu ở Thư viện Gottfried Wilhelm Leibniz (Hannover): cột bên trái là 1, 10, 100, 1000…, cột bên phải là 1, 2, 4, 8… tương ứng
Năm 1854, nhà toán học người Anh George Boole công bố một hệ đại số cho logic chỉ với hai giá trị đúng và sai, ngày nay gọi là đại số Boole. Năm 1937, Claude Shannon viết luận văn thạc sĩ tại MIT, lần đầu dùng rơ-le và công tắc điện để thực hiện đại số Boole và số học nhị phân, đặt nền móng cho việc thiết kế mạch số.
Cổng logic: những công tắc biết ra quyết định
Cổng logic là một mạch nhỏ nhận vào một hoặc vài tín hiệu 0 và 1, rồi cho ra một tín hiệu theo quy tắc cố định. HowStuffWorks liệt kê ba phép cơ bản:
- AND: chỉ cho ra 1 khi cả hai đầu vào đều là 1.
- OR: cho ra 1 khi có ít nhất một đầu vào là 1.
- NOT: đảo ngược tín hiệu, vào 1 thì ra 0 và ngược lại.
Thêm cổng XOR, chỉ ra 1 khi hai đầu vào khác nhau, là đủ nguyên liệu cho phép cộng. Trong mạch điện tử, số 1 thường ứng với mức điện áp cao, số 0 ứng với mức thấp.
Cộng 1 với 1 bằng hai cổng
Quảng cáo
Phép cộng nhị phân chỉ có bốn trường hợp: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1 và 1 + 1 = 10, tức là viết 0 và nhớ 1 sang cột bên trái. Nhìn kỹ sẽ thấy chữ số kết quả chỉ bằng 1 khi hai số khác nhau, đúng với cổng XOR. Còn số nhớ chỉ bằng 1 khi cả hai đều là 1, đúng với cổng AND. Đặt một cổng XOR và một cổng AND cạnh nhau, cho cùng hai đầu vào, ta được mạch cộng hai bit gọi là bộ cộng bán phần.
Để cộng số nhiều chữ số, mỗi cột còn phải cộng thêm số nhớ từ cột bên phải. Theo Wikipedia, ghép hai bộ cộng bán phần với một cổng OR sẽ được bộ cộng toàn phần, nhận ba bit đầu vào. Nối nhiều bộ như vậy thành chuỗi, số nhớ chuyền từ cột này sang cột kế tiếp, máy tính cộng được số 8, 16, 32 hay 64 bit. Ví dụ 6 + 7 viết thành 0110 + 0111, cho ra 1101, đúng là 13.
Bản dựng lại bộ cộng Model K do chính George Stibitz làm năm 1980, trưng bày tại Bảo tàng Lịch sử Máy tính (Mỹ). Bản gốc được ráp trên bàn bếp từ rơ-le bỏ đi của Bell Labs và những mảnh kim loại cắt từ vỏ lon
Từ bàn bếp tới con chip
Một trong những bộ cộng nhị phân bằng điện đầu tiên ra đời trên bàn bếp. Theo Bảo tàng Lịch sử Máy tính (CHM), George Stibitz, khi đó làm việc ở Bell Labs, dùng những rơ-le bỏ đi của phòng thí nghiệm cùng các mảnh kim loại cắt từ vỏ lon để ráp một mạch cộng hai chữ số nhị phân, đặt tên là Model K, chữ K lấy từ kitchen là nhà bếp. CHM ghi năm 1936, còn Wikipedia ghi tháng 11/1937. Mạch này dẫn tới chiếc Complex Number Calculator của Bell Labs, hoạt động từ năm 1940.
Rơ-le cơ khí của Stibitz ngày nay đã nhường chỗ cho transistor nằm trong chip. Dù vậy, nguyên lý vẫn giữ nguyên: số được viết bằng 0 và 1, và phép cộng được làm bằng các cổng XOR, AND, OR nối với nhau.
Quảng cáo
Bản quyền & Xuất xứ thông tin
Bài viết này được tổng hợp và phân tích AI từ ấn phẩm Tinhte.vn. Mọi bản quyền nội dung thuộc về tác giả và toà soạn gốc.