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 3: Phép toán số học trên máy tính

Chia sẻ: Gió Biển | Ngày: | Loại File: PDF | Số trang:44

477
lượt xem
29
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 3: Phép toán số học trên máy tính" cung cấp cho người đọc các kiến thức: Giới thiệu, phép cộng và phép trừ, phép nhân, phép chia. Hi vọng đây sẽ là một tài liệu tham khảo hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc máy tính - Chương 3: Phép toán số học trên máy tính

  1. CE Kiến Trúc Máy Tính Chương 3 PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 1
  2. CE PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 1. Giới thiệu 2. Phép cộng & Phép trừ 3. Phép Nhân 4. Phép chia 5. Số chấm động 2
  3. CE PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 3
  4. CE PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 1. Giới thiệu 2. Phép cộng & Phép trừ 3. Phép Nhân 4. Phép chia 5. Số chấm động 4
  5. CE Giới thiệu Các nội dung lưu trữ trong máy tính điều được biểu diễn ở dạng bit (giá trị của nó biểu diễn dưới dạng nhị phân, là 1 chuỗi các ký tự 0, 1). Trong chương 2, các số nguyên khi lưu trữ trong máy tính đều là các chuỗi nhị phân, hay các lệnh thực thi cũng lưu dưới dạng nhị phân. Vậy các dạng số khác thì biểu diễn như thế nào ? Ví dụ: ■ phần lẻ của số thực được biểu diễn, lưu trữ như thế nào? ■ Điều gì sẽ xảy ra nếu kết quả của 1 phép toán sinh ra một số lớn hơn khả năng biểu diễn, hay lưu trữ ? ■ Và một câu hỏi đặt ra là phép nhân và phép chia được phần cứng của máy tính thực hiện như thế nào? 5
  6. CE PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 1. Giới thiệu 2. Phép cộng & Phép trừ 3. Phép Nhân 4. Phép chia 5. Số chấm động 6
  7. CE Phép Cộng & Phép Trừ Phép cộng: Ví dụ: 610 + 710 và 610 – 710 Các bước thực hiện phép cộng trong số nhị phân: anan-1…a1a0 + bnbn-1…b1b0 1. Thực hiện phép cộng từ phải sang trái (hàng thứ 0 cho đến hàng n). 2. Số nhớ ở hàng cộng thứ i sẽ được cộng vào cho hàng cộng thứ i + 1. 7
  8. CE Phép Cộng & Phép Trừ Phép trừ: Thực hiện phép trừ cho 2 số anan-1…a1a0 – bnbn-1 … b1b0 1. Thực hiện phép trừ từ phải sang trái (hàng thứ 0 cho đến hàng n). 2. Số mượn ở hàng thứ i sẽ được cộng vào cho số trừ ở hàng từ i + 1. Ví dụ: thực hiện phép toán: 7 – 6 Cách 1: Thực hiện phép trừ bình thường. Cách 2: Chuyển số trừ sang dạng bù 2. Sau đó cộng với số bị trừ. 8
  9. CE Phép Cộng & Phép Trừ Overflow (Tràn số) Trong phép cộng và trừ, điều quan trọng cần lưu ý là phép toán có bị tràn hay không. Hai trường hợp liên quan: • Đối với số không dấu (Unsigned number) • Đối với số có dấu (Signed number) 9
  10. CE Phép Cộng & Phép Trừ 1. Overflow của số không dấu (Unsigned number) Ví dụ 1: 1. A = 11001111 - Số không dấu B = 10011  B = 00010011 (điền đủ 8 bit) - Dùng 8 bit biểu diễn 2. Cộng lại: A = CF(16) 11001111 B = 13(16) 00010011 A+B=? ------------- 11100010 => không bị tràn Vậy A + B = E2 10
  11. CE Phép Cộng & Phép Trừ 1. Overflow của số không dấu (Unsigned number) Ví dụ 2: 1. A = 11001000 - Số không dấu B = 1100111  B = 01100111 (điền đủ 8 bit) - Dùng 8 bit biểu diễn 2. 11001000 A = 200(10) 01100111 B = 103(10) ------------- A+B=? 100101111 => kết quả là 9 bit, dư bit 1  tràn Trả lời: A + B = 255 và bị tràn 255 – giá trị lớn nhất của số 8 bit 11
  12. CE Phép Cộng & Phép Trừ 2. Overflow của số có dấu (Signed number) Khi thực hiện phép cộng/trừ hai số có dấu, phép toán bị tràn nếu xảy ra một trong 4 tình huống như bảng sau: • Hàng 1: Nếu cộng hai số dương, mà kết quả âm => phép toán bị tràn • Hàng 2: Nếu cộng hai số âm, mà kết quả dương => phép toán bị tràn • Hàng 3: Nếu trừ một số dương cho một số âm, mà kết quả âm => phép toán bị tràn (Tình huống này giống như hàng 1, trừ một số dương cho một số âm, tức là cộng một số dương với một số dương mà kết quả là âm thì bị tràn) • Hàng 4: Nếu trừ một số âm cho một số dương, mà kết quả dương => phép toán bị tràn • (Tình huống giống như hàng 2, trừ một số âm cho một số dương, tức là cộng một số âm với một Có thể tóm tắt như sau: số âm mà kết quả là dương thì bị tràn) • Nếu là phép trừ quy về phép cộng dùng bù 2 • Quy tắc tràn số tính như sau:  Nếu cộng hai số trái dấu, kết quả không bao giờ bị tràn  Nếu cộng hai số cùng dấu mà ra kết quả khác dấu => tràn 12
  13. CE Phép Cộng & Phép Trừ Ba ví dụ về Overflow 1. A = 11001000 của số có dấu B = 01100111 2. Cộng lại: Ví dụ 3: 11001000 - Số có dấu 01100111 - Dùng 8 bit biểu diễn ------------- 100101111 => kết quả phép cộng 00101111 (không quan tâm bit 1 dư ra) - Tính A + B 3. Kiểm tra tràn: Xét bảng bên dưới với phép cộng, A < 0 và B > 0, không có hàng nào tương ứng => không bị tràn (Cộng 2 số trái dấu chắc chắn không bị tràn) A + B = 11001000 + 01100111 = -56(10) + 103(10) = 00101111(2) = 47(10) 13
  14. CE Phép Cộng & Phép Trừ Ba ví dụ về Overflow 1. A = 11110111 của số có dấu B = 11101101 2. 11110111 Ví dụ 4: 11101101 - Số có dấu ------------- - Dùng 8 bit biểu diễn 111100100 => kết quả phép cộng 11100100 (không quan tâm bit 1 - Tính A + B dư ra) 3. Kiểm tra tràn: Xét bảng bên dưới với phép cộng, A < 0 và B < 0  có hàng thứ 2, nhưng tổng này ra âm, không phải dương như trong bảng  không tràn (Cộng 2 số âm, kết quả âm => không tràn) A + B = 11110111 + 11101101 = –9(10) –19(10) = 11100100(2) = -28(10) 14
  15. CE Phép Cộng & Phép Trừ Ba ví dụ về Overflow 1. A = 11001000 của số có dấu B = 01100111 (điền đủ 8 bit) B-bù 2 = 10011001 Ví dụ 5: 2. 11001000 - Số có dấu 10011001 - Dùng 8 bit biểu diễn ------------- - Tính A - B = ? 101100001 => kết quả phép cộng 01100001 (không quan tâm bit 1 dư ra) A = 11001000 = -56(10) 3. Kiểm tra tràn: B = 10011001 = -103(10) Xét bảng bên dưới với phép trừ, A < 0 và B > 0  tương ứng với hàng A + B nếu đúng phải bằng - thứ 3, và tổng phép trừ trên cũng ra dương, đúng như trong giá trị cuối của 159, số này rõ ràng vượt ra khỏi giới hạn của biểu diễn có hàng 3 trong bảng => bị tràn dấu bù 2 dùng 8 bits (Cộng 2 số âm mà kết quả dương => bị tràn) A - B = -128(10) và bị tràn (-128 là giá trị nhỏ nhất của số có dấu 8 bit) + 15
  16. CE Phép Cộng & Phép Trừ Như vậy, với các phép toán bị tràn:  Nếu là số không dấu, kết quả là giá trị lớn nhất trong giới hạn có thể biểu diễn  Nếu là số có dấu:  Nếu cộng hai số âm, kết quả là giá trị nhỏ nhất trong giới hạn có thể biểu diễn  Nếu cộng hai số dương, kết quả là giá trị lớn nhất trong giới hạn có thể biểu diễn Giới hạn có thể biểu diễn của một số: Số không dấu n-bit: từ 0 tới (2n-1) Số có dấu n-bit: từ -2n-1 tới (2n-1-1) Ví dụ: Biểu diễn số không dấu dùng 8 bit: số sẽ từ 0 tới 255 Biểu diễn số có dấu dùng 3 bit: số sẽ từ -22 tới 22-1 hay bao gồm: -4, -3, -2, -1, 0, 1, 2, 3 Biểu diễn số có dấu dùng 8 bit: số sẽ từ -27 tới 27-1 hay bao gồm: -128, -127, …, 0, …, 127 16
  17. CE Phép Cộng & Phép Trừ Xử lý tràn  Từ đó, các nhà thiết kế phần cứng phải cung cấp một cách để bỏ qua tràn hoặc phát hiện tràn trong các trường hợp cần thiết.  Trong kiến trúc MIPS, mỗi lệnh thường có hai dạng lệnh tương ứng với xét overflow hay bỏ qua overflow: ■ Lệnh cộng (add), cộng số tức thời (addi), trừ (sub) là các lệnh có xét overflow, tức sẽ báo lỗi và phát ra một ngoại lệ (exception) nếu kết quả bị tràn. ■ Lệnh cộng (addu), cộng số tức thời (addiu), và trừ (subu) không gây ra ngoại lệ tràn. Khi một chương trình đang thực thi, nếu bị tác động đột ngột (lỗi hoặc phải thi hành một tác vụ khác, …), buộc phải dừng luồng chương trình đang chạy này và gọi đến một chương trình không định thời trước đó thì được gọi là một “interrupt” hay một “exception”. Lưu ý: Trong một số hệ thống máy tính, thuật ngữ ‘interrupt’ được sử dụng như exception, nhưng ở một số hệ thống thì có sự phân biệt hai thuật ngữ này 17
  18. CE PHÉP TOÁN SỐ HỌC TRÊN MÁY TÍNH 1. Giới thiệu 2. Phép cộng & Phép trừ 3. Phép Nhân 4. Phép chia 5. Số chấm động 18
  19. CE Phép nhân Ví dụ Multiplicand: số bị nhân Multiplier: số nhân Product: tích Ví dụ trên là nhân hai số đang ở dạng thập phân, nhưng các chữ số đều là 0 và 1. Phép nhân trên hai số nhị phân cũng tương tự, và luôn luôn có 2 trường hợp: 1. Chép số bị nhân xuống vị trí thích hợp (1 ×multiplicand) nếu chữ số tương ứng đang xét ở số nhân là 1. 2. Đặt số 0 (0 ×multiplicand) vào vị trí thích hợp nếu chữ số tương ứng đang xét ở số nhân là 0. 19
  20. CE Phép Nhân Giải thuật thực hiện phép nhân từng bước ở phần cứng (cho hai số 32 bit) Hình 1: Cấu trúc phần cứng thực hiện phép nhân Chú ý: khi thực hiện phép nhân cho giải thuật theo sơ đồ, ta thấy có 3 bước và 3 bước này được lặp lại 32 lần. Nếu mỗi bước được thực hiện bởi 1 chu kỳ xung clock thì giải thuật này yêu cầu gần 100 chu kỳ xung clock cho phép toán nhân hai số 32 bit. Hình 2: Sơ đồ giải thuật thực hiện phép nhân 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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