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 (tt)

32 3 0
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 (tt)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CE PHÉP TỐN SỐ HỌC TRÊN MÁY TÍNH Giới thiệu Phép cộng & Phép trừ Phép nhân Phép chia Số thực dấu chấm động CE Số thực dấu chấm động Định nghĩa: Biểu diễn số thực:  Scientific notation: Một số thực gọi “scientific notation” bên trái dấu chấm có chữ số  Normalized number: Một số thực gọi “Normalized number” (dạng chuẩn) số viết “scientific notation” chữ số bên trái dấu chấm khơng phải Ví dụ: 1.0ten x 10-9: số thực chuẩn 0.1ten x 10-8: số thực chuẩn 10.0ten x 10-10: số thực chuẩn CE Số thực dấu chấm động Định nghĩa: Trong máy tính, số nhị phân phải đưa dạng chuẩn sau: CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác đơn) (chuẩn áp dụng cho hầu hết máy tính chế tạo từ năm 1980) +127 Trong đó: s biểu diễn dấu số thực dấu chấm động (1 nghĩa âm, ngược lại dương) Phần mũ (exponent) có kích thước bit Exponent biểu diễn 127 yyyy (excess-127 bias of 127 ) Phần lẻ (fraction) dùng 23 bits để biểu diễn Tổng quát, số thực dấu chấm động tính dựa theo (với Bias = 127): CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác đơn) (chuẩn áp dụng cho hầu hết máy tính chế tạo từ năm 1980) +127 Tổng quát, số thực dấu chấm động tính dựa theo: Hoặc: (với s1, s2, s3 … bit từ trái sang phải fraction) CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác đơn) (chuẩn áp dụng cho hầu hết máy tính chế tạo từ năm 1980) +127 Ví dụ: Số -0.75 biểu diễn máy tính dùng chuẩn IEEE 754 với độ xác đơn -0.75ten = -3/4ten = -3/22ten = -11two/22ten = 0.11two Chuẩn hóa: 0.11two = 1.1two x 2-1 -1 +127 = 126 Số thực dấu chấm động CE Ví dụ: Cho biểu diễn số dấu chấm động với độ xác đơn hình sau, hỏi số tương ứng với biểu diễn hệ thập phân bao nhiêu? Trả lời: bit dấu s exponent chứa 129 Số tương ứng: (-1)s x (1+ fraction) x 2(exponent – 127) = (-1)1 x (1+ 0.01) x 2(129 – 127) = (-1.01 x 22 )two= -5.0ten CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động  Tràn (Overflow): trường hợp xảy kích thước số mũ lớn kích thước giới hạn (số mũ dương)  Tràn (Underflow): trường hợp xảy kích thước số mũ nhỏ kích thước giới hạn (số mũ âm) Nhằm hạn chế việc tràn tràn số mũ, IEEE 754 giới thiệu thêm cách biểu diễn số thực dấu chấm động, vơí trường exponent mở rộng lên tới 11 bits Cách biểu diễn gọi IEEE 754 với độ xác kép  Độ xác đơn (Single precision): số thực dấu chấm động biểu diễn dạng 32 bit  Độ xác kép (Double precision): số thực dấu chấm động biểu diễn dạng 64 bit Chú ý: Trong lập trình ngơn ngữ C, số thực dạng float định dạng theo kiểu độ xác đơn, cịn số dạng double định dạng theo kiểu độ xác kép CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác kép) Trong đó: s biểu diễn dấu số thực dấu chấm động (1 nghĩa âm, ngược lại dương) Phần mũ (exponent) có kích thước 11 bits Exponent biểu diễn 1023 yyyy (excess-1023 bias of 1023) Phần lẻ (fraction) dùng 52 bits để biểu diễn Tổng quát, số thực dấu chấm động tính dựa theo (với Bias = 1023): CE Số thực dấu chấm động Biểu diễn số thực dấu chấm động Biểu diễn số thực dấu chấm động theo chuẩn IEEE 754 (với độ xác kép) Ví dụ: Số -0.75 biểu diễn máy tính dùng chuẩn IEEE 754 với độ xác kép -0.75ten = -3/4ten = -3/22ten = -11two/22ten = 0.11two Chuẩn hóa: 0.11two = 1.1two x 2-1 (phần exponent = -1 + 1023 = 1022 = 01111111110) 10 CE Số thực dấu chấm động Phép toán cộng số thực dấu chấm động Ví dụ: Cộng số thực dấu chấm động hệ nhị phân cho số thập phân sau: 0.510 -0.437510 theo lưu đồ giải thuật Giả sử phần significant dùng bits lưu trữ, phần mũ lưu trữ IEEE 754 độ xác đơn Đáp án: 18 CE Số thực dấu chấm động 19 Số thực dấu chấm động CE Phép toán cộng số thực dấu chấm động Kiến trúc phần cứng: Chọn phần mũ lớn Significand of the smaller number Significand of the larger number Shift n bits (ndifferent between exponents) 20 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động Ví dụ: Thực phép nhân hai số thực dấu chấm động chuẩn hệ thập phân sau: 1.11010 x 1010 * 9.20010 x 10-5 Giả sử số thực dấu chấm động lưu trữ phần trị dùng chữ số phần mũ dùng chữ số Đáp án: 21 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động Chú ý: kiểm tra số mũ có bị tràn trên, tràn ? 22 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động 23 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động Việc thực phép nhân số thực dấu chấm động nhị phân tương tự ví dụ trên, lưu ý phần mũ lưu theo định dạng IEEE 754 Ví dụ: Cần nhân hai số thực dấu chấm động lưu trữ theo IEEE 754 độ xác đơn, biết bit phần mũ số thứ lưu trữ có giá trị 137ten bit phần mũ số thứ hai lưu trữ có giá trị 122ten Phần mũ tích lưu trữ : 137ten + 122ten = 259ten Giá trị 259ten hay sai?  Sai Giá trị tích lưu trữ phải là: (137ten + 122ten) -127ten = 132ten Vì thực chất: - Số mũ số thứ 10 Khi lưu trữ theo IEEE 754, phần mũ lưu 10 + 127 = 137 - Số mũ số thứ hai -5 Khi lưu trữ theo IEEE 754, phần mũ lưu -5 + 127 = 122 Số mũ tích phải 10 + (-5) = Và lưu trữ theo IEEE 754, phần mũ tích lưu + 127 = 132 Vì lấy 137 + 122 127 cộng hai lần 24 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động Giải thuật nhân số thực dấu chấm động hệ nhị phân có bước giống ví dụ phép nhân số hệ thập phân Nhưng lưu ý: Bước cộng hai exponent hai số, nhớ trừ số bias • Nếu IEEE 754 độ xác đơn: bias = 127 • Nếu IEEE 754 độ xác kép: bias = 1023 25 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động Ví dụ: nhân số thực dấu chấm động hệ nhị phân cho số sau: 0.510 -0.437510 Biết số dấu chấm động dùng lưu trữ theo IEEE 754 độ xác đơn, phần significant cho phép bits 26 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động 27 CE Số thực dấu chấm động Phép nhân số thực dấu chấm động 28 CE Số thực dấu chấm động Sinh viên tự tìm hiểu: Phép chia với số floating-point MIPS Các lệnh làm việc với số floating-point MIPS - Các lệnh liên quan đến số floating-point - Phân biệt lệnh: mult, multu, mul.s, mul.d div, divu, div.s, div.d 29 Câu hỏi CE  Thực phép nhân ghi (theo cấu trúc phần cứng hình) cho số bit: 4x5 6x5 2x9  Thực phép chia ghi (theo cấu trúc phần cứng hình) cho số bit: 12 : 29 : 25 : dividend 30 Câu hỏi CE  Chuyển số thập phân sau sang dạng IEEE 754 – 32bit: 2014 0, 675 10, 0125  Chuyển số thập phân sau sang dạng IEEE 754 – 64bit: 2017 0, 375 10, 0425 31 Câu hỏi CE  Thực cộng số thực dấu chấm động chuẩn hệ thập phân (Giả sử số thực dấu chấm động lưu trữ phần lẻ chữ số, số mũ lưu trữ chữ số) 10,5 + 32,25 10 + 0.125 1987 + 2001  Thực nhân số thực dấu chấm động chuẩn hệ thập phân (Giả sử số thực dấu chấm động lưu trữ phần lẻ chữ số, số mũ lưu trữ chữ số) 10,5 x 32,25 10 x 0.125 1987 x 2001 32

Ngày đăng: 14/10/2023, 14:09

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan