Bài giảng Kiến trúc máy tính - Chương: Tập lệnh - Nguyễn Ngọc Hóa
Kiến trúc máy tính
Tập lệnh
NGUYỄN Ngọc Hoá
Bộ môn Hệ thống thông tin, Khoa CNTT
Trường Đại học Công nghệ,
Đại học Quốc gia Hà Nội
28 October 2015
Nội dung
Khái niệm
Biểu diễn lệnh
Format lệnh
Các kiểu đánh địa chỉ
Tham khảo chương 10, 11 của [1]
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
2
1. Khái niệm
Tập lệnh: tập đầy đủ các lệnh mà CPU hiểu được.
Lệnh: Mã máy (binary), thường được biểu diễn bởi những mã hợp
lệnh (assembly codes)
Phần nhìn thấy của máy tính bởi người lập trình (đặc biệt đối với
người viết chương trình dịch)
Thể hiện khái quát về mặt logic một máy tính theo nghĩa các
registers, hoạt động của ALU, kiểu dữ liệu, …
Thiết kế tập lệnh là một phần quan trọng trong việc thiết kế CPU
Mỗi một kiểu máy tính có một tập lệnh và một CPU đặc thù.
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
3
Khái niệm…
Một lệnh phải chứa những thông tin đòi hỏi bởi CPU:
Mã lệnh (operation code – opcode): mã nhị phân xác định thao tác
phải thi hành
Tham chiếu đến các toán hạng nguồn
Tham chiếu đến toán hạng đích
Tham chiếu đến lệnh kế tiếp
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
4
Sơ đồ trạng thái chu trình lệnh
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
5
2. Biểu diễn lệnh
Biểu diễn lệnh: chuỗi các bits được chia thành các trường
Opcode
4 bits
Operand Reference Operand Reference
6 bits
6 bits
Biểu diễn tượng trưng: cả opcode lẫn các toán hạng
Ex: ADD A,B
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
6
Ví dụ
Diễn dịch
Địa chỉ bộ nhớ
Nội dung
LOAD (1100)
ADD (1101)
ADD (1110)
STORE (1111)
0002
0100
0101
0110
0111
1100
1101
1110
1111
0010 0010 0000 1100
0001 0010 0000 1101
0001 0010 0000 1110
0011 0010 0000 1111
0000 0000 0000 0010
0000 0000 0000 0011
0000 0000 0000 0100
0000 0000 0000 0000
0003
0004
0000
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
7
Ngôn ngữ máy tính
Được chia làm nhiều bậc khác nhau:
Bậc thấp LLL: ngôn ngữ máy (binary), hợp ngữ…
Bậc cao HLL: C, Pascal, Basic
Một lệnh HLL tương ứng với nhiều lệnh LLL
Tập lệnh phải đảm bảo đủ khả năng mã hoá tất cả các
lệnh của một ngôn ngữ bậc cao.
Ví dụ : X = X + Y được dịch thành:
LOAD X, R1
ADD R1, Y
STORE R1, X
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
8
Thiết kế tập lệnh
Thoả hiệp giữa:
Số lượng phép toán
Độ phức tạp của các phép toán
Số kiểu dữ liệu
Số thanh ghi registers
Phương thức sử dụng registers
Các kiểu đánh địa chỉ
Số lượng trường trong một lệnh
Độ lớn của các trường
Thiết kế tập lệnh thiết kế CPU
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
9
3. Format lệnh
Phân loại tập lệnh theo format lệnh: dựa trên số lượng địa
chỉ toán hạng tham chiếu
Lý thuyết: cần 4 trường để chứa địa chỉ
Toán hạng nguồn 1
Toán hạng nguồn 2
Toán hạng kết quả
Lệnh kế tiếp
Thực tế:
3 địa chỉ: ít sử dụng
2 địa chỉ: 1 cho nguồn và 1 cho đích
1 địa chỉ: sử dụng accumulator để chứa một toán hạng và kết quả
0 địa chỉ: sử dụng một stack để chứa các toán hạng và kết quả
Computer Architecture –DepartmentofInformationSystems@NGUYỄNNgọc Hoá
10
Bạn đang xem tài liệu "Bài giảng Kiến trúc máy tính - Chương: Tập lệnh - Nguyễn Ngọc Hóa", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_tap_lenh_nguyen_ngoc_hoa.pdf