ݺߣ

ݺߣShare 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 (20)

Ktmt chuong 4
Ktmt chuong 4Ktmt chuong 4
Ktmt chuong 4
Tùng Tò Mò
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
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
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
The Nguyen Manh
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
Đạ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
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03
Nhóc Nhóc
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
AskSock Ngô Quang Đạo
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
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
leemindinh
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Hưởng Nguyễn
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
Tùng Tò Mò
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
Long Kingnam
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
Nhóc Nhóc
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
Hoat Thai Van
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinder
hoamonkhach
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
kikihoho
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tin
akprovip
biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)
Bui Loi
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
Thanh Hoa
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
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
The Nguyen Manh
Đạ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
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03
Nhóc Nhóc
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
AskSock Ngô Quang Đạo
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
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
leemindinh
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Hưởng Nguyễn
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
Long Kingnam
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
Nhóc Nhóc
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
Hoat Thai Van
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinder
hoamonkhach
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
kikihoho
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tin
akprovip
biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)biến đổi ma trận ( Transformation matrix)
biến đổi ma trận ( Transformation matrix)
Bui Loi
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
Thanh Hoa

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
Nhóc Nhó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
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 Động
David 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
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-4015
Trầ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 cpu
beu09vn
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
Cao Toa
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
Dong 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 FPT
MasterCode.vn
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 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
Nhó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 Động
David 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
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
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
Trầ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 cpu
beu09vn
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
Cao Toa
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
Dong 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 FPT
MasterCode.vn

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
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
Chuong1_TongQuanMayTinh la dnndjjen.pptx
Chuong1_TongQuanMayTinh la dnndjjen.pptxChuong1_TongQuanMayTinh la dnndjjen.pptx
Chuong1_TongQuanMayTinh la dnndjjen.pptx
thien272813
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
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 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
Chương 2_Official -E.pdf
Chương 2_Official -E.pdfChương 2_Official -E.pdf
Chương 2_Official -E.pdf
NhtAnhNguyn23
Nhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptxNhom 10 - Tuan 4.pptx
Nhom 10 - Tuan 4.pptx
HTunCng
Chuong1_TongQuanMayTinh la dnndjjen.pptx
Chuong1_TongQuanMayTinh la dnndjjen.pptxChuong1_TongQuanMayTinh la dnndjjen.pptx
Chuong1_TongQuanMayTinh la dnndjjen.pptx
thien272813
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
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 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
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

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

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