Nếu ALU có các khối mạch thực hiện các phép tính số học và logic bao gồm: Cộng, trừ, nhân, chia, AND, OR, XOR, NOT thì nó cần nhận được ít nhất bao nhiêu tín hiệu điều khiển từ CU?
Trả lời:
Đáp án đúng: C
ALU (Arithmetic Logic Unit) cần các tín hiệu điều khiển để chọn phép toán nào sẽ được thực hiện. Với các phép toán được liệt kê (Cộng, trừ, nhân, chia, AND, OR, XOR, NOT), ta cần một số lượng tín hiệu điều khiển đủ để phân biệt được tất cả các phép toán này.
Để phân biệt 8 phép toán khác nhau, ta cần ít nhất log2(8) = 3 bit, tức là 3 tín hiệu điều khiển là không đủ. Do đó ta cần nhiều hơn 3 tín hiệu điều khiển. Với 3 tín hiệu, ta chỉ có thể mã hóa được 2^3 = 8 trạng thái. Như vậy, cần 3 tín hiệu để chọn 1 trong 8 phép toán.
Các đáp án:
A. 8: Có thể đúng, nhưng cần xem xét các đáp án khác.
B. 3: Không đủ để phân biệt 8 phép toán.
C. 4: Có thể đúng, nhưng cần xem xét các đáp án khác. Với 4 tín hiệu, ta có thể mã hóa được 2^4 = 16 trạng thái, đủ để phân biệt 8 phép toán.
D. 7: Có thể đúng, nhưng cần xem xét các đáp án khác.
Tuy nhiên, đề bài hỏi "ít nhất bao nhiêu". Với 3 tín hiệu, ta có 2^3 = 8 trạng thái. Do đó, 3 tín hiệu là đủ.
Vì vậy, đáp án đúng là B. 3. (Cần 3 bits để mã hoá 8 lệnh khác nhau. Ví dụ: 000 = cộng, 001 = trừ, ..., 111 = NOT).