Bài giảng Kiến trúc và tổ chức máy tính: Chương 2 - Biểu diễn thông tin trong máy tính. Nội dung chính trong chương này gồm có: Các hệ đếm cơ bản, biểu diễn số nguyên, các phép toán số học đối với số nguyên, số dấu phẩy động. Mời các bạn tham khảo.
Trang 1KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
(Computer Organization and Architecture)
Chương 2 Biểu diễn thông tin trong máy tính
Nội dung
1 Các hệ đếm cơ bản
2 Biểu diễn số nguyên
3 Các phép toán số học đối với số nguyên
4 Số dấu phẩy động
Trang 22.1 Các hệ đếm cơ bản
Hệ thập phân ( Decimal System ) → Con người sử dụng.
Hệ nhị phân ( Binary System ) → Máy tính sử dụng
Hệ bát phân ( Octal System ) → Dùng để viết gọn số nhị phân
Hệ thập lục phân ( Hexadecimal System ) → Dùng để viết gọn số nhị phân
3
Chương 2 - Biểu diễn thông tin trong máy tính
Hệ thập phân (Decimal System)
Cơ số 10
Dùng 10 ký số: 0, 1, 2, , 9
Dùng n chữ số thập phân có thể biểu diễn được 10n
giá trị khác nhau:
Trang 4Hệ nhị phân (Binary System)
Cơ số 2
Dùng 2 chữ số: 0, 1
Chữ số nhị phân gọi là bit (bi nary digi t)
Bit là đơn vị thông tin nhỏ nhất
Dùng n chữ số nhị phân có thể biểu diễn được
2n giá trị khác nhau:
00 0 = 0 11 1 = 2n - 1
7
Chương 2 - Biểu diễn thông tin trong máy tính
Hệ nhị phân (tt)
Trang 5Khi đó, giá trị của chúng được tính là:
1011 1001.101(2) =
= 27 + 25 + 24 + 23 + 20 + 2-1 + 2-3
= 128 + 32 + 16 + 8 + 1 + 0.5 + 0.125
= 185.625(10)
Trang 7Hệ thập lục phân (Hexadecimal System)
Cơ số 16
Dùng 16 chữ số: 0,1, , 9, A, B, , F
Dùng để viết gọn cho số nhị phân: cứ một
nhóm 4 bit sẽ được thay bằng một chữ số
Trang 8Tổng quát
15
Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi giữa các hệ đếm
Trang 9Bảng mã 8421
17
Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi tổng quát
Trang 10Phương pháp ghép nhóm
19
Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi số thập phân → nhị phân
Chuyển đổi phần nguyên:
– Cách 1: Chia liên tiếp cho 2 rồi lấy phần dư
– Cách 2: Phân tích thành tổng các luỹ thừa của 2
Chuyển đổi phần thập phân:
– Nhân phần thập phân với 2, lấy phần nguyên
Trang 11Ví dụ chuyển đổi
Có số ở hệ thập phân như sau: 61.3125
– Chuyển đổi phần nguyên: 61(10) = 111101(2)
– Chuyển đổi phần thập phân:
• 0.3125 * 2 = 0.625 phần nguyên = 0
• 0.625 * 2 = 1.25 phần nguyên = 1
• 0.25 * 2 = 0.5 phần nguyên = 0
• 0.5 * 2 = 1.0 phần nguyên = 1 – Vậy: 61.3125(10) = 111101.0101(2)
21
Chương 2 - Biểu diễn thông tin trong máy tính
Mã hoá dữ liệu trong máy tính
Nguyên tắc chung
thành số nhị phân
– Các loại dữ liệu:
• Dữ liệu nhân tạo: do con người quy ước
• Dữ liệu tự nhiên: tồn tại khách quan với con người
Mã hoá dữ liệu nhân tạo:
• Dữ liệu dạng số: mã hoá theo chuẩn quy ước
• Dữ liệu ký tự: mã hoá theo bộ mã ký tự
Trang 12Mã hoá dữ liệu trong máy tính (tt)
Mã hoá và tái tạo tín hiệu tự nhiên
Bộ tái tạo tín hiệu
23
Chương 2 - Biểu diễn thông tin trong máy tính
Mã hoá dữ liệu trong máy tính (tt)
Trang 13Mã hoá dữ liệu trong máy tính (tt)
25
Chương 2 - Biểu diễn thông tin trong máy tính
Lưu trữ dữ liệu trong máy tính
Bộ nhớ chính được tổ chức theo byte
Độ dài dữ liệu có thể chiếm 1 hay nhiều byte
Có 2 cách lưu trữ các byte trong bộ nhớ chính: – Little-endian (đầu nhỏ): byte có ý nghĩa thấp hơn được lưu trữ ở vị trí có địa chỉ nhỏ hơn
– Big-endian (đầu to): byte có ý nghĩa thấp hơn được lưu trữ ở vị trí có địa chỉ lớn hơn
Trang 14Chương 2 - Biểu diễn thông tin trong máy tính
2.2 Biểu diễn số nguyên
Số nguyên không dấu ( unsigned integer )
Số nguyên có dấu ( signed integer )
Chuyển đổi độ dài
Bài tập
Trang 15Số nguyên không dấu
Nguyên tắc chung
– Dải biểu diễn: 0 ÷ 2n – 1
– Ví dụ:
• n = 8 bit: Dải biểu diễn: 0 ÷ 28 -1, hay 0 ÷ 255
• n = 16 bit: Dải biểu diễn: 0 ÷ 216 - 1, hay 0 ÷ 65535
Trang 17Số nguyên có dấu
Nguyên tắc chung
– Dải biểu diễn: - 2 n-1 ÷ 2 n-1 – 1
Bit lớn nhất biểu diễn dấu:
– 0: biểu diễn số dương
– 1: biểu diễn số âm
Các bit còn lại biểu diễn giá trị
Trang 18Dùng mã bù 2
Đối với số dương: biểu diễn dạng nhị phân
Đối với số âm: tìm số bù 2:
– B1: đổi số dương tương ứng → nhị phân
Trang 20Chương 2 - Biểu diễn thông tin trong máy tính
Đối với số dương: thêm/bớt số 0 ở trước:
Đối với số âm: thêm/bớt số 1 ở trước
Trang 21Biểu diễn số nguyên theo mã BCD
BCD – Binary Coded Decimal
– Được dùng để tính toán số thập phân trong hệ nhị
phân
– Là số viết theo hệ cơ số 16 nhưng tính theo hệ cơ số 10
• 12BCD trong hệ nhị phân là 0001 0010 có giá trị là
12 chứ không phải giá trị 18 (1216 = 18)
• Dùng 4 bit để mã hóa cho các chữ số thập phân từ 0…9 (xem lại bảng mã 8421 phần các số từ 0-9)
BCD không gói ( unpacked BCD )
– Mỗi số BCD-4bit được lưu trữ trong 4 bit thấp của byte– Ví dụ: Số 35 được lưu trong 2 byte
BCD gói ( packed BCD )
– Hai số BCD-4bit được lưu chung trong 1 byte
– Ví dụ: Số 35 được lưu trong 1 byte
0 0 1 1 0 1 0 1
0 0 1 1 0 1 0 1
Trang 222.3 Các phép toán trên số nguyên
Phép cộng: thực hiện như cách tính tay thông
thường nhưng ở hệ nhị phân
1 Số nhị phân 8 bit (11001100), số này tương ứng với
số nguyên thập phân có dấu là bao nhiêu nếu số trên được biểu diễn ở dạng:
- Số bù 1
- Số bù 2
Trang 232.3 Cỏc phộp toỏn trờn số nguyờn (tt)
Phộp nhõn số khụng dấu:
– Giải thuật nhõn số n bit
a) Đặt bộ đếm tới n b) Xoỏ thanh ghi 2n bit chứa tớch thành phần; Nhớ ← 0 c) Kiểm tra bit LSB của số nhõn; nếu là 1 thỡ cộng số bị nhõn vào n bit nhiều ý nghĩa nhất của tớch thành phần d) Dịch phải Nhớ, Tớch thành phần, Số nhõn đi 1 bit e) Giảm bộ đếm đi 1 Lặp lại cỏc bước từ c cho đến khi bộ đếm bằng khụng Đọc kết quả từ thanh ghi tớch thành phần
Vớ dụ: 10 x 13
– Số bị nhõn: 10(10) = 1010 (2)
45
Chương 2 - Biểu diễn thụng tin trong mỏy tớnh
Giải thuật nhõn số khụng dấu
Bộ đếm = 0? End
Đúng Sai
Đúng Sai
Tích chứa trong A,Q
Trang 252.3 Các phép toán trên số nguyên (tt)
Phép nhân số có dấu:
– Giải pháp 1:
• Chuyển đổi thành số dương nếu cần
• Thực hiện phép nhân như đối với số không dấu
• Kiểm tra bit dấu của 2 số, nếu chúng trái dấu thì tích là
số âm.
– Giải pháp 2: sử dụng thuật toán Booth kinh điển (có thể
áp dụng cho 2 số dương, một số âm và một dươnghoặc cả 2 số đều âm)
49
Chương 2 - Biểu diễn thông tin trong máy tính
Giải thuật Booth
Trang 26Lần 2, Count = 2
Lần 3, Count = 1
Lần 4, Count = 0 Kết quả: 1110 1011 (dạng bù 2 của 21)
Chương 2 - Biểu diễn thông tin trong máy tính
Trang 27Lần 2, Count = 2
Lần 3, Count = 1
Lần 4, Count = 0 Kết quả: 0001 0101
Chương 2 - Biểu diễn thông tin trong máy tính
2.3 Các phép toán trên số nguyên (tt)
Phép chia số nhị phân
1 Nạp số chia vào thanh ghi M và số bị chia vào cácthanh ghi A, Q Số bị chia phải ở dạng 2n bit, vì vậy,
ví dụ số 4 bit 0111 trở thành 00000111 và 1001 trởthành 11111001
2 Dịch trái A, Q đi 1 bit
3 Nếu M và A có cùng dấu, thực hiện gán A←A-M, ngược lại gán A ← A+M
4 thao tác trên thành công nếu dấu của A là như nhau trước
và sau thao tác
a Nếu thao tác thành công hoặc (A=0 và Q=0) thì đặt Q0← 1
b Nếu thao tác không thành công và (A≠0 hoặc Q ≠ 0) thì đặt Q0← 0 và khôi phục giá trị trước đó của A
5 Lặp lại bước 2 đến bước 4 số lần lặp bằng số bit của Q
6 Phần dư là A Nếu dấu của số chia và số bị chia giống
Trang 32Chuẩn IEEE 754/85 (32 bit)
Khi đó, 1 số thực bất kỳ được biểu diễn:
X = −1 ∗ 1 ∗ 2
Dải giá trị biểu diễn:
2-127 < X < 2127, hay: 10-38 < X < 1038
Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi → IEEE 754/85 (32 bit)
Bước 1: Đổi số thực đó → nhị phân
Bước 2: Chuyển về dạng: ±1,aa a * 2b
Bước 3: Xác định các giá trị:
S = 0 nếu số dương; S = 1 nếu số âm
Trang 33Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi → IEEE 754/85 (32 bit)
Trang 34Chương 2 - Biểu diễn thông tin trong máy tính
Chuyển đổi → IEEE 754/85 (32 bit)
Ví dụ 4: Tìm giá trị số thực: C2 0D 00 00H
Giải
X = C2 0D 00 00H =
= 1 100 0010 0 000 1101 0000 0000 0000 0000 – S = 1 ⇒ X < 0
Trang 35Chuẩn IEEE 754/85 (64bit)
Khi đó, 1 số thực bất kỳ được biểu diễn:
X = −1 ∗ 1 ∗ 2 Dải giá trị biểu diễn:
Chương 2 - Biểu diễn thông tin trong máy tính
Chuẩn IEEE 754/85 (64bit)
Khi đó, 1 số thực bất kỳ được biểu diễn:
X = −1 ∗ 1 ∗ 2 Dải giá trị biểu diễn:
Trang 37• Các ký tự điều khiển: màn hình, máy tin, truyền tin.
• Các ký tự soạn thảo văn bản – 128 ký tự mở rộng, có mã 8016 ÷ FF16, gồm:
– Các ký tự đặc biệt, kẻ khung, tiếng Pháp,
73
Chương 2 - Biểu diễn thông tin trong máy tính
Bộ mã Unicode
Là bộ mã hợp nhất, do các hãng máy tính hàng đầu thiết kế
Là bộ mã 16 bit
Là bộ mã đa ngôn ngữ
Có hỗ trợ các ký tự tiếng Việt
Trang 39Bài tập (biểu diễn số nguyên)
Bài 1: Biểu diễn các số sau dùng dấu và độ lớn (8 bit):
Chương 2 - Biểu diễn thông tin trong máy tính
Bài tập (biểu diễn số nguyên)
Bài 5: Biểu diễn các số sau dùng mã bù 2 (16 bit – không dấu):
Trang 40Bài tập (biểu diễn số nguyên)
Bài 8: Có các biểu diễn sau (dùng mã bù 2 – không dấu), hãy xác định giá trị:
79
Chương 2 - Biểu diễn thông tin trong máy tính
Bài tập (các phép toán với số nguyên)
Bài 1: Cho biết kết quả khi thực hiện trên máy tính các phép cộng sau (8 bit) và giải thích:
a) 56 + 78 (không dấu); b) 121 + 40 (không dấu)
Bài 2: Mô tả quá trình nhân trên máy tính các số 4 bit sau đây:
Trang 41bangtqh@utc2.edu.vn 81
Bài tập (biểu diễn số thực)
Bài 1: Biểu diễn các số sau theo chuẩn IEEE 754/85