Nội dung bài 6 trình bày đến người học những vấn đề liên quan đến Mạch số, cụ thể như:Mô hình phân tầng việc xử lý của máy tính, thiết kế logic, mạch số thiết kế ở mức logic, thiết kế mạch tổ hợp, lập bảng chân trị, xây dựng hàm luận lý
Bài 06: Mạch số Phạm Tuấn Sơn ptson@fit.hcmus.edu.vn Mơ hình phân tầng việc xử lý máy tính temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,MIPS) Assembler Machine Language Program (MIPS) lw lw sw sw 0000 1010 1100 0101 1001 1111 0110 1000 $t0, 0($2) $t1, 4($2) $t1, 0($2) $t0, 4($2) 1100 0101 1010 0000 0110 1000 1111 1001 1010 0000 0101 1100 1111 1001 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111 Machine Interpretation Hardware Architecture Description (e.g block diagrams) Architecture Implementation Logic Circuit Description (Circuit Schematic Diagram) Mạch số • • Transistor linh kiện điện tử làm từ chất bán dẫn dùng để khuếch đại chuyển tín hiệu điện MOSFET (metal-oxide-semiconductor field-effect transistor) – NMOSFET (n-type) • Nếu hiệu điện G S đủ lớn, D S nối (transistor có trạng thái “on”) – PMOSFET (p-type) • Ngược lại NMOSFET • Mạch số thiết bị điện tử kết nối linh kiện điện tử (như transistor) hoạt động mức điện áp: cao thấp Công nghệ Điện áp thấp Điện áp cao (1) low level, (2) high level (3) rising edge, (4) falling edge Ghi CMOS 0V VCC/2 VCC/2 VCC VCC điện áp nguồn TTL 0V 0.8V 2V VCC VCC: 4.75V 5.25V ECL -1.175V -VEE 75V 0V VEE:-5.2V VCC=Nối đất a b F low low low high low low low high low high high high Cổng logic • • Các linh kiện điện tử thường kết nối với thành khối Khối cổng logic với giá trị luận lý (qui ước) tương ứng với mức điện cao thấp Tên cổng Hình vẽ a b F (AND) low (0) low (0) low (0) high(1) low (0) low (0) low (0) high(1) low (0) high(1) high(1) high(1) Ký hiệu AND x.y OR x+y XOR x⊕y NOT x (hoặc x’) NAND x.y NOR x+y NXOR x⊕y Thiết kế logic • Các cổng logic thường kết nối với thành khối cao cấp • Các mạch cao cấp gồm loại – Mạch tổ hợp: kết nối cổng logic cho kết mạch phụ thuộc vào giá trị đầu vào thời điểm xét Ví dụ: mạch adder, decoder, multiplexor, ALU,… – Mạch tuần tự: kết nối cổng logic cho kết mạch không phụ thuộc vào giá trị đầu vào thời điểm xét mà phụ thuộc vào trạng thái thời điểm trước mạch Ví dụ: mạch lật RS, JK, T, D,… • Thơng thường mạch số (như mạch xử lý) thiết kế mức logic (kết nối khối cao cấp khối bản), sau sử dụng kỹ thuật khác để chuyển thành mạch số mức linh kiện điện tử Ví dụ mạch số thiết kế mức logic Mạch tổ hợp • Kết nối cổng logic cho kết mạch thời điểm phụ thuộc vào giá trị đầu vào thời điểm • Gồm n ngõ vào, m ngõ Ngõ hàm luận lý ngõ vào • Ln có độ trễ thời điểm tín hiệu vào ổn định với thời điểm tín hiệu ổn định (propagation delay) Thiết kế mạch tổ hợp • bước – Lập bảng chân trị từ yêu cầu – Xây dựng hàm luận lý từ bảng chân trị – Vẽ sơ đồ mạch luận lý thử nghiệm Lập bảng chân trị • Từ yêu cầu, thiết lập tất giá trị có đầu vào (n giá trị đầu vào có 2n trường hợp) giá trị tương ứng giá trị đầu cho trường hợp • Ví dụ x y z f – u cầu: thiết kế mạch tổ hợp có đầu vào đầu ra, cho giá trị logic đầu giá trị chiếm đa số đầu vào – Gọi x, y, z đầu vào; f đầu – Xét tất khả có x, y, z 0 0 0 0 0 1 1 0 1 1 1 1 1 • Khó Đơi phải tự đặt thêm nhiều biến trạng thái mơ hình hóa yêu cầu Xây dựng hàm luận lý (1/2) • SOP (Sum Of Products) – Với bảng chân trị cho mạch n đầu vào x1, …, xn đầu f, ta dễ dàng thiết lập công thức (hàm) logic theo thuật tốn sau: • Ứng với hàng bảng chân trị có đầu 1, viết tích dạng u1.u2…un • Cộng tích lại thành tổng, cơng thức f 10 DEMUX – Demultiplexor (3/3) • 1-4 demultiplexor y0 = s1.s0.in y1 = s1.s0.in y2 = s1.s0.in y3 = s1.s0.in 2-4 decoder 36 Thiết kế ALU đơn giản • ALU đơn giản thiết kế cho phép lựa chọn thực phép toán ADD, SUB, AND OR S=00 R=A+B S=01 R=A-B S=10 R=A&B S=11 R=A|B 37 Thiết kế ALU đơn giản 38 Thiết kế add/subtract 39 Mạch • Kết nối cổng logic cho kết mạch không phụ thuộc vào giá trị đầu vào thời điểm xét mà phụ thuộc vào trạng thái thời điểm trước mạch • Mạch có khả “ghi nhớ trạng thái khứ” • Mạch lật (Flip-flop) mạch – Mạch lật RS, JK, D, T,… – Có chức lưu trữ bit nhớ 40 Mạch lật RS Qn RS 00 Qn+1 = R.S + R.Qn = R.(S + Qn) Đầu vào Đầu tại SR Qn Đầu Qn+1 00 00 01 01 10 10 11 11 0 1 - 1 1 = R + (S + Qn) 01 11 10 1 Qn+1 = S.R + S.Qn = S.(R + Qn) = S + (R + Qn) 41 Mạch lật RS có tín hiệu đồng • • Khi Clk = 1, mạch hoạt động mạch lật RS Khi Clk = 0, ngõ vào RS bị vơ hiệu hóa, Q giữ ngun giá trị 42 Một số mạch lật 43 Thiết kế mạch • Mạch thường gồm mạch tổ hợp kết nối với mạch lật Còn gọi máy trạng thái hữu hạn (Finite State Machine - FSM) Thường có mơ sau Đầu vào Đầu Mạch tổ hợp Các mạch lật Clk • bước thiết kế mạch – – – – Vẽ lược đồ trang thái từ yêu cầu Lập bảng trạng thái từ sơ đồ trạng thái Xây dựng hàm luận lý từ sơ đồ trang thái Vẽ sơ đồ mạch luận lý thử nghiệm 44 Vẽ lược đồ trạng thái • Từ u cầu tốn, xác định trạng thái cần thiết chuyển đổi trạng thái xảy Điều kiện đầu vào Kết đầu Các trạng thái Chuyển đổi trạng thái 45 Ví dụ vẽ lược đồ trạng thái • u cầu: xây dựng mạch đếm nhị phân bit với tín hiệu điều khiển i – i = 1: trạng thái biến đổi 00 01 10 11 00 – i = 0: trạng thái khơng đổi • Xây dựng lược đồ trạng thái 0/00 0/01 S0=00 1/01 1/00 S3=11 0/11 S1=01 1/10 1/11 S2=10 0/10 46 Lập bảng trạng thái • Để quản lý n trạng thái, cần log2n mạch lật • Lựa chọn loại mạch lật (D, JK,…) • Ví dụ – Để quản lý trạng thái (00, 01, 10, 11), cần mạch lật – Chọn mạch lật JK Trạng thái hành p1 p0 Đầu vào i 0 0 1 1 0 1 0 1 1 1 Trạng thái ~ Đầu Mạch lật Mạch lật n1 n0 J0 K0 J1 0 1 1 0 1 0 1 0 x x x x x x x x 0 x x x x K1 x x x x 0 47 Xây dựng hàm luận lý • Có thể sử dụng phương pháp đại số Bool phương pháp đồ Karnaugh p1 p0 Đầu vào i 0 0 1 1 0 1 0 1 1 1 p 0 1 1 p 0 1 1 Trạng thái hành i 1 i Trạng thái kế ~ Đầu Mạch lật Mạch lật n1 n0 J0 K0 J1 K1 0 1 1 0 1 0 1 0 x x x x x x x x 0 x x x x x x x x 0 p 0 i 1 1 p 0 i 1 1 x x x x x x x x x x 1 x 1 x 1 x x x x J0 = i K0 = i J1 = p0.i K1 = p0.i 48 Vẽ sơ đồ mạch luận lý thử nghiệm J0 = i K0 = i J1 = p0.i K1 = p0.i 49 Thanh ghi dịch • Thanh ghi dịch (shift register) bit tạo từ mạch lật D với dãy bit nạp 10010000 50 ... (1/3) • Chỉ có ngõ vào bật, tổ hợp giá trị ngõ cho biết ngõ vào bật • Mạch mã hóa 4-2 ( 4-2 Encoder) 24 Mạch mã hóa (2/3) • Mạch mã hóa ưu tiên 4-3 ( 4-3 Priority Encoder) - Các đầu vào xem có độ ưu... trị đầu vào có 2n trường hợp) giá trị tương ứng giá trị đầu cho trường hợp • Ví dụ x y z f – Yêu cầu: thiết kế mạch tổ hợp có đầu vào đầu ra, cho giá trị logic đầu giá trị chiếm đa số đầu vào –... logic Mạch tổ hợp • Kết nối cổng logic cho kết mạch thời điểm phụ thuộc vào giá trị đầu vào thời điểm • Gồm n ngõ vào, m ngõ Ngõ hàm luận lý ngõ vào • Ln có độ trễ thời điểm tín hiệu vào ổn định