Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc tập lệnh - Trần Thị Minh Khoa

Chap3: KIẾN TRÚC TẬP LỆNH  
(the Instruction Set Architecture level)  
GV: TS. Trần Thị Minh Khoa  
(chap5 Tanenbaum)(3t)  
Mô hình lập trình của máy tính  
Các đặc trưng của lệnh máy  
Các kiểu thao tác của lệnh tính  
Các phương pháp định địa chỉ  
Phân loại tập lệnh  
Kiến trúc tập lệnh Intel x86 (instruction format)  
Mô hình lập trình của máy tính  
Các đặc trưng của lệnh máy  
Các kiểu thao tác của lệnh tính  
Các phương pháp định địa chỉ  
Phân loại tập lệnh  
Kiến trúc tập lệnh Intel x86 (instruction format)  
Mô hình lập trình của máy tính  
Vị trí kiến trúc tập lệnh ISA trong máy tính  
Nằm giữa phần cứng và NNLT cấp cao (HLL – High Level Language)  
Giúp phần mềm tương thích khi kiến trúc phần cứng thay đổi  
Mô hình lập trình của máy tính  
Máy tính theo quan điểm lập trình  
Mô hình lập trình của máy tính  
Ví dụ về sự thi hành chương trình  
Mô hình lập trình của máy tính  
Tập thanh ghi (Registers)  
Chứa các thông tin tạm thời phục vụ cho hoạt động ở thời  
điểm hiện tại của CPU  
Được coi là mức đầu tiên của hệ thống bộ nhớ  
Số lượng thanh ghi nhiều tăng hiệu năng của CPU  
Có hai loại thanh ghi:  
Các thanh ghi lập trình được  
Các thanh ghi không lập trình được  
Mô hình lập trình của máy tính  
Phân loại thanh ghi theo chức năng  
Thanh ghi địa chỉ: quản lý địa chỉ của bộ nhớ hay cổng IO.  
Thanh ghi dữ liệu: chứa tạm thời các dữ liệu.  
Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ liệu.  
Thanh ghi điều khiển/trạng thái: chứa các thông tin điều khiển  
và trạng thái của CPU.  
Thanh ghi lệnh: chứa lệnh đang được thực hiện.  
Mô hình lập trình của máy tính  
Một số thanh ghi điển hình  
Các thanh ghi địa chỉ (Address Register)  
Bộ đếm chương trình PC (Program Counter)  
Con trỏ dữ liệu DP (Data Pointer)  
Con trỏ ngăn xếp SP (Stack Pointer)  
Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register)  
Các thanh ghi dữ liệu (Data Register)  
Thanh ghi trạng thái (Status Register)  
Mô hình lập trình của máy tính  
Bộ đếm chương trình PC  
Còn được gọi là con trỏ lệnh IP (Instruction Pointer)  
Giữ địa chỉ của lệnh tiếp theo sẽ được thi hành.  
Sau khi một lệnh được nhận vào CPU, nội dung PC tự động  
tăng để trỏ sang lệnh kế tiếp.  
Thanh ghi con trỏ dữ liệu DP  
Chứa địa chỉ của ô nhớ dữ liệu mà CPU muốn truy cập  
Thường có nhiều thanh ghi con trỏ dữ liệu cho phép chương  
trình có thể truy cập nhiều vùng nhớ đồng thời.  
Mô hình lập trình của máy tính  
Ngăn xếp (Stack)  
Ngăn xếp là vùng nhớ có cấu trúc LIFO (Last In - First Out) hoặc  
FILO (First In - Last Out)  
Ngăn xếp thường dùng để phục vụ cho chương trình con  
Đáy ngăn xếp là một ô nhớ xác định  
Đỉnh ngăn xếp là thông tin nằm ở vị trí trên cùng trong ngăn  
xếp  
Đỉnh ngăn xếp có thể bị thay đổi  
Mô hình lập trình của máy tính  
Con trỏ ngăn xếp SP (Stack Pointer)  
Chứa địa chỉ của ô nhớ đỉnh ngăn xếp  
Khi cất một thông tin vào ngăn xếp:  
Thao tác PUSH  
Nội dung của SP tự động tăng  
Thông tin được cất vào ô nhớ đang trỏ bởi SP  
Khi lấy một thông tin ra khỏi ngăn xếp:  
Thao tác POP  
Thông tin được đọc từ ô nhớ đang trỏ bởi SP  
Nội dung của SP tự động giảm  
Khi ngăn xếp rỗng, SP trỏ vào đáy  
Mô hình lập trình của máy tính  
Thanh ghi cơ sở và thanh ghi  
chỉ số  
Thanh ghi cơ sở: chứa địa chỉ  
của ngăn nhớ cơ sở (địa chỉ cơ  
sở)  
Thanh ghi chỉ số: chứa độ lệch  
địa chỉ giữa ngăn nhớ mà CPU  
cần truy cập so với ngăn nhớ cơ  
sở (chỉ số)  
Địa chỉ của ngăn nhớ cần truy  
cập = địa chỉ cơ sở + chỉ số  
Mô hình lập trình của máy tính  
Thanh ghi dữ liệu (Data Register)  
Chứa các dữ liệu tạm thời hoặc các kết quả trung gian  
Cần có nhiều thanh ghi dữ liệu  
Các thanh ghi số nguyên: 8, 16, 32, 64 bit  
Các thanh ghi số dấu chấm động: 32, 64, 80 bit  
Thanh ghi trạng thái (Status Register)  
Còn gọi là thanh ghi cờ (Flags Register) hoặc từ trạng  
thái chương trình PSW (Program Status Word)  
Chứa các thông tin trạng thái của CPU  
Các cờ phép toán: báo hiệu trạng thái của kết quả phép  
toán  
Các cờ điều khiển: biểu thị trạng thái điều khiển của CPU  
Mô hình lập trình của máy tính  
Ví dụ cờ phép toán  
Zero Flag (cờ rỗng): được thiết lập lên 1 khi kết quả của phép  
toán bằng 0.  
Sign Flag (cờ dấu): được thiết lập lên 1 khi kết quả phép toán  
nhỏ hơn 0 (kết qủa âm)  
Carry Flag (cờ nhớ): được thiết lập lên 1 nếu phép toán có nhớ  
ra ngoài bit cao nhất cờ báo tràn với số không dấu.  
Overflow Flag (cờ tràn): được thiết lập lên 1 nếu cộng hai số  
nguyên cùng dấu mà kết quả có dấu ngược lại cờ báo tràn  
với số có dấu .  
Mô hình lập trình của máy tính  
Ví dụ cờ điều khiển  
Interrupt Flag (Cờ cho phép ngắt):  
Nếu IF = 1 CPU ở trạng thái cho phép ngắt với tín hiệu yêu cầu ngắt  
từ bên ngoài gửi tới  
Nếu IF = 0 CPU ở trạng thái cấm ngắt với tín hiệu yêu cầu ngắt từ  
bên ngoài gửi tới  
Direction Flag (Cờ hướng):  
Nếu DF=0 Truy cập bộ nhớ theo hướng tăng của địa chỉ ô nhớ  
Nếu DF=1 Truy cập bộ nhớ theo hướng giảm của địa chỉ ô nhớ  
Mô hình lập trình của máy tính  
Ví dụ: Tập thanh ghi của một số bộ xử lý  
Mô hình lập trình của máy tính  
Các đặc trưng của lệnh máy  
Các kiểu thao tác của lệnh tính  
Các phương pháp định địa chỉ  
Phân loại tập lệnh  
Kiến trúc tập lệnh Intel x86 (instruction format)  
Các đặc trưng của lệnh máy  
Giới thiệu chung về tập lệnh  
Mỗi bộ xử lý có một tập lệnh xác định  
Tập lệnh thường có hàng chục đến hàng trăm lệnh  
Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu được để  
thực hiện một thao tác xác định.  
Các lệnh được mô tả bằng các ký hiệu gợi nhớ chính là các  
lệnh của hợp ngữ (assembly), ví dụ: ADD, SUB, LOAD, STORE,…  
Các đặc trưng của lệnh máy  
Các thành phần của lệnh máy  
Opcode  
Operand address  
Mã thao tác (operation code): mã hóa cho thao tác mà bộ  
xử lý phải thực hiện bằng số nhị phân (làm gì?)  
Địa chỉ toán hạng (operand address): chỉ ra nơi chứa các  
toán hạng mà thao tác sẽ tác động (làm ở đâu?)  
Toán hạng nguồn: dữ liệu vào của thao tác  
Toán hạng đích: dữ liệu ra của thao tác  
Toán hạng: Thanh ghi, bộ nhớ, thiết bị ngoại vi,…  
Ví dụ: 1 lệnh 16 bit có 2 toán hạng  
Tải về để xem bản đầy đủ
pdf 78 trang baolam 11/05/2022 5520
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc tập lệnh - Trần Thị Minh Khoa", để 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:

  • pdfbai_giang_he_thong_may_tinh_chuong_3_kien_truc_tap_lenh_tran.pdf