Chu kỳ lệnh là gì

instruction cycle Noun None

Chu kỳ lệnh

Chu kỳ lệnh [instruction cycle] là chu kỳ mà đơn vị xử lý trung tâm [CPU] tuân theo từ khi khởi động cho đến khi máy tính tắt để xử lý các lệnh. Nó bao gồm ba giai đoạn chính: giai đoạn tìm nạp [fetch stage], giai đoạn giải mã [decode stage] và giai đoạn thực thi [execute stage]. Xem thêm ba giai đoạn này để hiểu rõ.

Trong các CPU đơn giản, chu trình lệnh [instruction cycle] được thực hiện tuần tự, mỗi lệnh được xử lý trước khi lệnh tiếp theo được bắt đầu. Trong hầu hết các CPU hiện đại, các chu trình lệnh [instruction cycle] được thực hiện đồng thời và thường song song, thông qua một ống dẫn lệnh [instruction pipeline]: lệnh tiếp theo bắt đầu được xử lý trước khi lệnh trước đó kết thúc, điều này có thể xảy ra vì chu trình được chia thành các bước riêng biệt.

- Vi điều khiển 8051 hoạt động được nhờ nguồn xung clock lấy từ 2 chân XTAL1 và XTAL2. Thông thường 2 chân này được mắc với 1 thạch anh 12Mhz. [trong một số trường hợp ta vẫn có thể sử dụng thạch anh 24Mhz để nâng tần số hoạt động lên.]

- Tần số dao động của thạch anh sẽ được chia cho 12. Kết quả thu được chính là tần số hoạt động của vi điều khiển.

- 1 chu kỳ máy chính là thời gian của một xung nhịp.

- Ví dụ: Nếu thạch anh là 12Mhz, thì tần số hoạt động của vi điều khiển là 1Mhz, và 1 chu kỳ máy sẽ có thời gian là 1us [micro giây].

2. Thế nào là chu kỳ lệnh?

- Chu kỳ lệnh là thời gian để vi điều khiển thực hiện hoàn tất một lệnh nào đó.

- Mỗi loại lệnh khác nhau thì sẽ có thời gian thực hiện khác nhau do đó có chu kỳ lệnh khác nhau.

- Đối với các bạn lập trình 8051 theo ngôn ngữ ASM thì chu kỳ lệnh là một điều bắt buộc phải nhớ. Vì nó ảnh hưởng rất lớn đến việc tính toán các khoảng thời gian trong chương trình.

- Đối với các bạn lập trình 8051 theo ngôn ngữ C thì phần này gần như bỏ qua. Vì gần như không cần quan tâm. Keil C tự động tính toán và sinh mã để hoàn thiện giúp bạn.

- Ví dụ: cho đoạn chương trình sau:

#include void main[] { unsigned int i; for[i=0;i

Chủ Đề