intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc máy tính: Chương 2 - Mức logic số

Chia sẻ: Võ đình Thiên | Ngày: | Loại File: PDF | Số trang:7

93
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 2 trình bày về "Mức logic số". Nội dung cụ thể của chương này gồm có: Mạch số, mạch tổ hợp, mạch tuần tự, thanh ghi và bộ nhớ,...Mời các bạn cùng tham khảo để nắm chi tiết nội dung của bài giảng!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc máy tính: Chương 2 - Mức logic số

Chương 2.<br /> Mức logic số<br /> Đại cương mạch số<br /> Mạch tổ hợp<br /> Mạch tuần tự<br /> Thanh ghi và bộ nhớ<br /> <br /> Thông tin nhị phân biểu diễn = tín hiệu điện cao thấp.<br /> Thao tác trên thông tin nhị phân thực hiện bằng cổng<br /> <br /> 2. Cổng luận lý:<br /> mạch số gồm 1 hoặc nhiều ngõ nhập và 1 ngõ xuất.<br /> Các cổng cơ bản (h 1.2 / h 4): ký hiệu, bảng chân trị<br /> <br /> 2.1 Mạch số<br /> 1. Đại cương<br /> Là mạch điện tử hoạt động ở 2<br /> mức điện áp: cao (1) và thấp (0)<br /> Bóng điện tử / Transistor<br /> Bảng mạch in, Mạch tích hợp,<br /> Chip: DIP / PGA / PQFP<br /> SSI: small (vài chục)<br /> MSI: medium (vài trăm)<br /> LSI: large (vài ngàn)<br /> VLSI: very large<br /> <br /> 3. Đại số Bool<br /> Đại số Bool<br /> Nghiên cứu các mệnh đề luận lý (1 trong 2 trị: Đ hoặc S)<br /> Bốn phép tính luận lý cơ bản: Not, And, Or, Xor<br /> Có sự tương ứng giữa mạch số và hàm Bool<br /> Vẽ mạch số ứng với hàm: F = A + B’ C<br /> <br /> Phân tích thiết kế mạch số:<br /> Lập bảng chân trị - Biểu diễn dạng đại số<br /> Tìm mạch đơn giản bằng PP biến đổi đại số Bool<br /> <br /> A<br /> 0<br /> 0<br /> 0<br /> 0<br /> 1<br /> 1<br /> 1<br /> 1<br /> <br /> B<br /> 0<br /> 0<br /> 1<br /> 1<br /> 0<br /> 0<br /> 1<br /> 1<br /> <br /> C<br /> 0<br /> 1<br /> 0<br /> 1<br /> 0<br /> 1<br /> 0<br /> 1<br /> <br /> Y<br /> 0<br /> 0<br /> 1<br /> 1<br /> 0<br /> 1<br /> 0<br /> 0<br /> <br /> VD1: Thiết kế mạch số với bảng chân trị.<br /> Từ các trị 1, xây dựng các tích cơ bản<br /> Lập hàm Bool bằng tổng các tích cơ bản<br /> (Vẽ mạch số)<br /> Đơn giản hàm Bool bằng PP đại số<br /> (Vẽ mạch số)<br /> Mở rộng: Thêm trị 1 tại 111<br /> VD2: Đơn giản mạch<br /> Y = A B’ + A B<br /> <br /> 4. Bản đồ Karnaugh<br /> Phương pháp bản đồ để đơn giản biểu thức Bool<br /> <br /> Các khái niệm:<br /> Bản đổ Karnaugh - Các ô liền kề (chỉ có 1 biến khác nhau)<br /> <br /> Bước 0: Chuẩn bị bản đồ K với số biến phù hợp<br /> Bước 1: Chuyển các giá trị 1 của bản chân trị vào bản đồ<br /> Bước 2: Xây dựng các nhóm<br /> Kích thước 2k, với k = n, n – 1, n – 2, ... 1 (giảm dần từ n đến 1)<br /> Sao cho không có nhóm con (nằm trọn trong nhóm lớn hơn)<br /> Xét loại nhóm thừa (bỏ đi không ảnh hưởng đến kết quả)<br /> (Liên quan đến khái niệm phủ tối tiểu trong Toán rời rạc)<br /> <br /> Bước 3: Tạo biểu thức (là tổng các tích)<br /> Mỗi nhóm kích thước 2k là một tích với số phần tử (n – k)<br /> Chiếu lên từng cạnh<br /> <br /> 1<br /> <br /> 2.2 Mạch tổ hợp<br /> 1. Đại cương<br /> <br /> Bài tập:<br /> 1, 2, 3, 4, 5, 6,<br /> Bản đồ Karnaugh: 7, 8 (tr.21)<br /> <br /> Gồm 1 số cổng luận lý kết nối với nhau,<br /> với 1 tập các ngõ vào (n) các ngõ ra (m)<br /> <br /> Xác định bằng bảng chân trị<br /> (n biến nhập, m biến xuất)<br /> <br /> Mô tả bằng:<br /> Lược đồ logic - Lược đồ khối (h 2.1)<br /> VD: lược đồ logic (a), lược đồ khối (b), bảng chân trị (c)<br /> <br /> 2. Mạch cộng:<br /> Cộng 2 ký số nhị phân<br /> a. Mạch nửa cộng (Half Adder)<br /> Gồm 2 ngõ vào (x, y) và 2 ngõ ra (S: sum, C: carry)<br /> (h 2.2) lược đồ logic (a), lược đồ khối (b), bảng chân trị (c)<br /> <br /> b. Mạch toàn cộng (Full Adder)<br /> Cộng thêm bit nhớ<br /> Gồm 3 ngõ vào (x, y, z) và 2 ngõ ra (S và C)<br /> (gồm 2 mạch nửa cộng và 1 cổng OR) (h 2.4)<br /> <br /> 3. Mạch giải mã và mã hóa<br /> Đổi thông tin mã hóa nhị phân thành thông thường<br /> 1012 =<br /> <br /> 510<br /> <br /> a. Mạch giải mã:<br /> Gồm n ngõ vào và m ngõ ra (m ≤ 2n)<br /> (Ngõ cho phép nhập: E – Enable)<br /> Mạch giải mã 3 – 8 (h 2.5)<br /> <br /> Mạch giải mã dùng cổng NAND (h 2.6 / h 5)<br /> <br /> 2<br /> <br /> (Ứng dụng của mạch giải mã)<br /> <br /> Mở rộng mạch giải mã (h 2.7)<br /> <br /> Chọn thanh ghi theo tín hiệu mã thanh ghi từ CU<br /> <br /> A2<br /> 0<br /> 0<br /> 0<br /> 0<br /> 1<br /> 1<br /> 1<br /> 1<br /> <br /> b. Mạch mã hóa:<br /> <br /> Còn gọi là mạch chọn dữ liệu<br /> Chọn thông tin nhị phân từ 1 trong 2n ngõ nhập đưa ra<br /> ngõ xuất. Việc chọn dựa theo n ngõ nhập chọn.<br /> <br /> Thiết kế:<br /> Hãy vẽ mạch giải mã 2 – 4<br /> Ý nghĩa của cổng AND (dẫn thông tín hiệu: x * 1 = x),<br /> mỗi thời điểm chỉ có 1 cổng thông<br /> Đưa ngõ vào chọn cho từng cổng AND<br /> Kết luận: MUX tạo từ mạch giải mã n – 2n, thêm 2n đường<br /> nhập (h 2.8)<br /> <br /> (Ứng dụng: biến tín hiệu<br /> ngắt thành số hiệu thiết<br /> bị phát sinh ngắt)<br /> <br /> số nhị phân 3 bit:<br /> a2 a1 a0 (2) = a2.22 + a1.21 + a0.20 (10)<br /> = a2.22 (10) + (a1.21 + a0.20) = a2.4 + a1 a0 (2)<br /> <br /> 0<br /> 1<br /> 2<br /> 3<br /> 4<br /> 5<br /> 6<br /> 7<br /> <br /> a. Mạch dồn (MUX)<br /> <br /> Tích các tổng (Product of<br /> Sum – POS)<br /> thay vì<br /> Tổng các tích (Sum of<br /> Product – SOP)<br /> <br /> Xét bảng chân trị<br /> <br /> A0 Y<br /> 0<br /> 1<br /> 0<br /> 1<br /> 0<br /> 1<br /> 0<br /> 1<br /> <br /> 4. Mạch dồn và mạch phân<br /> <br /> Ngược lại với giải mã<br /> (h 7)<br /> Thiết kế bằng phương<br /> pháp phân tích<br /> <br /> Mở rộng mạch giải mã:<br /> Xây dựng mạch giải mã<br /> từ các mạch giải mã<br /> có kích thước nhỏ hơn.<br /> VD: MUX 3 – 8 từ các MUX 2 - 4<br /> Giải thích:<br /> <br /> A1<br /> 0<br /> 0<br /> 1<br /> 1<br /> 0<br /> 0<br /> 1<br /> 1<br /> <br /> a2<br /> <br /> a1<br /> <br /> a0<br /> <br /> 0<br /> <br /> 0<br /> <br /> 0<br /> <br /> 0<br /> <br /> 0<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 0<br /> <br /> 2<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 3<br /> <br /> 1<br /> <br /> 0<br /> <br /> 0<br /> <br /> 4<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 5<br /> <br /> 1<br /> <br /> 1<br /> <br /> 0<br /> <br /> 6<br /> <br /> 1<br /> <br /> 1<br /> <br /> 1<br /> <br /> 7<br /> <br /> b. Mạch phân (DEMUX)<br /> Nhận 1 ngõ nhập và phân bổ nó đến 1 trong nhiều (2n)<br /> vị trí xác định.<br /> (h 8 mạch dồn 4 – 1 và mạch phân 1 – 4)<br /> ********************<br /> <br /> 3<br /> <br /> Ứng dụng mạch dồn và mạch phân:<br /> Dẫn thông tin theo 1 đường truyền dữ liệu chung. (h10)<br /> <br /> Bài tập: 1, 2, 3, 6 (tr. 31 và 32)<br /> <br /> Chuyển tín hiệu 102 cho mạch dồn và 002 cho mạch phân<br /> <br /> 3<br /> 2x4<br /> Decoder<br /> <br /> E<br /> 3<br /> E<br /> 3<br /> E<br /> 3<br /> E<br /> <br /> 3x8<br /> 8<br /> Decoder<br /> 3x8<br /> 8<br /> Decoder<br /> 3x8<br /> 8<br /> Decoder<br /> 3x8<br /> 8<br /> Decoder<br /> <br /> 2.3 Mạch tuần tự<br /> Tổng quát<br /> Các hệ thống số đều cần có thành phần lưu trữ<br /> Ngõ ra có thể phụ thuộc ngõ vào trước đó (mạch có nhớ)<br /> <br /> Tuần tự đồng bộ hóa bằng xung đồng hồ.<br /> <br /> Mạch lật (Flip Flop – FF)<br /> <br /> Mạch lật SR (Set – Reset)<br /> (xem bảng đặc tính)<br /> Mạch lật D (Data)<br /> Thêm cổng đảo giữa S và R<br /> (h 3.1 và 3.2) (thêm h 10)<br /> <br /> S<br /> <br /> R<br /> <br /> Q(t+1)<br /> <br /> 0<br /> <br /> 0<br /> <br /> Q(t)<br /> <br /> 0<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 1<br /> <br /> ?<br /> <br /> Mạch tuần tự đơn gián nhất, lưu 1 bit nhị phân<br /> Có 2 ngõ ra: trị bình thường (Q), trị bù (Q’)<br /> Bảng đặc tính: Q(t): tr thái hiện tại, Q(t+1): tr thái kế<br /> Phân loại:<br /> Số ngõ vào<br /> Cách thức các ngõ vào tác động đến ngõ ra.<br /> <br /> Mạch lật lề (h 3.5)<br /> Mạch lật JK (J K)<br /> Gồm 2 mạch lật: chủ và tớ<br /> Q(t+1) = Q’(t) khi J = K = 1<br /> <br /> Mạch lật T (Toggle)<br /> 2 ngõ vào J, K kết nối thành T (J = K = T)<br /> <br /> (h 3.3 và 3.4)<br /> <br /> 4<br /> <br /> Mạch tuần tự<br /> Kết nối mạch lật với các cổng. Ví dụ: h 3.7<br /> Bảng kích thích (tự xem)<br /> Bảng liệt kê các tổ hợp nhập cần có để tạo ra 1 thay đổi<br /> trạng thái yêu cầu.<br /> Gồm 2 cột Q(t) và Q(t+1) và một cột cho mỗi ngõ vào<br /> Ký hiệu X: điều kiện không cần (hoặc tùy chọn): vì có 2<br /> cách chuyển tiếp<br /> S<br /> <br /> R<br /> <br /> Q(t+1)<br /> <br /> Q(t) Q(t+1)<br /> <br /> S<br /> <br /> R<br /> <br /> 0<br /> <br /> 0<br /> <br /> Q(t)<br /> <br /> 0<br /> <br /> 0<br /> <br /> 0<br /> <br /> X<br /> <br /> 0<br /> <br /> 1<br /> <br /> 0<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 0<br /> <br /> 0<br /> <br /> 1<br /> <br /> 1<br /> <br /> 1<br /> <br /> ?<br /> <br /> 1<br /> <br /> 1<br /> <br /> X<br /> <br /> 0<br /> <br /> Phương trình nhập mạch lật:<br /> Biểu thức Bool mô tả mạch tổ hợp tạo ngõ nhập cho<br /> các mạch lật<br /> <br /> Bảng trạng thái mạch lật:<br /> Gồm 4 phần: (bảng 3.2)<br /> trạng thái hiện hành, nhập, trạng thái kế, xuất<br /> <br /> Qui trình thiết kế mạch tuần tự:<br /> Chuyển đặc tả sang lược đồ trạng thái<br /> Chuyển lược đồ trạng thái sang bảng trạng thái<br /> Xây dựng lược đồ luận lý từ bảng trạng thái<br /> Ví dụ: mạch đếm nhị phân<br /> <br /> Lược đồ trạng thái<br /> Thể hiện bằng hình ảnh của bảng trạng thái (h 3.8)<br /> Hình tượng các chuyển tiếp trạng thái, giúp hiểu<br /> hoạt động của mạch.<br /> <br /> 2.4 Thanh ghi và bộ nhớ<br /> Bài tập 8, 9, 10, (11)<br /> <br /> Thanh ghi (Register)<br /> Lưu nhiều (n) bit, gồm n mạch lật. Lưu dữ liệu và<br /> cung cấp cho các mạch khác.<br /> Ví dụ: 4.1<br /> <br /> Điều khiển việc chuyển thông tin bằng cổng.<br /> Các thanh ghi đặc biệt:<br /> Mạch đếm (Counter)<br /> Thanh ghi dịch (Shift register)<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2