intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc máy tính - Chương 4: Giới thiệu chung - Nguyễn Kim Khánh

Chia sẻ: Đặng Văn Hùng | Ngày: | Loại File: PDF | Số trang:136

124
lượt xem
14
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu chung cung cấp cho bạn đọc các khái niệm và phân loại máy tính, kiến trúc máy tính, sự phát triển của máy tính, hiệu năng máy tính. Tham khảo nội dung bài giảng để nắm bắt nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc máy tính - Chương 4: Giới thiệu chung - Nguyễn Kim Khánh

  1. NKK-HUT Kiến trúc máy tính Chương 4 KIẾN TRÚC TẬP LỆNH (Instruction Set Architecture) Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội IT3030 1
  2. NKK-HUT Nội dung học phần  Chương 1. Giới thiệu chung  Chương 2. Cơ bản về logic số  Chương 3. Hệ thống máy tính  Chương 4. Kiến trúc tập lệnh  Chương 5. Số học máy tính  Chương 6. Bộ xử lý  Chương 7. Bộ nhớ  Chương 8. Vào-ra  Chương 9. Kiến trúc máy tính tiên tiến 26 May 2012  IT3030 2
  3. NKK-HUT Nội dung của chương 4 4.1. Giới thiệu chung kiến trúc tập lệnh 4.2. Các kiểu thao tác 4.3. Các phương pháp định địa chỉ 4.4. Kiến trúc tập lệnh MIPS 4.5. Kiến trúc tập lệnh Intel x86 IT3030 3
  4. NKK-HUT 4.1. Giới thiệu chung về kiến trúc tập lệnh Mô hình lập trình của máy tính IT3030 4
  5. NKK-HUT Tập thanh ghi  Chức năng và đặc điểm:  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 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 IT3030 5
  6. NKK-HUT Phân loại thanh ghi theo chức năng  Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ hay cổng vào-ra.  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. IT3030 6
  7. NKK-HUT Một số thanh ghi điển hình  Các thanh ghi địa chỉ  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  Thanh ghi trạng thái IT3030 7
  8. NKK-HUT Bộ đếm chương trình PC  Còn được gọi là con trỏ lệnh IP (Instruction LÖnh LÖnh Pointer) LÖnh  Giữ địa chỉ của lệnh PC LÖnh sÏ ®-îc nhËn vµo tiếp theo sẽ được nhận LÖnh kÕ tiÕp vào. LÖnh LÖnh  Sau khi một lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp. IT3030 8
  9. NKK-HUT Thanh ghi con trỏ dữ liệu  Chứa địa chỉ của D÷ liÖu ngăn nhớ dữ liệu mà D÷ liÖu CPU muốn truy nhập D÷ liÖu DP D÷ liÖu cÇn ®äc/ghi  Thường có một số D÷ liÖu thanh ghi con trỏ dữ D÷ liÖu liệu D÷ liÖu D÷ liÖu IT3030 9
  10. NKK-HUT Ngăn xếp (Stack)  Ngăn xếp là vùng nhớ có cấu trúc LIFO (Last In - First 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 ngăn 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 IT3030 10
  11. NKK-HUT Con trỏ ngăn xếp SP (Stack Pointer)  Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp  Khi cất một thông tin vào ngăn xếp: SP §Ønh Stack  Nội dung của SP giảm  Thông tin được cất vào ngăn nhớ được trỏ bởi SP  Khi lấy một thông tin ra khỏi ngăn xếp:  Thông tin được đọc từ ngăn nhớ được trỏ bởi SP §¸y Stack  Nội dung của SP tăng  Khi ngăn xếp rỗng, SP trỏ vào đáy IT3030 11
  12. NKK-HUT 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 độ Thanh ghi c¬ së Ng¨n nhí c¬ së lệch địa chỉ giữa ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ cơ Thanh ghi chØ sè sở (chỉ số)  Địa chỉ của ngăn nhớ cần Ng¨n nhí cÇn truy nhËp truy nhập = địa chỉ cơ sở + chỉ số 26 May 2012 IT3030 12
  13. NKK-HUT Các thanh ghi dữ liệu  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 phẩy động IT3030 13
  14. NKK-HUT Thanh ghi trạng thái (Status Register)  Còn gọi là thanh ghi cờ (Flag Register)  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 IT3030 14
  15. NKK-HUT Ví dụ cờ phép toán  Cờ Zero (cờ rỗng): được thiết lập lên 1 khi kết quả của phép toán bằng 0.  Cờ Sign (cờ dấu): được thiết lập lên 1 khi kết quả phép toán nhỏ hơn 0  Cờ Carry (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.  Cờ Overflow (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 . IT3030 15
  16. NKK-HUT Ví dụ cờ điều khiển  Cờ Interrupt (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 IT3030 16
  17. NKK-HUT Thứ tự lưu trữ các byte trong bộ nhớ chính  Bộ nhớ chính thường đánh địa chỉ theo byte  Hai cách lưu trữ thông tin nhiều byte:  Đầu nhỏ (Little-endian): Byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ nhỏ, byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ lớn.  Đầu to (Big-endian): Byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ nhỏ, byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ lớn. IT3030 17
  18. NKK-HUT Ví dụ lưu trữ dữ liệu 32-bit 0001 1010 0010 1011 0011 1100 0100 1101 1A 2B 3C 4D 4D 300 1A 300 3C 301 2B 301 2B 302 3C 302 1A 303 4D 304 little-endian big-endian 26 May 2012 IT3030 18
  19. NKK-HUT Lưu trữ của các bộ xử lý điển hình  Intel 80x86 và các Pentium: little-endian  Motorola 680x0, MIPS, SunSPARC: big-endian  Power PC, Itanium: bi-endian 26 May 2012 IT3030 19
  20. NKK-HUT 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ớ dạng text  chính là các lệnh của hợp ngữ IT3030 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2