SlideShare a Scribd company logo
Bài 02: Số nguyên
Phạm Tuấn Sơn
ptson@fit.hcmus.edu.vn
Hệ cơ số 10
• A = 123 = 100 + 20 + 3 = 1×102 + 2×101 + 3×100
• Tổng quát số hệ cơ số q
Xn-1…X1X0 = Xn-1×qn-1 + … + X1×q1 + X0×q0
Mỗi chữ số Xi lấy từ tập X có q phần tử
• q=2, X={0,1} : hệ nhị phân (binary)
• q=8, X={0,1,2,..7} : hệ bát phân (octal)
• q=10, X={0,1,2,…9} : hệ thập phân (decimal)
• q=16, X={0,1,2,..9,A,B,..F} : hệ thập lục phân
(hexadecimal)
A = 123d = 01111011b = 173o = 7Bh
2
Hệ nhị phân
Xn-1…X1X0 , X={0,1}
• Được dùng nhiều trong máy tính. Tại sao ?
• n gọi là chiều dài bit của số đó
• Bit trái nhất Xn-1 là bit có giá trị nhất (MSB)
• Bit phải nhất X0 là bit ít có giá trị nhất (LSB)
• Giá trị thập phân:
Xn-1×2n-1 + … + X1×21 + X0×20
Phạm vi biểu diễn: từ 0 đến 2n-1
• Để chuyển đổi sang hệ 16, chỉ cần gom
từng nhóm 4 bit từ phải sang trái
• Ví dụ: A = 01111011b
= 7 B h
3
0000 – 0 1000 – 8
0001 – 1 1001 – 9
0010 – 2 1010 – A
0011 – 3 1011 – B
0100 – 4 1100 – C
0101 – 5 1101 – D
0110 – 6 1110 – E
0111 – 7 1111 – F
Bits có thể biễu diễn mọi thứ !
• Ký tự?
– 26 ký tự ⇒ 5 bits (25 = 32)
– Ký tự hoa/ thường + dấu
⇒ 7 bits (in 8) (“ASCII”)
– Bảng mã chuẩn cho tất cả ngôn ngữ trên thế giới
⇒ 8,16,32 bits (“Unicode”) www.unicode.com
• Giá trị luận lý (logic)?
– 0 ⇒ False, 1 ⇒ True
• Màu sắc ? Ví dụ:
• Địa chỉ ? Lệnh ?
• Bộ nhớ: N bits ⇔ 2N ô nhớ
4
Red (00) Green (01) Blue (11)
Biểu diễn số âm
• Số không dấu (unsigned number)
• Lượng dấu (sign and magnitude)
– Qui định MSB là dấu
0 à + 1 à –
• Bù 1 (One’s Complement)
– Lấy bit bù
5
00000 00001 01111... 10000 11111...
Binary
odometer
00000 00001 01111...
100001000111111 ...
Binary
odometer
00000 00001 01111...
111111111010000 ...
Binary
odometer
0x00000000 và 0x80000000 ???
0x00000000 và 0xFFFFFFFF ???
Phạm vi biễu diễn
Số bù 2
• Khắc phục vấn đề có 2 biểu diễn số 0 khác nhau?
– 0000 và 1111 ?
– Lấy bù rồi cộng thêm 1
• Như số lượng dấu và số bù 1, số bắt đầu bằng 0
là số dương, số bắt đầu bằng 1 là số âm
– 000000...xxx : ≥ 0, 111111...xxx : < 0
– 1…1111 là -1, không phải -0 (như số bù 1)
• Giá trị thập phân của biểu diễn dạng bù 2
Xn-1×(-2n-1) + Xn-2×(2n-2) + … + X1×21 + X0×20
Phạm vi biểu diễn: từ -2n-1 tới 2n-1 – 1
Ví dụ: 11010110 = -27 + 26 + 24 + 22 + 21 = -42
6
Ví dụ số bù 2
+123 = 01111011b
-123 = 10000101b
0 = 00000000b
-1 = 11111111b
-2 = 11111110b
-3 = 11111101b
-127 = 10000001b
-128 = 10000000b
7
Đổi dấu:
-3 à +3 à -3
x : 1101 b
x’: 0010 b
+1: 0011 b
()’: 1100 b
+1: 1101 b
Phạm vi biểu diễn số bù 2
8
• Chuyển số bù 2 từ biểu diễn n bit thành
biểu diễn m bit (với m>n)
• Giá trị của các bít từ n+1 tới m là giá trị của
MSB
–Chuyển giá trị -4 từ biểu diễn16-bit thành biểu
diễn 32-bit:
1111 1111 1111 1100two
1111 1111 1111 1111 1111 1111 1111 1100two
Sign extension
Biểu diễn Bias số N=5 bit
10
• Bias cho số N
bits là (2N-1-1)
• Giá trị =
unsigned
- bias
• 1 số zero
• Bao nhiêu số
dương?
00000 00001
01111
...
111111111010000 ...
Binary
odometer
00000 00001
00010
11111
11110
10000 0111110001
-15-14
-13
1615
2 1 0
.
.
.
.
.
.
14
11101
13
11100
01110
-1
01110
AND, OR, NOT, XOR
11
12
• Nhận xét: bit nào and với 0 sẽ ra 0, and với 1 sẽ
ra chính nó.
• Phép and được sử dụng để giữ lại giá trị 1 số
bít, trong khi xóa tất cả các bit còn lại. Bit nào
cần giữ giá trị thì and với 1, bit nào không quan
tam thì and với 0. Dãy bit có vai trò này gọi là
mặt nạ (mask).
– Ví dụ:
‘a’ (61h) 0110 0001
1101 1111
– Kết quả sau khi thực hiện and:
‘A’ (41h) 0100 0001
– Ý nghĩa: chuyển từ ký tự thường sang ký tự hoa
Mask (DFh)
Sử dụng phép AND
13
Sử dụng các phép OR
• Nhận xét: bit nào or với 1 sẽ ra 1, or với 0 sẽ ra
chính nó.
• Phép or được sử dụng để bật lên 1 số bít, trong
khi giữa nguyên giá trị tất cả các bit còn lại. Bit
nào cần bật lên thì or với 1, bit nào không quan
tâm thì or với 0.
– Ví dụ:
1 (01h) 0000 0001
0011 0000
– Kết quả sau khi thực hiện or:
‘1’ (31h) 0100 0001
– Ý nghĩa: chuyển từ số sang ký tự số
Mask (30h)
Phép dịch bit và phép quay
14
Input Operation Result
01010101
(85)
Logical right shift
(2 bits)
00010101
(21 = 85/22)
01010101
(85)
Logical left shift
(1 bit)
10101010
(170 = 85*21)
11101010
(-22)
Arithmetic right shift
(2 bits)
11111010
-6=(-22)/22
11101010
(-22)
Arithmetic left shift
(1 bits)
11010100
-44=(-22)*21
10100110 Right rotate (3 bits) 11010100
10100110 Left rotate (3 bits) 00110101
Ví dụ
15
Phép cộng
• n=4
16
Phép trừ
• n=4
17
Tràn số
• Tràn số xảy ra khi kết quả phép tính vượt quá độ chính xác giới hạn
cho phép (của máy tính).
• Dấu hiệu nhận biết tràn số đối với số không dấu:
– Nhớ ra 1 bit
– Ví dụ (số nguyên không dấu 4-bit):
+15 1111
+3 0011
+18 10010
– Nhưng không có chỗ để chứa cả 5 bit nên chỉ chứa kết quả 4 bit 0010,
là +2 à sai.
• Dấu hiệu nhận biết tràn số đối với số có dấu:
– Dương cộng dương ra kết quả âm và âm cộng âm ra kết quả dương
– Dương cộng âm và âm cộng dương không bao giờ cho kết quả tràn số
• Một số ngôn ngữ có khả năng phát hiện tràn số (Ada), một số không
(C)
18
Phép nhân – Số không dấu
19
Thuật toán nhân không dấu
20
Phép nhân – Số bù 2
• Tại sao ?
– Thừa số 2: 1100 ≠ - (23 + 22) (1100 = -22)
• Giải pháp 1
– Chuyển thừa số 2 thành số dương
– Nhân theo thuật toán nhân không dấu
– Nếu khác dấu, đổi dấu
• Giải pháp 2
– Thuật toán Booth
21
Thuật toán Booth – Ý tưởng
22
Positive
2n + 2n-1 + … + 2n-K = 2n+1 – 2n-K
M × (01111010) = M × (26 + 25 + 24 + 23 + 21)
= M × (27 - 23 + 22 - 21)
Negative
X = {111..10xk-1xk-2…x1x0}
-2n-1 + 2n-2 + … + 2k+1 + (xk-1 × 2k-1) + … + (x0 × 20)=
-2k+1 + (xk-1 × 2k-1) + … + (x0 × 20)
M × (11111010) = M × (-27 + 26 + 25 + 24 + 23 + 21)
= M × (-23 + 21)
= M × (-23 + 22 -21)
Thuật toán Booth – Cơ sở thuật toán
• Bước 0: A = (0 + (Q-1-Q0).M)
• Bước 1: A = (0 + (Q-1-Q0).M + (Q0-Q1).M.2)
= M.(Q-1-Q0 + Q0.2-Q1.2)
• Bước 2: A = (M.(Q-1-Q0 + Q0.2-Q1.2) + (Q1-Q2).M.22)
= M.(Q-1-Q0 + Q0.2-Q1.2 + Q1.22-Q2.22)
• Bước 3:
A = M.(Q-1-Q0 + Q0.2-Q1.2 + Q1.22-Q2.22 + Q2.23-Q3.23)
= M.(Q-1+Q0+Q1.2 + Q2.22-Q3.23)
• Bước n-1:
A = M.(Q-1+Q0+Q1.2 + Q2.22+Q3.23+…+Qn-2.2n-2-Qn-1.2n-1
Vì Q-1=0 và Qn-1 chính là bit xác định dấu nên phần trong
dấu ngoặc chính là Q. Vậy A = M.Q
23
Thuật toán Booth – Ví dụ
24
Phép chia – Số không dấu
25
Thương
(Quotient)
Số bị chia
(Dividend)
Phần dư
(Remainder)
Kết quả
trung gian
Partial
Remainders
Số chia
(Divisor)
Thuật toán chia không dấu
26
Phép chia – Số bù 2
27
• Thực hiện như
phép chia không
dấu
• Nếu số chia và
số bị chia khác
dấu à đổi dấu
thương
Bài tập
• Hãy trình bày phép nhân 2 số nguyên
(-127) × (-5)
• Hãy trình bày phép chia 2 số nguyên
(-7) / (-3)
28
Tham khảo
• Chương 3, P&H
29

More Related Content

What's hot

kiến trúc máy tính và hợp ngữ Bài 00
kiến trúc máy tính và hợp ngữ Bài 00kiến trúc máy tính và hợp ngữ Bài 00
kiến trúc máy tính và hợp ngữ Bài 00
Nhóc Nhóc
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04
Nhóc Nhóc
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
Khôi Nguyễn Đăng
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
kikihoho
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
Bùi Công Thành
 
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngmạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
Chia sẻ tài liệu học tập
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
Anh Ngoc Phan
 
Cau hoi thi ktmt&h h
Cau hoi thi ktmt&h hCau hoi thi ktmt&h h
Cau hoi thi ktmt&h h
Đức Sky
 
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tính
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tínhNgân hàng câu hỏi trắc nghiệm kiến trúc máy tính
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tính
kakalaxaxa
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
Hong Phuoc Nguyen
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
ptquang160492
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhCao Toa
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)lieu_lamlam
 
Chuong 05 transistor bjt
Chuong 05 transistor bjtChuong 05 transistor bjt
Chuong 05 transistor bjt
Jean Okio
 
Hệ thống thông tin
Hệ thống thông tinHệ thống thông tin
Hệ thống thông tin
vanphong20082002
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinhDong Van
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
www. mientayvn.com
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
viethung094
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
Phan Duy
 

What's hot (20)

kiến trúc máy tính và hợp ngữ Bài 00
kiến trúc máy tính và hợp ngữ Bài 00kiến trúc máy tính và hợp ngữ Bài 00
kiến trúc máy tính và hợp ngữ Bài 00
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04
 
Xử lý tín hiệu số
Xử lý tín hiệu sốXử lý tín hiệu số
Xử lý tín hiệu số
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
 
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngmạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
Cau hoi thi ktmt&h h
Cau hoi thi ktmt&h hCau hoi thi ktmt&h h
Cau hoi thi ktmt&h h
 
Lttt b11
Lttt b11Lttt b11
Lttt b11
 
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tính
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tínhNgân hàng câu hỏi trắc nghiệm kiến trúc máy tính
Ngân hàng câu hỏi trắc nghiệm kiến trúc máy tính
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tính
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
 
Chuong 05 transistor bjt
Chuong 05 transistor bjtChuong 05 transistor bjt
Chuong 05 transistor bjt
 
Hệ thống thông tin
Hệ thống thông tinHệ thống thông tin
Hệ thống thông tin
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
 

Viewers also liked

Kiến trúc máy tính và hợp ngữ bài 01
Kiến trúc máy tính và hợp ngữ bài 01Kiến trúc máy tính và hợp ngữ bài 01
Kiến trúc máy tính và hợp ngữ bài 01
Nhóc Nhóc
 
Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06
Nhóc Nhóc
 
Tinhtoannhiphan
TinhtoannhiphanTinhtoannhiphan
Tinhtoannhiphan
Tường Anh
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngDavid Nguyen
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
Nhóc Nhóc
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhHa Nguyen
 
Kiến trúc máy tính
Kiến trúc máy tínhKiến trúc máy tính
Kiến trúc máy tính
LE The Vinh
 
Giáo trình kiến trúc máy tính i chương 4 mạch logic số - tài liệu, ebook
Giáo trình kiến trúc máy tính i   chương 4  mạch logic số - tài liệu, ebookGiáo trình kiến trúc máy tính i   chương 4  mạch logic số - tài liệu, ebook
Giáo trình kiến trúc máy tính i chương 4 mạch logic số - tài liệu, ebook
Nguyễn Cảnh Sang
 
Question and Answer - ubuntu-vn - Idea
Question and Answer - ubuntu-vn - IdeaQuestion and Answer - ubuntu-vn - Idea
Question and Answer - ubuntu-vn - Idea
Le Kien Truc
 
Cổng logic
Cổng logicCổng logic
Cổng logic
www. mientayvn.com
 
50889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-401550889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-4015Trần Nhật Tân
 
Cấu tạo và nguyên lý hoạt động cpu
Cấu tạo và nguyên lý hoạt động cpuCấu tạo và nguyên lý hoạt động cpu
Cấu tạo và nguyên lý hoạt động cpubeu09vn
 
Ktmt chuong 4
Ktmt chuong 4Ktmt chuong 4
Ktmt chuong 4
Tùng Tò Mò
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
MasterCode.vn
 

Viewers also liked (15)

Kiến trúc máy tính và hợp ngữ bài 01
Kiến trúc máy tính và hợp ngữ bài 01Kiến trúc máy tính và hợp ngữ bài 01
Kiến trúc máy tính và hợp ngữ bài 01
 
Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06Kiến trúc máy tính và hợp ngữ bài 06
Kiến trúc máy tính và hợp ngữ bài 06
 
Tinhtoannhiphan
TinhtoannhiphanTinhtoannhiphan
Tinhtoannhiphan
 
KTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm ĐộngKTMT Số Nguyên - Số Chấm Động
KTMT Số Nguyên - Số Chấm Động
 
Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07Kiến trúc máy tính và hợp ngữ bài 07
Kiến trúc máy tính và hợp ngữ bài 07
 
Bài tập kiến trúc máy tính
Bài tập kiến trúc máy tínhBài tập kiến trúc máy tính
Bài tập kiến trúc máy tính
 
Kiến trúc máy tính
Kiến trúc máy tínhKiến trúc máy tính
Kiến trúc máy tính
 
Giáo trình kiến trúc máy tính i chương 4 mạch logic số - tài liệu, ebook
Giáo trình kiến trúc máy tính i   chương 4  mạch logic số - tài liệu, ebookGiáo trình kiến trúc máy tính i   chương 4  mạch logic số - tài liệu, ebook
Giáo trình kiến trúc máy tính i chương 4 mạch logic số - tài liệu, ebook
 
Question and Answer - ubuntu-vn - Idea
Question and Answer - ubuntu-vn - IdeaQuestion and Answer - ubuntu-vn - Idea
Question and Answer - ubuntu-vn - Idea
 
Cổng logic
Cổng logicCổng logic
Cổng logic
 
Cổng Logic
Cổng LogicCổng Logic
Cổng Logic
 
50889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-401550889261 ki-thuat-mach-dien-tu-7993-4015
50889261 ki-thuat-mach-dien-tu-7993-4015
 
Cấu tạo và nguyên lý hoạt động cpu
Cấu tạo và nguyên lý hoạt động cpuCấu tạo và nguyên lý hoạt động cpu
Cấu tạo và nguyên lý hoạt động cpu
 
Ktmt chuong 4
Ktmt chuong 4Ktmt chuong 4
Ktmt chuong 4
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
 

Similar to Kiến trúc máy tính và hợp ngữ bài 02

Chương 2_Official -E.pdf
Chương 2_Official -E.pdfChương 2_Official -E.pdf
Chương 2_Official -E.pdf
NhtAnhNguyn23
 
Chuong1
Chuong1Chuong1
Chuong1
saobang1606
 
Chuong 02 he thong so
Chuong 02 he thong soChuong 02 he thong so
Chuong 02 he thong so
Anh Ngoc Phan
 
Dientuso Sld
Dientuso SldDientuso Sld
Dientuso Sld
hoadktd
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptx
Cường Hồ
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptx
HTunCng
 
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
SP Tin K34
 
CHƯƠNG I_Lop10 bai2_THÔNG TIN VÀ DỮ LIỆU
CHƯƠNG I_Lop10  bai2_THÔNG TIN VÀ DỮ LIỆUCHƯƠNG I_Lop10  bai2_THÔNG TIN VÀ DỮ LIỆU
CHƯƠNG I_Lop10 bai2_THÔNG TIN VÀ DỮ LIỆU
SP Tin K34
 
Giai nhanh phuong phap tinh
Giai nhanh phuong phap tinhGiai nhanh phuong phap tinh
Giai nhanh phuong phap tinh
Pham Huy
 
Toan pt.de001.2010
Toan pt.de001.2010Toan pt.de001.2010
Toan pt.de001.2010
BẢO Hí
 
BỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATHBỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATH
DANAMATH
 
Ham so bac nhat - toán lớp 10 online
Ham so bac nhat - toán lớp 10 onlineHam so bac nhat - toán lớp 10 online
Ham so bac nhat - toán lớp 10 online
hai tran
 
Bai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinhBai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinh
linhhuynhk37sptin
 
To chuc-may-tinh
To chuc-may-tinhTo chuc-may-tinh
To chuc-may-tinh
Linh Nguyen
 
4 cac he_dem_dung_trong_tin_hoc
4 cac he_dem_dung_trong_tin_hoc4 cac he_dem_dung_trong_tin_hoc
4 cac he_dem_dung_trong_tin_hoc
toanpv1989
 
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tậpCấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
Nguyễn Sáu
 

Similar to Kiến trúc máy tính và hợp ngữ bài 02 (20)

Chương 2_Official -E.pdf
Chương 2_Official -E.pdfChương 2_Official -E.pdf
Chương 2_Official -E.pdf
 
Chuong1
Chuong1Chuong1
Chuong1
 
Chuong 02 he thong so
Chuong 02 he thong soChuong 02 he thong so
Chuong 02 he thong so
 
Dientuso Sld
Dientuso SldDientuso Sld
Dientuso Sld
 
Phan1 chuong1
Phan1 chuong1Phan1 chuong1
Phan1 chuong1
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptx
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptx
 
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
Lop10 _Chương1_ Bài 2 : Thông Tin Và Dữ Liệu
 
CHƯƠNG I_Lop10 bai2_THÔNG TIN VÀ DỮ LIỆU
CHƯƠNG I_Lop10  bai2_THÔNG TIN VÀ DỮ LIỆUCHƯƠNG I_Lop10  bai2_THÔNG TIN VÀ DỮ LIỆU
CHƯƠNG I_Lop10 bai2_THÔNG TIN VÀ DỮ LIỆU
 
Da toan d_2
Da toan d_2Da toan d_2
Da toan d_2
 
Giai nhanh phuong phap tinh
Giai nhanh phuong phap tinhGiai nhanh phuong phap tinh
Giai nhanh phuong phap tinh
 
Thdc 05
Thdc 05Thdc 05
Thdc 05
 
Toan pt.de001.2010
Toan pt.de001.2010Toan pt.de001.2010
Toan pt.de001.2010
 
BỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATHBỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATH
 
Ham so bac nhat - toán lớp 10 online
Ham so bac nhat - toán lớp 10 onlineHam so bac nhat - toán lớp 10 online
Ham so bac nhat - toán lớp 10 online
 
Bam may
Bam mayBam may
Bam may
 
Bai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinhBai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinh
 
To chuc-may-tinh
To chuc-may-tinhTo chuc-may-tinh
To chuc-may-tinh
 
4 cac he_dem_dung_trong_tin_hoc
4 cac he_dem_dung_trong_tin_hoc4 cac he_dem_dung_trong_tin_hoc
4 cac he_dem_dung_trong_tin_hoc
 
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tậpCấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
Cấp tốc chinh phục đề thi trắc nghiệm môn toán - chuyên đề đại số - Phần Bài tập
 

More from Nhóc Nhóc

Hướng dẫn giải bài tập Đại Số Tuyến Tính
Hướng dẫn giải bài tập Đại Số Tuyến TínhHướng dẫn giải bài tập Đại Số Tuyến Tính
Hướng dẫn giải bài tập Đại Số Tuyến Tính
Nhóc Nhóc
 
Pc magazine january 2015 usa
Pc magazine   january 2015  usaPc magazine   january 2015  usa
Pc magazine january 2015 usa
Nhóc Nhóc
 
Teach yourself photoshop 2014
Teach yourself photoshop   2014Teach yourself photoshop   2014
Teach yourself photoshop 2014
Nhóc Nhóc
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bản
Nhóc Nhóc
 
Cơ bản về tcp ip
Cơ bản về tcp ipCơ bản về tcp ip
Cơ bản về tcp ip
Nhóc Nhóc
 
10 Command Line quan trọng để giao tiếp với Cisco IOs
10 Command Line quan trọng để giao tiếp với Cisco IOs10 Command Line quan trọng để giao tiếp với Cisco IOs
10 Command Line quan trọng để giao tiếp với Cisco IOs
Nhóc Nhóc
 
Computer World - April 21 2014
Computer World - April 21 2014Computer World - April 21 2014
Computer World - April 21 2014
Nhóc Nhóc
 

More from Nhóc Nhóc (7)

Hướng dẫn giải bài tập Đại Số Tuyến Tính
Hướng dẫn giải bài tập Đại Số Tuyến TínhHướng dẫn giải bài tập Đại Số Tuyến Tính
Hướng dẫn giải bài tập Đại Số Tuyến Tính
 
Pc magazine january 2015 usa
Pc magazine   january 2015  usaPc magazine   january 2015  usa
Pc magazine january 2015 usa
 
Teach yourself photoshop 2014
Teach yourself photoshop   2014Teach yourself photoshop   2014
Teach yourself photoshop 2014
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bản
 
Cơ bản về tcp ip
Cơ bản về tcp ipCơ bản về tcp ip
Cơ bản về tcp ip
 
10 Command Line quan trọng để giao tiếp với Cisco IOs
10 Command Line quan trọng để giao tiếp với Cisco IOs10 Command Line quan trọng để giao tiếp với Cisco IOs
10 Command Line quan trọng để giao tiếp với Cisco IOs
 
Computer World - April 21 2014
Computer World - April 21 2014Computer World - April 21 2014
Computer World - April 21 2014
 

Kiến trúc máy tính và hợp ngữ bài 02

  • 1. Bài 02: Số nguyên Phạm Tuấn Sơn ptson@fit.hcmus.edu.vn
  • 2. Hệ cơ số 10 • A = 123 = 100 + 20 + 3 = 1×102 + 2×101 + 3×100 • Tổng quát số hệ cơ số q Xn-1…X1X0 = Xn-1×qn-1 + … + X1×q1 + X0×q0 Mỗi chữ số Xi lấy từ tập X có q phần tử • q=2, X={0,1} : hệ nhị phân (binary) • q=8, X={0,1,2,..7} : hệ bát phân (octal) • q=10, X={0,1,2,…9} : hệ thập phân (decimal) • q=16, X={0,1,2,..9,A,B,..F} : hệ thập lục phân (hexadecimal) A = 123d = 01111011b = 173o = 7Bh 2
  • 3. Hệ nhị phân Xn-1…X1X0 , X={0,1} • Được dùng nhiều trong máy tính. Tại sao ? • n gọi là chiều dài bit của số đó • Bit trái nhất Xn-1 là bit có giá trị nhất (MSB) • Bit phải nhất X0 là bit ít có giá trị nhất (LSB) • Giá trị thập phân: Xn-1×2n-1 + … + X1×21 + X0×20 Phạm vi biểu diễn: từ 0 đến 2n-1 • Để chuyển đổi sang hệ 16, chỉ cần gom từng nhóm 4 bit từ phải sang trái • Ví dụ: A = 01111011b = 7 B h 3 0000 – 0 1000 – 8 0001 – 1 1001 – 9 0010 – 2 1010 – A 0011 – 3 1011 – B 0100 – 4 1100 – C 0101 – 5 1101 – D 0110 – 6 1110 – E 0111 – 7 1111 – F
  • 4. Bits có thể biễu diễn mọi thứ ! • Ký tự? – 26 ký tự ⇒ 5 bits (25 = 32) – Ký tự hoa/ thường + dấu ⇒ 7 bits (in 8) (“ASCII”) – Bảng mã chuẩn cho tất cả ngôn ngữ trên thế giới ⇒ 8,16,32 bits (“Unicode”) www.unicode.com • Giá trị luận lý (logic)? – 0 ⇒ False, 1 ⇒ True • Màu sắc ? Ví dụ: • Địa chỉ ? Lệnh ? • Bộ nhớ: N bits ⇔ 2N ô nhớ 4 Red (00) Green (01) Blue (11)
  • 5. Biểu diễn số âm • Số không dấu (unsigned number) • Lượng dấu (sign and magnitude) – Qui định MSB là dấu 0 à + 1 à – • Bù 1 (One’s Complement) – Lấy bit bù 5 00000 00001 01111... 10000 11111... Binary odometer 00000 00001 01111... 100001000111111 ... Binary odometer 00000 00001 01111... 111111111010000 ... Binary odometer 0x00000000 và 0x80000000 ??? 0x00000000 và 0xFFFFFFFF ??? Phạm vi biễu diễn
  • 6. Số bù 2 • Khắc phục vấn đề có 2 biểu diễn số 0 khác nhau? – 0000 và 1111 ? – Lấy bù rồi cộng thêm 1 • Như số lượng dấu và số bù 1, số bắt đầu bằng 0 là số dương, số bắt đầu bằng 1 là số âm – 000000...xxx : ≥ 0, 111111...xxx : < 0 – 1…1111 là -1, không phải -0 (như số bù 1) • Giá trị thập phân của biểu diễn dạng bù 2 Xn-1×(-2n-1) + Xn-2×(2n-2) + … + X1×21 + X0×20 Phạm vi biểu diễn: từ -2n-1 tới 2n-1 – 1 Ví dụ: 11010110 = -27 + 26 + 24 + 22 + 21 = -42 6
  • 7. Ví dụ số bù 2 +123 = 01111011b -123 = 10000101b 0 = 00000000b -1 = 11111111b -2 = 11111110b -3 = 11111101b -127 = 10000001b -128 = 10000000b 7 Đổi dấu: -3 à +3 à -3 x : 1101 b x’: 0010 b +1: 0011 b ()’: 1100 b +1: 1101 b
  • 8. Phạm vi biểu diễn số bù 2 8
  • 9. • Chuyển số bù 2 từ biểu diễn n bit thành biểu diễn m bit (với m>n) • Giá trị của các bít từ n+1 tới m là giá trị của MSB –Chuyển giá trị -4 từ biểu diễn16-bit thành biểu diễn 32-bit: 1111 1111 1111 1100two 1111 1111 1111 1111 1111 1111 1111 1100two Sign extension
  • 10. Biểu diễn Bias số N=5 bit 10 • Bias cho số N bits là (2N-1-1) • Giá trị = unsigned - bias • 1 số zero • Bao nhiêu số dương? 00000 00001 01111 ... 111111111010000 ... Binary odometer 00000 00001 00010 11111 11110 10000 0111110001 -15-14 -13 1615 2 1 0 . . . . . . 14 11101 13 11100 01110 -1 01110
  • 11. AND, OR, NOT, XOR 11
  • 12. 12 • Nhận xét: bit nào and với 0 sẽ ra 0, and với 1 sẽ ra chính nó. • Phép and được sử dụng để giữ lại giá trị 1 số bít, trong khi xóa tất cả các bit còn lại. Bit nào cần giữ giá trị thì and với 1, bit nào không quan tam thì and với 0. Dãy bit có vai trò này gọi là mặt nạ (mask). – Ví dụ: ‘a’ (61h) 0110 0001 1101 1111 – Kết quả sau khi thực hiện and: ‘A’ (41h) 0100 0001 – Ý nghĩa: chuyển từ ký tự thường sang ký tự hoa Mask (DFh) Sử dụng phép AND
  • 13. 13 Sử dụng các phép OR • Nhận xét: bit nào or với 1 sẽ ra 1, or với 0 sẽ ra chính nó. • Phép or được sử dụng để bật lên 1 số bít, trong khi giữa nguyên giá trị tất cả các bit còn lại. Bit nào cần bật lên thì or với 1, bit nào không quan tâm thì or với 0. – Ví dụ: 1 (01h) 0000 0001 0011 0000 – Kết quả sau khi thực hiện or: ‘1’ (31h) 0100 0001 – Ý nghĩa: chuyển từ số sang ký tự số Mask (30h)
  • 14. Phép dịch bit và phép quay 14 Input Operation Result 01010101 (85) Logical right shift (2 bits) 00010101 (21 = 85/22) 01010101 (85) Logical left shift (1 bit) 10101010 (170 = 85*21) 11101010 (-22) Arithmetic right shift (2 bits) 11111010 -6=(-22)/22 11101010 (-22) Arithmetic left shift (1 bits) 11010100 -44=(-22)*21 10100110 Right rotate (3 bits) 11010100 10100110 Left rotate (3 bits) 00110101
  • 18. Tràn số • Tràn số xảy ra khi kết quả phép tính vượt quá độ chính xác giới hạn cho phép (của máy tính). • Dấu hiệu nhận biết tràn số đối với số không dấu: – Nhớ ra 1 bit – Ví dụ (số nguyên không dấu 4-bit): +15 1111 +3 0011 +18 10010 – Nhưng không có chỗ để chứa cả 5 bit nên chỉ chứa kết quả 4 bit 0010, là +2 à sai. • Dấu hiệu nhận biết tràn số đối với số có dấu: – Dương cộng dương ra kết quả âm và âm cộng âm ra kết quả dương – Dương cộng âm và âm cộng dương không bao giờ cho kết quả tràn số • Một số ngôn ngữ có khả năng phát hiện tràn số (Ada), một số không (C) 18
  • 19. Phép nhân – Số không dấu 19
  • 20. Thuật toán nhân không dấu 20
  • 21. Phép nhân – Số bù 2 • Tại sao ? – Thừa số 2: 1100 ≠ - (23 + 22) (1100 = -22) • Giải pháp 1 – Chuyển thừa số 2 thành số dương – Nhân theo thuật toán nhân không dấu – Nếu khác dấu, đổi dấu • Giải pháp 2 – Thuật toán Booth 21
  • 22. Thuật toán Booth – Ý tưởng 22 Positive 2n + 2n-1 + … + 2n-K = 2n+1 – 2n-K M × (01111010) = M × (26 + 25 + 24 + 23 + 21) = M × (27 - 23 + 22 - 21) Negative X = {111..10xk-1xk-2…x1x0} -2n-1 + 2n-2 + … + 2k+1 + (xk-1 × 2k-1) + … + (x0 × 20)= -2k+1 + (xk-1 × 2k-1) + … + (x0 × 20) M × (11111010) = M × (-27 + 26 + 25 + 24 + 23 + 21) = M × (-23 + 21) = M × (-23 + 22 -21)
  • 23. Thuật toán Booth – Cơ sở thuật toán • Bước 0: A = (0 + (Q-1-Q0).M) • Bước 1: A = (0 + (Q-1-Q0).M + (Q0-Q1).M.2) = M.(Q-1-Q0 + Q0.2-Q1.2) • Bước 2: A = (M.(Q-1-Q0 + Q0.2-Q1.2) + (Q1-Q2).M.22) = M.(Q-1-Q0 + Q0.2-Q1.2 + Q1.22-Q2.22) • Bước 3: A = M.(Q-1-Q0 + Q0.2-Q1.2 + Q1.22-Q2.22 + Q2.23-Q3.23) = M.(Q-1+Q0+Q1.2 + Q2.22-Q3.23) • Bước n-1: A = M.(Q-1+Q0+Q1.2 + Q2.22+Q3.23+…+Qn-2.2n-2-Qn-1.2n-1 Vì Q-1=0 và Qn-1 chính là bit xác định dấu nên phần trong dấu ngoặc chính là Q. Vậy A = M.Q 23
  • 24. Thuật toán Booth – Ví dụ 24
  • 25. Phép chia – Số không dấu 25 Thương (Quotient) Số bị chia (Dividend) Phần dư (Remainder) Kết quả trung gian Partial Remainders Số chia (Divisor)
  • 26. Thuật toán chia không dấu 26
  • 27. Phép chia – Số bù 2 27 • Thực hiện như phép chia không dấu • Nếu số chia và số bị chia khác dấu à đổi dấu thương
  • 28. Bài tập • Hãy trình bày phép nhân 2 số nguyên (-127) × (-5) • Hãy trình bày phép chia 2 số nguyên (-7) / (-3) 28