Chương 4 trình bày về Kiến trúc tập lệnh. Nội dung cụ thể của chương này gồm có: 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, 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,...
Chương Kiến trúc tập lệnh (Instruction Set Architecture) Nội dung • Mơ hình lập trình máy tính • Các đặc trưng lệnh máy • Các kiểu thao tác lệnh • Các phương pháp định địa • Phân loại tập lệnh • Kiến trúc tập lệnh Intel x86 Mơ hình lập trình máy tính • Vị trí kiến trúc tập lệnh ISA máy tính – Nằm phần cứng NNLT cấp cao HLL – Giúp phần mềm tương thích kiến trúc phần cứng thay đổi Mơ hình lập trình máy tính • Máy tính theo quan điểm lập trình Mơ hình lập trình máy tính • Ví dụ thi hành chương trình Mơ hình lập trình máy tính • Tập ghi (Registers) – Chứa thông tin tạm thời phục vụ cho hoạt động thời điểm CPU – Được coi mức hệ thống nhớ – Số lượng ghi nhiều tăng hiệu CPU – Có hai loại ghi: • Các ghi lập trình • Các ghi khơng lập trình Mơ hình lập trình máy tính • Phân loại ghi theo chức – – – – Thanh ghi địa chỉ: quản lý địa nhớ hay cổng IO Thanh ghi liệu: chứa tạm thời liệu Thanh ghi đa năng: chứa địa liệu Thanh ghi điều khiển/trạng thái: chứa thông tin điều khiển trạng thái CPU – Thanh ghi lệnh: chứa lệnh thực Mơ hình lập trình máy tính • Một số ghi điển hình – Các ghi địa (Address Register) • Bộ đếm chương trình PC (Program Counter) • Con trỏ liệu DP (Data Pointer) • Con trỏ ngăn xếp SP (Stack Pointer) • Thanh ghi sở ghi số (Base Register & Index Register) – Các ghi liệu (Data Register) – Thanh ghi trạng thái (Status Register) Mơ hình lập trình máy tính • Bộ đếm chương trình PC – Cịn gọi trỏ lệnh IP (Instruction Pointer) – Giữ địa lệnh thi hành – Sau lệnh nhận vào, nội dung PC tự động tăng để trỏ sang lệnh • Thanh ghi trỏ liệu DP – Chứa địa ô nhớ liệu mà CPU muốn truy cập – Thường có nhiều ghi trỏ liệu cho phép chương trình truy cập nhiều vùng nhớ đồng thời Mơ hình lập trình máy tính • Ngăn xếp (Stack) – Ngăn xếp vùng nhớ có cấu trúc LIFO (Last In - First Out) FILO (First In - Last Out) – Ngăn xếp thường dùng để phục vụ cho chương trình – Đáy ngăn xếp nhớ xác định – Đỉnh ngăn xếp thông tin nằm vị trí ngăn xếp – Đỉnh ngăn xếp bị thay đổi 10 Kiến trúc tập lệnh Intel x86 57 58 Kiến trúc tập lệnh Intel x86 59 Kiến trúc tập lệnh Intel x86 60 Kiến trúc tập lệnh Intel x86 61 Kiến trúc tập lệnh Intel x86 62 Kiến trúc tập lệnh Intel x86 63 64 Kiến trúc tập lệnh Intel x86 65 Kiến trúc tập lệnh Intel x86 66 Kiến trúc tập lệnh Intel x86 • Ví dụ khn dạng lệnh CPU Intel x86 67 Kiến trúc tập lệnh Intel x86 68 Kiến trúc tập lệnh Intel x86 69 Kiến trúc tập lệnh Intel x86 70 Câu hỏi 71 ... R4000 1988 1991 303 235 51 Kích thước lệnh (B) 2-6 2-5 7 Addressing modes 22 11 Số lượng ghi 16 16 32 32 Vi ChươngTrình (KB) 42 0 246 0 48 0 1-1 1 94 32 48 Phân loại tập lệnh • Thống kê 10 lệnh Intel... trình máy tính • Các đặc trưng lệnh máy • Các kiểu thao tác lệnh • Các phương pháp định địa • Phân loại tập lệnh • Kiến trúc tập lệnh Intel x86 Mơ hình lập trình máy tính • Vị trí kiến trúc tập... lệnh ISA máy tính – Nằm phần cứng NNLT cấp cao HLL – Giúp phần mềm tương thích kiến trúc phần cứng thay đổi Mơ hình lập trình máy tính • Máy tính theo quan điểm lập trình Mơ hình lập trình máy tính