Phan Trung Kiên – ĐH Tây bắc 2Chương 2.BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH Thông tin trong máy tính tính Biểu diễn số nguyên Biểu diễn số thực bằng số dấu phẩy động Biểu diễn ký tự.
Trang 1KIẾN TRÚC MÁY TÍNH
Chương 2.
Trang 2Phan Trung Kiên – ĐH Tây bắc 2
Chương 2.BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH
Thông tin trong máy tính
tính
Biểu diễn số nguyên
Biểu diễn số thực bằng số dấu phẩy động
Biểu diễn ký tự
Trang 32.1 Thông tin trong máy tính
Phân loại thông tin
Độ dài từ
Thứ tự nhớ
Trang 4Phan Trung Kiên – ĐH Tây bắc 4
Phân loại thông tin
Dữ liệu nhân tạo: do con người quy ước
Trang 6Phan Trung Kiên – ĐH Tây bắc 6
Một hoặc nhiều byte
Cần phải biết thứ tự lưu trữ các byte của
từ dữ liệu trong bộ nhớ chính
Trang 7Lưu trữ kiểu đầu nhỏ (little-endian)
Byte có ý nghĩa thấp hơn được lưu tữ trong bộ nhớ ở địa chỉ nhỏ hơn
Ví dụ: Từ dữ liệu 2 byte: 00001111 10101010
Trong bộ nhớ
00001111 10101010
Trang 8Phan Trung Kiên – ĐH Tây bắc 8
Lưu trữ kiểu đầu to (big-endian)
Byte có ý nghĩa thấp hơn được lưu tữ trong bộ nhớ ở địa chỉ lớn hơn
Ví dụ: Từ dữ liệu 2 byte: 00001111 10101010
Trong bộ nhớ
00001111 10101010
Trang 9Lưu trữ của các bộ xử lý điển hình
Intel 80x86 và các Pentium: Little-endian
Motorola 680x0 và các bộ xử lý RISC: Big-endian
Power PC và Itanium: cả hai (bi-endian)
Trang 10Phan Trung Kiên – ĐH Tây bắc 10
Trang 11Hệ thập phân (Decimal System)
Trang 12-Phan Trung Kiên – ĐH Tây bắc 12
Trang 13Dạng tổng quát của số nhị phân
Có một số nhị phân A như sau:
A = anan-1 a1a0.a-1 a-m
Giá trị của A được tính như sau:
A = an2n + an-12n-1 + + a020 + a-12-1 +
+ a-m2-m
Trang 14Phan Trung Kiên – ĐH Tây bắc 14
Ví dụ:
Trang 15Chuyển đổi từ dạng thập phân sang nhị
Trang 16Phan Trung Kiên – ĐH Tây bắc 16
Phương pháp chia dần cho 2
Trang 17Phương pháp phân tích thành tổng của
các 2i
Ví dụ 1: chuyển đổi 105(10)
105 = 64 + 32 + 8 + 1 = 26 + 25 + 23 + 20
Kết quả: 105 = 1101001
Trang 18Phan Trung Kiên – ĐH Tây bắc 18
Chuyển số lẻ thập phân sang nhị phân
Trang 19Chuyển số lẻ thập phân sang nhị phân
Trang 20Phan Trung Kiên – ĐH Tây bắc 20
Chuyển số lẻ thập phân sang nhị phân
Trang 22Phan Trung Kiên – ĐH Tây bắc 22
Số thập lục phân (Hexa)
A,B,C,D,E,F để biểu diễn các số
Dùng để viết gọn cho số nhị phân: cứ một
nhóm 4 bit sẽ được thay thế bằng 1 chữ
Trang 23Quan hệ giữa số nhị phân và số Hexa
Ví dụ chuyển đổi số nhị phân số Hexa:
0000 00002 = 0016
1011 00112 = B316
0010 1101 1001 10102 = 2D9A16
1111 1111 1111 11112 = FFFF16
Trang 24Phan Trung Kiên – ĐH Tây bắc 24
2.3 Biểu diễn số nguyên
Trang 25Số nguyên không dấu (Unsigned Integer)
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: an-1an-2… a2a1a0
Giá trị của A được tính như sau:
A = an2 n + an-12 n-1 + + a02 0
Dải biểu diễn của A: từ 0 đến 2 n -1
Trang 26Phan Trung Kiên – ĐH Tây bắc 26
Trang 28Phan Trung Kiên – ĐH Tây bắc 28
255 0
Trang 29Số nguyên có dấu
Dấu và độ lớn
Số bù một
Số bù hai
Trang 30Phan Trung Kiên – ĐH Tây bắc 30
Trang 31Ưu điểm – Nhược điểm
Xét các số 3 bit:
x: dạng nhị phân
Trang 32Phan Trung Kiên – ĐH Tây bắc 32
Ưu điểm – Nhược điểm
Trang 33Trục số học
Dải biểu diễn:
-(2 n-1 – 1) 2 n-1 - 1
Trang 34Phan Trung Kiên – ĐH Tây bắc 34
Trang 35Ưu điểm – Nhược điểm
Xét các số 3 bit:
x: dạng nhị phân
Trang 36Phan Trung Kiên – ĐH Tây bắc 36
Ưu, nhược điểm
Ưu:
Trực quan
Dễ dàng chuyển đổi dấu
Có hai biểu diễn của số 0
Cộng trừ phải thực hiện thao tác đặc biệt
Ít sử dụng
Trang 37Trục số học
Dải biểu diễn:
-(2 n-1 – 1) 2 n-1 - 1
Trang 38Phan Trung Kiên – ĐH Tây bắc 38
Trang 39Số bù 2
Nguyên tắc tổng quát: Dùng n bit biểu diễn số
an-1an-2…a1a0
Với A là số dương: bit an-1 = 0, các bit còn lại
biểu diễn độ lớn như số không dấu
Với A là số âm: được biểu diễn bằng số bù hai
Trang 40Phan Trung Kiên – ĐH Tây bắc 40
Số bù 2
Trang 42Phan Trung Kiên – ĐH Tây bắc 42
Số bù 2
nguyên có dấu được biểu diễn dưới đây:
Trang 43Ưu điểm – Nhược điểm
Xét các số 3 bit:
x: dạng nhị phân
Trang 44Phan Trung Kiên – ĐH Tây bắc 44
Ưu, nhược điểm
Trang 45Trục số học
Dải biểu diễn:
-2 n-1 2 n-1 - 1
Trang 46Phan Trung Kiên – ĐH Tây bắc 46
Đổi số n bit sang m bit (m>n)
Trang 47Biểu diễn số nguyên theo mã BCD
BCD - Binary Coded Decimal Code
Dùng 4 bit để mã hoá cho các chữ số thập phân
Trang 48Phan Trung Kiên – ĐH Tây bắc 48
Trang 49Các kiểu lưu trữ số BCD
Trang 50Phan Trung Kiên – ĐH Tây bắc 50
Phép trừ
Trang 51 Nếu không có nhớ ra khỏi bit cao nhất thì kết quả
nhận được luôn luôn đúng (Cout = 0).
Nếu có nhớ ra khỏi bit cao nhất thì kết quả nhận
Trang 52Phan Trung Kiên – ĐH Tây bắc 52
Trang 54Phan Trung Kiên – ĐH Tây bắc 54
Phép trừ
Phép trừ 2 số nguyên: X – Y = X + (-Y)
rồi cộng với X
Trang 55Thực hiện phép cộng, trừ bằng phần cứng
Trang 56Phan Trung Kiên – ĐH Tây bắc 56
Phép nhân số nguyên không dấu
Trang 57Phép nhân số nguyên không dấu
Trang 58Phan Trung Kiên – ĐH Tây bắc 58
Sơ đồ thực hiện:
Trang 59Lưu đồ thuật toán
Các thanh ghi M, Q, A: n bit C: 1 bit
2 thừa số là n-bit
tích là số 2n-bit được chứa trong cặp thanh ghi A, Q
Trang 60Phan Trung Kiên – ĐH Tây bắc 60
Ví dụ: thực hiện 11*13 (với số 4 bit)
Q 0
Trang 61Nhân số nguyên có dấu
Chuyển đổi các thừa số thành số dương
Nhân 2 số dương như số nguyên không dấu
Hiệu chỉnh dấu của kết quả:
Nếu 2 thừa số khác dấu đảo dấu kết quả bằng
Nếu 2 thừa số cùng dấu không cần hiệu chỉnh cách lấy bù 2.
Trang 62Phan Trung Kiên – ĐH Tây bắc 62
Nhân số nguyên có dấu
Dùng giải thuật Booth
Trang 63Phép chia số nguyên không dấu
Trang 64Phan Trung Kiên – ĐH Tây bắc 64
Chia số nguyên có dấu
Cách 1:
Sử dụng thuật giải chia số nguyên không dấu
Đổi số bị chia và số chia dương
và phần dư (đều là số dương)
Hiệu chỉnh dấu:
(+) : (+) không hiệu chỉnh dấu kết quả
(+) : (-) đảo dấu thương
(-) : (+) đảo dấu thương và phần dư
(-) : (-) đảo dấu phần dư
Trang 65Chia số nguyên có dấu
Cách 2: Sử dụng thuật toán sau:
B1: Nạp số chia vào M, số bị chia vào A,Q
B2: Dịch trái A,Q 1 bit
Trang 66Phan Trung Kiên – ĐH Tây bắc 66
động
Các phép toán
Trang 67Khía niệm số dấu chấm động
X = M * RE
M là phần định trị (Mantissa),
R là cơ số (Radix),
E là phần mũ (Exponent).
Trang 68Phan Trung Kiên – ĐH Tây bắc 68
Trang 70Phan Trung Kiên – ĐH Tây bắc 70
Trang 72Phan Trung Kiên – ĐH Tây bắc 72
Ví dụ
20 = 101002, 127 = 011111112, 147 = 100100112, 107 = 0110101120.638125 = 1/2 + 1/8 +1/128 = 10100012
Trang 73Câu hỏi
Tại sao lại biểu diễn m mà không biểu diễn M?
Tại sao lại biểu diễn e mà không biểu diễn E?
Trang 74Phan Trung Kiên – ĐH Tây bắc 74
Dải biểu diễn
Trang 75Câu hỏi
Khi tăng số bit m?
Khi tăng số bit e?
Dạng 32 bit biểu diễn được bao nhiêu số?
Trang 76Phan Trung Kiên – ĐH Tây bắc 76
Các quy ước đặc biệt
Các bit của e bằng 0, các bit của m bằng 0, thì X= 0
Các bit của e bằng 1, các bit của m bằng 0, thì X= ±
Các bit của e bằng 1, còn m có ít nhất 1 bit bằng 1, thì
nó không biểu diễn cho số nào cả (NaN – not a number)
Trang 77Phép +,
Trang 78-Phan Trung Kiên – ĐH Tây bắc 78
Phép nhân
Trang 79Phép chia
Trang 80Phan Trung Kiên – ĐH Tây bắc 80
Biểu diễn ký tự
Bộ mã ASCII (American Standard Code for
Information Interchange)
Trang 82Phan Trung Kiên – ĐH Tây bắc 82
Bộ mã ASCII
Trang 83 Bộ mã ký tự mở rộng của IBM: IBM-PC.
Bộ mã ký tự mở rộng của Apple: Macintosh.
Có thể thay đổi các ký tự mở rộng để mã hóa
Trang 84Phan Trung Kiên – ĐH Tây bắc 84