You are on page 1of 14

Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Kiến trúc máy tính Nội dung học phần

„ Chương 1. Giới thiệu chung


„ Chương
g 2. Cơ bản về logic
g số
Chương 2
Ch „ Chương 3. Hệ thống máy tính
CƠ BẢN VỀ LOGIC SỐ „ Chương 4. Kiến trúc tập lệnh
„ Chương 5. Số học máy tính
„ Chương 6. Bộ xử lý
„ Chương 7. Bộ nhớ
Nguyễn Kim Khánh „ Chương 8. Vào-ra
Trường Đại học Bách khoa Hà Nội
„ Chương 9. Kiến trúc máy tính tiên tiến

10 January 2011 IT3030 1 10 January 2011 IT3030 2

NKK-HUT NKK-HUT

Nội dung của chương 2 2.1. Các hệ đếm cơ bản

„ Hệ thập phân (Decimal System)


2.1.
2 1 Các hệ đếm cơ bản
Æ con người sử dụng
2.2. Đại số Boole
„ Hệ nhị phân (Binary System)
2.3. Cổng logic
2.4. Mạch tổ hợp Æ máy tính sử dụng
ạ dãyy
2.5. Mạch „ Hệ mười sáu (Hexadecimal System)
Æ dùng để viết gọn cho số nhị phân

10 January 2011 IT3030 3 10 January 2011 IT3030 4

Nguyễn Kim Khánh - ĐHBKHN 1


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

1. Hệ thập phân Dạng tổng quát của số thập phân

„ Cơ số 10 A = a n a n −1 ... a1 a 0 , a −1 ... a − m
„ 10 chữ số: 0,1,2,3,4,5,6,7,8,9
0123456789
Giá trị của A được hiểu
ể như sau:
„ Dùng n chữ số thập phân có thể biểu diễn
được 10n giá trị khác nhau:
A = a n 10 n + a n −110 n −1 + ... + a1101 + a 0 10 0 + a −110 −1 + ... + a − m 10 − m
„ 00...000 = 0
„ 99...999 = 10n - 1
n
A = ∑ a 10
i =− m
i
i

10 January 2011 IT3030 5 10 January 2011 IT3030 6

NKK-HUT NKK-HUT

Ví dụ số thập phân 2. Hệ nhị phân

472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2 „ Cơ số 2


„ Các chữ số của phần nguyên: „ 2 chữ số nhị phân: 0 và 1
„ 472 : 10 = 47 dư 2 „ chữ số nhị phân gọi là bit (binary digit)
„ 47 : 10 = 4 dư 7 „ Bit là đơn vị thông tin nhỏ nhất
„ 4 : 10 = 0 dư 4 „ Dùng n bit có thể biểu diễn được 2n giá trị
khác nhau:
„ Cá chữ
Các hữ số
ố của
ủ phần
hầ lẻ:
lẻ „ 00...000
00 000 = 0
„ 0.38 x 10 = 3.8 phần nguyên = 3 „ 11...111 = 2n - 1

„ 0.8 x 10 = 8.0 phần nguyên = 8

10 January 2011 IT3030 7 10 January 2011 IT3030 8

Nguyễn Kim Khánh - ĐHBKHN 2


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Dạng tổng quát của số nhị phân Ví dụ số nhị phân

Có một số nhị phân A như sau: 1101001.1011(2) =


6 5 4 3 2 1 0 -1 -2 -3 -4
A = a n a n −1 ... a1 a 0 , a −1 ... a − m
= 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4
Giá trị của A được tính như sau:
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
n −1 −1 −m
A = a n 2 + a n −1 2
n
+ ... + a1 2 + a 0 2 + a −1 2 + ... + a − m 2
1 0

n
= 105.6875(10)
A = ∑a 2
i =− m
i
i

10 January 2011 IT3030 9 10 January 2011 IT3030 10

NKK-HUT NKK-HUT

Chuyển đổi số nguyên thập phân sang nhị phân Phương pháp chia dần cho 2

„ Ví dụ: chuyển đổi 105(10)


105 : 2 = 52 dư 1
„ Phương pháp 1: chia dần cho 2 rồi lấy „

52 : 2 = 26 dư 0
phần dư „

„ 26 : 2 = 13 dư 0
„ Phương pháp 2: Phân tích thành tổng „ 13 : 2 = 6 dư 1
của các số 2i Æ nhanh hơn „ 6:2 = 3 dư 0
„ 3:2 = 1 dư 1
„ 1:2 = 0 dư 1
„ Kết quả: 105(10) = 1101001(2)

10 January 2011 IT3030 11 10 January 2011 IT3030 12

Nguyễn Kim Khánh - ĐHBKHN 3


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Phương pháp phân tích thành tổng của các 2i Chuyển đổi số lẻ thập phân sang nhị phân
„ Ví dụ 1: chuyển đổi 105(10)
6 5 3
„ 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2
0 „ Ví dụ 1: chuyển đổi 0.6875(10)
„ 0.6875 x 2 = 1.375 phần nguyên = 1
27 26 25 24 23 22 21 20
„ 0.375 x 2 = 0.75 phần nguyên = 0
128 64 32 16 8 4 2 1
0 1 1 0 1 0 0 1 „ 0.75 x 2 = 1.5 phần nguyên = 1
„ 0.5 x 2 = 1.0 phần nguyên = 1
„ Kết quả: 105(10) = 0110 1001(2)
„ Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
„ Kết quả : 0.6875(10)= 0.1011(2)
= 214 + 29 + 26 + 25 + 23
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

10 January 2011 IT3030 13 10 January 2011 IT3030 14

NKK-HUT NKK-HUT

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)

„ Ví dụ 2: chuyển đổi 0.81(10) „ Ví dụ 3: chuyển đổi 0.2(10)


„ 0.81 x 2 = 1.62 phần nguyên = 1 „ 0.2 x2 = 0.4 phần nguyên = 0
„ 0.62 x 2 = 1.24 phần nguyên = 1 „ 0.4 x2 = 0.8 phần
ầ nguyên = 0
„ 0.8 x2 = 1.6 phần nguyên = 1
„ 0.24 x 2 = 0.48 phần nguyên = 0
„ 0.6 x2 = 1.2 phần nguyên = 1
„ 0.48 x 2 = 0.96 phần nguyên = 0
„ 0.2 x2 = 0.4 phần nguyên = 0
„ 0.96 x 2 = 1.92 phần nguyên = 1
„ 0.4 x2 = 0.8 phần nguyên = 0
„ 0.92 x 2 = 1.84 phần nguyên
p g y = 1
„ 08
0.8 x2 = 16
1.6 phần ng
nguyên
ên = 1
„ 0.84 x 2 = 1.68 phần nguyên = 1 „ 0.6 x2 = 1.2 phần nguyên = 1
„ 0.81(10) ≈ 0.1100111(2)
„ 0.2(10) ≈ 0.00110011 (2)

10 January 2011 IT3030 15 10 January 2011 IT3030 16

Nguyễn Kim Khánh - ĐHBKHN 4


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

3. Hệ mười sáu (Hexa) Quan hệ giữa số nhị phân và số Hexa


4-bit Chữ số Hexa
0000 0 Ví dụ chuyển đổi số nhị phân Æ số Hexa:
„ Cơ số 16 0001 1
„ 1011 00112 = B316
„ 16 chữ số: 0,1,2,3,4,5,6,7,8,9,
0 1 2 3 4 5 6 7 8 9 A,B,C,D,E,F
ABCDEF 0010 2
0011 3 „ 0000 00002 = 0016
„ Dùng để viết gọn cho số nhị phân: cứ một 0100 4

nhóm 4-bit sẽ được thay bằng một chữ số 0101 5


„ 0010 1101 1001 10102 = 2D9A16
0110 6
Hexa 0111 7
„ 1111 1111 1111 11112 = FFFF16
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
10 January 2011 IT3030 17 10 January 2011 IT3030 18

NKK-HUT NKK-HUT

2.2. Đại số Boole 2.2. Đại số Boole

„ Đại số Boole sử dụng các biến logic và phép „ Các phép toán NAND, NOR, XOR:
toán logic
„ A NAND B : A•B
AB
„ Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0
„ A NOR B : A + B
(FALSE)
„ A XOR B: A ⊕ B = A • B + A • B
„ Phép toán logic cơ bản là AND, OR và NOT
với ký hiệu như sau:
„ A AND B : A•B
„ A OR B : A+B
„ NOT A : A
„ Thứ tự ưu tiên: NOT > AND > OR

10 January 2011 IT3030 19 10 January 2011 Bài giảng Kiến


IT3030
trúc máy tính 20

Nguyễn Kim Khánh - ĐHBKHN 5


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Phép toán đại số Boole Các đồng nhất thức của đại số Boole
P Q P P.Q P+Q A• B=B•A A+B =B+A
0 0 1 0 0 A • (B + C) = (A • B) + (A • C) A + (B • C) = (A + B) • ( A + C)
0 1 1 0 1 1•A=A 0+A=A
1 0 0 0 1 A•A= 0 A+A= 1
1 1 0 1 1
0•A=0 1+A=1
P Q P⊕Q P.Q P+Q A•A=A A+A=A
0 0 0 1 1 A • (B • C) = (A • B) • C A + (B + C) = (A + B) + C
0 1 1 1 0 A • B = A + B (Định lý De A + B = A • B (Định lý De
Morgan) Morgan)
1 0 1 1 0
1 1 0 0 0
10 January 2011 IT3030 21 10 January 2011 IT3030 22

NKK-HUT NKK-HUT

2.3. Các cổng logic (Gate) Các cổng logic (tiếp)


„ Các cổng
„ Các cổng cơ bản „ NAND
„ AND „ NOR
„ OR „ XOR
„ NOT
„ Chức năng có thể
biểu diễn bằng bảng
thật (truth table)

10 January 2011 IT3030 23 10 January 2011 IT3030 24

Nguyễn Kim Khánh - ĐHBKHN 6


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Tập đầy đủ Sử dụng cổng NAND


„ Là tập các cổng có thể thực hiện được
bất kỳ hàm logic nào từ các cổng của
tậ đó
tập đó.
„ Một số ví dụ về tập đầy đủ:
„ {AND, OR, NOT}
„ {AND, NOT}
„ {OR NOT}
{OR,
„ {NAND}
„ {NOR}

10 January 2011 IT3030 25 10 January 2011 IT3030 26

NKK-HUT NKK-HUT

Sử dụng cổng NOR Một số ví dụ vi mạch logic

10 January 2011 IT3030 27 10 January 2011 IT3030 28

Nguyễn Kim Khánh - ĐHBKHN 7


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Hàm logic 2.4. Mạch tổ hợp


„ Hàm logic có thể được biểu diễn theo „ Mạch tổ hợp là mạch logic trong đó tín
một vài cách: hiệu ra chỉ phụ thuộc tín hiệu vào ở thời
„ Bảng thật (Truth table) điể hiện
điểm hiệ tại.
t i
„ Bìa Cac-nô „ Là mạch không nhớ và được thực hiện
„ Biểu thức logic bằng các cổng logic cơ bản
„ Dạng sơ đồ „ Mạch tổ hợp có thể được định nghĩa
theo ba cách:
„ Bảng thật
„ Dạng sơ đồ
„ Phương trình Boole
10 January 2011 IT3030 29 10 January 2011 IT3030 30

NKK-HUT NKK-HUT

Bộ dồn kênh (Multiplexer-MUX) Multiplexer (tiếp)


Thực hiện MUX bốn đầu vào dữ liệu
„ Multiplexer
4-data input MUX
„ 2n đầu vào dữ liệu

„ n đầu vào chọn
„ 1 đầu ra

„ Đầu vào chọn (S)


xác định đầu vào
nào (I) sẽ được
nối với đầu ra.

10 January 2011 IT3030 31 10 January 2011 IT3030 32

Nguyễn Kim Khánh - ĐHBKHN 8


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Bộ phân kênh (Demultiplexer – DeMUX) Bộ giải mã (Decoder)


„ Bộ giải mã chọn một đầu ra tương ứng với một tổ hợp
của N đầu vào.

10 January 2011 IT3030 33 10 January 2011 IT3030 34

NKK-HUT NKK-HUT

Bộ giải mã (tiếp) Bộ giải mã 74LS139

10 January 2011 IT3030 35 10 January 2011 IT3030 36

Nguyễn Kim Khánh - ĐHBKHN 9


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Bộ mã hóa (Encoder) Bộ cộng (Adder)

„ Bộ bán tổng (Half-adder)


„ Cộng
ộ g hai bit tạo
ạ ra bit tổng
g và bit nhớ
„ Bộ toàn tổng (Full-adder)
„ Cộng 3 bit
„ Cho phép xây dựng bộ cộng N-bit

10 January 2011 IT3030 37 10 January 2011 IT3030 38

NKK-HUT NKK-HUT

Bộ cộng (tiếp) Bộ cộng 16-bit

A 16-bit ripple-carry adder

10 January 2011 IT3030 39 10 January 2011 IT3030 40

Nguyễn Kim Khánh - ĐHBKHN 10


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

2.5. Mạch dãy Các thành phần chính của mạch dãy
„ Mạch dãy là mạch logic trong đó tín
hiệu ra phụ thuộc tín hiệu vào ở hiện tại

à quáá khứ
„ Là mạch có nhớ, được thực hiện bằng
phần tử nhớ (Latch, Flip-Flop) và có thể
kết hợp với các cổng logic cơ bản
„ Mạch dãy bao gồm:
„ Mạch tổ hợp
„ Mạch hồi tiếp

10 January 2011 IT3030 41 10 January 2011 IT3030 42

NKK-HUT NKK-HUT

Chốt (Latch) Chốt (tiếp)


„ Có khả năng nhớ bit

10 January 2011 IT3030 43 10 January 2011 IT3030 44

Nguyễn Kim Khánh - ĐHBKHN 11


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

D Latch Flip-Flops
„ D Latch (đồng bộ theo mức) „ D Flip-Flop (Đồng bộ theo sườn)
„ Tránh tổ hợp SR = 11 (Flip-Flop D đồng bộ theo sườn dương)

10 January 2011 IT3030 45 10 January 2011 IT3030 46

NKK-HUT NKK-HUT

Flip-Flops (tiếp) JK Flip-Flop

Latches Flip-flops
J K Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 Qn
Low level High level Positive edge Negative edge

10 January 2011 IT3030 47 10 January 2011 IT3030 48

Nguyễn Kim Khánh - ĐHBKHN 12


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Ví dụ chip Thanh ghi dịch


D latches JK flip-flops Có chức năng lưu trữ và dịch số liệu

10 January 2011 IT3030 49 10 January 2011 IT3030 50

NKK-HUT NKK-HUT

Chip thanh ghi Bộ đếm


„ Bộ đếm nhị phân
74164 shift „ Thiết kế đơn giản
Register chip „ B bits có thể đếm từ 0 đến 2B−1
„ Bộ đếm không đồng bộ (Ripple counter)
„ Bộ đếm đồng bộ

10 January 2011 IT3030 51 10 January 2011 IT3030 52

Nguyễn Kim Khánh - ĐHBKHN 13


Bài giảng Kiến trúc máy tính 10 January 2011

NKK-HUT NKK-HUT

Ví dụ bộ đếm không đồng bộ (ripple counter) Ví dụ bộ đếm đồng bộ

LSB
„ Được thiết kế dựa trên nguyên tắc sau:
„ Thay đổi đầu ra nếu bit đếm trước đó là 1
„ Q1 thay đổi khi Q0 = 1
A modulo-8 „ Q2 thay đổi khi Q1Q0 = 11

binary ripple
counter

10 January 2011 IT3030 53 10 January 2011 IT3030 54

NKK-HUT

Hết chương 2

10 January 2011 IT3030 55

Nguyễn Kim Khánh - ĐHBKHN 14

You might also like