02/10 Vì sao máy tính dùng hệ nhị phân? Các chương

Vì sao máy tính sử dụng hệ nhị phân 0 và 1?

Con người dùng mười chữ số. Vì sao máy tính chỉ cần 0 và 1?

Tắt · điện áp thấp 0
Bật · điện áp cao 1
Mỗi công tắc chỉ có hai trạng thái, gọi là 0 và 1. Tám công tắc đứng cạnh nhau đã đủ để viết số 5: bật ô 4 và ô 1.

Ở bài trước, ta nói CPU chỉ là một con chip điện tử. Nó không đọc chữ như con người, mà làm việc với tín hiệu điện.

Vậy khi máy tính “giữ số 5”, nó giữ bằng cách nào?

Câu trả lời là: máy tính biểu diễn thông tin bằng 0 và 1.

Con người dùng chữ số, máy tính dùng điện

Con người quen viết số bằng các chữ số từ 0 đến 9.

Ví dụ, số 253 nghĩa là:

  • 2 trăm
  • 5 chục
  • 3 đơn vị

Ta có thể viết số trên giấy, nhìn bằng mắt và đọc bằng đầu óc.

Máy tính thì không có giấy bút. Thứ nó có là mạch điệndòng điện.

Nếu muốn giữ một con số trong lúc tính toán, máy phải biểu diễn con số đó bằng trạng thái điện trong mạch.

Vì sao lại là 0 và 1?

Vấn đề là điện trong mạch không hoàn toàn ổn định.

Nó có thể bị ảnh hưởng bởi nhiệt, nhiễu điện hoặc sai số của linh kiện. Vì vậy, nếu bắt máy phải phân biệt quá nhiều mức điện khác nhau, nó sẽ dễ đọc nhầm.

Ví dụ:

  • nếu chỉ cần phân biệt hai mức, ta chỉ cần biết: thấp hay cao
  • nếu phải phân biệt mười mức, mạch sẽ khó biết chính xác đây là mức 3, 4 hay 5

Vì thế, cách đơn giản và chắc chắn nhất là dùng hai trạng thái.

Người ta quy ước:

  • mức điện thấp là 0
  • mức điện cao là 1

Đó là lý do máy tính dùng hệ nhị phân.

Bit là gì?

Mỗi giá trị 0 hoặc 1 được gọi là một bit.

Bit là đơn vị thông tin nhỏ nhất trong máy tính.

Bạn có thể hình dung một bit giống như một công tắc chỉ có hai trạng thái:

  • tắt = 0
  • bật = 1
Một công tắc, một bit
Nguồn mức tín hiệu THẤP = 0 bit

Trong máy thật không có công tắc lớn như vậy. Bên trong chip, việc bật và tắt này được thực hiện bởi những linh kiện rất nhỏ gọi là transistor.

Vì sao không dùng luôn 0 đến 9?

Vì phần cứng không cần “đẹp” theo cách con người quen dùng. Nó cần đơn giản và đáng tin.

Nếu dùng 10 mức điện để biểu diễn 10 chữ số, mỗi mức phải nằm rất gần mức bên cạnh. Chỉ cần nhiễu một chút là mạch có thể đọc sai.

Còn nếu chỉ dùng 2 mức, khoảng cách giữa chúng rộng hơn nhiều. Mạch sẽ dễ phân biệt hơn, nên hoạt động ổn định hơn.

Nói ngắn gọn:

Máy tính dùng 0 và 1 vì mạch điện phân biệt hai trạng thái dễ hơn và an toàn hơn nhiều trạng thái.

Từ bit đến số 5

Một bit chỉ có thể là 0 hoặc 1, nên một bit thôi chưa viết được nhiều số.

Muốn biểu diễn số lớn hơn, ta ghép nhiều bit lại với nhau.

Trong hệ thập phân, mỗi cột có giá trị gấp 10 lần cột bên phải:

  • 1
  • 10
  • 100
  • 1000

Trong hệ nhị phân, mỗi cột có giá trị gấp 2 lần cột bên phải:

  • 1
  • 2
  • 4
  • 8
  • 16
  • 32

Ví dụ, dãy 0101 nghĩa là:

  • 0 × 8
  • 1 × 4
  • 0 × 2
  • 1 × 1

Cộng lại ta được:

4 + 1 = 5

Vậy 0101 là cách viết số 5 trong hệ nhị phân.

Byte là gì?

Khi 8 bit đi cùng nhau, ta gọi đó là 1 byte.

Một byte có thể tạo ra 256 giá trị khác nhau, từ 0 đến 255.

Tám công tắc thành một số

4 + 1 = 5

Ví dụ:

  • 0000 0011 = 3
  • 0000 1000 = 8
  • 0000 0101 = 5
  • 1111 1111 = 255

Nhờ ghép rất nhiều bit như vậy, máy tính có thể biểu diễn không chỉ số, mà còn cả chữ, ảnh, âm thanh và video.

Ở mô phỏng trên, bạn dùng tay để bật và tắt từng bit.

Nhưng trong máy tính thật, các bit phải tự đổi trạng thái liên tục với tốc độ cực cao.

Vậy linh kiện nào bên trong máy làm nhiệm vụ bật và tắt đó?