Bài 7<br />
<br />
BI U DI N VÀ TÍNH TOÁN<br />
S H C TRONG MÁY TÍNH<br />
Nguy n H ng Sơn<br />
<br />
1<br />
<br />
N I DUNG<br />
ALU (Arithmetic and Logical Unit)<br />
Bi u di n và tính toán s nguyên (fixed<br />
point)<br />
Bi u di n và tính toán s d u ch m ng<br />
(floating point)<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
2<br />
<br />
1<br />
<br />
ALU<br />
Thành ph n th c hi n t t c các phép tính<br />
s h c và lu n lý<br />
T t c các thành ph n khác c a máy tính<br />
nó x lý và<br />
nh m chuy n data vào ALU<br />
sau ó l y ra.<br />
ư c xây d ng t các linh ki n i n t s<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
3<br />
<br />
ALU<br />
<br />
flags<br />
<br />
control unit<br />
Registers<br />
<br />
ALU<br />
<br />
Registers<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
4<br />
<br />
2<br />
<br />
BI U DI N S NGUYÊN<br />
(fixed point)<br />
Dùng s nh phân<br />
Integer có nghĩa là t p h p t t c các s<br />
nguyên<br />
Integer có th là s dương hay s âm<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
Bi u di n s nguyên:<br />
bi u di n theo d u và<br />
Bit<br />
<br />
5<br />
<br />
l n<br />
<br />
u tiên bên trái là bit d u<br />
0=+<br />
1=-<br />
<br />
+18 = 0 001 0010<br />
-18 = 1 001 0010<br />
V n bi u di n s 0 ( +010=0 0000000; -010=1 0000000)<br />
T ng quát m t s A g m n bit<br />
Ví d<br />
<br />
n−2 i<br />
∑ 2 ai<br />
<br />
A = i =0− 2<br />
n<br />
− ∑ 2 i ai<br />
i =0<br />
<br />
<br />
nê u an −1 = 0<br />
nê u an −1 = 1<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
6<br />
<br />
3<br />
<br />
Bi u di n s nguyên:<br />
bi u di n bù hai<br />
Cũng dùng bit u tiên bên trái làm bit d u<br />
T ng quát s A có n bit<br />
<br />
A= −2<br />
<br />
n −1<br />
<br />
n−2<br />
<br />
a n −1<br />
<br />
+<br />
<br />
2 i ai<br />
∑<br />
i =0<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
Bi u di n th p phân<br />
<br />
Bi u di n d u và<br />
<br />
l n<br />
<br />
7<br />
<br />
Bi n di n bù 2<br />
<br />
+8<br />
<br />
-<br />
<br />
-<br />
<br />
+7<br />
<br />
0111<br />
<br />
0111<br />
<br />
+6<br />
<br />
0110<br />
<br />
0110<br />
<br />
+5<br />
<br />
0101<br />
<br />
0101<br />
<br />
+4<br />
<br />
0100<br />
<br />
0100<br />
<br />
+3<br />
<br />
0011<br />
<br />
0011<br />
<br />
+2<br />
<br />
0010<br />
<br />
0010<br />
<br />
+1<br />
<br />
0001<br />
<br />
0001<br />
<br />
+0<br />
<br />
0000<br />
<br />
0000<br />
<br />
-0<br />
<br />
1000<br />
<br />
-<br />
<br />
-1<br />
<br />
1001<br />
<br />
1111<br />
<br />
-2<br />
<br />
1010<br />
<br />
1110<br />
<br />
-3<br />
<br />
1011<br />
<br />
1101<br />
<br />
-4<br />
<br />
1100<br />
<br />
1100<br />
<br />
-5<br />
<br />
1101<br />
<br />
1011<br />
<br />
-6<br />
<br />
1110<br />
<br />
1010<br />
<br />
1111<br />
<br />
1001<br />
<br />
-7<br />
-8<br />
<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
1000<br />
<br />
8<br />
<br />
4<br />
<br />
Chuy n i qua l i gi a chi u dài<br />
chu i bit khác nhau<br />
Khi lưu m t s có n bit vào m bit v i m>n, s<br />
ã b chuy n i sang d ng s m bit<br />
V i bi u di n theo d u và<br />
l n:<br />
Di chuy n bit d u sang v trí ngoài cùng bên trái<br />
i n bit 0 vào các ch tr ng<br />
<br />
V i bi u di n bù 2<br />
Di chuy n bit d u sang v trí ngoài cùng bên trái<br />
i n bit d u vào các ch tr ng<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
9<br />
<br />
Tính toán s nguyên trong bi u<br />
di n bù 2: L y s<br />
o<br />
Trong bi u di n d u và l n<br />
c n o ngư c bit d u.<br />
Trong s bù 2 làm hai bư c:<br />
<br />
l ys<br />
<br />
o c a m t s ch<br />
<br />
o ngư c các bit<br />
C ng v i 1<br />
<br />
Ví d :<br />
<br />
+18= 0001 0010<br />
1110 1101<br />
+<br />
1<br />
11101110 = -18<br />
Bi u di n và tính toán s h c _Nguy n H ng Sơn_PTITHCM<br />
<br />
10<br />
<br />
5<br />
<br />