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
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:
- Giáo trình Kiến trúc máy tính 2.pdf