SlideShare une entreprise Scribd logo
1  sur  29
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

Contenu connexe

Tendances

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 04Nhóc Nhóc
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logicAnh Ngoc Phan
 
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ườngChia sẻ tài liệu học tập
 
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
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐỗ Đức Hùng
 
Tính toán khoa học - Chương 4: Giải phương trình phi tuyến
Tính toán khoa học - Chương 4: Giải phương trình phi tuyếnTính toán khoa học - Chương 4: Giải phương trình phi tuyến
Tính toán khoa học - Chương 4: Giải phương trình phi tuyếnChien Dang
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Nhóc Nhóc
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXLThân Khương
 
Xu lý tín hiệu số
Xu lý tín hiệu sốXu lý tín hiệu số
Xu lý tín hiệu sốHao Truong
 
đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )Bui Loi
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
Các loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptuneCác loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptune給与 クレジット
 

Tendances (20)

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
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
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
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
 
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)
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Kỹ thuật số
Kỹ thuật sốKỹ thuật số
Kỹ thuật số
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
 
Tính toán khoa học - Chương 4: Giải phương trình phi tuyến
Tính toán khoa học - Chương 4: Giải phương trình phi tuyếnTính toán khoa học - Chương 4: Giải phương trình phi tuyến
Tính toán khoa học - Chương 4: Giải phương trình phi tuyến
 
Chuong04
Chuong04Chuong04
Chuong04
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Đồng dư thức
Đồng dư thứcĐồng dư thức
Đồng dư thức
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08
 
Ktmt chuong 2
Ktmt chuong 2Ktmt chuong 2
Ktmt chuong 2
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXL
 
Xu lý tín hiệu số
Xu lý tín hiệu sốXu lý tín hiệu số
Xu lý tín hiệu số
 
đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
Các loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptuneCác loại mã đường truyền và ứng dụng neptune
Các loại mã đường truyền và ứng dụng neptune
 
Lttt b11
Lttt b11Lttt b11
Lttt b11
 

En vedette

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 01Nhó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 06Nhóc Nhóc
 
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 07Nhó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ínhLE 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, ebookNguyễ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 - IdeaLe Kien Truc
 
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
 
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
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinhDong Van
 
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 FPTMasterCode.vn
 

En vedette (17)

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
 
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
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
 
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
 

Similaire à 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.pdfNhtAnhNguyn23
 
Chuong 02 he thong so
Chuong 02 he thong soChuong 02 he thong so
Chuong 02 he thong soAnh Ngoc Phan
 
Dientuso Sld
Dientuso SldDientuso Sld
Dientuso Sldhoadktd
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxHTunCng
 
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxCường Hồ
 
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ỆUSP Tin K34
 
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
 
Giai nhanh phuong phap tinh
Giai nhanh phuong phap tinhGiai nhanh phuong phap tinh
Giai nhanh phuong phap tinhPham Huy
 
Toan pt.de001.2010
Toan pt.de001.2010Toan pt.de001.2010
Toan pt.de001.2010BẢO Hí
 
BỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATHBỘ ĐỀ THI QUỐC GIA DANAMATH
BỘ ĐỀ THI QUỐC GIA DANAMATHDANAMATH
 
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 onlinehai tran
 
Bai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinhBai02thongtinvadulieu_HuynhThiThuyLinh
Bai02thongtinvadulieu_HuynhThiThuyLinhlinhhuynhk37sptin
 
To chuc-may-tinh
To chuc-may-tinhTo chuc-may-tinh
To chuc-may-tinhLinh 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_hoctoanpv1989
 
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ậpNguyễn Sáu
 

Similaire à 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
 
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
 
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
 
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
 

Plus de 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ínhNhóc Nhóc
 
Pc magazine january 2015 usa
Pc magazine   january 2015  usaPc magazine   january 2015  usa
Pc magazine january 2015 usaNhóc Nhóc
 
Teach yourself photoshop 2014
Teach yourself photoshop   2014Teach yourself photoshop   2014
Teach yourself photoshop 2014Nhóc Nhóc
 
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 00Nhó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ảnNhó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 ipNhó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 IOsNhóc Nhóc
 
Computer World - April 21 2014
Computer World - April 21 2014Computer World - April 21 2014
Computer World - April 21 2014Nhóc Nhóc
 

Plus de Nhóc Nhóc (8)

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
 
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
 
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