BÀI TẬP CHƯƠNG Mô tả việc vận chuyển liệu thực lệnh sau Load R5, (R20) Store R7, 100(R21) Add R5, R4, R20 Sub R10, R12, R24 And R5, R2, R15 Or R15, R3, R7 JMP R7 BRA +5 BGT R4, +2 Giải: Load R5, (R20): Lệnh thâm nhập nhớ 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: B ← R20 PC ← PC + 3) Thi hành lệnh: MAR ← B 4) Thâm nhập nhớ/ nhảy lần cuối: MDR ← M[MAR] 5) Lưu trữ kết quả: R5 ← MDR Store R7, 100(R21): Lệnh thâm nhập nhớ 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: B ← R21 PC ← PC + 3) Thi hành lệnh: MAR ← 100 + B MDR ← R7 4) Thâm nhập nhớ/ nhảy lần cuối: M[MAR] ← MDR 5) Lưu trữ kết quả: Add R5, R4, R20: Lệnh ALU 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: A ← R4 B ← R20 PC ← PC + 4 3) Thi hành lệnh: Ngã ALU ← Kết phép tính 4) Thâm nhập nhớ/nhảy lần cuối: 5) Lưu trữ kết quả: R5 ← Ngã ALU Sub R10, R12, R24: Lệnh ALU 1) Đọc lệnh: 2) Giải mã lệnh đọc ghi nguồn: A ← R12 B ← R24 PC ← PC + 3) Thi hành lệnh: Ngã ALU ← Kết phép tính 4) Thâm nhập nhớ/nhảy lần cuối: 5) Lưu trữ kết quả: R10 ← Ngã ALU And R5, R2, R15 : Lệnh ALU 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn A ← R2 B ← R15 PC ← PC + 3) Thi hành lệnh: Ngã ALU ← A AND B 4) Thâm nhập nhớ/nhảy lần cuối: 5) Lưu trữ kết quả: R5 ← Ngã ALU Or R15, R3, R7 : Lệnh ALU 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: A ← R3 B ← R7 PC ← PC + 3) Thi hành lệnh: Ngã ALU ← A OR B 4) Thâm nhập nhớ/nhảy lần cuối 5) Lưu trữ kết quả: R15 ← Ngã ALU JMP R7: Lệnh nhảy 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: B ← R7 PC ← PC + 3) Thi hành lệnh: Ngã ALU ← B 4) Thâm nhập nhớ/nhảy lần cuối: PC ← Ngã ALU 5) Lưu trữ kết quả: BRA +5 : Lệnh nhảy 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: PC ← PC + 3) Thi hành lệnh: Ngã ALU ← PC + 5x4 4) Thâm nhập nhớ/nhảy lần cuối PC ← Ngã ALU 5) Lưu trữ kết quả: BGT R4, +2: Lệnh nhảy có điều kiện : Nhảy bỏ lệnh so sánh Rs1 > Rs2 cho kết đúng, bit trạng thái Z = S = 1) Đọc lệnh: MAR ← PC IR ← M[MAR] 2) Giải mã lệnh đọc ghi nguồn: A ← 2x4 B ← PC PC ← PC + 3) Thi hành lệnh: Ngã ALU ← A+B 4) Thâm nhập nhớ/nhảy lần cuối: If (Z = 0, S = 0), PC ← Ngã ALU 5) Lưu trữ kết quả: