Kiến trúc máy tính - Chương 2: Cơ bản về logic số

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

pdf55 trang | Chia sẻ: tuanhd28 | Lượt xem: 1941 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính - Chương 2: Cơ bản về logic số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NKK-HUT 3 May 2012 IT3030 1 Kiến trúc máy tính Chương 2 CƠ BẢN VỀ LOGIC SỐ Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội NKK-HUT 2 3 May 2012 Nội dung học phần  Chương 1. Giới thiệu chung  Chương 2. Cơ bản về logic số  Chương 3. Hệ thống máy tính  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ớ  Chương 8. Vào-ra  Chương 9. Kiến trúc máy tính tiên tiến IT3030 NKK-HUT 3 May 2012 IT3030 3 2.1. Các hệ đếm cơ bản 2.2. Đại số Boole 2.3. Cổng logic 2.4. Mạch tổ hợp 2.5. Mạch dãy Nội dung của chương 2 NKK-HUT 3 May 2012 IT3030 4 2.1. Các hệ đếm cơ bản  Hệ thập phân (Decimal System)  con người sử dụng  Hệ nhị phân (Binary System)  máy tính sử dụng  Hệ mười sáu (Hexadecimal System)  dùng để viết gọn cho số nhị phân NKK-HUT 3 May 2012 IT3030 5 1. Hệ thập phân  Cơ số 10  10 chữ số: 0,1,2,3,4,5,6,7,8,9  Dùng n chữ số thập phân có thể biểu diễn được 10n giá trị khác nhau:  00...000 = 0  99...999 = 10n - 1 NKK-HUT 3 May 2012 IT3030 6 Dạng tổng quát của số thập phân Giá trị của A được hiểu như sau: mnn a...aaa...aaA   1011 , m m n n n n a...aaa...aaA        101010101010 1 1 0 0 1 1 1 1 i n mi i aA 10   NKK-HUT 3 May 2012 IT3030 7 Ví dụ số thập phân 472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2  Các chữ số của phần nguyên:  472 : 10 = 47 dư 2  47 : 10 = 4 dư 7  4 : 10 = 0 dư 4  Các chữ số của phần lẻ:  0.38 x 10 = 3.8 phần nguyên = 3  0.8 x 10 = 8.0 phần nguyên = 8 NKK-HUT 3 May 2012 IT3030 8 2. Hệ nhị phân  Cơ số 2  2 chữ số nhị phân: 0 và 1  chữ số nhị phân gọi là bit (binary digit)  Bit là đơn vị thông tin nhỏ nhất  Dùng n bit có thể biểu diễn được 2n giá trị khác nhau:  00...000 = 0  11...111 = 2n - 1 NKK-HUT 3 May 2012 IT3030 9 Dạng tổng quát của số nhị phân Giá trị của A được tính như sau: mnn a...aaa...aaA   1011 , m m n n n n a...aaa...aaA        222222 1 1 0 0 1 1 1 1 i n mi i aA 2   Có một số nhị phân A như sau: NKK-HUT 3 May 2012 IT3030 10 Ví dụ số nhị phân 1101001.1011(2) = 6 5 4 3 2 1 0 -1 -2 -3 -4 = 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10) NKK-HUT 3 May 2012 IT3030 11 Chuyển đổi số nguyên thập phân sang nhị phân  Phương pháp 1: chia dần cho 2 rồi lấy phần dư  Phương pháp 2: Phân tích thành tổng của các số 2i  nhanh hơn NKK-HUT 3 May 2012 IT3030 12 Phương pháp chia dần cho 2  Ví dụ: chuyển đổi 105(10)  105 : 2 = 52 dư 1  52 : 2 = 26 dư 0  26 : 2 = 13 dư 0  13 : 2 = 6 dư 1  6 : 2 = 3 dư 0  3 : 2 = 1 dư 1  1 : 2 = 0 dư 1  Kết quả: 105(10) = 1101001(2) NKK-HUT 3 May 2012 IT3030 13 Phương pháp phân tích thành tổng của các 2i  Kết quả: 105(10) = 0110 1001(2) 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 1 1 0 1 0 0 1  Ví dụ 1: chuyển đổi 105(10)  105 = 64 + 32 + 8 +1 = 26 + 25 + 23 + 20  Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8 = 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 NKK-HUT 3 May 2012 IT3030 14 Chuyển đổi số lẻ thập phân sang nhị phân  Ví dụ 1: chuyển đổi 0.6875(10)  0.6875 x 2 = 1.375 phần nguyên = 1  0.375 x 2 = 0.75 phần nguyên = 0  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ả : 0.6875(10)= 0.1011(2) NKK-HUT 3 May 2012 IT3030 15 Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)  Ví dụ 2: chuyển đổi 0.81(10)  0.81 x 2 = 1.62 phần nguyên = 1  0.62 x 2 = 1.24 phần nguyên = 1  0.24 x 2 = 0.48 phần nguyên = 0  0.48 x 2 = 0.96 phần nguyên = 0  0.96 x 2 = 1.92 phần nguyên = 1  0.92 x 2 = 1.84 phần nguyên = 1  0.84 x 2 = 1.68 phần nguyên = 1  0.81(10)  0.1100111(2) NKK-HUT 3 May 2012 IT3030 16 Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)  Ví dụ 3: chuyển đổi 0.2(10)  0.2 x 2 = 0.4 phần nguyên = 0  0.4 x 2 = 0.8 phần nguyên = 0  0.8 x 2 = 1.6 phần nguyên = 1  0.6 x 2 = 1.2 phần nguyên = 1  0.2 x 2 = 0.4 phần nguyên = 0  0.4 x 2 = 0.8 phần nguyên = 0  0.8 x 2 = 1.6 phần nguyên = 1  0.6 x 2 = 1.2 phần nguyên = 1  0.2(10)  0.00110011 (2) NKK-HUT 3 May 2012 IT3030 17 3. Hệ mười sáu (Hexa)  Cơ số 16  16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F  Dùng để viết gọn cho số nhị phân: cứ một nhóm 4-bit sẽ được thay bằng một chữ số Hexa NKK-HUT 3 May 2012 IT3030 18 Quan hệ giữa số nhị phân và số Hexa 4-bit Chữ số Hexa 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Ví dụ chuyển đổi số nhị phân  số Hexa:  1011 00112 = B316  0000 00002 = 0016  0010 1101 1001 10102 = 2D9A16  1111 1111 1111 11112 = FFFF16 NKK-HUT 3 May 2012 IT3030 19 2.2. Đại số Boole  Đại số Boole sử dụng các biến logic và phép toán logic  Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 (FALSE)  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 NKK-HUT 3 May 2012 20 Các phép toán logic (tiếp)  Các phép toán NAND, NOR, XOR:  A NAND B : A•B  A NOR B : A + B  A XOR B: A  B = A • B + A • B IT3030 NKK-HUT 3 May 2012 IT3030 21 Phép toán đại số Boole P Q P P.Q P+Q 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 P Q PQ P.Q P+Q 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 NKK-HUT 3 May 2012 IT3030 22 Các đồng nhất thức của đại số Boole A • B = B • A A • (B + C) = (A • B) + (A • C) 1 • A = A A • A = 0 A + B = B + A A + (B • C) = (A + B) • ( A + C) 0 + A = A A + A = 1 0 • A = 0 A • A = A A • (B • C) = (A • B) • C A • B = A + B (Định lý De Morgan) 1 + A = 1 A + A = A A + (B + C) = (A + B) + C A + B = A • B (Định lý De Morgan) NKK-HUT 3 May 2012 IT3030 23 2.3. Các cổng logic (Gate)  Các cổng cơ bản  AND  OR  NOT  Chức năng có thể biểu diễn bằng bảng thật (truth table) NKK-HUT 3 May 2012 IT3030 24  Các cổng  NAND  NOR  XOR Các cổng logic (tiếp) NKK-HUT 3 May 2012 IT3030 25 Tập đầy đủ  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ập đó.  Một số ví dụ về tập đầy đủ:  {AND, OR, NOT}  {AND, NOT}  {OR, NOT}  {NAND}  {NOR} NKK-HUT 3 May 2012 IT3030 26 Sử dụng cổng NAND NKK-HUT 3 May 2012 IT3030 27 Sử dụng cổng NOR NKK-HUT 3 May 2012 IT3030 28 Một số ví dụ vi mạch logic NKK-HUT 3 May 2012 IT3030 29 Hàm logic  Hàm logic có thể được biểu diễn theo một vài cách:  Bảng thật (Truth table)  Bìa Cac-nô  Biểu thức logic  Dạng sơ đồ NKK-HUT 3 May 2012 IT3030 30 2.4. Mạch tổ hợp  Mạch tổ hợp là mạch logic trong đó tín hiệu ra chỉ phụ thuộc tín hiệu vào ở thời điểm hiện tại.  Là mạch không nhớ và được thực hiện bằng các cổng logic cơ bản  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 NKK-HUT 3 May 2012 IT3030 31 Bộ dồn kênh (Multiplexer-MUX)  Multiplexer  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. 4-data input MUX NKK-HUT 3 May 2012 IT3030 32 Multiplexer (tiếp) Thực hiện MUX bốn đầu vào dữ liệu NKK-HUT 3 May 2012 IT3030 33 Bộ phân kênh (Demultiplexer – DeMUX) NKK-HUT 3 May 2012 IT3030 34 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. NKK-HUT 3 May 2012 IT3030 35 Bộ giải mã (tiếp) NKK-HUT 3 May 2012 IT3030 36 Bộ giải mã 74LS139 NKK-HUT 3 May 2012 IT3030 37 Bộ mã hóa (Encoder) NKK-HUT 3 May 2012 IT3030 38 Bộ cộng (Adder)  Bộ bán tổng (Half-adder)  Cộng hai bit tạo ra bit tổng 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 NKK-HUT 3 May 2012 IT3030 39 Bộ cộng (tiếp) NKK-HUT 3 May 2012 IT3030 40 Bộ cộng 16-bit A 16-bit ripple-carry adder NKK-HUT 3 May 2012 IT3030 41 2.5. 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 và 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 NKK-HUT 3 May 2012 IT3030 42 Các thành phần chính của mạch dãy NKK-HUT 3 May 2012 IT3030 43 Chốt (Latch)  Có khả năng nhớ bit NKK-HUT 3 May 2012 IT3030 44 Chốt (tiếp) NKK-HUT 3 May 2012 IT3030 45 D Latch  D Latch (đồng bộ theo mức)  Tránh tổ hợp SR = 11 NKK-HUT 3 May 2012 IT3030 46 Flip-Flops  D Flip-Flop (Đồng bộ theo sườn) (Flip-Flop D đồng bộ theo sườn dương) NKK-HUT 3 May 2012 IT3030 47 Flip-Flops (tiếp) Low level High level Positive edge Negative edge Latches Flip-flops NKK-HUT 3 May 2012 IT3030 48 JK Flip-Flop J K Qn+1 0 0 Qn 0 1 0 1 0 1 1 1 Qn NKK-HUT 3 May 2012 IT3030 49 Ví dụ chip D latches JK flip-flops NKK-HUT 3 May 2012 IT3030 50 Thanh ghi dịch Có chức năng lưu trữ và dịch số liệu NKK-HUT 3 May 2012 IT3030 51 Chip thanh ghi 74164 shift Register chip NKK-HUT 3 May 2012 IT3030 52 Bộ đếm  Bộ đếm nhị phân  Thiết kế đơn giản  B bits có thể đếm từ 0 đến 2B1  Bộ đếm không đồng bộ (Ripple counter)  Bộ đếm đồng bộ NKK-HUT 3 May 2012 IT3030 53 Ví dụ bộ đếm không đồng bộ (ripple counter) A modulo-8 binary ripple counter LSB NKK-HUT 3 May 2012 IT3030 54 Ví dụ bộ đếm đồng bộ  Đượ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  Q2 thay đổi khi Q1Q0 = 11 NKK-HUT 3 May 2012 IT3030 55 Hết chương 2

Các file đính kèm theo tài liệu này:

  • pdfca2_7714.pdf