Bài giảng Kiến trúc máy tính - Chương 10: Số học máy tính - Nguyễn Hằng Phương

1
Chương 10  
Số học máy tính  
2
+
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ù 2  
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  
3
+
1. Đơn vị logic & số học (ALU)  
Phần của máy tính thực hiện phép toán số học và lôgíc  
trên dữ liệu  
Tất cả các bộ phận khác trong hệ thống máy tính đưa dữ  
liệu tới ALU để ALU xử rồi sau đó nhận lại kết quả  
Sử dụng các linh kiện logic số đơn giản để lưu trữ các  
chữ số nhị phân và thực hiện các phép toán logic Boolean  
đơn giản  
4
Đầu vào và đầu ra ALU  
5
Mã hóa dữ liệu trong máy tính  
. Mọi dữ liệu đưa vào máy tính đều phải được mã hóa thành  
số nhị phân  
. Mã hóa theo các chuẩn qui ước  
. Dữ liệu số:  
. Số nguyên: mã hóa theo một số chuẩn  
. Số thực: mã hóa bằng số dấu chấm động  
. Dữ liệu ký tự: mã hóa theo bộ mã ký tự  
6
Thứ tự lưu trữ byte trong bộ nhớ chính  
. Bộ nhớ chính thường tổ chức theo byte  
. „Hai cách lưu trữ dữ liệu nhiều byte:  
. Little-endian:  
. Byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa  
chỉ nhỏ, byte có ý nghĩa cao được lưu trữ ở ngăn nhớ  
có địa chỉ lớn.  
. Nền tảng sử dụng: Intel  
. Big-endian:  
. Byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ  
nhỏ, byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có  
địa chỉ lớn.  
. Nền tảng sử dụng: IBM zSeries, Motorola 680x0…  
7
dụ lưu trữ dữ liệu 32-bit  
8
+
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)  
Trong hệ nhị phân, có thể biểu diễn các số bất kì bằng:  
Các chữ số 0 và 1  
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ữ và xử , sẽ không có lợi khi  
dùng các ký hiệu đặc biệt cho dấu trừ và dấu chấm  
Chỉ sử dụng các chữ số nhị phân (0,1) để biểu diễn số?  
9
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 của A: từ 0 đến 2n 1  
Với n = 8 bit: Biểu diễn được các giá trị từ 0 đến 255  
0000 0000 = 0  
0000 0001 = 1  
0000 0010 = 2  
...  
1111 1111 = 255  
10  
b. Biểu diễn dấu-độ lớn  
. Quy ước về biểu diễn số nguyên âm và dương: dùng bit  
quan trọng nhất (MSB) trong từ làm bit dấu  
bit dấu là 0 số dương  
bit dấu là 1 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ất  
. Nhược điểm:  
• Để thực hiện phép cộng và phép trừ, đòi hỏi phải xem  
xét cả dấu và độ lớn của các số  
Có hai biểu diễn của số 0 (+0 và -0)  
. Biểu diễn dấu-độ lớn hiếm khi được sử dụng trong việc  
xử lý phần số nguyên của ALU  
11  
c. Biểu diễn bù 2  
Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên có  
dấu A:  
Với A 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 của số dương  
tương ứng, bit an-1 = 1  
Quy tắc tìm số bù hai  
Số một của A = đảo giá trị các bit của A  
(Số bù hai của A) = (Số một của A) + 1  
Ví dụ: +3 = 0000 0011  
-3 = 1111 1101  
12  
+
c. Biểu diễn bù 2  
Sử dụng bit quan trọng nhất làm bit dấu  
Có 1 biểu diễn cho số 0  
Phạm vi biểu diễn: (– 2n-1) (2n-1 -1)  
Dải biểu diễn cho số dương: 0 đến 2n-1 -1  
Dải biểu diễn cho số âm: -1 đến - 2n-1  
Thực hiện phép toán số học dễ dàng  
Để tính A – B, lấy bù 2 của B rồi cộng với A  
Khi cộng 2 số cùng dấu, nếu kết quả có dấu ngược lại sẽ gây  
tràn (overflow)  
được sử dụng trong việc xử lý phần số nguyên của ALU  
13  
Biểu diễn  
số nguyên  
4-Bit  
14  
+
d. Mở rộng phạm vi  
Mở rộng phạm vi biểu diễn số nguyên bằng cách tăng độ  
dài chuỗi bit  
Mở rộng phạm vi trong biểu diễn dấu-độ lớn: di chuyển bit  
dấu tới vị trí mới ngoài cùng bên trái và điền thêm các bit 0  
Mở rộng phạm vi trong biểu diễn số âm bù 2: di chuyển bit  
dấu tới vị trí ngoài cùng bên trái và điền vào các bit giống  
bit dấu  
Đối với số dương thì điền 0, và số âm thì điền số 1  
Đây được gọi là phần mở rộng dấu  
15  
+
Phạm vi biểu diễn số co dấu bù 2: (2n-1) (2n-1 -1)  
Bù 2 8 bit  
+127 = 01111111 = 27 -1  
-128 = 10000000 = -27  
Bù 2 16 bit  
+32767 = 011111111 11111111 = 215 - 1  
-32768 = 100000000 00000000 = -215  
Ví dụ Mở rộng phạm vi  
Số dương được điền các bit 0  
+18 =  
00010010  
+18 = 00000000 00010010  
Số âm được điền các bit 1  
-18 =  
10010010  
-18 = 11111111 10010010  
+
3. Số học số nguyên  
16  
17  
+
a. Phép đảo dấu  
Phép đảo dấu = lấy bù 2:  
Đảo các bit của số nguyên (cả bit dấu)  
Kết quả coi như số nguyên nhị phân không dấu, cộng thêm 1  
+18 = 00010010 (bù 2)  
đảo bit = 11101101  
+
1
11101110 = -18  
Đảo của đảo của một slà chính nó:  
-18 = 11101110 (bù 2)  
đảo bit = 00010001  
+
1
00010010 = +18  
18  
+
Phép đảo - Trường hợp đặc biệt  
. 0 =  
0000 0000 (bù 2)  
1111 1111  
+1  
Đảo bit  
Cộng 1  
Kết quả 1 0000 0000  
Bỏ qua bit tràn: - 0 = 0  
. -128 =  
Đảo bit  
Cộng 1  
Kết quả  
10000000 (bù 2)  
01111111  
+1  
10000000  
Vậy: -(-128) = -128 X  
19  
b. Phép cộng  
Cộng  
như số  
nguyên  
không  
dấu  
20  
Nguyên tắc  
NGUYÊN TẮC TRÀN:  
Nếu hai số cộng với nhau, mà  
cả hai đều dương hoặc đều  
âm, thì sẽ xảy ra tràn nếu kết  
quả có dấu ngược lại.  
Tràn  
Tải về để xem bản đầy đủ
pdf 61 trang yennguyen 12/04/2022 6860
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 10: Số học máy tính - Nguyễn Hằng Phương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_10_so_hoc_may_tinh_nguye.pdf