Giáo trình Kiến trúc máy tính 2

MỤC LỤC

MỤC LỤC.2

CHƯƠNG 1: CẤU TRÚC CƠ BẢN CỦA PHẦN CỨNG & PHẦN MỀM MÁY TÍNH

.4

1.1 CÁC THÀNH PHẦN CỦA MÁY TÍNH.4

a) Thiết bị nhập (input device).5

b) Bộ nhớ (memory).5

c) Bộ logic và số học (Arithmetic and logic unit - ALU).6

d) Thiết bị ra (output device).7

e) Bộ điều khiển (control unit - CU).7

1.2 HOẠT ĐỘNG CỦA MÁY TÍNH.7

1.3 CẤU TRÚC BUS.10

1.4 PHẦN MỀM (SOFTWARE).11

1.5 ĐẶC TRƯNG CỦA MÁY TÍNH.13

1.6 ĐÔI NÉT VỀ LỊCH SỬ PHÁT TRIỂN CỦA MÁY TÍNH.15

CHƯƠNG 2: BIỂU DIỄN SỐ LIỆU.17

2.1 CÁC LOẠI SỐ LIỆU.17

2.2 HỆ THỐNG SỐ THẬP PHÂN (DECIMAL NUMBER SYSTEM).17

2.3 HỆ THỐNG SỐ NHỊ PHÂN (BINARY NUMBER SYSTEM).18

2.4 HỆ THỐNG SỐ BÁT PHÂN (OCTAL NUMBER SYSTEM).19

2.5 HỆ THỐNG SỐ THẬP LỤC PHÂN ( HEXADECIMAL NUMBER SYSTEM)20

2.6 MÃ BCD.21

2.7 MÃ ALPHANUMERIC.22

2.8 HỆ THỐNG SỐ CÓ DẤU CHẤM ĐỘNG (FLOATING-POINT NUMBER

SYSTEM).24

2.9 PHƯƠNG PHÁP CHẲN LẺ ( PARITY METHODE ).26

CHƯƠNG 3 : CỔNG LOGIC & MẠCH SỐ.27

3.1 ĐẠI SỐ BOOL.27

3.2 BẢNG SỰ THẬT (TRUTH TABLE).28

3.3 PHÉP CỘNG LOGIC (OR).29

3.4 PHÉP AND LOGIC.29

3.5 PHÉP BÙ (NOT OPERATION).30

3.6 MÔ TẢ MẠCH LOGIC BẰNG ĐẠI SỐ BOOL.31

3.7 TÍNH GIÁ TRỊ CỦA MỘT BIỂU THỨC BOOL.32

3.8 THỰC HIỆN MẠCH LOGIC TỪ BIỂU THỨC BOOL.32

3.9 CỔNG NOR, NAND VÀ XOR.33

3.10 CÁC ĐỊNH LÝ BOOL.35

3.11 ĐỊNH LÝ DE MORGAN.36

3.12 THIẾT KẾ MẠCH LOGIC TỔ HỢP.37

3.13 ĐƠN GIẢN HÀM BOOL BẰNG PHƯƠNG PHÁP ĐẠI SỐ.39

3.14 CÁC MẠCH SỐ.40

3.15 FLIP - FLOP.40

3.16 ĐỒNG HỒ VÀ FF CÓ ĐỒNG HỒ.42

a) Khái niệm đồng hồ.42

b) FF có đồng hồ (Clocked Flip - Flops).43

c) Các lối vào không đồng bộ.45

3.17 ỨNG DỤNG CỦA FF.45

a)Lưu trữ và truyền số liệu:.45

b) Mạch đếm (counter).48

CHƯƠNG 4: BỘ LOGIC SỐ HỌC (ALU).51

4.1 CẤU TRÚC CỦA ALU.51

4.2 BỘ CỘNG NHỊ PHÂN.51

a) Bộ cộng nhị phân một nửa (half-adder).52

b) Bộ cộng đầy đủ ( Full - adder).53

4.3 BIỂU DIỄN SỐ CÓ DẤU.54

4.4 BIỂU DIỄN SỐ CÓ DẤU DÙNG HỆ BÙ 2.55

4.5 PHÉP CỘNG TRONG HỆ BÙ 2.57

4.6 PHÉP TRỪ TRONG HỆ BÙ 2.58

4.7 CỘNG VÀ TRỪ BCD.58

a) Cộng BCD.58

b) Trừ BCD.59

4.8 CỘNG VÀ TRỪ HEX.59

a) Cộng hai số HEX.59

b) Trừ hai số hex.60

BÀI TẬP CHƯƠNG 2,3 & 4.61

pdf62 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 4951 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Kiến trúc máy tính 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 dấu). 
A6 A5 A4 A3 A2 A1 A0 
0 1 1 0 1 0 0 
A6 A5 A4 A3 A2 A1 A0 
1 1 1 0 1 0 0 
Cách biểu diễn các số có dấu như trên đây gọi là biểu diễn biên độ- dấu, tuy 
nhiên máy tính không sử dụng cách biểu diễn này vì mạch logic để thực hiện các phép 
toán trên chúng rất phức tạp. Thay vào đó người ta sử dụng rộng rãi hệ bù 2 (2’s 
complement system ) của số nhị phân. 
Số bù 2 của một số nhị phân có được từ số nhị phân nguyên thủy (original 
binary) bằng cách lấy đảo số nhị phân nguyên thủy (bù 1) rồi cộng với 1. 
Ví dụ1: số nhị phân nguyên thủy của 4510 là 101101. Số bù 2 của 101101 có 
được như sau: 
101101 số nhị phân nguyên thủy 
 010010 lấy bù 1 
 1 cộng thêm 1 
 010011 là bù 2 của 101101 
 Ví dụ 2: Số nhị phân nguyên thuỷ của 1210 là 1100. Số bù 2 của 12, theo cách 
tính trên đây là 0100 
Nhận xét: Cho một số nhị phân nguyên thuỷ có n bit. Ta có: 
Số bù 2 + nhị phân nguyên thủy = 2n. 
 Ví dụ: Trường hợp 4 bit, bù 2 của 12 là 4, vì 4+12=16=24. 
 Trường hợp 5bit, bù 2 của 25 là 7, vì 7+25=32=25. 
4.4 BIỂU DIỄN SỐ CÓ DẤU DÙNG HỆ BÙ 2 
Hệ bù 2 của số có dấu được biểu diễn như sau: 
• Nếu là số dương, thì giá trị của nó được biểu diễn dưới dạng nhị phân nguyên thủy 
với bit dấu là 0 ở vị trí MSB. 
• Nếu là số âm thì giá trị của nó đưực chuyển sang dạng bù 2, sau đó thêm bit dấu là 
1 tại MSB. 
Biểu diễn số +4510 và -4510 trong hệ bù 2 (dùng 7 bit trong đó bit MSB là bit dấu) là: 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
0 1 0 1 1 0 1 
1 0 1 0 0 1 1 
Hệ bù 2 được sử dụng vì như chúng ta sẽ thấy sau này, nó cho phép thực hiện phép trừ 
cũng như phép cộng. Điều này rất quan trọng vì máy tính dùng chỉ một mạch logic để 
làm phép cộng cũng như phép trừ, do đó có thể đơn giản phần cứng. 
Cách tổng quát để lấy bù 2 của 1 số là: 
a) viết số đó dưới dạng nhị phân rồi thêm bit dấu bằng 0. 
b) nếu là số dương thì giữ nguyên kết quả ở bước a) 
c) nếu là số âm thì lấy bù 2 toàn bố số có được ở bước a) 
Ví dụ 1 : Lấy bù 2 của –9 ( 4 bit giá trị và 1 bit dấu) 
 a) viết 9 dưới dạng số nhị phân với bit dấu bằng không 01001 
 b) vì số âm nên lấy bù 2 toàn bộ số 01001. Kết quả bằng10111 là bù 2 của –
9. 
Biến đổi từ dạng bù 2 về dạng nhị phân nguyên thủy 
Lấy bù 2 của số bù 2 sẽ được số nhị phân nguyên thủy. 
Ví dụ 1: số nhị phân nguyên thủy là 10110 
 bù 1 của nó là 01001 
 cộng thêm 1 1 
 01010 là bù 2 của 10110 
 lấy bù 2 của 01010 
 lấy bù 1 của 01010 10101 
 cộng thêm1 1 
 10110 là số nhị phân nguyên thủy 
Các trường hợp đặc biệt 
Khi bit dấu bằng 1 còn tất cả các bit khác đều bằng 0 thì nó tương đương với 
2N trong đó N là số bit của phần giá trị. Ví dụ: 
 1000 = - 23 = -8 
 10000 = - 24 = - 16 
 100000 = -25 = - 32 
Vùng giá trị mà một số có dấu gồm N+1 bit có thể biểu diễn trong hệ bù 2 là: 
 -2N đến + (2N -1 ) gồm 2N+1 giá trị kể cả giá trị 0. 
Sau đây là bảng các số có dấu trong hệ bù 2 (3 bit giá trị và 1 bit dấu) 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
Decimal value Signed binary 
Using 2’s complement 
Hecxadecimal 
Equivalent 
-8 1000 8 
-7 1001 9 
-6 1010 A 
-5 1011 B 
-4 1100 C 
-3 1101 D 
-2 1110 E 
-1 1111 F 
+0 0000 0 
+1 0001 1 
+2 0010 2 
+3 0011 3 
+4 0100 4 
+5 0101 5 
+6 0110 6 
+7 0111 7 
Số bit của số dưới dạng bù 2 có thể là tùy ý, tuy nhiên trong máy tính thường sử dụng 
8, 16 hoặc 32 bit (kể cả bit dấu). Ví dụ thanh ghi AX=FFFF là thanh ghi 16 bit. Nó 
biểu thị cho số –1 trong hệ 10. Thanh ghi BX=7FFF biểu thị số dương 32767 trong hệ 
10. 
 Trong trường hợp biểu diễn có dấu dùng 16 bit thì vùng giá trị các số là từ – 
32767d đến +32768d. Các số từ 0000h đến 7FFFh là các số dương.Các số từ 8000h đến 
FFFFh là các số âm. 
4.5 PHÉP CỘNG TRONG HỆ BÙ 2 
Quy tắc: 
• Phép cộng trong hệ bù 2 được tiến hành tương tự phép cộng nhị phân, mọi sự 
tràn số đều bị bỏ qua (không tính). 
• Nếu bit dấu là 0 thì kết quả là số dương 
• Nếu bit dấu là 1 thì kết quả là số âm trong hệ bù 2 
• Hai số phải có củng số bit 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
4.6 PHÉP TRỪ TRONG HỆ BÙ 2 
Quy tắc: 
• Viết cả số bị trừ và số trừ dưới dạng bù 2 có dấu (số dương ở dạng nhị phân 
nguyên thủy bit dấu là 0, số âm chuyển sang dạng bù 2 có dấu). 
• Lấy bù 2 của số trừ (đã được chuyển sang hệ bù 2 có dấu ở bước thứ nhất). 
Điều này sẽ làm số trừ là dương chuyển thành số âm và ngược lại. Nói 
cách khác, ta thay đổi dấu của số trừ. 
• Sau khi lấy bù 2 số trừ ở bước thứ hai, nó được cộng với số bị trừ. Bit dấu 
của kết quả cho biết số dương hay số âm. Mọi sự tràn số bị bỏ qua. Nếu kết 
quả là số âm thì phải lấy bù 2 để biết giá trị nhị phân của nó. 
• Hai số phải có cùng số bit. 
Ý nghĩa: Theo trên ta thấy rằng bằng cách sử dụng hệ bù 2, máy tính thực hiện phép 
trừ như phép cộng. 
4.7 CỘNG VÀ TRỪ BCD 
a) Cộng BCD 
BCD là một bộ mã sử dụng 4 bit nhị phân để biểu diễn các số thập phân. Phép 
cộng BCD được thực hiện như đối với phép cộng nhị phân cho từng nhóm bit BCD. 
Có 2 trường hợp sau đây: 
• Tổng 2 số nhỏ hơn hoặc bằng 9: 
xét trường hợp 5+4 
5 0101 BCD for 5 
 4 0100 BCD for 4 
 9 1001 BCD for 9 
 xét trường hợp 45+33 
 45 0100 0101 BCD for 45 
 33 0011 0011 BCD for 33 
 78 0111 1000 BCD for 78 
• Tổng hai số lớn hơn 9: 
 Xét 6+7 
 6 0110 BCD for 6 
 7 0111 BCD for 7 
 13 1101 invalid code group for BCD 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
 Để sửa sai người ta cộng thêm 6 (0110) vào kết quả như sau: 
 1101 
 0110 
 0001 0011 BCD for 13 
Như vậy là trong phép cộng BCD, hệ số sửa sai (0110) sẽ được cộng vào kết quả nếu: 
• Kết quả cộng 2 số BCD tạo ra invalid code for BCD (số lớn hơn 1001) 
• Phép cộng BCD tạo ra bit nhớ sang vị trí bit có trọng số lớn hơn. 
b) Trừ BCD 
 Phép trừ BCD được tiến hành như đối với phép trừ nhị phân và phải trừ đi hệ 
số sửa sai (0110) khỏi kết quả để sửa sai trong những trường hợp sau: 
• Kết quả trừ 2 số BCD tạo ra invalid code for BCD (số lớn hơn 1001) 
• Phép trừ BCD tạo ra bit mượn sang vị trí bit có trọng số lớn hơn. 
 ví dụ: 17 0001 0111 
 -9 0000 1001 
 0000 1110 (1110 invalid code for BCD) 
 - 0110 
0000 1000 
4.8 CỘNG VÀ TRỪ HEX 
a) Cộng hai số HEX 
 Cộng trực tiếp các digit của 2 số hex như cộng thập phân. Nếu kết quả lớn hơn 
15 thì trừ đi 16 và nhớ 1 sang bit có trọng số lớn hơn. 
Sau đây là vài ví dụ cộng 2 số hex. 
 Ví dụ 1: 
97H 
 + 98H 
 1810 1510 Kết quả trung gian 
 12FH 
 Ví dụ 2: 
 7AH 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
 + 3FH 
 11102510 Kết quả trung gian 
 B9H 
b) Trừ hai số hex 
Cũng như với phép cộng, có thể trừ 2 số hex như trừ thập phân với lưu ý rằng số mượn 
là 16. Sau đây là vài ví dụ về trừ 2 số hex. 
 Ví dụ 1: 
 FCH 
 - 25H 
 1310 710 kết quả trung gian 
 D7H 
Ví dụ 2:
 A7H 
 - 3BH 
 610 1210 kết quả trung gian 
 6CH 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
BÀI TẬP CHƯƠNG 2,3 & 4 
1. Đổi các số thập phân sau đây thành số nhị phân và số Hex: 
a) 24 
b) 15.25 
c) 512 
d) 127 
e) 2048 
f) 65535 
2. Tìm giá trị thập phân tương đương của các số hex sau: 
a) 15 b)31FD 
c) FFFF d)C0A 
3. Tìm giá trị thập phân tương đương của các số nhị phân sau: 
a) 11001111 b) 10000000 
c) 111111 00 d) 10000111 
4. Biểu diễn các số thập phân sau trong hệ bù 2 (dùng 8 bit và 16 bit) 
a) ± 255 b) ± 5 
c) ± 12 d) ±1 
5. Hãy liệt kê các số liên tiếp trong hệ 8 bằt đầu từ 668 đến 2008 
6. Hãy liệt kê 20 số liên tiếp trong hệ Hex từ 9h. 
7. Tra bảng mã ASCII rồi gắn thêm bit chẳn lẻ chẳn tại MSB cho chuỗi: THIS 
IS A MESSAGE. Biểu diễn kết quả ra Hex. 
8. Một đường phố có 1000 ngôi nhà. Người ta muốn đánh địa chỉ cho chúng 
bằng số nhị phân ( bắt đầu từ 0). Hỏi phải sử dụng số nhị phân bao nhiêu bit 
để có thể địa chỉ cho 1000 ngôi nhà này? Viết ra vùng địa chỉ của 1000 ngôi 
nhà đó dưới dạng nhị phân và hexa. 
9. Cho đoạn mã sau trong bộ nhớ máy tính : 
1000 0011 1000 0111 
 Đoạn mã có thể là : 
• 1 số nhị phân nguyên thủy 
• 1 số trong hệ bù 2 
• mã BCD 
Phan Văn Nghĩa Khoa Vật Lý 
 trúc máy tính 02 
 Chỉ lập trình viên, người đã gõ đoạn mã này vào máy tính mới biết được nó 
biểu diễn cho cái gì. Hãy tìm giá trị thập phân tương đương của đoạn mã trong từng 
trường hợp. 
10. Sau đây là tên và nội dung ( dạng HEX) của các thanh ghi 16 bit trong vi xử 
lý: 
AX= 1234, BX= 000A, CX= FFFA, DX= 7FFF 
Hãy tìm giá trị và dấu của chúng trong hệ 10. 
11. Thiết kế mạch logic để phát hiện lỗi trong mã BCD. Lối vào là mã BCD, 
lối ra ở trạng thái 1 khi có lỗi. 
12. Làm thế nào để xây dựng 1 cổng AND có 2 lối vào từ những cổng NOR 2 
lối vào. 
13. Thực hiện các phép toán sau trong hệ nhị phân nguyên thủy: 
a) 12 + 39 b) 9+4 
c) 18 + 37 d) 2+7 
14. Thực hiện các phép toán sau trong hệ Hex 
a) 12 + 34 b) FF + F0 
c) DFA – FFF d) 123 - CD 
15. Biểu diễn theo chuẩn IEEE 32 bit các số sau: 
a) +27.25 b) –27.25 
c) +12 d) –12 
Phan Văn Nghĩa Khoa Vật Lý 

File đính kèm:

  • pdfGiáo trình Kiến trúc máy tính 2.pdf