Cách máy tính xử lý một chương trình | Công nghệ thông tin | Trường Đại học Thủy Lợi

Cách máy tính xử lý một chương trình của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

lOMoARcPSD|40651217
PHIẾU GHI KẾT QUẢ QUAN SÁT
LAB 1: CÁCH MÁY TÍNH XỬ LÝ MỘT CHƯƠNG TRÌNH
Ngày: 24/10/2023
Họ tên sinh viên: Hoàng Thị Thu Hằng Lớp: 64HTTT2 Máy
(Machine) mặc ịnh: Wombat1.cpu Chương trình (Text) mặc ịnh: W1-0.a
Nhiệm vụ của sinh viên:
Chạy chương trình trong file W1-0.a ở chế ộ từng vi lệnh
Quan sát nội dung các thanh ghi của CPU, nội dung của các ngăn nhớ
trong RAM, vùng cửa sổ 3 và 5, mục Fetch Sequence
Ghi nội dung quan sát ược vào bảng sau
4 bit ầu là mã lệnh
12 bit sau là bit ịa chỉ
Lệnh hợp ngữ
Địa chỉ của các
ngăn nhớ chứa
lệnh
Lệnh mã máy
Vi lệnh hợp ngữ
Read
000 0000
000 0001
0011 0000
0000 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Input-int->acc
End
jmpn Done
000 0010
000 0011
1011 0000
0000 1010
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
If(acc>= 0) skip-1
Ir(4-15)->pc
End
lOMoARcPSD|40651217
add sum
000 0100
000 0101
0101 0000
0001 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Ir(4-15)->mar
Main[mar]->mdr
Acc+mdr->acc
End
store sum
000 0110
000 0111
0011 0000
0001 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Ir(4-15)->mar
Acc->mdr
Mdr->Main[mar]
End
jump Start
000 1000
000 1001
1001 0000
0000 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Ir(4-15)->pc
end
lOMoARcPSD|40651217
load sum
000 1010
000 1011
0001 0000
0001 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Ir(4-15)->mar
Main[mar]->mdr
Mdr->acc
End
Write
000 1100
000 1101
0100 0000
0000 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Output-acc->int
End
000 1110
000 1111
0000 0000
0000 0000
Truy xuất:
Pc->mar
Main[mar]->mdr
Mdr->ir
Inc2->pc
Decode->ir Thực
thi:
Set-halt-bit
End
Địa chỉ của 2 byte dữ liệu mà tổng ược lưu trữ (2-byte location where sum is stored):
001 0000 và 001 0001
Giá trị nhị phân của tổng ược lưu trong bộ nhớ: 00000000 và 00001100
Thông báo trong cửa sổ hiển thị (Console)
Ví dụ:
- Liệt kê các công oạn thực hiện có thể có trong một chu k lệnh.
lOMoARcPSD|40651217
+ load dữ liệu từ thanh ghi pc vào thanh ghi mar
+ lấy từ trong main dữ liệu từ dữ liệu của thanh ghi mar (lưu trữ ịa chỉ của
lệnh) ưa vào thanh ghi mdr (lưu trữ ịa chỉ) + load dữ liệu từ thanh ghi mdr
vào thanh ghi ir
+ tăng thanh ghi pc trỏ sang ịa chỉ của lệnh tiếp theo trong main
+ giải mã lệnh trong ir và chạy
| 1/4

Preview text:

lOMoARcPSD| 40651217
PHIẾU GHI KẾT QUẢ QUAN SÁT
LAB 1: CÁCH MÁY TÍNH XỬ LÝ MỘT CHƯƠNG TRÌNH Ngày: 24/10/2023
Họ và tên sinh viên: Hoàng Thị Thu Hằng Lớp: 64HTTT2 Máy
(Machine) mặc ịnh: Wombat1.cpu Chương trình (Text) mặc ịnh: W1-0.a
Nhiệm vụ của sinh viên:
Chạy chương trình trong file W1-0.a ở chế ộ từng vi lệnh •
Quan sát nội dung các thanh ghi của CPU, nội dung của các ngăn nhớ
trong RAM, vùng cửa sổ 3 và 5, mục Fetch Sequence •
Ghi nội dung quan sát ược vào bảng sau 4 bit ầu là mã lệnh 12 bit sau là bit ịa chỉ
Lệnh hợp ngữ Địa chỉ của các Lệnh mã máy Vi lệnh hợp ngữ ngăn nhớ chứa lệnh Read 000 0000 0011 0000 Truy xuất: 000 0001 0000 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Input-int->acc End jmpn Done 000 0010 1011 0000 Truy xuất: 000 0011 0000 1010 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: If(acc>= 0) skip-1 Ir(4-15)->pc End lOMoARcPSD| 40651217 add sum 000 0100 0101 0000 Truy xuất: 000 0101 0001 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Ir(4-15)->mar Main[mar]->mdr Acc+mdr->acc End store sum 000 0110 0011 0000 Truy xuất: 000 0111 0001 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Ir(4-15)->mar Acc->mdr Mdr->Main[mar] End jump Start 000 1000 1001 0000 Truy xuất: 000 1001 0000 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Ir(4-15)->pc end lOMoARcPSD| 40651217 load sum 000 1010 0001 0000 Truy xuất: 000 1011 0001 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Ir(4-15)->mar Main[mar]->mdr Mdr->acc End Write 000 1100 0100 0000 Truy xuất: 000 1101 0000 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Output-acc->int End Stop 000 1110 0000 0000 Truy xuất: 000 1111 0000 0000 • Pc->mar • Main[mar]->mdr • Mdr->ir • Inc2->pc • Decode->ir Thực thi: Set-halt-bit End
Địa chỉ của 2 byte dữ liệu mà tổng ược lưu trữ (2-byte location where sum is stored): 001 0000 và 001 0001
Giá trị nhị phân của tổng ược lưu trong bộ nhớ: 00000000 và 00001100
Thông báo trong cửa sổ hiển thị (Console) Ví dụ:
- Liệt kê các công oạn thực hiện có thể có trong một chu kỳ lệnh. lOMoARcPSD| 40651217
+ load dữ liệu từ thanh ghi pc vào thanh ghi mar
+ lấy từ trong main dữ liệu từ dữ liệu của thanh ghi mar (lưu trữ ịa chỉ của
lệnh) ưa vào thanh ghi mdr (lưu trữ ịa chỉ) + load dữ liệu từ thanh ghi mdr vào thanh ghi ir
+ tăng thanh ghi pc trỏ sang ịa chỉ của lệnh tiếp theo trong main
+ giải mã lệnh trong ir và chạy