TRƯỜNG ĐẠI HỌC SÀI GÒN
CHƯƠNG 3: CPU
GV: LƯƠNG MINH HUẤN
NỘI DUNG
Biểu diễn số nguyên
Các phép toán số học với số nguyên
. Số dấu phẩy động
. Kỹ thuật đường ống
I. BIỂU DIỄN SỐ NGUYÊN
Có hai loại số nguyên:
Số nguyên không dấu (Unsigned Integer)
Số nguyên có dấu (Signed Integer)
Biểu diễn số nguyên không dấu
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:
n 1
A ai 2
i 0
i
Biểu diễn số nguyên có dấu
Cho một số nhị phân N được biểu diễn bởi n bit
Số bù một của N bằng (2n -1) - N
Số bù hai của N bằng 2n - N
Lưu ý: 2n -1 = 111...11 (n bit 1)
Biểu diễn số nguyên có dấu (tt)
Ví dụ: Cho số N = 0001 00012 được biểu diễn bởi n=8bit. Xác
định số bù 1 và bù 2 của N.
Xác định số bù 1:
Áp dụng công thức
số bù một của N
1111 1111
0001 0001
1110 1110
(2n -1)
N
Nhận xét: số bù một của một số N được xác định bằng cách đ
các bit trong N
Biểu diễn số nguyên có dấu (tt)
Giá trị:
Biểu diễn số nguyên có dấu (tt)
Vì A + (Số bù hai của A) = 0
dùng số bù hai để biểu diễn cho số âm
VD1:
A = 6510 = 010000012
(8 bit)
Số bù 2 của A: 101111112 (8 bit)
0100 0001
A + Số bù 2 của A:
+ 1011 1111
1 0000 0000
Ví dụ
VD2: Cho số nguyên có dấu biểu diễn n=8bit sau:
A=B5H và B=6AH
Hãy xác định giá trị của hai số nguyên có dấu A và B
dưới dạng hệ số người sử dụng (cơ số 10)
Bài giải
Biểu diễn số nguyên A dưới dạng nhị phân
A=B5H = 1011 01012
A= -128 + 53 = - 75
Biểu diễn số nguyên B dưới dạng nhị phân
B=6AH = 0110 10102
B = 64+32+8+2 = 106
Biểu diễn số nguyên có dấu (tt)
n = 8 bit
Biểu diễn được các giá trị từ -128 đến +127
0000 0000 = 0
0000 0001 = +1
0000 0010 = +2
Chú ý:
0000 0011 = +3
+127 + 1 = -128
…
-128 - 1 = +127
0111 1111 = +127
do tràn xảy ra
1000 0000 = - 128
1000 0001 = - 127
…
1111 1110 = -2
1111 1111 = -1
Biểu diễn số nguyên có dấu (tt)
Chuyển đổi từ byte thành word
Đối với số dương:
• +19 = 0001 0011 (8 bit)
• +19 = 0000 0000 0001 0011 (16 bit)
thêm 8 bit 0 bên trái
Đối với số âm:
Thực hiện các phép tính sau với n = 8bit
34+45
-123+45
127+34
12-101
109-67
-106-35
E3 – 2F
III. SỐ DẤU CHẤM ĐỘNG
o hai giá trị:
Khối lượng mặt trời:
199000000000000000000000000000000000g
Khối lượng điện tử:
0.00000000000000000000000000000910956g
Để lưu trữ con số này thì máy tính cần đến số bit rất lớn. Như vậy, trong
rường hợp này thì loại số có dấu chấm tĩnh sẽ rất bất tiện.
Vì vậy tất cả máy tính lưu trữ những số trên dưới dạng dấu chấm động 1
x 1033 và 0.910956 x 10-27 hay theo số khoa học là: 1.99E+33 và 0.9109
27.
III. SỐ DẤU CHẤM ĐỘNG
Một giá trị có thể biểu diễn dưới nhiều dạng
Giải:
Chuyển qua nhị phân: 0.75 10 = 0.112
Dịch dấu chấm qua phải để được dạng 1.M (1 đơn vị):
S = 0, E = -1+127 = 12610 = 111 11102và
M = .10000000000000000000000 (23 bit)
1
8
S
E
0 0111 1110
23
M
10000000000000000000000
Ví dụ
209.812510 được biễu diễn theo chuẩn IEEE 754
Chuyển qua nhị phân
209.812510 = 11010001.11012
Dịch dấu chấm qua trái 7 đơn vị:
S = 0, E = 7+127 = 13410 = 1000 01102 và
M = 10100011101000000000000000000 (23 bit)
1
S
0
8
23
E