Xem mẫu

  1. QUI TRÌNH THỰC HIỆN LỆNH 1
  2. CHU KỲ LỆNH • Chương trình trong bộ nhớ gồm một dãy mã lệnh. • Mỗi mã lệnh được thực hiện qua một chu kỳ lệnh. • Một chu kỳ lệnh bao gồm một dãy tiểu chu kỳ hoặc pha. • Trong máy cơ bản mỗi chu kỳ gồm các pha sau: 2
  3. CHU KỲ LỆNH (tt) (1) Tìm lệnh. (2) Giải mã lệnh. (3) Đọc địa chỉ hiệu dụng từ bộ nhớ nếu lệnh có địa chỉ gián tiếp. (4) Thực hiện lệnh. Khi hoàn tất bước 4, điều khiển trở về bước 1 để tìm, giải mã và thực hiện lệnh kế. Qui trình này lặp mãi cho đến khi thực hiện lệnh dừng. 3
  4. CHU KỲ LỆNH (tt) • Tìm và giải mã: - Khởi đầu, PC được nạp địa chỉ đầu tiên của chương trình. - SC xóa 0, tạo thời hiệu T0. - Sau mỗi xung đồng hồ, SC tăng 1 nên các thời hiệu sẽ là T0, T1, T2… - Các vi tác vụ cho các pha tìm và giải mã được xác định qua các vi lệnh sau: 4
  5. CHU KỲ LỆNH (tt) T0 : AR ← PC T1 : IR ← M[AR], PC ← PC + 1 T2 : D0,…,D7 ← Giải mã IR (12-14) AR ← IR (0-11), I ← IR(15) 5
  6. Các chuyển thanh ghi cho pha tìm6
  7. CHU KỲ LỆNH (tt) T0 : AR ← PC thực hiện như sau: (1) Cho ngõ nhập chọn S2S1S0 = 010 để đặt PC lên bus. (2) Cho lên LD của AR để lấy bus đưa vào AR. T1: IR ← M[AR] , PC ← PC + 1 thực hiện như sau: (1) Lên ngõ nhập Read của bộ nhớ. (2) Cho S2S1S0 = 111 để đặt bộ nhớ lên bus. (3) Lên LD của IR để lấy bus vào IR. (4) Lên INR của PC để tăng PC 7
  8. CHU KỲ LỆNH (tt) • Xác định kiểu lệnh. Sau khi giải mã, thời hiệu hoạt động là T3. Trong T3 , đơn vị điều khiển xác định loại lệnh vừa đọc từ bộ nhớ. 8
  9. Lưu đồ chu kỳ lệnh 9
  10. CHU KỲ LỆNH (tt) • Lưu đồ trên cho thấy hoạt động của chu kỳ lệnh và cách điều khiển xác định loại lệnh khi giải mã. • Ngõ ra mạch D7 = 1 nếu mã tác vụ là 111. • Lệnh thuộc loại ghi hoặc nhập xuất. • Ngõ ra mạch giải mã D7 = 0 nếu mã tác vụ là 000-110. • Lệnh thuộc loại bộ nhớ. 10
  11. CHU KỲ LỆNH (tt) • Kế tiếp, điều khiển kiểm bit đầu tiên của lệnh qua mạch lật I, Nếu D7 = 0 và I = 1, ta có lệnh bộ nhớ với lệnh gián tiếp. • Khi đó cần đọc địa chỉ hiệu dụng từ bộ nhớ. • Vi lệnh cho điều kiện địa chỉ gián tiếp là: AR ← M[AR] 11
  12. CHU KỲ LỆNH (tt) • Khởi đầu AR lưu phần địa chỉ của lệnh. • Tác vụ đọc bộ sử dụng địa chỉ này. • Từ đọc đưa lên bus. • Cho lên LD của AR để nhận địa chỉ gián tiếp (12 bit thấp) từ bus. • Ba loại lệnh có thể xác định qua: D7’ IT3: AR ← M[AR] D7’ I’T3: Không làm gì D7 I’T3: thực hiện lệnh thanh ghi D7 IT3: thực hiện lệnh nhập xuất 12
  13. CHU KỲ LỆNH (tt) • Khi thực hiện lệnh bộ nhớ với I = 0, không làm gì vì địa chỉ hiệu đã có trong AR. • Tuy nhiên SC phải tăng khi D7’T3 = 1 để thực hiện lệnh bộ nhớ (tại T4). • Lệnh thanh ghi hoặc nhập xuất có thể thực hiện tại T3 . • Sau khi thực hiện lệnh, SC về 0 và điều khiển trở lại pha tìm với T0 = 1. 13
  14. CHU KỲ LỆNH (tt) • Lưu ý: - SC tăng hoặc xóa 0 tại mỗi chuyển tiếp đồng hồ dương. - Chúng ta quy ước không viết SC ← SC + 1 khi SC tăng nhưng điều khiển vẫn đi qua thời hiệu kế tiếp và viết SC ← 0 khi xóa SC. 14
  15. LỆNH THANH GHI • Khi D7 = 1, I = 0, lệnh thuộc loại thanh ghi. • Bit 0-11 trong mã lệnh xác định 1 trong 12 lệnh thanh ghi. • Các hàm điều khiển và vi tác vụ trong bảng sau: 15
  16. LỆNH THANH GHI (tt) Lệnh tham chiếu thanh ghi 16
  17. LỆNH BỘ NHỚ • Bảng sau liệt kê 7 lệnh bộ nhớ tương ứng với các ngõ ra giải mã Di(I = 0, 1, 2, 3, 4, 5, 6) • Địa chỉ hiệu dụng đặt vào AR trong T2 khi I = 0, trong T3 khi I = 1 • Thực hiện lệnh bộ nhớ bắt đầu với thời hiệu T4 • Việc thực hiện lệnh cần nhiều vi tác vụ vì không thể xử lý trực tiếp dữ liệu trong bộ nhớ (phải đưa dữ liệu vào thanh ghi) 17
  18. LỆNH BỘ NHỚ Lệnh tham chiếu bộ nhớ 18
  19. AND (Vào AC) • Thực hiện tác vụ AND trên các cặp bit trong AC và từ nhớ. • Kết quả chứa trong AC. • Vi tác vụ: D0T4: DR ← M[AR] D0T5: AC ← AC ∧DR, SC ← 0 19
  20. ADD (Vào AC) • Cộng từ nhớ vào AC. • Tổng chứa trong AC, bit nhớ Cout vào mạch lật E. • Vi tác vụ: D2T4: DR ← M[AR] D1T5: AC ← AC + DR, E ← Cout , SC ← 0 20
nguon tai.lieu . vn