Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 3: Các cấu trúc luận lý số

pdf 52 trang phuongnguyen 2650
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 3: Các cấu trúc luận lý số", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_he_thong_may_tinh_va_ngon_ngu_c_chuong_3_cac_cau_t.pdf

Nội dung text: Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 3: Các cấu trúc luận lý số

  1. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.1 Transistor 3.2 Cổng luận lý (Logic gate) 3.3 Mạch tổ hợp (Combinational circuit) 3.4 Phần tử nhớ cơ bản 3.5 Bộ nhớ (Memory) 3.6 Mạch tuần tự (Sequential logic circuit) 3.7 Đƣờng truyền dữ liệu LC3
  2. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.1 Transistor Đa số máy tính ngày nay xử dụng các bộ vi xử lý (microprocessor) được tạo từ các transistor họ MOS. (metal-oxide-semiconductor). Cĩ hai loại transistor MOS: loại P (Positive) và loại N (Negative).
  3. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.1 Transistor Hình 3.1 Một cơng tắc điện đơn giản Khi khĩa mở, khơng cĩ dịng điện qua mạch nên đèn tắt, điện thế Vout = 2,9V, tức điện thế ra ở transistor ở mức cao, ta cĩ mức logic “1”. Khi khĩa đĩng, cĩ dịng chạy qua mạch, đèn sáng, điện thế Vout = 0V, khi đĩ điện thế ra ở transistor ở mức thấp, mức logic “0”.
  4. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.1 Transistor Cĩ hai loại transistor như hình dưới đây. G=1=> U =0 12 G=1=> U =1 12 G=0=> U12=1 G=0=> U12=0 Hình 3.2 Transistor loại N Hình 3.3 Transistor loại P
  5. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) Các cổng luận lý cơ bản AND, OR, và NOT Tầm trị điện áp analog từ 0-2,9V: - Điện thế từ 0-0,5V => mức logic 0 - Điện thế từ 2,4V – 2,9V => mức logic 1
  6. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.1 Cổng NOT (hay Inverter) In Out 0 1 1 0
  7. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.2 Cổng OR và NOR
  8. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.2 Cổng OR và NOR
  9. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.3 Cổng AND và NAND
  10. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.3 Cổng AND và NAND
  11. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) Các ký hiệu theo quy ước cho các cổng logic cơ bản:
  12. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) Khi muốn biểu diễn nhiều đầu vào, chúng ta cĩ thể sử dụng quy ước như hình 3.10, thay vì dùng nhiều tầng cổng AND. Các cổng khác cũng cĩ sự tương tự.
  13. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.4 Định luật De Morgan Luật De Morgan cho phép chúng ta biểu diễn cổng OR bằng cổng AND kèm theo một số cổng NOT, hay ngược lại. Cĩ hai luật De Morgan 1 và De Morgan 2 như sau: hay viết ở dạng khác là Với ký hiệu „+‟ đặc trưng cho phép OR, và „.‟ cho phép AND.
  14. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.2 Cổng luận lý (Logic gate) 3.2.4 Định luật De Morgan
  15. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) Cĩ hai loại cấu trúc luận lý cơ bản là mạch tổ hợp và mạch tuần tự. •Cấu trúc mạch tổ hợp là mạch luận lý mà các giá trị đầu ra của nĩ phụ thuộc vào tổ hợp các giá trị đầu vào của nĩ ở cùng thời điểm. •Mạch tuần tự cĩ thể giữ được thơng tin, và làm cơ sở cho cấu trúc bộ nhớ của máy tính. Cĩ ba loại tổ hợp mà chúng ta xét trong phần này: mạch giải mã, mạch phân kênh, và bộ cộng tồn phần.
  16. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.1 Mạch giải mã (Decoder) n n ngõ vào và 2 ngõ ra
  17. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.2 Mạch phân kênh (Multiplexer) 2n ngõ vào, n ngõ lựa chọn và 1 ngõ ra
  18. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.3 Mạch cộng tồn phần (Full adder)
  19. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.3 Mạch cộng tồn phần (Full adder)
  20. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.4 Một ví dụ về thiết kế mạch tổ hợp Ví dụ 3.1: Thiết kế mạch kiểm tra sự chiếm đa số của bit 1 từ ba bit đầu vào (majority function). Ta cĩ bảng sự thật ở hình 3.17a. Vì là yêu cầu kiểm tra sự chiếm đa số của bit 1 từ ba bit đầu vào (A, B, C), nên đầu ra (M) sẽ là 1 khi số bit 1 ở đầu vào là từ 2 trở lên. Như vậy, ta cĩ hàm logic sau đây:
  21. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.3 Mạch tổ hợp (Combinational circuit) 3.3.4 Một ví dụ về thiết kế mạch tổ hợp
  22. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.1 Mạch cài R-S (R-S latch)
  23. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.1 Mạch cài R-S (R-S latch)
  24. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.1 Mạch cài R-S (R-S latch)
  25. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.2 Mạch cài D (D latch) WE: Write Enable
  26. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.3 Thanh ghi (Register)
  27. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.4 Phần tử nhớ cơ bản 3.4.3 Thanh ghi (Register) Nếu số nhị phân cĩ n bit, thì bit ngồi cùng bên trái sẽ là bit [n-1]. Thí dụ, trong mẫu Q 16 bit sau: 0011101100011110 thì bit Q[15] là 0, bit Q[14] là 0, bit Q[13] là 1, Q[15 :13] là 001.
  28. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory) Bộ nhớ gồm nhiều ơ nhớ (memory location), cịn được gọi là từ, mỗi ơ nhớ cĩ địa chỉ riêng. Mỗi ơ nhớ cĩ nhiều bit, và mỗi bit là một bộ cài D. Như vậy, bộ nhớ được đặc trưng bởi hai yếu tố: số ơ nhớ và số bit trong mỗi ơ nhớ .
  29. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory)
  30. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory) Nếu ta cĩ n bit địa chỉ cho tổ hợp địa chỉ nhị phân của ơ nhớ thì dung lượng bộ nhớ sẽ là k = 2n ơ nhớ. Thí dụ, khi nĩi máy tính cĩ dung lượng 4 GB, cĩ nghĩa là máy tính đĩ cĩ số ơ nhớ 4 x 230 và mỗi ơ nhớ là một byte, tức bộ nhớ máy tính đĩ cĩ hơn 4 tỷ byte.
  31. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory)
  32. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory)
  33. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory) Ví dụ 3.2: Thiết kế bộ nhớ 8K bằng 4 chip 2K x 8 bit. Với 4 chip nhớ này, mỗi chip nhớ cĩ dung lương 2K, nên số đường địa chỉ cần để mã hĩa cho mỗi ơ nhớ trong từng chip là 211 (=2K), tức từ A0-A10. Hơn nữa, tổng dung lượng là 8K, tức cần 213 đường địa chỉ, tức từ A0-A13. Như vậy, các đường địa chỉ A11-A12 sẽ được dùng để giải mã chọn chip (CS-Chip select) như trong hình 3.26.
  34. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory)
  35. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.5 Bộ nhớ (Memory) Ví dụ 3.3: Thiết kế bộ nhớ 64K x16 bit bằng 16 chip 8K x 8 bit.
  36. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) Đầu ra của mạch tuần tự khơng chỉ phụ thuộc vào đầu vào hiện tại mà cịn phụ thuộc vào trạng thái hiện tại của các phần tử nhớ trong mạch. Thơng tin nhị phân đang cĩ trong các phần tử nhớ của mạch xác định trạng thái của mạch ở bất kỳ thời điểm nào trong quá khứ. Như vậy, mạch tuần tự tiêu biểu sẽ gồm hai thành phần là mạch tổ hợp và các phần tử nhớ để trữ thơng tin là trạng thái của mạch.
  37. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit)
  38. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) Mạch logic tuần tự được dùng để thực hiện một trong những cơ chế quan trọng là máy hay bộ điều khiển trạng thái hữu hạn (finite state machine). Thí dụ, một bộ điều khiển đèn giao thơng bật đèn đỏ, vàng, hay xanh tùy thuộc vào đèn hiện thời đang sáng (thơng tin trong quá khứ) và thơng tin nhập từ các bộ cảm ứng về xe trên đường và các thiết bị quang đang điều khiển lưu lượng xe.
  39. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.1 Khái niệm về trạng thái Trạng thái của một hệ thống là một bức tranh chụp nhanh mà ở đĩ tất cả các thành phần thích hợp đều được biểu diễn một cách rõ ràng. Ví dụ: - Trạng thái của một trận bĩng đá:? .
  40. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.2 Máy trạng thái hữu hạn Việc một hệ thống thay đổi từ trạng thái này sang trạng thái khác với một số lượng trạng thái xác định hữu hạn biểu diễn tiến trình làm việc của hệ thống. Lúc này ta nĩi hệ thống là một máy hay bộ điều khiển trạng thái hữu hạn (finite state machine).
  41. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.2 Máy trạng thái hữu hạn Một máy trạng thái hữu hạn bao gồm năm thành phần : 1. một số hữu hạn các trạng thái 2. một số hữu hạn các đầu vào từ bên ngồi 3. một số hữu hạn các tín hiệu xuất (hay đầu ra) ra bên ngồi 4. một chỉ định rõ tất cả các chuyển trạng thái 5. một chỉ định rõ thành phần mỗi giá trị đầu ra.
  42. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.2 Máy trạng thái hữu hạn
  43. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.3 Một thí dụ về hiện thực một máy trạng thái hữu hạn
  44. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.3 Một thí dụ về hiện thực một máy trạng thái hữu hạn
  45. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) 3.6.3 Một thí dụ về hiện thực một máy trạng thái hữu hạn
  46. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit)
  47. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.6 Mạch tuần tự (Sequential logic circuit) * Phần tử nhớ Thành phần cịn lại trong bộ điều khiển đèn báo hiệu nguy hiểm giao thơng là mạch logic của hai phần tử nhớ. Hình 3.32c trình bày cấu trúc của một phần tử nhớ gồm cặp hai mạch cài D, và được gọi là mạch lật chủ tớ (master-slave flip-flop).
  48. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.7 Đƣờng truyền dữ liệu LC3 Để hiểu rõ hơn việc thực thi của một chương trình, người ta đưa ra khái niệm đường truyền dữ liệu (data path) của một bộ vi xử lý. Đường truyền dữ liệu thực ra là các mạch logic được trình bày theo chức năng để xử lý thơng tin. Do đĩ nĩ cịn được gọi là vi kiến trúc của bộ vi xử lý. Hình 3.36 sau là đường truyền dữ liệu của máy tính ảo LC3, cũng tương tự như hình 1.14, cĩ nhiều cấu trúc cơ bản tạo thành máy tính và rất quen thuộc với chúng ta như các thanh ghi 16 bit PC, IR, MAR, và MDR. Mỗi đường dây cĩ đường gạch chéo nhỏ kèm theo số 16 biểu diễn 16 đường dây, mỗi dây mang một bit thơng tin. N, Z, P là các thanh ghi một bit, chúng cĩ thể được thực hiện bằng các mạch lật chủ tớ.
  49. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ 3.7 Đƣờng truyền dữ liệu LC3 Cĩ năm bộ phân kênh, một bộ cung cấp một giá trị 16 bit cho thanh ghi PC (PCMUX), một bộ cung cấp địa chỉ cho thanh ghi MAR (MARMUX), một bộ để chọn dữ liệu nhập vào đầu B của ALU (SR2MUX), và hai bộ để chọn tốn hạng nhập cho bộ cộng 16 bit (ADDR1MUX và ADDR2MUX). Để điều khiển các thành phần trong đường truyền dữ liệu hoạt động, ta cần các vi lệnh với các bit quy định cụ thể. Tập hợp các vi lệnh là một vi chương trình mà trong chương sau chúng ta sẽ hiểu rõ hơn khi học cấp kiến trúc tập lệnh (IAS) của CPU LC3.
  50. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ
  51. CHƢƠNG 3 CÁC CẤU TRÚC LUẬN LÝ SỐ
  52. HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C KẾT THÚC CHƯƠNG 3