Kiến thức bài trước
(cid:122) Tổ chức của máy tính
Chương 4. Tổ chức bộ xử lý
B. QUY TRÌNH THỰC HIỆN LỆNH
(cid:131)
(cid:131)
I = 0 : Lệnh tham chiếu bộ nhớ với địa chỉ trực tiếp I = 1 : Lệnh tham chiếu bộ nhớ với địa chỉ gián tiếp (Indirect)
(cid:131) Mã lệnh 111
(cid:131)
(cid:131)
I = 0 : Lệnh tham chiếu thanh ghi I = 1 : Lệnh nhập – xuất (Input / Output)
(cid:122) Hệ thống bus, thanh ghi (cid:122) Đơn vị điều khiển (cid:122) Tập lệnh Cấu trúc: Các dạng mã lệnh: (cid:131) Mã lệnh 000 đến 110 :
4b.1. Chu kỳ lệnh
(cid:122) Tìm lệnh (cid:122) Giải mã lệnh (cid:122) Đọc địa chỉ hiệu dụng từ bộ nhớ (nếu lệnh có địa chỉ bộ nhớ)
(cid:122) Thực hiện lệnh
(cid:122) Mỗi lệnh được thực hiện qua 1 chu kỳ lệnh (cid:122) Gồm 1 dãy tiểu chu kỳ (pha, giai đoạn) (cid:122) Lưu đồ chu kỳ lệnh
Khởi đầu, PC được nạp địa chỉ đầu
(cid:122) (Lặp cho đến khi thực hiện lệnh dừng HLT)
tiên của chương trình.
khiển bus, các thanh ghi, bộ nhớ, ...) VD: H 8.1: Cài đặt mạch điều khiển cho g/đ Tìm lệnh (cid:131) T0: AR (cid:197) PC
(cid:122) SC xóa 0 tạo thời hiệu T0 (cid:122) Giai đoạn Tìm lệnh
(cid:131) S2S1S0 = 010, LD (AR) = 1 (cid:131) T1: IR (cid:197) M[AR], PC (cid:197) PC + 1
(cid:122) T0: AR (cid:197) PC (cid:122) T1: IR (cid:197) M[AR], PC (cid:197) PC + 1
(cid:131) Read (Mem) = 1, S2S1S0 = 111, LD (IR) = 1, INR (PC) = 1
(cid:122) Giai đoạn Giải mã lệnh
(cid:122) T2: D0, ... D7 (cid:197) Giải mã IR (12 – 14),
AR (cid:197) IR (0 – 11), I (cid:197) IR (15)
(cid:122) Cài đặt giai đoạn Tìm lệnh (cid:122) Từ vi lệnh xác định các tín hiệu điều khiển (điều (cid:122) Tìm và giải mã:
1
(cid:122) Xác định kiểu lệnh
(cid:131) T0: AR (cid:197) PC
(cid:122) Sau khi giải mã lệnh,
Tại thời điểm T3, đơn vị điều khiển xác định loại lệnh vừa đọc (Nhắc lại) Các dạng mã lệnh (cid:131) Mã lệnh 000 đến 110 :
(cid:131)
(cid:131)
(cid:131) Mã lệnh 111
(cid:131) S2S1S0 = 010, LD (AR) = 1 (cid:131) T1: IR (cid:197) M[AR], PC (cid:197) PC + 1 (cid:131) Read (Mem) = 1, S2S1S0 = 111, LD (IR) = 1, INR (PC) = 1
(cid:131)
(cid:131)
I = 0 : Lệnh tham chiếu bộ nhớ với địa chỉ trực tiếp I = 1 : Lệnh tham chiếu bộ nhớ với địa chỉ gián tiếp (Indirect)
I = 0 : Lệnh tham chiếu thanh ghi I = 1 : Lệnh nhập – xuất (Input / Output)
4b.2. Lệnh (tham chiếu) thanh ghi
(cid:122) Nếu D7 = 1
(mã tác vụ: 111) lệnh tham chiếu thanh ghi / nhập xuất
(cid:122) (Khi D7 = 1, I = 0) (cid:122) Bit 0 - 11 xác định 1 trong 12 lệnh tham chiếu thanh ghi (cid:122) Bảng 8.1. Lệnh tham chiếu thanh ghi (cid:122) VD: lệnh CLA (Clear AC)
(cid:122) Nếu D7 = 0
(D7 I’ T3 = r) r B11 : AC (cid:197) 0 (cid:131) (cid:131) D7 I’ T3 B11 : AC (cid:197) 0
(mã tác vụ: 000 – 011) lệnh tham chiếu bộ nhớ (cid:122) Nếu I = 1:
địa chỉ gián tiếp AR (cid:197) M[AR]
4b.3. Lệnh (tham chiếu) bộ nhớ
(cid:122) 7 lệnh bộ nhớ ứng với Di = 1 (i = 0 .. 6) (cid:122) Địa chỉ hiệu dụng đặt trong AR
(cid:131) Tại T2 khi I = 0 (cid:131) Tại T3 khi I = 1
AND (vào AC) Ý nghĩa: AC (cid:197) AC ∧ M[AR] (cid:122) D0T4: DR (cid:197) M[AR] (cid:122) D0T5: AC (cid:197) AC ∧ DR, SC (cid:197) 0
(cid:122) Lệnh bộ nhớ bắt đầu tại T4 (cid:122) Chú ý:
ADD (vào AC) LDA (nạp từ nhớ vào AC) Load STA (lưu AC vào bộ nhớ) Store
(cid:122) (Mã D0)
(cid:131) Phải đưa dữ liệu vào thanh ghi (cid:131) Kết quả luôn được ghi vào AC (cid:131) ALU chỉ có 2 đầu vào AC và DR
(cid:122) (Bảng 8.2)
***
(cid:122) (Mã D1) (cid:122) (Mã D2) (cid:122) (Mã D3)
2
(cid:122) (Mã D4) BUN (rẽ không điều kiện)
20
21
Branch Uncondition (cid:122) Thay đổi thứ tự thực hiện lệnh
(cid:122) (Mã D5) BSA (rẽ và lưu địa chỉ quay về)
Branch and Store Address Để rẽ đến đoạn ch/trình (ch/trình con, thủ tục) (cid:122) Lưu địa chỉ lệnh sẽ thực hiện kế (đang nằm
135
136
21 Ch/trình con
trong PC) vào vùng nhớ chỉ định (nằm ở đầu đoạn ch/trình con)
(cid:122) Chuyển th/hiện đến lệnh kế tiếp (đoạn ch/tr con) (cid:122) Cuối đoạn ch/tr có lệnh nhảy không điều kiện với địa chỉ gián tiếp chứa tại vùng nhớ chỉ định
0 BSA 135 Lệnh sẽ th/hiện
(cid:122) (Mã D6) ISZ (tăng và nhảy nếu bằng 0)
1 BUN 135
4b.4. Lệnh nhập xuất
(cid:122) VD thiết bị nhập: bàn phím, xuất: máy in
(cid:122) Cấu hình nhập xuất
(cid:122) Cách gửi / nhận thông tin: tuần tự (cid:122) Đơn vị gửi / nhận : một ký tự (8 bit) (cid:122) Dãy thông tin từ bàn phím được dịch vào INPR (cid:122) Dãy thông tin cho máy in được lưu trong OUTR (cid:122) INPR, OUTR
(cid:131)
(cid:131)
liên lạc tuần tự với giao tiếp (cổng) truyền thông liên lạc song song với AC
(cid:122) (Hình 8.5)
***
(cid:122) Cơ chế nhập:
(cid:122) Cơ chế xuất:
Cờ xuất: FGO (= 1 khi thông tin mới đã
sẵn sàng trong th/bị xuất) để đồng bộ tốc độ giữa th/bị xuất và máy
Cờ nhập: FGI (= 1 khi thông tin mới đã sẵn sàng trong th/bị nhập) để đồng bộ tốc độ giữa th/bị nhập và máy (Ban đầu FGI (cid:197) 0)
(cid:131) (cid:131) Khi nhấn phím, mã ký tự (8 bit)
FGI (cid:197) 0 FGO (cid:197) 1
(cid:131) Ban đầu FGO (cid:197) 1 (cid:131) Máy kiểm tra FGO = 1, th/tin chuyển
được dịch vào INPR
song song từ AC vào OUTR
(cid:131) FGI (cid:197) 1 (cid:131) Máy kiểm tra FGI = 1, INPR được
(cid:131) FGO (cid:197) 0 (cid:131) OUTR xuất tuần tự ra thiết bị xuất,
chuyển song song vào AC
th/bị xuất in ký tự
(cid:131) FGI (cid:197) 0
(cid:131) FGI (cid:197) 1 (Mới có thể xuất ký tự
(Mới có thể nhấn phím khác)
khác)
1 1 FGI FGO AC (cid:197) INPR FGO (cid:197) 0 OUTR (cid:197) AC FGO (cid:197) 0 0 0
INPR <----- Nhập ... ... FGO (cid:197) 1 Xuất <--- OUTR ... ... FGO (cid:197) 1
3
(cid:122) Lệnh nhập xuất
(cid:122) Ngắt:
(cid:122) Khi nhập / xuất, máy duy trì việc kiểm tra bit cờ.
Do khác biệt về tốc độ giữa máy và th/bị nhập xuất, cách truyền thông này không hiệu quả.
(cid:122) Cách giải quyết: để th/bị báo cho máy khi sẵn sàng truyền (cid:122) Tính năng ngắt: khi cờ bật, máy tạm thời bị ngắt để xử lý
(cid:122) Chuyển thông tin vào ra AC (cid:122) Kiểm tra các cờ (cid:122) Điều khiển ngắt (cid:122) Mã tác vụ: 1111 (D7 = 1 và I = 1) (cid:122) Xác định lệnh: IR (6 – 11)
nhập xuất
(cid:122) VD Minh họa chu kỳ ngắt (h 8.7)
(cid:122) Quy trình ngắt
(cid:131) Cờ cho phép ngắt
0 1 Chu kỳ lệnh Chu kỳ ngắt R
Nhập/xuất
(IEN: Interrup Enable) (cid:131) Nếu IEN = 0, các cờ (FGI, FGO) không thể ngắt máy
(cid:131) Nếu IEN = 1, máy có thể bị ngắt (cid:131) Dùng mạch lật ngắt R (cid:131) Nếu R = 0, máy qua
chu kỳ lệnh
Tìm lệnh, Giải mã lệnh Lưu địa chỉ quay về 0 IEN 1 Th/hiện lệnh Rẻ nhánh đến chương trình ngắt 1 FGI 0 IEN (cid:197) 0 R (cid:197) 0 1 FGO 0 R (cid:197) 1