Mạch đếm: Bộ đếm trong vi xử lý

Mạch đếm là một phần không thể thiếu trong vi xử lý. Nó giúp tính và theo dõi số lượng xung đếm từ lối vào. Có nhiều loại bộ đếm khác nhau, trong bài viết này, chúng ta sẽ tìm hiểu về một số loại thông dụng.

Bộ đếm nhị phân

Bộ đếm nhị phân là bộ đếm có mã số lối ra dưới dạng số nhị phân. Bộ đếm này được tạo thành từ các Flip-flop (FF). Với một bộ đếm nhị phân có lối ra n bit, ta cần n Flip-flop.

Hình 3-31: Bộ đếm nhị phân 4 bit

Bộ đếm nhị phân 4 bit

Hình 3-31 là sơ đồ của bộ đếm nhị phân không đồng bộ 4 bit. Các Flip-flop được sử dụng là loại JK. Với 4 bit, bộ đếm sẽ có 16 trạng thái. Một chu trình đếm kết thúc khi đạt đến xung thứ 15, và bắt đầu chu trình mới ở xung thứ 16. Bộ đếm này còn được gọi là bộ đếm không đồng bộ vì các Flip-flop không thay đổi trạng thái cùng lúc khi có xung đồng hồ. Chỉ có Flip-flop A thay đổi trạng thái khi có xung đồng hồ, sau đó Flip-flop B thay đổi khi Flip-flop A thay đổi.

Bộ đếm như trên cũng được gọi là bộ đếm MOD N=2n, trong đó n là số Flip-flop tham gia trong bộ đếm.

Bộ đếm với số trạng thái < 2n

Khi nối nhiều Flip-flop, ta có thể đếm đến N = 2n trạng thái. Tuy nhiên, nếu muốn bộ đếm chỉ đếm đến một số trạng thái nhỏ hơn 2n, ta cần kiểm soát trạng thái bằng cách sử dụng mạch RESET tương ứng với trạng thái mong muốn. Ví dụ, để bộ đếm đếm từ 0 đến 9, ta cần một mạch kiểm soát trạng thái sao cho khi đạt đến trạng thái 10 (1010), bộ đếm được RESET. Hình 3-32 là một ví dụ về mạch kiểm soát trạng thái cho bộ đếm 10.

Hình 3-32: Kiểm soát trạng thái cho bộ đếm 10

Kiểm soát trạng thái cho bộ đếm 10

Mạch đếm xuống

Trong một số trường hợp, ta cần đếm xuống từ một giá trị cho trước. Để thực hiện điều này, ta cần sử dụng mạch đếm xuống. Mạch đếm này tương tự như mạch đếm lên, chỉ khác là lối ra của Flip-flop A và Flip-flop B được đưa vào lối vào của Flip-flop B và Flip-flop C.

Giả sử trạng thái ban đầu của bộ đếm là 000. Sau khi có xung đồng hồ đầu tiên, bộ đếm sẽ có giá trị lối ra là 111. Tiếp theo, với mỗi xung đồng hồ, giá trị bộ đếm sẽ thay đổi, cho đến khi đạt đến xung đồng hồ thứ 7, trạng thái lối ra của bộ đếm sẽ trở thành 000, và xung đồng hồ thứ 8 sẽ bắt đầu một chu trình đếm mới.

Chương 4: Bộ Logic Số Học (ALU)

Bộ Logic Số Học (ALU) là một phần quan trọng trong vi xử lý. ALU thực hiện các phép tính cộng, trừ, nhân và chia trên số liệu được cung cấp từ bộ nhớ. Trong chương này, chúng ta sẽ tìm hiểu về nguyên lý cơ bản của ALU trong việc thực hiện các phép tính cộng, trừ nhị phân, cũng như các phép tính trên số BCD và số Hex.

4.1 Cấu trúc của ALU

ALU của vi xử lý bao gồm các thanh ghi và mạch logic. Trong trường hợp đơn giản, ALU bao gồm:

  • 2 thanh ghi (A và B) để lưu trữ các toán hạng của phép tính.
  • Một mạch logic được điều khiển bởi bộ điều khiển để thực hiện phép tính mong muốn.
  • 1 thanh ghi (C) để lưu trữ kết quả.

Các thanh ghi A, B, C có thể là một trong các thanh ghi của vi xử lý như thanh ghi tích lũy hoặc các thanh ghi dùng chung.

4.2 Bộ cộng nhị phân

Để thực hiện phép cộng hai số nhị phân, chúng ta cần sử dụng bộ cộng (adder). Có 5 trường hợp có thể xảy ra:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10 (kết quả là 0, nhớ 1 sang bit có trọng số lớn hơn)
  • 1 + 1 + 1 = 11 (kết quả là 1, nhớ 1 sang bit có trọng số lớn hơn)

Trường hợp cuối cùng xảy ra khi cộng hai bit 1 và có nhớ 1 từ bit có trọng số nhỏ hơn. Phép cộng là phép tính số học quan trọng nhất trong máy tính, vì tất cả các phép tính khác như trừ, nhân và chia đều dựa trên phép cộng.

Đây là một số ví dụ về phép cộng nhị phân:

  • 011 (3) + 1001 (9) = 1110 (14)
  • 11.011 (3.375) + 110 (6) = 1001.011 (9.375)

Máy tính chỉ thực hiện phép cộng của hai số nhị phân cùng một lúc. Khi cần cộng nhiều số hơn hai, máy tính sẽ thực hiện cộng hai số rồi lấy kết quả đó cộng với số tiếp theo.

FEATURED TOPIC