Bài giảng Kiến trúc máy tính - Chương 3: Các phép toán trên máy tính - Phạm Thanh Bình

ppt 70 trang hapham 1050
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 3: Các phép toán trên máy tính - Phạm Thanh Bình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_kien_truc_may_tinh_chuong_3_cac_phep_toan_tren_may.ppt

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 3: Các phép toán trên máy tính - Phạm Thanh Bình

  1. KIẾN TRÚC MÁY TÍNH Giảng viên: Ths Phạm Thanh Bình Bộ môn Kỹ thuật máy tính & mạng Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 1
  2. Chương 3: CÁC PHÉP TOÁN TRÊN MÁY TÍNH Nhắc lại về phép cộng và phép trừ Phép nhân Phép chia Số thực dấu phảy động Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 2
  3. Bài 3.1 - Nhắc lại về phép cộng và phép trừ A B A + B 0 0 0 0 1 1 1 0 1 1 1 10 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 3
  4. Ví dụ 1: Thực hiện phép cộng sau trong máy tính: 7 + 6 0000 0111 + 0000 0110 0000 1101 = (13)10 Ta thấy tổng thu được bằng 13, giống như cộng số thập phân thông thường. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 4
  5. Ví dụ 2: Thực hiện phép trừ sau trong máy tính: 7 - 6 0000 0111 - 0000 0110 0000 0001 = (1)10 Ta thấy hiệu thu được bằng 1, giống như trừ số thập phân thông thường Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 5
  6. Ví dụ 3: So sánh kết quả Ví dụ 2 với phép cộng sau: 7 + (-6) 0000 0111 + 1111 1010 0000 0001 = (1)10 Như vậy: 7 – 6 = 7 + (-6) = 1 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 6
  7. Bài 3.2 - Phép nhân Nhân số nhị phân Giải thuật nhân Phần cứng thực hiện Các lệnh nhân của VXL 8086 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 7
  8. Nhân số nhị phân A B A * B 0 0 0 0 1 0 1 0 0 1 1 1 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 8
  9. Ví dụ: Thực hiện phép nhân sau: 8 * 9 1000 + 1001 1000 0000 0000 1000 1001000 = (72)10 Ta thấy tích thu được bằng 72, giống như nhân số thập phân thông thường. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 9
  10. Giải thuật nhân: Lần lượt nhân các bít của thừa số thứ hai với thừa số thứ nhất. Nếu gặp bít 1 thì chỉ việc giữ nguyên thừa số thứ nhất và đặt nó vào vị trí thích hợp. Nếu gặp bít 0 thì chỉ việc đặt một dãy toàn bít 0 vào vị trí thích hợp. Cộng các kết quả lại. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 10
  11. Phần cứng thực hiện Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 11
  12. Giải thích: Thừa số 1 và Thừa số 2 dài 32 bít Thanh ghi chứa Thừa số 1 dài 64 bít Thanh ghi chứa Thừa số 2 dài 32 bít Thanh ghi chứa kết quả (Product) dài 64 bít Bộ cộng ALU dài 64 bít Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 12
  13. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 13
  14. Ví dụ: Sử dụng phần cứng trên để thực hiện phép nhân: 2 x 3 (hay 0010b x 0011b) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 14
  15. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 15
  16. Vậy kết quả phép nhân là: Tích = 0000 0110b = 6 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 16
  17. Các lệnh nhân của VXL 8086 Lệnh MUL (Multiply) Lệnh IMUL (Integer Multiply) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 17
  18. Lệnh MUL (Multiply) Lệnh này dùng để thực hiện phép nhân đối với các số không dấu. Cú pháp lệnh: MUL : là một thanh ghi hay một biến Nếu có kích thước 1 byte thì sẽ là thanh ghi AL. Lệnh trên sẽ thực hiện phép nhân giữa và , kết quả phép nhân được chứa trong thanh ghi AX (16 bit). Nếu có kích thước 1 word thì sẽ là thanh ghi AX. Kết quả phép nhân được chứa trong hai thanh ghi DX:AX (32 bit). Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 18
  19. Ví dụ: Hãy thực hiện phép nhân hai số: 51 và 5 Giải: Cách 1: MOV AL, 51 MOV BL, 5 MUL BL Kết quả: Tích = AX = 255 = 00FFh (16 bit) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 19
  20. Cách 2: MOV AX, 51 MOV BX, 5 MUL BX Kết quả: Tích = DX:AX = 255 = 0000 00FFh (32 bit) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 20
  21. Nhận xét: Cả hai cách trên đều cho cùng một kết quả: Tích = 255 (8 bit: 1111 1111b). Tuy nhiên cách 1 vẫn phải dùng một thanh ghi 16 bít để chứa kết quả này. Cách 2 quá lãng phí tài nguyên vì nó phải dùng tới 2 thanh ghi 16 bít để chứa một giá trị dài 8 bít! Vấn đề đặt ra là phải xác định được độ dài của kết quả phép nhân nhằm tránh sự lãng phí tài nguyên trong các thao tác tiếp theo. Việc này được thực hiện bằng cách kiểm tra các cờ CF và OF. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 21
  22. Trường hợp 1: dài 8 bít: + Nếu sau phép nhân 2 cờ CF/OF = 0: Tích được chứa trong AL (8 bít) + Nếu sau phép nhân 2 cờ CF/OF = 1: Tích được chứa trong AX (16 bít) Trường hợp 2: dài 16 bít: + Nếu sau phép nhân 2 cờ CF/OF = 0: Tích được chứa trong AX (16 bít) + Nếu sau phép nhân 2 cờ CF/OF = 1: Tích được chứa trong DX:AX (32 bít) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 22
  23. Bảng tổng hợp: Kích thước Trạng thái cờ Nơi chứa CF/OF kết quả nhân 0 AL 8 bít 1 AX 0 AX 16 bít 1 DX:AX Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 23
  24. Lệnh IMUL (Integer Multiply) Lệnh này dùng để thực hiện phép nhân đối với các số có dấu. Cú pháp lệnh: IMUL : là một thanh ghi hay một biến Các vấn đề đã trình bày với lệnh MUL ở trên đều có thể áp dụng cho lệnh IMUL. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 24
  25. Ví dụ: Hãy thực hiện phép nhân hai số: -64 và 2 Giải: MOV AL, 2 MOV BL, -64 IMUL BL Kết quả: Tích = AX = -128 (thực chất chỉ chứa trong AL vì kết quả dài 8 bit = 80h) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 25
  26. Bài 3.3 - Phép chia Chia số nhị phân Giải thuật chia Phần cứng thực hiện Các lệnh chia của VXL 8086 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 26
  27. Chia số nhị phân Ví dụ: Thực hiện phép chia 74:8 74 = 1001010 b 8d = 1000 b Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 27
  28. Giải: 1001010 1000 -1000 1001 10 101 1010 - 1000 dư 10 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 28
  29. Như vậy Thương = 1001 b = 9 d, Dư = 10 b = 2, phù hợp với kết quả chia ở hệ thập phân. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 29
  30. Giải thuật chia Bươc 1: Lấy các bít đầu của Số bị chia trừ đi Số chia Bước 2: Nếu Kết quả ≥ 0 thì thêm bít 1 vào Thương, Nếu Kết quả < 0 thì thêm bít 0 vào Thương. Bước 3: Ghép bít tiếp theo của Số bị chia vào Kết quả, rồi lặp lại Bước 1. Lặp lại quá trình trên cho tới hết các bít của Số bị chia Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 30
  31. Phần cứng thực hiện Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 31
  32. Giải thích: Ban đầu Số bị chia được đặt vào thanh ghi Remainder dài 64 bít Thanh ghi chứa Số chia (Divisor) dài 64 bít (Số chia chiếm 32 bít cao) Thanh ghi chứa Thương (Quotient) dài 32 bít Bộ trừ ALU dài 64 bít Kết thúc phép chia thì thanh ghi Remainder sẽ chứa số dư Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 32
  33. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 33
  34. Ví dụ: Sử dụng phần cứng trên để thực hiện phép chia 7 : 2 (hay 0000 0111b : 0010b) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 34
  35. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 35
  36. Vậy kết quả phép chia là: Thương = 0011b = 3 Số dư = 0001b = 1 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 36
  37. Các lệnh chia của VXL 8086 Cú pháp lệnh Hiện tượng tràn trong phép chia Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 37
  38. Cú pháp lệnh DIV ;Dùng cho số không dấu IDIV ;Dùng cho số có dấu : là một thanh ghi hay một biến Nếu có kích thước 1 byte thì Số bị chia sẽ được chứa trong AX (2 byte). Kết quả: Thương số chứa trong AL, Số dư chứa trong AH. Nếu có kích thước 2 byte thì Số bị chia sẽ được chứa trong DX:AX (4 byte). Kết quả: Thương số chứa trong AX, Số dư chứa trong DX. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 38
  39. Ví dụ 1: Hãy thực hiện phép chia 65 cho 2. Giải: MOV AX, 65 MOV BL, 2 DIV BL Kết quả: Thương = AL = 32 Số dư = AH = 1 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 39
  40. Ví dụ 2: Hãy thực hiện phép chia -128 cho 4. Giải: MOV AX, -128 MOV BL, 4 IDIV BL Kết quả: Thương = AL = -32 Số dư = AH = 0 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 40
  41. Ví dụ 3: Hãy thực hiện phép chia -1024 cho 256. Giải: + Vì số chia bằng 256 (là một số 16 bit) nên số bị chia phải chứa trong DX:AX, tức là DX:AX = -1024. + Nhưng -1024 có thể chứa trọn vẹn trong thanh ghi AX (16 bit), muốn chuyển nó thành số 32 bit cần sử dụng lệnh CWD (Convert Word to Double Word). Lệnh này sẽ chuyển dữ lệu có dấu dạng Word trong AX thành dữ liệu có dấu dài 2 Word trong DX:AX. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 41
  42. MOV AX, -1024 CWD MOV BX, 256 IDIV BX Kết quả: Thương = AX = -4 Số dư = DX = 0 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 42
  43. Hiện tượng tràn trong phép chia Ví dụ: Hãy thực hiện phép chia 512 cho 2. Giải: MOV AX, 512 MOV BL, 2 DIV BL Kết quả phép chia bằng 256, không thể chứa trong thanh ghi AL: Hiện tượng tràn xảy ra. Khi đó hệ thống sẽ đưa ra thông báo: “Divide OverFlow”. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 43
  44. Bài 3.4 - Số thực dấu phảy động Số thực dạng nhị phân Biểu diễn số thực trên máy tính Phép cộng số thực Phép nhân số thực Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 44
  45. Số thực dạng nhị phân Ví dụ 1: Chuyển số 0,75 sang dạng nhị phân. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 45
  46. Các bước tiến hành như sau: + Bước 1: Lấy phần thập phân nhân với 2: 0,75 x 2 = 1,5 → Thu được phần nguyên = 1, phần thập phân = 0,5 + Bước 2: Lấy phần thập phân của kết quả bước trên nhân với 2: 0,5 x 2 = 1,0 → Thu được phần nguyên = 1, phần thập phân = 0 Quá trình trên được lặp đi lặp lại cho tới khi phần thập phân = 0 thì dừng lại. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 46
  47. Kết quả: Viết lần lượt các phần nguyên thu được ở trên vào sau dấu phảy của số nhị phân: (0,75)10 = (0,11)2 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 47
  48. Ví dụ 2: Chuyển số 4,9 sang dạng nhị phân. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 48
  49. Giải: Số trên có phần nguyên = 4 và phần thập phân = 0,9. Các bước tiến hành như sau: + Chuyển phần nguyên sang dạng nhị phân: (4)10 = (100)2 + Chuyển phần thập phân sang dạng nhị phân (giống như ví dụ 1): Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 49
  50. Bước 1: Lấy phần thập phân nhân với 2: 0,9 x 2 = 1,8 → Phần nguyên = 1, phần thập phân = 0,8 Bước 2: 0,8 x 2 = 1,6 → Phần nguyên = 1, phần thập phân = 0,6 Bước 3: 0,6 x 2 = 1,2 → Phần nguyên = 1, phần thập phân = 0,2 Bước 4: 0,2 x 2 = 0,4 → Phần nguyên = 0, phần thập phân = 0,4 Bước 5: 0,4 x 2 = 0,8 → Phần nguyên = 0, phần thập phân = 0,8 Bước 6: 0,8 x 2 = 1,6 → Phần nguyên = 1, phần thập phân = 0,6 Quá trình này sẽ không bao giờ kết thúc vì phần thập phân không thể bằng 0. Do đó ta chỉ có thể thu được một số nhị phân xấp xỉ với số thập phân đã cho. Kết quả: (4,9)10 = (100,11100 1100 1100 )2 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 50
  51. Biểu diễn số thực trên máy tính Ví dụ 1: Xét số thực dạng nhị phân sau: M = (10,1)2 (bằng 2,5 trong hệ thập phân) + Số M cũng có thể được viết là: M = 10,1 x 20 = 1,01 x 21 = x 2 + Như vậy ta có thể thay đổi vị trí của dấu phảy mà giá trị của số thực vẫn giữ nguyên bằng cách điều chỉnh phần mũ và phần định trị. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 51
  52. Chuẩn hoá số thực: Phần định trị (Fraction): Để thống nhất trong cách biểu diễn, phần định trị của các số khác 0 thường phải thoả mãn điều kiện sau: 1 ≤ Fraction < 2 Phần định trị thoả mãn điều kiện trên được gọi là phần định trị đã được chuẩn hoá. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 52
  53. Phần mũ (Exponent): Trên thực tế phần mũ có thể là số âm hoặc số dương. Việc biểu diễn số mũ âm là phức tạp nên người ta thường cộng thêm một giá trị (gọi là Bias) vào phần mũ để nó luôn là số dương. Bias được lựa chọn theo quy tắc sau: Nếu độ dài dãy bít biểu diễn phần mũ là N thì Bias = 2N – 1 - 1 (Ví dụ: nếu N = 8 thì Bias = 27 – 1 = 127) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 53
  54. Ví dụ 2: Xét số thực dạng nhị phân sau: M = 0,0001b Hãy xác định phần định trị và phần mũ của M sau khi chuẩn hoá. Giải: M = 0,0001b = 1,0 x 2-4 Fraction = 1,0 Giả sử dùng 8 bít để biểu diễn phần mũ: Bias = 127 → Exponent = -4 + 127 =123 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 54
  55. Số thực 32 bít (Short Real): Có nhiều kiểu số thực trong máy tính, ta sẽ tìm hiểu cách thức để biểu diễn số thực bởi một dãy 32 bít. Dãy bít đó được chia làm 3 phần: Phần dấu (Sign): Chiếm 1 bít, bằng 1 nếu dấu âm, bằng 0 nếu dấu dương. Phần mũ: Dài 8 bít Phần định trị: Dài 23 bít (phần định trị chỉ lấy các bít nằm sau dấu phảy, vì trước dấu phảy luôn là 1). 31 30 23 22 0 S Exponent Fraction Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 55
  56. Ví dụ 1: Chuyển số 4,9 sang dạng ShortReal. Giải: (4,9)10 = (100,11100 1100 1100 )2 Chuẩn hoá: 4,9 = 1,0011100 1100 1100 x 22 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 56
  57. S = 0 (dấu dương) Fraction = 0011100 1100 1100 (23 bít) Exponent = 2 + 127 = 129 = 1000 0001b → Số thực dạng ShortReal: 31 30 23 22 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 Hay viết dưới dạng Hex: 4,9 ≈ 40 9C CC CCh Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 57
  58. Ví dụ 2: Chuyển số - 4,9 sang dạng ShortReal. Giải: Cách làm tương tự ví dụ 1, chỉ khác ở bít dấu: S = 1 (dấu âm) → Số thực dạng ShortReal: 31 30 23 22 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 Hay viết dưới dạng Hex: - 4,9 ≈ C0 9C CC CCh Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 58
  59. Phép cộng số thực Các bước để cộng 2 số thực: Bước 1: Dịch chuyển dấu phảy của số thực có phần mũ nhỏ hơn cho tới khi phần mũ của hai số bằng nhau. Bước 2: Cộng phần định trị của hai số. Bước 3: Chuẩn hoá kết quả thu được. Bước 4: Làm tròn kết quả (để phù hợp với độ dài dãy bít) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 59
  60. Ví dụ: Thực hiện phép cộng giữa 0.5 và -0.4375 (hay giữa 1.000 x 2-1 và -1.110 x 2-2 trong hệ nhị phân) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 60
  61. Giải: Bước 1: -1.110 x 2-2 = -0.111 x 2-1 Bước 2: 1.000 x 2-1 + (-0.111 x 2-1) = 0.001 x 2-1 Bước 3: 0.001 x 2-1 = 0.010 x 2-2 = 0.100 x 2-3 = 1.000 x 2-4 Bước 4: Vì kết quả dài đúng 4 bít, nên không cần làm tròn nữa: Tổng = 1.000 x 2-4 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 61
  62. Kiểm tra kết quả: -4 4 1.000 x 2 = 0.0001b = (1/2 )10 = 0.0625 Phù hợp với kết quả phép cộng: 0.5 + (-0.4375) = 0.0625 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 62
  63. Giải thuật và phần cứng phép cộng số thực: (Sinh viên tự nghiên cứu trong sách Computer Organization and Design – trang 200, 201) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 63
  64. Phép nhân số thực Các bước để nhân 2 số thực: Bước 1: Cộng phần mũ của hai số (Chú ý: trên máy tính thì kết quả thu được phải trừ đi Bias). Bước 2: Nhân phần định trị của hai số với nhau. Bước 3: Chuẩn hoá kết quả thu được. Bước 4: Làm tròn kết quả (để phù hợp với độ dài dãy bít). Bước 5: Xác định dấu của kết quả. Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 64
  65. Ví dụ: Thực hiện phép nhân giữa 0.5 và -0.4375 (hay giữa 1.000 x 2-1 và -1.110 x 2-2 trong hệ nhị phân) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 65
  66. Giải: Bước 1: Cộng phần mũ: -1 + (-2) = -3 Nếu sử dụng Bias thì phần mũ mới sẽ là: (-1 + 127) + (-2+127) – 127 = -3 + 127 = 124 Bước 2: Nhân phần định trị: 1.000 x 1.110 0000 1000 1000 1000 1110000 => Kết quả = 1.110000 x 2-3 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 66
  67. Giải: Bước 3: Kết quả của Bước 2 đã ở dạng chuẩn: Kết quả = 1.110000 x 2-3 Bước 4: Làm tròn: Kết quả = 1.110 x 2-3 Bước 5: Do hai thừa số trái dấu nhau, nên Tích sẽ có dấu âm: Tích = -1.110 x 2-3 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 67
  68. Kiểm tra kết quả: -1.110 x 2-3 = -0.001110b = -0.00111b 5 = (-7/2 )10 = -0.21875 Phù hợp với kết quả phép nhân: 0.5 x (-0.4375) = -0.21875 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 68
  69. Giải thuật và phần cứng phép nhân số thực: (Sinh viên tự nghiên cứu trong sách Computer Organization and Design – trang 205) Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 69
  70. Hết Phần 3 Bộ môn Kỹ thuật máy tính & mạng – Khoa CNTT Kiến trúc máy tính 3 - 70