Bản chất của khối điều khiển:
Khối điều khiển (Control Unit – CU) là bộ phận chịu trách nhiệm phát ra chuỗi các xung tín hiệu điện tử (gọi là tín hiệu điều khiển – Control Signals) theo từng nhịp đồng hồ (Clock).
Các tín hiệu điều khiển này tác động trực tiếp đến các cổng logic, thanh ghi và khối ALU để đóng, mở đường truyền, cho phép dữ liệu di chuyển và tính toán chính xác theo yêu cầu của từng lệnh mã máy.
Để tạo ra được các tín hiệu điều khiển này, trong lịch sử thiết kế vi xử lý có hai phương pháp tiếp cận cấu tạo chính:
Phương pháp mạch nối dây cứng (Hardwired Control Unit).
Phương pháp vi chương trình (Microprogrammed Control Unit).
2.1.4.1. Khối điều khiển mạch nối dây cứng (Hardwired Control Unit)
Khái niệm:
Khối điều khiển nối dây cứng là khối điều khiển được tạo thành hoàn toàn từ các linh kiện điện tử số cố định (như cổng logic AND, OR, NOT, mạch giải mã, bộ đếm bước nhịp).
Mọi quy trình điều khiển của từng câu lệnh đều được “hàn cứng” trực tiếp trên bản mạch bán dẫn. Khi có mã lệnh đưa vào, mạch điện tử sẽ tự động đóng ngắt các cổng logic theo đường nối dây sẵn có để sinh ra ngay lập tức các tín hiệu điều khiển tương ứng.
Cấu tạo thành phần:
Bộ giải mã mã thao tác (Opcode Decoder): Nhận các bit mã thao tác từ thanh ghi lệnh (IR) và kích hoạt duy nhất một đường dây tín hiệu tương ứng với câu lệnh đó (ví dụ: kích hoạt đường dây báo “đây là lệnh ADD”).
Bộ đếm bước nhịp thời gian (Step Counter / Timing Generator): Nhận xung nhịp đồng hồ của CPU để đếm các bước thời gian $T_0, T_1, T_2, \dots$ trong một chu kỳ thực thi lệnh (giúp phân định rõ: nhịp 1 làm gì, nhịp 2 làm gì).
Ma trận cổng logic tổ hợp (Combinational Logic Network): Nhận đầu vào từ bộ giải mã lệnh, bộ đếm nhịp và các cờ trạng thái (Flags từ ALU). Mạng lưới các cổng AND, OR kết nối cố định này sẽ trực tiếp sản sinh ra các tín hiệu điều khiển ở đầu ra.
Nguyên lý hoạt động:
Khi mã lệnh được nạp vào thanh ghi IR, bộ giải mã xác định chính xác tên lệnh cần làm.
Bộ đếm thời gian bắt đầu đếm nhịp T_0: Các cổng logic mở đường cho tín hiệu nạp địa chỉ.
Sang nhịp T_1: Mạch logic tự động chuyển trạng thái, phát tín hiệu cho phép đọc dữ liệu từ thanh ghi vào ALU.
Sang nhịp T_2: Mạch logic phát tín hiệu yêu cầu ALU thực hiện phép toán và lưu kết quả.
Toàn bộ quá trình diễn ra hoàn toàn bằng tốc độ truyền dẫn điện tử tự nhiên qua các cổng bán dẫn.
Ưu điểm và nhược điểm:
Ưu điểm: Tốc độ đáp ứng cực nhanh vì tín hiệu chạy thẳng qua các cổng logic phần cứng mà không phải thông qua khâu đọc bộ nhớ trung gian. Kiến trúc này đặc biệt thích hợp và là nền tảng của các dòng vi xử lý kiến trúc tập lệnh rút gọn RISC.
Nhược điểm: Thiết kế mạch điện cực kỳ phức tạp. Nếu muốn sửa đổi một lệnh hoặc bổ sung một câu lệnh mới vào tập lệnh của CPU, nhà sản xuất bắt buộc phải vẽ lại sơ đồ mạch và chế tạo lại khuôn chip bán dẫn hoàn toàn mới, không thể nâng cấp bằng phần mềm.
2.1.4.2. Khối điều khiển vi chương trình (Microprogrammed Control Unit)
Khái niệm:
Khối điều khiển vi chương trình thay thế mạng lưới dây nối cổng logic phức tạp bằng cách tiếp cận “mềm hóa”: Coi mỗi câu lệnh máy phức tạp là một tập hợp gồm nhiều thao tác vi mô nhỏ hơn (gọi là các vi lệnh – Microinstructions).
Thay vì dùng mạch nối dây cứng, khối điều khiển này chứa sẵn một bộ nhớ nhỏ tốc độ cao gọi là Bộ nhớ điều khiển (Control Memory) để lưu trữ các chuỗi vi lệnh đó.
Mỗi khi cần thực thi một lệnh máy, CPU chỉ việc “đọc một đoạn chương trình con nội bộ” (gọi là vi chương trình – Microprogram) từ bộ nhớ điều khiển để lần lượt xuất các tín hiệu điều khiển ra ngoài.
Cấu tạo thành phần:
Bộ nhớ điều khiển (Control Memory – thường là bộ nhớ ROM nội bộ tốc độ cao): Nơi lưu trữ toàn bộ các vi chương trình tương ứng với tất cả các câu lệnh của CPU.
Thanh ghi địa chỉ vi lệnh (Control Address Register – CAR): Giữ địa chỉ của dòng vi lệnh tiếp theo cần đọc bên trong bộ nhớ điều khiển.
Bộ tạo địa chỉ vi lệnh (Sequencer / Address Generation Logic): Quyết định địa chỉ vi lệnh kế tiếp (chạy tuần tự hoặc nhảy rẽ nhánh dựa vào điều kiện cờ Flags).
Thanh ghi đệm vi lệnh (Control Data Register / Microinstruction Register): Nhận dòng vi lệnh vừa đọc ra từ bộ nhớ điều khiển; các bit trong thanh ghi này sẽ phân nhánh trực tiếp thành các tín hiệu điều khiển phần cứng của CPU.
Nguyên lý hoạt động:
Khi mã lệnh nạp vào thanh ghi IR, trường mã thao tác (Opcode) sẽ được mạch tạo địa chỉ ánh xạ thành một địa chỉ bắt đầu của vi chương trình tương ứng nằm trong bộ nhớ điều khiển.
Địa chỉ này được nạp vào thanh ghi CAR.
Bộ nhớ điều khiển đọc dòng vi lệnh tại địa chỉ đó và đưa vào thanh ghi đệm vi lệnh.
Từng bit của từ vi lệnh lập tức biến thành các xung tín hiệu điều khiển đóng/mở mạch ALU, thanh ghi và bus.
Bộ sequencer tự động tăng địa chỉ trong CAR lên 1 để đọc tiếp dòng vi lệnh tiếp theo trong chuỗi, cho đến khi lệnh máy hoàn tất thì quay về chu trình tìm nạp lệnh máy mới.
Ưu điểm và nhược điểm:
Ưu điểm: Cấu trúc mạch rất gọn gàng, có tính quy chuẩn cao. Rất dễ dàng nâng cấp, sửa đổi hoặc thêm bớt các lệnh mới vào CPU (chỉ cần nạp lại nội dung các vi lệnh trong bộ nhớ điều khiển mà không cần thiết kế lại phần cứng vi mạch). Đây là kiến trúc điều khiển chủ đạo cho các bộ xử lý có tập lệnh phức tạp CISC (như kiến trúc x86 truyền thống).
Nhược điểm: Tốc độ thực thi chậm hơn khối điều khiển nối dây cứng vì mỗi bước điều khiển đều phải mất thời gian đọc qua bộ nhớ điều khiển trung gian (Control Memory Access Time).