Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
1,49 MB
Nội dung
1 + Chương 10 Số học máy tính + NỘI DUNG 10.1 Đơn vị Số học & Logic (ALU) 10.2 Biểu diễn số nguyên Biểu diễn Dấu-độ lớn Biểu diễn bù Mở rộng phạm vi Biểu diễn dấu chấm tĩnh 10.3 Số học số nguyên phép đảo/ Cộng trừ / Phép nhân / Phép chia 10.4 Biểu diễn dấu chấm động 10.5 Số học dấu chấm động + Đơn vị logic & số học (ALU) Phần máy tính thực phép tốn số học lơgíc liệu Tất phận khác hệ thống máy tính đưa liệu tới ALU để ALU xử lý sau nhận lại kết dụng linh kiện logic số đơn giản để lưu trữ chữ số nhị phân thực phép toán logic Boolean đơn giản Sử Đầu vào đầu ALU Mã hóa liệu máy tính Mọi liệu đưa vào máy tính phải mã hóa thành số nhị phân Mã hóa theo chuẩn qui ước Dữ liệu số: „Số nguyên: mã hóa theo số chuẩn Số thực: mã hóa số dấu chấm động Dữ liệu ký tự: mã hóa theo mã ký tự Thứ tự lưu trữ byte nhớ Bộ nhớ thường tổ chức theo byte Hai cách lưu trữ liệu nhiều byte: Little-endian: Byte có ý nghĩa thấp lưu trữ ngăn nhớ có địa nhỏ, byte có ý nghĩa cao lưu trữ ngăn nhớ có địa lớn Nền tảng sử dụng: Intel Big-endian: Byte có ý nghĩa cao lưu trữ ngăn nhớ có địa nhỏ, byte có ý nghĩa thấp lưu trữ ngăn nhớ có địa lớn Nền tảng sử dụng: IBM zSeries, Motorola 680x0… Ví dụ lưu trữ liệu 32-bit + Biểu diễn số nguyên Số nguyên không dấu (Unsigned Integer) Số nguyên có dấu (Signed Integer) Trong hệ nhị phân, biểu diễn số bằng: Các chữ số Dấu âm (với số âm) dấu chấm (với số có phần phân số) Đối với mục đích lưu trữ xử lý, khơng có lợi dùng ký hiệu đặc biệt cho dấu trừ dấu chấm Chỉ sử dụng chữ số nhị phân (0,1) để biểu diễn số? a Biểu diễn số nguyên không dấu Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên không dấu A: Dải biểu diễn A: từ đến 2n –1 Với n = bit: Biểu diễn giá trị từ đến 255 0000 0000 =0 0000 0001 =1 0000 0010 =2 1111 1111 = 255 b Biểu diễn dấu-độ lớn 10 Quy ước biểu diễn số nguyên âm dương: dùng bit quan trọng (MSB) từ làm bit dấu • bit dấu số dương • bit dấu số âm Ví dụ: + 18 = 00010010 - 18 = 10010010 Biểu diễn dấu-độ lớn: cách sử dụng bit dấu đơn giản Nhược điểm: • Để thực phép cộng phép trừ, đòi hỏi phải xem xét dấu độ lớn số • Có hai biểu diễn số (+0 -0) Biểu diễn dấu-độ lớn sử dụng việc xử lý phần số nguyên ALU + 48 Số học dấu chấm động Các trường hợp tràn: Overflow mũ: số mũ dương vượt giá trị mũ lớn biểu diễn Coi +∞ - ∞ Underflow mũ: số mũ âm nhỏ giá trị mũ nhỏ biểu diễn Coi Underflow định trị: dóng phần định trị, chữ số bị vượt phía bên phải phần định trị Overflow định trị: cộng phần định trị dấu ảnh hưởng bit quan trọng 49 Số Phép tính dấu chấm động 50 Cộng trừ dấu chấm động Bốn giai đoạn thuật toán cộng trừ: Kiểm tra số hạng có hay không Căn chỉnh phần định trị (thay đổi số mũ) Cộng trừ định trị Chuẩn hóa kết Cộng trừ dấu chấm động 51 52 Nhân chia dấu chấm động Kiểm tra Cộng/trừ số mũ Nhân/chia định trị (xem dấu) Chuẩn hóa Làm tròn Tất kết lưu trữ với độ dài gấp đôi + Phép nhân dấu chấm động + Phép chia dấu chấm động + 55 Độ xác Guard Bits + 56 Độ xác Làm tròn phương pháp theo chuẩn IEEE: tròn gần Làm trịn phía +∞ Làm trịn phía -∞ Làm trịn phía Làm + 57 Số học khoảng phương pháp hiệu để kiểm sốt lỗi tính tốn dấu chấm động cách tạo hai giá trị cho kết Rút gọn Hai giá trị tương ứng với điểm cuối biên điểm cuối biên khoảng có chứa kết Làm trịn phía Bỏ qua extra bit Độ rộng khoảng cho biết độ xác kết Kỹ thuật đơn giản Nếu điểm cuối khơng biểu diễn điểm cuối khoảng làm tròn xuống lên tương ứng a consistent bias toward zero in the operation serious bias because it affects every operation for which there are nonzero extra bits Nếu khoảng giới hạn đủ hẹp thu kết đủ xác Làm trịn phía dương vơ âm vơ + 58 Chuẩn IEEE cho số học dấu chấm động nhị phân Vô Được coi trường hợp đặc biệt số học thực, với giá trị vô đưa sau: - ∞ < (mọi số hữu hạn) < + ∞ Ví dụ: + (+ ∞ ) = + ∞ 5÷ (+ ∞ ) - (+ ∞ ) = - ∞ (+ ∞ ) + (+ ∞ ) = + ∞ + (- ∞ ) = - ∞ (- ∞ ) + (- ∞) =-∞ - (- ∞ ) =+∞ (- ∞ ) - (+ ∞ ) =-∞ * (+ ∞ ) = + ∞ (+ ∞ ) - (- ∞ ) =+∞ = +0 Tổng kết + 59 Số học máy tính Chương 10 Số học máy tính ALU phép đảo Biểu diễn số nguyên Cộng trừ Biểu diễn dấu-độ lớn Nhân Biểu diễn bù Chia Mở rộng phạm vi Biểu diễn dấu chấm tĩnh Biểu diễn dấu chấm động Nguyên tắc Chuẩn IEEE cho Biểu diễn dấu chấm động nhị phân Số học dấu chấm động Cộng trừ Nhân chia Độ xác Chuẩn IEEE cho số học dấu chấm động nhị phân + 60 Câu hỏi chương 10 Giải thích ngắn gọn biểu diễn: dấu-độ lớn, bù 2, biased Cách xác định số âm hay dương biểu diễn: dấu-độ lớn, bù 2, biased Nguyên tắc mở rộng phạm vi biểu diễn số cho biểu diễn bù gì? Cách đảo số nguyên biểu diễn bù 2? Phân biệt biểu diễn bù số bù số? Nếu coi số bù số nguyên không dấu thực cộng, kết hiểu theo số bù xác Điều khơng với phép nhân Tại sao? Bốn thành phần số biểu diễn dấu chấm động gì? Vì sử dụng biểu diễn bias cho số mũ số dấu chấm động? Phân biệt tràn dương, tràn số mũ, tràn định trị? 10 Các yếu tố phép cộng trừ dấu chấm động gì? 11 Lý sử dụng guard bit? 12 Liệt kê bốn phương pháp làm tròn kết phép toán dấu chấm động + 61 Bài tập (1) Biểu diễn số thập phân sau sang biểu diễn dấu-độ lớn bù nhị phân sử dụng 16 bit: a) +512 b) -29 c) -91 Biểu diễn giá trị bù sau dạng thập phân: a) 1101011 b) 0101101 Giả sử dùng biểu diễn bù bit Thực phép tính: a) 6+13 b) -6+13 Thực phép tính số học bù 2: c) – 13 d) -6 – 13 + 62 Bài tập (2) 5/ x = 0101 y = 1010 theo biểu diễn bù Hãy tính tích p = x * y thuật tốn Booth 6/ Tính 29*23 thuật tốn Booth, số biểu diễn bit 7/ Biểu diễn số sau theo định dạng IEEE 32-bit dấu chấm động: a) -5 b) -6 c) -1.5 d) 384 e) 1/16 f) -1/32 8/ Các số sau biểu diễn theo định dạng IEEE 32-bit dấu chấm động Xác định giá trị hệ thập phân tương ứng? a 10000011 11000000000000000000000 b 01111110 10100000000000000000000 c 10000000 00000000000000000000000 ... động 32-bit Giải: „X = 83.75 (10) = 101 0011.11(2) = 1. 0100 1111 x 26 „Ta có: d = số dương E = e – 127 = e= 127 + = 133 (10) = 100 0 0101 (2) Vậy: X = 0100 0 010 1 010 0111 100 0 0000 0000 0000 44 +... nhị phân không dấu, cộng thêm +18 = 00 0100 10 (bù 2) đảo bit = 1 1101 101 + 1 1101 110 = -18 Đảo đảo số nó: -18 = 1 1101 110 (bù 2) đảo bit = 00 0100 01 + 00 0100 10 = +18 17 + 18 Phép đảo - Trường hợp... 32-bit sau: 1100 0001 0101 0 110 0000 0000 0000 0000 „d = số âm „e = 100 0 0 0102 = 13 010 E = 130 -127 = m = 101 0 110 0000 0000 0000 0000 Vậy X = -1 .101 011 * 23 = - 1101 .011 = -13.375 Ví