ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

เรียนรู้วิธีที่ตัวเปรียบเทียบขนาดกำหนดความสัมพันธ์ระหว่างอินพุตไบนารีด้วยความแม่นยำ

ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

ตัวเปรียบเทียบขนาดคืออะไร?

วงจรเปรียบเทียบขนาด (Magnitude Comparator) เป็นวงจรเชิงผสมชนิดหนึ่งที่ทำหน้าที่เปรียบเทียบเลขฐานสองสองจำนวนและหาค่าขนาดสัมพัทธ์ โดยจะแสดงผลว่าจำนวนหนึ่งมากกว่าอีกจำนวนหนึ่ง หรือน้อยกว่าหรือเท่ากับอีกจำนวนหนึ่ง วงจรเปรียบเทียบเหล่านี้ใช้ในระบบดิจิทัล เช่น ในเครือข่ายจำแนกประเภทและวงจรตัดสินใจ เพื่อจัดการการเปรียบเทียบตัวเลขได้อย่างแม่นยำโดยปราศจากข้อผิดพลาด

ตัวเปรียบเทียบ N บิต

วงจรนี้ทำงานโดยการเปรียบเทียบบิตของตัวเลขสองตัว โดยเริ่มจากบิตที่มีค่ามากที่สุด (MSB) ไปจนถึงบิตที่มีค่าน้อยที่สุด (LSB) ในแต่ละตำแหน่งบิต จะมีการเปรียบเทียบบิตที่สอดคล้องกันของตัวเลข หากบิตในตัวเลขตัวแรกมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวที่สอง เอาต์พุต A% 3EB จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกมากกว่าตัวเลขตัวที่สอง ในทำนองเดียวกัน หากบิตในตัวเลขตัวที่สองมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวแรก เอาต์พุต A<B จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกน้อยกว่าตัวเลขตัวที่สอง

ถ้าบิตที่ตรงกันสองบิตเท่ากัน วงจรจะเลื่อนไปยังตำแหน่งบิตถัดไปและเปรียบเทียบคู่บิตถัดไป กระบวนการนี้จะดำเนินต่อไปจนกว่าจะเปรียบเทียบทุกบิตเสร็จสิ้น หากในระหว่างกระบวนการเปรียบเทียบ วงจรพบว่าตัวเลขแรกมากกว่าหรือน้อยกว่าตัวเลขที่สอง กระบวนการเปรียบเทียบจะสิ้นสุดลงและสร้างเอาต์พุตที่เหมาะสม

ถ้าบิตทั้งหมดเท่ากัน วงจรจะสร้างเอาต์พุต A = B ซึ่งแสดงว่าตัวเลขทั้งสองเท่ากัน

มีหลายวิธีในการสร้างวงจรเปรียบเทียบขนาด เช่น การใช้เกต XOR, AND และ OR ร่วมกัน หรือการใช้ตัวบวกเต็มแบบเรียงต่อกัน การเลือกวิธีการสร้างขึ้นอยู่กับปัจจัยต่างๆ เช่น ความเร็ว ความซับซ้อน และการใช้พลังงาน

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบสองบิตเรียกว่าตัวเปรียบเทียบบิตเดี่ยว ประกอบด้วยอินพุตสองตัว แต่ละตัวแทนตัวเลขบิตเดี่ยวสองตัว และเอาต์พุตสามตัวเพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างตัวเลขไบนารีสองตัว

ตารางความจริงสำหรับตัวเปรียบเทียบ 1 บิตแสดงอยู่ด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต


จากตารางความจริงข้างต้น นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B: AB' A<B: A'B A=B: A'B' + AB

จากนิพจน์ข้างต้น เราสามารถอนุมานสูตรต่อไปนี้ได้

อนุพันธ์ของตัวเปรียบเทียบความเข้มแสง 1 บิต

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสองบิต เรียกว่า ตัวเปรียบเทียบขนาด 2 บิต ประกอบด้วยอินพุตสี่ตัวและเอาต์พุตสามตัว เพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองสองจำนวน

ตารางความจริงสำหรับตัวเปรียบเทียบ 2 บิตแสดงอยู่ด้านล่าง

จากตารางความจริงข้างต้น สามารถวาดแผนที่ K สำหรับแต่ละเอาต์พุตได้ดังนี้

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A<B

ตารางความจริงของเอาต์พุต A

จากแผนผัง K ด้านบน นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B:A1B1' + A0B1'B0' + A1A0B0'A=B: A1'A0'B1'B0' + A1'A0B1'B0 + A1A0B1B0 + A1A0'B1B0' : A1'B1' (A0'B0' + A0B0) + A1B1 (A0B0 + A0'B0') : (A0B0 + A0'B0') (A1B1 + A1'B1') : (A0 อดีต-Nor B0) (A1 อดีต-Nor B1)A<B:A1'B1 + A0'B1B0 + A1'A0'B0

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบความเข้มแสง 4 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสี่บิต เรียกว่า ตัวเปรียบเทียบขนาด 4 บิต ประกอบด้วยอินพุตแปดตัว แต่ละตัวแทนเลขสี่บิตสองตัว และเอาต์พุตสามตัวเพื่อแสดงค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองทั้งสอง

ในตัวเปรียบเทียบ 4 บิต เงื่อนไข A > B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 1 และ B3 = 0
  2. ถ้า A3 = B3 และ A2 = 1 และ B2 = 0
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 1 และ B1 = 0
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 1 และ B0 = 0

ในทำนองเดียวกัน เงื่อนไข A<B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 0 และ B3 = 1
  2. ถ้า A3 = B3 และ A2 = 0 และ B2 = 1
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 0 และ B1 = 1
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 0 และ B0 = 1

เงื่อนไข A = B จะเกิดขึ้นได้ก็ต่อเมื่อบิตทั้งหมดของจำนวนหนึ่งตรงกับบิตที่สอดคล้องกันของอีกจำนวนหนึ่งอย่างแม่นยำเท่านั้น

จากข้อความข้างต้น สามารถแสดงนิพจน์ตรรกะสำหรับแต่ละผลลัพธ์ได้ดังต่อไปนี้

AA, 831331 r: (A3 Ex-Nor 33) A2132 'a (A3 Ex-Nor 133) (A2 Ex-Nor 132) A131 'a (A3 Ex-Nor 33) (A2 ENor132) (Al Ex-Nor 31) A01301
,13: A3'03 a (A3 Ex-Nor 33)A211:12 a (A3 Ex-Nor 83) (A2 Ex-Nor 132)Ar131 a (A3 Ex-Nor 33) (A2 Ex-Nor32) (Al Ex-Nor 131)A0N30
A = B: (A3 Ex-Nor B3) (A2 Ex-Nor 82) (Al Ex-Nor BI) (AO Ex-Nor BO)

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 4 บิต

หมายเหตุ: สำหรับตัวเปรียบเทียบแบบ n บิต จำนวนชุดค่าผสมมีดังนี้: ชุดค่าผสมทั้งหมด = 2²ⁿ, ชุดค่าผสมที่เท่ากัน (A = B) = 2ⁿ, ชุดค่าผสมที่ไม่เท่ากัน = 2²ⁿ - 2ⁿ, ชุดค่าผสมที่มากกว่า (A > B) = ชุดค่าผสมที่น้อยกว่า (A < B) = (2²ⁿ - 2ⁿ) / 2

ตัวเปรียบเทียบแบบเรียงซ้อน

ตัวเปรียบเทียบที่ทำการเปรียบเทียบมากกว่าสี่บิตโดยการต่อตัวเปรียบเทียบ 4 บิตสองตัวขึ้นไปเข้าด้วยกัน เรียกว่า ตัวเปรียบเทียบแบบเรียงต่อกัน (cascaded comparator) เมื่อต่อตัวเปรียบเทียบสองตัวเข้าด้วยกัน เอาต์พุตของตัวเปรียบเทียบที่มีลำดับต่ำกว่าจะเชื่อมต่อกับอินพุตที่สอดคล้องกันของตัวเปรียบเทียบที่มีลำดับสูงกว่า

ตัวเปรียบเทียบแบบเรียงซ้อน

การประยุกต์ใช้ตัวเปรียบเทียบ

  • ตัวเปรียบเทียบ (Comparator) ใช้ในหน่วยประมวลผลกลาง (CPU) และไมโครคอนโทรลเลอร์ (MCU)
  • มีการใช้งานในระบบควบคุม โดยจะนำตัวเลขไบนารีที่แทนตัวแปรทางกายภาพ เช่น อุณหภูมิ ตำแหน่ง เป็นต้น มาเปรียบเทียบกับค่าอ้างอิง
  • หน่วยเปรียบเทียบยังใช้เป็นตัวควบคุมกระบวนการและควบคุมมอเตอร์เซอร์โวอีกด้วย
  • ใช้ในการตรวจสอบรหัสผ่านและแอปพลิเคชันไบโอเมตริก

ข้อดีของตัวเปรียบเทียบ

  • เครื่องมือเปรียบเทียบนี้ใช้งานง่ายและมีประสิทธิภาพสำหรับการเปรียบเทียบค่าไบนารี
  • ตัดสินใจได้อย่างรวดเร็วในวงจรดิจิทัล
  • ตัวเปรียบเทียบนี้สามารถนำไปรวมเข้ากับระบบที่ซับซ้อนได้อย่างง่ายดาย เช่น โปรเซสเซอร์และหน่วยคำนวณทางคณิตศาสตร์
  • การออกแบบตัวเปรียบเทียบนั้นเป็นแบบโมดูลาร์ ทำให้สามารถขยายโซลูชันเพื่อเปรียบเทียบตัวเลขหลายบิตได้

ข้อเสียของตัวเปรียบเทียบ

  • ตัวเปรียบเทียบมีข้อจำกัดด้านจำนวนบิตสำหรับการเปรียบเทียบ
  • สำหรับการประมวลผลข้อมูลขนาดใหญ่ จำเป็นต้องใช้วงจรที่ซับซ้อนกว่า
  • การใช้พลังงานจะเพิ่มขึ้นตามความซับซ้อนของวงจรที่เพิ่มขึ้น

บทความที่เกี่ยวข้อง

ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

เรียนรู้วิธีที่ตัวเปรียบเทียบขนาดกำหนดความสัมพันธ์ระหว่างอินพุตไบนารีด้วยความแม่นยำ

นักเขียนบทความ
by 
นักเขียนบทความ
ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

เรียนรู้วิธีที่ตัวเปรียบเทียบขนาดกำหนดความสัมพันธ์ระหว่างอินพุตไบนารีด้วยความแม่นยำ

ตัวเปรียบเทียบขนาดคืออะไร?

วงจรเปรียบเทียบขนาด (Magnitude Comparator) เป็นวงจรเชิงผสมชนิดหนึ่งที่ทำหน้าที่เปรียบเทียบเลขฐานสองสองจำนวนและหาค่าขนาดสัมพัทธ์ โดยจะแสดงผลว่าจำนวนหนึ่งมากกว่าอีกจำนวนหนึ่ง หรือน้อยกว่าหรือเท่ากับอีกจำนวนหนึ่ง วงจรเปรียบเทียบเหล่านี้ใช้ในระบบดิจิทัล เช่น ในเครือข่ายจำแนกประเภทและวงจรตัดสินใจ เพื่อจัดการการเปรียบเทียบตัวเลขได้อย่างแม่นยำโดยปราศจากข้อผิดพลาด

ตัวเปรียบเทียบ N บิต

วงจรนี้ทำงานโดยการเปรียบเทียบบิตของตัวเลขสองตัว โดยเริ่มจากบิตที่มีค่ามากที่สุด (MSB) ไปจนถึงบิตที่มีค่าน้อยที่สุด (LSB) ในแต่ละตำแหน่งบิต จะมีการเปรียบเทียบบิตที่สอดคล้องกันของตัวเลข หากบิตในตัวเลขตัวแรกมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวที่สอง เอาต์พุต A% 3EB จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกมากกว่าตัวเลขตัวที่สอง ในทำนองเดียวกัน หากบิตในตัวเลขตัวที่สองมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวแรก เอาต์พุต A<B จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกน้อยกว่าตัวเลขตัวที่สอง

ถ้าบิตที่ตรงกันสองบิตเท่ากัน วงจรจะเลื่อนไปยังตำแหน่งบิตถัดไปและเปรียบเทียบคู่บิตถัดไป กระบวนการนี้จะดำเนินต่อไปจนกว่าจะเปรียบเทียบทุกบิตเสร็จสิ้น หากในระหว่างกระบวนการเปรียบเทียบ วงจรพบว่าตัวเลขแรกมากกว่าหรือน้อยกว่าตัวเลขที่สอง กระบวนการเปรียบเทียบจะสิ้นสุดลงและสร้างเอาต์พุตที่เหมาะสม

ถ้าบิตทั้งหมดเท่ากัน วงจรจะสร้างเอาต์พุต A = B ซึ่งแสดงว่าตัวเลขทั้งสองเท่ากัน

มีหลายวิธีในการสร้างวงจรเปรียบเทียบขนาด เช่น การใช้เกต XOR, AND และ OR ร่วมกัน หรือการใช้ตัวบวกเต็มแบบเรียงต่อกัน การเลือกวิธีการสร้างขึ้นอยู่กับปัจจัยต่างๆ เช่น ความเร็ว ความซับซ้อน และการใช้พลังงาน

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบสองบิตเรียกว่าตัวเปรียบเทียบบิตเดี่ยว ประกอบด้วยอินพุตสองตัว แต่ละตัวแทนตัวเลขบิตเดี่ยวสองตัว และเอาต์พุตสามตัวเพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างตัวเลขไบนารีสองตัว

ตารางความจริงสำหรับตัวเปรียบเทียบ 1 บิตแสดงอยู่ด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต


จากตารางความจริงข้างต้น นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B: AB' A<B: A'B A=B: A'B' + AB

จากนิพจน์ข้างต้น เราสามารถอนุมานสูตรต่อไปนี้ได้

อนุพันธ์ของตัวเปรียบเทียบความเข้มแสง 1 บิต

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสองบิต เรียกว่า ตัวเปรียบเทียบขนาด 2 บิต ประกอบด้วยอินพุตสี่ตัวและเอาต์พุตสามตัว เพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองสองจำนวน

ตารางความจริงสำหรับตัวเปรียบเทียบ 2 บิตแสดงอยู่ด้านล่าง

จากตารางความจริงข้างต้น สามารถวาดแผนที่ K สำหรับแต่ละเอาต์พุตได้ดังนี้

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A<B

ตารางความจริงของเอาต์พุต A

จากแผนผัง K ด้านบน นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B:A1B1' + A0B1'B0' + A1A0B0'A=B: A1'A0'B1'B0' + A1'A0B1'B0 + A1A0B1B0 + A1A0'B1B0' : A1'B1' (A0'B0' + A0B0) + A1B1 (A0B0 + A0'B0') : (A0B0 + A0'B0') (A1B1 + A1'B1') : (A0 อดีต-Nor B0) (A1 อดีต-Nor B1)A<B:A1'B1 + A0'B1B0 + A1'A0'B0

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบความเข้มแสง 4 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสี่บิต เรียกว่า ตัวเปรียบเทียบขนาด 4 บิต ประกอบด้วยอินพุตแปดตัว แต่ละตัวแทนเลขสี่บิตสองตัว และเอาต์พุตสามตัวเพื่อแสดงค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองทั้งสอง

ในตัวเปรียบเทียบ 4 บิต เงื่อนไข A > B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 1 และ B3 = 0
  2. ถ้า A3 = B3 และ A2 = 1 และ B2 = 0
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 1 และ B1 = 0
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 1 และ B0 = 0

ในทำนองเดียวกัน เงื่อนไข A<B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 0 และ B3 = 1
  2. ถ้า A3 = B3 และ A2 = 0 และ B2 = 1
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 0 และ B1 = 1
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 0 และ B0 = 1

เงื่อนไข A = B จะเกิดขึ้นได้ก็ต่อเมื่อบิตทั้งหมดของจำนวนหนึ่งตรงกับบิตที่สอดคล้องกันของอีกจำนวนหนึ่งอย่างแม่นยำเท่านั้น

จากข้อความข้างต้น สามารถแสดงนิพจน์ตรรกะสำหรับแต่ละผลลัพธ์ได้ดังต่อไปนี้

AA, 831331 r: (A3 Ex-Nor 33) A2132 'a (A3 Ex-Nor 133) (A2 Ex-Nor 132) A131 'a (A3 Ex-Nor 33) (A2 ENor132) (Al Ex-Nor 31) A01301
,13: A3'03 a (A3 Ex-Nor 33)A211:12 a (A3 Ex-Nor 83) (A2 Ex-Nor 132)Ar131 a (A3 Ex-Nor 33) (A2 Ex-Nor32) (Al Ex-Nor 131)A0N30
A = B: (A3 Ex-Nor B3) (A2 Ex-Nor 82) (Al Ex-Nor BI) (AO Ex-Nor BO)

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 4 บิต

หมายเหตุ: สำหรับตัวเปรียบเทียบแบบ n บิต จำนวนชุดค่าผสมมีดังนี้: ชุดค่าผสมทั้งหมด = 2²ⁿ, ชุดค่าผสมที่เท่ากัน (A = B) = 2ⁿ, ชุดค่าผสมที่ไม่เท่ากัน = 2²ⁿ - 2ⁿ, ชุดค่าผสมที่มากกว่า (A > B) = ชุดค่าผสมที่น้อยกว่า (A < B) = (2²ⁿ - 2ⁿ) / 2

ตัวเปรียบเทียบแบบเรียงซ้อน

ตัวเปรียบเทียบที่ทำการเปรียบเทียบมากกว่าสี่บิตโดยการต่อตัวเปรียบเทียบ 4 บิตสองตัวขึ้นไปเข้าด้วยกัน เรียกว่า ตัวเปรียบเทียบแบบเรียงต่อกัน (cascaded comparator) เมื่อต่อตัวเปรียบเทียบสองตัวเข้าด้วยกัน เอาต์พุตของตัวเปรียบเทียบที่มีลำดับต่ำกว่าจะเชื่อมต่อกับอินพุตที่สอดคล้องกันของตัวเปรียบเทียบที่มีลำดับสูงกว่า

ตัวเปรียบเทียบแบบเรียงซ้อน

การประยุกต์ใช้ตัวเปรียบเทียบ

  • ตัวเปรียบเทียบ (Comparator) ใช้ในหน่วยประมวลผลกลาง (CPU) และไมโครคอนโทรลเลอร์ (MCU)
  • มีการใช้งานในระบบควบคุม โดยจะนำตัวเลขไบนารีที่แทนตัวแปรทางกายภาพ เช่น อุณหภูมิ ตำแหน่ง เป็นต้น มาเปรียบเทียบกับค่าอ้างอิง
  • หน่วยเปรียบเทียบยังใช้เป็นตัวควบคุมกระบวนการและควบคุมมอเตอร์เซอร์โวอีกด้วย
  • ใช้ในการตรวจสอบรหัสผ่านและแอปพลิเคชันไบโอเมตริก

ข้อดีของตัวเปรียบเทียบ

  • เครื่องมือเปรียบเทียบนี้ใช้งานง่ายและมีประสิทธิภาพสำหรับการเปรียบเทียบค่าไบนารี
  • ตัดสินใจได้อย่างรวดเร็วในวงจรดิจิทัล
  • ตัวเปรียบเทียบนี้สามารถนำไปรวมเข้ากับระบบที่ซับซ้อนได้อย่างง่ายดาย เช่น โปรเซสเซอร์และหน่วยคำนวณทางคณิตศาสตร์
  • การออกแบบตัวเปรียบเทียบนั้นเป็นแบบโมดูลาร์ ทำให้สามารถขยายโซลูชันเพื่อเปรียบเทียบตัวเลขหลายบิตได้

ข้อเสียของตัวเปรียบเทียบ

  • ตัวเปรียบเทียบมีข้อจำกัดด้านจำนวนบิตสำหรับการเปรียบเทียบ
  • สำหรับการประมวลผลข้อมูลขนาดใหญ่ จำเป็นต้องใช้วงจรที่ซับซ้อนกว่า
  • การใช้พลังงานจะเพิ่มขึ้นตามความซับซ้อนของวงจรที่เพิ่มขึ้น

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

บทความที่เกี่ยวข้อง

ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

ตัวเปรียบเทียบขนาดในตรรกะดิจิทัล

เรียนรู้วิธีที่ตัวเปรียบเทียบขนาดกำหนดความสัมพันธ์ระหว่างอินพุตไบนารีด้วยความแม่นยำ

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

ตัวเปรียบเทียบขนาดคืออะไร?

วงจรเปรียบเทียบขนาด (Magnitude Comparator) เป็นวงจรเชิงผสมชนิดหนึ่งที่ทำหน้าที่เปรียบเทียบเลขฐานสองสองจำนวนและหาค่าขนาดสัมพัทธ์ โดยจะแสดงผลว่าจำนวนหนึ่งมากกว่าอีกจำนวนหนึ่ง หรือน้อยกว่าหรือเท่ากับอีกจำนวนหนึ่ง วงจรเปรียบเทียบเหล่านี้ใช้ในระบบดิจิทัล เช่น ในเครือข่ายจำแนกประเภทและวงจรตัดสินใจ เพื่อจัดการการเปรียบเทียบตัวเลขได้อย่างแม่นยำโดยปราศจากข้อผิดพลาด

ตัวเปรียบเทียบ N บิต

วงจรนี้ทำงานโดยการเปรียบเทียบบิตของตัวเลขสองตัว โดยเริ่มจากบิตที่มีค่ามากที่สุด (MSB) ไปจนถึงบิตที่มีค่าน้อยที่สุด (LSB) ในแต่ละตำแหน่งบิต จะมีการเปรียบเทียบบิตที่สอดคล้องกันของตัวเลข หากบิตในตัวเลขตัวแรกมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวที่สอง เอาต์พุต A% 3EB จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกมากกว่าตัวเลขตัวที่สอง ในทำนองเดียวกัน หากบิตในตัวเลขตัวที่สองมากกว่าบิตที่สอดคล้องกันในตัวเลขตัวแรก เอาต์พุต A<B จะถูกตั้งค่าเป็น 1 และวงจรจะสรุปได้ทันทีว่าตัวเลขตัวแรกน้อยกว่าตัวเลขตัวที่สอง

ถ้าบิตที่ตรงกันสองบิตเท่ากัน วงจรจะเลื่อนไปยังตำแหน่งบิตถัดไปและเปรียบเทียบคู่บิตถัดไป กระบวนการนี้จะดำเนินต่อไปจนกว่าจะเปรียบเทียบทุกบิตเสร็จสิ้น หากในระหว่างกระบวนการเปรียบเทียบ วงจรพบว่าตัวเลขแรกมากกว่าหรือน้อยกว่าตัวเลขที่สอง กระบวนการเปรียบเทียบจะสิ้นสุดลงและสร้างเอาต์พุตที่เหมาะสม

ถ้าบิตทั้งหมดเท่ากัน วงจรจะสร้างเอาต์พุต A = B ซึ่งแสดงว่าตัวเลขทั้งสองเท่ากัน

มีหลายวิธีในการสร้างวงจรเปรียบเทียบขนาด เช่น การใช้เกต XOR, AND และ OR ร่วมกัน หรือการใช้ตัวบวกเต็มแบบเรียงต่อกัน การเลือกวิธีการสร้างขึ้นอยู่กับปัจจัยต่างๆ เช่น ความเร็ว ความซับซ้อน และการใช้พลังงาน

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบสองบิตเรียกว่าตัวเปรียบเทียบบิตเดี่ยว ประกอบด้วยอินพุตสองตัว แต่ละตัวแทนตัวเลขบิตเดี่ยวสองตัว และเอาต์พุตสามตัวเพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างตัวเลขไบนารีสองตัว

ตารางความจริงสำหรับตัวเปรียบเทียบ 1 บิตแสดงอยู่ด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต


จากตารางความจริงข้างต้น นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B: AB' A<B: A'B A=B: A'B' + AB

จากนิพจน์ข้างต้น เราสามารถอนุมานสูตรต่อไปนี้ได้

อนุพันธ์ของตัวเปรียบเทียบความเข้มแสง 1 บิต

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 1 บิต

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสองบิต เรียกว่า ตัวเปรียบเทียบขนาด 2 บิต ประกอบด้วยอินพุตสี่ตัวและเอาต์พุตสามตัว เพื่อสร้างค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองสองจำนวน

ตารางความจริงสำหรับตัวเปรียบเทียบ 2 บิตแสดงอยู่ด้านล่าง

จากตารางความจริงข้างต้น สามารถวาดแผนที่ K สำหรับแต่ละเอาต์พุตได้ดังนี้

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A>B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A = B

ตารางความจริงของเอาต์พุต A<B

ตารางความจริงของเอาต์พุต A

จากแผนผัง K ด้านบน นิพจน์ตรรกะสำหรับแต่ละเอาต์พุตสามารถแสดงได้ดังต่อไปนี้

A>B:A1B1' + A0B1'B0' + A1A0B0'A=B: A1'A0'B1'B0' + A1'A0B1'B0 + A1A0B1B0 + A1A0'B1B0' : A1'B1' (A0'B0' + A0B0) + A1B1 (A0B0 + A0'B0') : (A0B0 + A0'B0') (A1B1 + A1'B1') : (A0 อดีต-Nor B0) (A1 อดีต-Nor B1)A<B:A1'B1 + A0'B1B0 + A1'A0'B0

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 2 บิต

ตัวเปรียบเทียบความเข้มแสง 4 บิต

ตัวเปรียบเทียบที่ใช้เปรียบเทียบเลขฐานสองสองจำนวน ซึ่งแต่ละจำนวนมีสี่บิต เรียกว่า ตัวเปรียบเทียบขนาด 4 บิต ประกอบด้วยอินพุตแปดตัว แต่ละตัวแทนเลขสี่บิตสองตัว และเอาต์พุตสามตัวเพื่อแสดงค่า น้อยกว่า เท่ากับ และมากกว่า ระหว่างเลขฐานสองทั้งสอง

ในตัวเปรียบเทียบ 4 บิต เงื่อนไข A > B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 1 และ B3 = 0
  2. ถ้า A3 = B3 และ A2 = 1 และ B2 = 0
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 1 และ B1 = 0
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 1 และ B0 = 0

ในทำนองเดียวกัน เงื่อนไข A<B สามารถเกิดขึ้นได้ในสี่กรณีต่อไปนี้

  1. ถ้า A3 = 0 และ B3 = 1
  2. ถ้า A3 = B3 และ A2 = 0 และ B2 = 1
  3. ถ้า A3 = B3, A2 = B2 และ A1 = 0 และ B1 = 1
  4. ถ้า A3 = B3, A2 = B2, A1 = B1 และ A0 = 0 และ B0 = 1

เงื่อนไข A = B จะเกิดขึ้นได้ก็ต่อเมื่อบิตทั้งหมดของจำนวนหนึ่งตรงกับบิตที่สอดคล้องกันของอีกจำนวนหนึ่งอย่างแม่นยำเท่านั้น

จากข้อความข้างต้น สามารถแสดงนิพจน์ตรรกะสำหรับแต่ละผลลัพธ์ได้ดังต่อไปนี้

AA, 831331 r: (A3 Ex-Nor 33) A2132 'a (A3 Ex-Nor 133) (A2 Ex-Nor 132) A131 'a (A3 Ex-Nor 33) (A2 ENor132) (Al Ex-Nor 31) A01301
,13: A3'03 a (A3 Ex-Nor 33)A211:12 a (A3 Ex-Nor 83) (A2 Ex-Nor 132)Ar131 a (A3 Ex-Nor 33) (A2 Ex-Nor32) (Al Ex-Nor 131)A0N30
A = B: (A3 Ex-Nor B3) (A2 Ex-Nor 82) (Al Ex-Nor BI) (AO Ex-Nor BO)

โดยใช้การแสดงออกเชิงบูลีนเหล่านี้ เราสามารถสร้างวงจรตรรกะสำหรับตัวเปรียบเทียบนี้ได้ดังที่แสดงด้านล่าง

ตัวเปรียบเทียบความเข้มแสง 4 บิต

หมายเหตุ: สำหรับตัวเปรียบเทียบแบบ n บิต จำนวนชุดค่าผสมมีดังนี้: ชุดค่าผสมทั้งหมด = 2²ⁿ, ชุดค่าผสมที่เท่ากัน (A = B) = 2ⁿ, ชุดค่าผสมที่ไม่เท่ากัน = 2²ⁿ - 2ⁿ, ชุดค่าผสมที่มากกว่า (A > B) = ชุดค่าผสมที่น้อยกว่า (A < B) = (2²ⁿ - 2ⁿ) / 2

ตัวเปรียบเทียบแบบเรียงซ้อน

ตัวเปรียบเทียบที่ทำการเปรียบเทียบมากกว่าสี่บิตโดยการต่อตัวเปรียบเทียบ 4 บิตสองตัวขึ้นไปเข้าด้วยกัน เรียกว่า ตัวเปรียบเทียบแบบเรียงต่อกัน (cascaded comparator) เมื่อต่อตัวเปรียบเทียบสองตัวเข้าด้วยกัน เอาต์พุตของตัวเปรียบเทียบที่มีลำดับต่ำกว่าจะเชื่อมต่อกับอินพุตที่สอดคล้องกันของตัวเปรียบเทียบที่มีลำดับสูงกว่า

ตัวเปรียบเทียบแบบเรียงซ้อน

การประยุกต์ใช้ตัวเปรียบเทียบ

  • ตัวเปรียบเทียบ (Comparator) ใช้ในหน่วยประมวลผลกลาง (CPU) และไมโครคอนโทรลเลอร์ (MCU)
  • มีการใช้งานในระบบควบคุม โดยจะนำตัวเลขไบนารีที่แทนตัวแปรทางกายภาพ เช่น อุณหภูมิ ตำแหน่ง เป็นต้น มาเปรียบเทียบกับค่าอ้างอิง
  • หน่วยเปรียบเทียบยังใช้เป็นตัวควบคุมกระบวนการและควบคุมมอเตอร์เซอร์โวอีกด้วย
  • ใช้ในการตรวจสอบรหัสผ่านและแอปพลิเคชันไบโอเมตริก

ข้อดีของตัวเปรียบเทียบ

  • เครื่องมือเปรียบเทียบนี้ใช้งานง่ายและมีประสิทธิภาพสำหรับการเปรียบเทียบค่าไบนารี
  • ตัดสินใจได้อย่างรวดเร็วในวงจรดิจิทัล
  • ตัวเปรียบเทียบนี้สามารถนำไปรวมเข้ากับระบบที่ซับซ้อนได้อย่างง่ายดาย เช่น โปรเซสเซอร์และหน่วยคำนวณทางคณิตศาสตร์
  • การออกแบบตัวเปรียบเทียบนั้นเป็นแบบโมดูลาร์ ทำให้สามารถขยายโซลูชันเพื่อเปรียบเทียบตัวเลขหลายบิตได้

ข้อเสียของตัวเปรียบเทียบ

  • ตัวเปรียบเทียบมีข้อจำกัดด้านจำนวนบิตสำหรับการเปรียบเทียบ
  • สำหรับการประมวลผลข้อมูลขนาดใหญ่ จำเป็นต้องใช้วงจรที่ซับซ้อนกว่า
  • การใช้พลังงานจะเพิ่มขึ้นตามความซับซ้อนของวงจรที่เพิ่มขึ้น

Related articles