TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
Chương 3
TẬP LỆNH
2
Nội dung chương 5
Nội dung chương 5
I. Khái niệm về tập lệnh
II. Các dạng dữ liệu
III. Tập lệnh
IV. Định vị địa chỉ
V. Dòng điều khiển
VI. Giới thiệu kỹ thuật lập trình hợp ngữ
3
I. Khái niệm về tập lệnh
1. Các hình thức của tập lệnh
2. Các chỉ tiêu thiết kế tập lệnh
4
1. Các hình thức của tập lệnh
Tập lệnh: tập hợp các lệnh của CPU
ngôn ngữ máy
Có 2 hình thức:
•
Dạng nhị phân
bit pattern
•
Dạng ký hiệu
symbolic language
assembly language
5
2. Các chỉ tiêu thiết kế tập lệnh
Đầy đủ
Hiệu quả
Dễ nhớ, dễ sử dụng
Tương thích
6
II. Các dạng dữ liệu
1. Biểu diễn số nguyên
2. Biểu diễn số thực
3. Số dạng SIMD
4. Biểu diễn ký tự
7
1. Biểu diễn số nguyên
Số nguyên không dấu
•
Biểu diễn nhị phân
Số nguyên có dấu
•
Mã bù 2
Số BCD (Binary-Coded Decimal)
Số thập phân mã hoá nhị phân
1 chữ số thập phân biểu diễn trên 4 bit
8
Khuôn dạng số BCD
9
2. Biểu diễn số thực
Dùng tiêu chuẩn IEEE 754
X = S.2
E
10
Ví dụ
11
3. Số dạng SIMD
Sử dụng trên CPU IA-32
Nén các dữ liệu nguyên, số dấu chấm
động trong dữ liệu 64 bit, 128 bit
Thực hiện xử lý dạng SIMD
Single Instruction stream
Multiple Data stream
12
Ví dụ dữ liệu SIMD 64 bit
13
Ví dụ dữ liệu SIMD 128 bit
14
4. Biểu diễn ký tự
Dùng các bảng mã (coding schemes)
ASCII – 7 bit, 8 bit, từ 1967
American Standard Code for Information Interchange
Unicode – 16 bit, từ 1991
•
Dạng dựng sẵn (pre-compound)
•
Dạng tổ hợp (compound)
15
Không gian mã Unicode
16
III. Tập lệnh
1. Các loại lệnh
2. Khuôn dạng lệnh
17
1. Các loại lệnh
Các lệnh đa năng
Phải có trên các tập lệnh
Các lệnh đặc biệt
Đặc tính riêng của từng CPU
18
Các loại lệnh đa năng
Các lệnh di chuyển dữ liệu
Thanh ghi, bộ nhớ, thiết bị I/O
Các lệnh xử lý dữ liệu
•
Dạng 1 toán hạng: NOT, NEG, SHIFT, …
•
Dạng 2 toán hạng: ADD, …, AND, …
Điều khiển chương trình
•
Gọi thủ tục
•
Lặp, Rẽ nhánh
Điều khiển hệ thống
19
Các loại lệnh đặc biệt trên IA-32
Các lệnh dạng SIMD
•
MMX
•
Streaming SIMD Extensions (SSE)
SSE, SSE2, SSE3
•
Prescott New Instructions (PNI)
•
……
20
Các loại lệnh trên CPU Intel
21
Các loại lệnh trên CPU Intel (tt)
22
2. Khuôn dạng lệnh
Mỗi lệnh có vùng mã lệnh (opcode)
xác định thao tác thực hiện
Mỗi lệnh có thể có các vùng địa chỉ
(address/reference)
xác định toán hạng của lệnh
23
Ví dụ
Khuôn dạng lệnh đơn giản
24
Nhắc lại chu kỳ lệnh
25
Ví dụ: Khuôn dạng lệnh CPU Pentium 4