Chu kỳ hướng dẫn chính
Khám phá cách bộ xử lý của bạn tìm nạp, giải mã và thực thi mọi lệnh chỉ trong nháy mắt.
Chu trình lệnh là quá trình hoạt động cơ bản của CPU máy tính, đề cập đến một chuỗi các bước để truy xuất, giải mã và thực thi các lệnh cấp máy riêng lẻ. Chu trình này diễn ra hàng triệu hoặc hàng tỷ lần mỗi giây, đảm bảo hoạt động chính xác và vận hành hệ thống trơn tru.
- Hãy đảm bảo rằng các đơn đặt hàng được xử lý rõ ràng và có hệ thống.
- CPU truy xuất dữ liệu, giải mã dữ liệu và thực thi các lệnh để liên tục thực hiện các tác vụ.

Ghi chép các chìa khóa được sử dụng trong thời gian giảng dạy.
Một số thanh ghi bên trong CPU tham gia tích cực vào việc thực thi các chu kỳ lệnh:
- Bộ đếm chương trình (PC): Lưu trữ địa chỉ của lệnh tiếp theo sẽ được thực thi. Tự động tăng lên sau khi dữ liệu lệnh được truy xuất.
- Đăng ký lệnh (IR): Lưu trữ thông tin về các lệnh đang được thực thi.
- Đăng ký địa chỉ bộ nhớ (MAR) (tùy chọn): Lưu trữ địa chỉ của vị trí bộ nhớ đang được truy cập.
- Thanh ghi dữ liệu bộ nhớ (MDR) (tùy chọn): Lưu trữ thông tin được đọc từ hoặc ghi vào bộ nhớ.
Chu kỳ truy xuất dữ liệu
Chu kỳ nạp lệnh là bước đầu tiên trong chu kỳ thực thi lệnh. Tại đây, CPU nạp lệnh từ bộ nhớ bằng cách sử dụng bộ đếm chương trình (PC).
Các bước trong chu trình truy xuất dữ liệu:
- Các tập tin được lưu trữ trên máy tính sẽ được chuyển sang MAR.
- Bộ điều khiển gửi tín hiệu để đọc từ bộ nhớ.
- Lệnh truy cập vào vị trí bộ nhớ đó sẽ được đặt trong MDR.
- Nội dung MDR sẽ được chuyển đến IR.
- Máy tính sẽ di chuyển lên để chỉ vào lệnh tiếp theo.
ví dụ:
Hướng dẫn: Tải xuống 500.
PC = 100
đơn vị bộ nhớ IR ←[100]
PC ← PC + 1
Sau vòng này, IR sẽ nhận được lệnh LOAD 500. Lúc này, PC đang trỏ đến lệnh tiếp theo.
Mạch giải mã
Trong chu kỳ giải mã, bộ điều khiển sẽ diễn giải các lệnh được lưu trữ trong cảm biến hồng ngoại (IR).
Các bước trong mạch giải mã:
- Bộ điều khiển giám sát phần mã lệnh của câu lệnh.
- Lịch trình các hành động cần thực hiện.
- Xác định các toán hạng hoặc thanh ghi liên quan.
ví dụ:
IR = Tải 500
Bộ điều khiển:
Mã lệnh = Tải
Toán tử = 500
Ở đây, LOAD biểu thị thao tác, và 500 là địa chỉ của dữ liệu cần được tải.
Tiếp tục chu trình.
Cuối cùng, chu trình thực thi sẽ thực hiện các bước đã được xác định trong quá trình giải mã.
Các bước trong chu trình quy trình:
- CPU thực thi lệnh dựa trên mã lệnh đó.
- Thực hiện các phép toán học hoặc logic thông qua ALU.
- Truyền dữ liệu giữa bộ nhớ và các thanh ghi.
- Thay đổi thứ tự thực hiện các phép toán (ví dụ: lệnh nhảy).
ví dụ:
Tải 500
Bộ nhớ tích lũy [500]
Sau khi thực thi xong, chu trình có thể bắt đầu lại với lệnh tiếp theo.
Những thách thức trong việc thực thi các lệnh CPU hiện đại.
Mặc dù chu trình Nạp-Giải mã-Thực thi là nền tảng của hoạt động CPU, các bộ xử lý hiện đại phải đối mặt với một số thách thức khi thực thi nhiều lệnh một cách hiệu quả. Những vấn đề này có thể ảnh hưởng đến hiệu năng, thông lượng và hiệu quả tổng thể của hệ thống.
1. Nguy hiểm từ đường ống.
Xử lý song song nhiều lệnh (pipelining) là một kỹ thuật được sử dụng để cải thiện hiệu suất xử lý đơn hàng bằng cách chồng chéo nhiều lệnh thực thi.
Tuy nhiên, những nguy hiểm của xử lý song song nhiều lệnh phát sinh khi:
- Một lệnh phụ thuộc vào kết quả của lệnh trước đó.
- Đã có những thay đổi về luồng điều khiển (ví dụ: các nhánh).
- Không phải tất cả các giai đoạn của quy trình đều có sẵn tài nguyên phần cứng.
Điều này dẫn đến tắc nghẽn hoặc hình thành bọt khí trong đường ống, cuối cùng làm giảm hiệu quả hoạt động.
2. Sai sót trong dự báo ngành.
Dự đoán nhánh giúp CPU đoán trước kết quả của lệnh rẽ nhánh có điều kiện để đảm bảo luồng xử lý diễn ra suôn sẻ.
Nhưng nếu dự đoán không chính xác, bộ xử lý phải:
- Xóa các chỉ dẫn sai khỏi đường ống.
- Tìm đường dẫn lệnh chính xác.
Điều này dẫn đến lãng phí quy trình và giảm hiệu quả hoạt động.
3. Bộ nhớ đệm cho các lệnh không chính xác.
Bộ nhớ đệm lệnh là một đơn vị bộ nhớ nhỏ, tốc độ cao được sử dụng để lưu trữ các lệnh được truy cập thường xuyên.
Khi không tìm thấy các hướng dẫn cần thiết trong bộ nhớ đệm:
- Dữ liệu phải được truy xuất từ bộ nhớ chính, điều này làm cho quá trình chậm hơn.
- Điều này dẫn đến sự chậm trễ và gián đoạn trong quá trình vận hành đường ống.
Tỷ lệ lỗi bộ nhớ cache cao có thể làm giảm đáng kể hiệu năng CPU.
4. Những hạn chế của song song hóa cấp lệnh (ILP)
Song song hóa cấp lệnh cho phép CPU thực thi nhiều lệnh cùng lúc
; tuy nhiên:
- Một số chỉ thị không độc lập hoặc song song.
- Việc phụ thuộc vào luồng thông tin và điều khiển thường hạn chế khả năng thực thi song song.
Vì lý do này, ILP có những hạn chế thực tế; ngoài việc bổ sung phần cứng, nó không mang lại bất kỳ sự tăng tốc đáng kể nào.
5. Cạnh tranh nguồn lực.
Khi nhiều lệnh cùng cạnh tranh để sử dụng một tài nguyên CPU (ví dụ: thanh ghi, cổng bộ nhớ, ALU):
- Thao tác phải chờ đến khi nguồn lực có sẵn.
- Điều này tạo ra nút thắt cổ chai và làm chậm quy trình.
Lập kế hoạch sử dụng tài nguyên hiệu quả và thiết kế phần cứng tối ưu có thể giảm thiểu vấn đề này.
