ประเภทของหน่วยประมวลผลในอุปกรณ์คอมพิวเตอร์

เกริ่นนำ

          อุปกรณ์คอมพิวเตอร์ในยุคปัจจุบันมีความก้าวหน้าจากอดีตเป็นอย่างมาก คอมพิวเตอร์ปัจจุบันมีขนาดเล็กและทำงานได้อย่างรวดเร็วมาก หัวใจสำคัญที่คอมพิวเตอร์สามารถทำงานได้อย่างรวดเร็วคือหน่วยประมวลผล หรือที่รู้จักกันว่าหน่วยประมวลผลกลาง (Central Processing Unit : CPU) นั่นเอง

          นอกจากหน่วยประมวลผลกลางแล้ว คอมพิวเตอร์ในยุคปัจจุบันมีหน่วยประมวลผลประเภทอื่นด้วยเพื่อรองรับการประมวลผลเฉพาะ ซึ่งบทความนี้จะแนะนำให้รู้จักหน่วยประมวลประเภทต่าง ๆ

หน่วยประมวลผลกลาง (Central Processing Unit : CPU)

          หน่วยประมวลผลกลางซึ่งเรียกโดยย่อว่าซีพียู หรือที่รู้จักกันในชื่อไมโครโพรเซสเซอร์ (Microprocessor) เปรียบได้กับสมองของคอมพิวเตอร์ซึ่งทำหน้าที่ตัดสินใจ คำนวณ หรือ ประมวลผลตามคำสั่ง หรือเงื่อนไขต่าง ๆ ที่ได้รับมา โดยในหน่วยประมวลผลกลางยังประกอบด้วยส่วนต่าง ๆ อีกมากมาย

          คอร์ (Core) หมายถึง ส่วนประมวลที่อยู่ในหน่วยประมวลผลกลาง การทำงานของหน่วยประมวลผลกลางจะเกิดขึ้นที่คอร์ ในแต่ละคอร์ยังมีส่วนประกอบย่อย ๆ อีก เช่น ส่วนควบคุมการทำงาน (Control Unit : CU) และส่วนประมวลผลทางคณิตศาสตร์ (Arithmetic and Logic Unit : ALU) ความเร็วในการทำงานของคอร์จะขึ้นอยู่กับสัญญาณนาฬิกา การเพิ่มความเร็วให้กับคอร์คือการเพิ่มสัญญาณนาฬิกาให้เร็วขึ้น อย่างไรก็ตาม ผลข้างเคียงของการเพิ่มสัญญาณนาฬิกาคือความร้อน เพื่อแก้ปัญหาเรื่องความร้อน ผู้ผลิตจึงได้ผลิตหน่วยประมวลผลชนิดที่มีหลายคอร์ (Multi Core) หน่วยประมวลผลกลางยุคปัจจุบันมีหลายคอร์ ทำให้หน่วยประมวลผลกลางสามารถประมวลคำสั่งต่าง ๆ ได้มากกว่า 1 คำสั่งในเวลาเดียวกัน อย่างไรก็ตาม การเพิ่มจำนวนคอร์อาจจะไม่ได้ทำให้คอมพิวเตอร์ทำงานเร็วขึ้นเสมอไป เพราะโปรแกรมที่ใข้งานจะต้องรองรับการทำงานแบบหลายคอร์ด้วย

          เทรด (Thread) หมายถึง การจำลองจำนวนคอร์ของหน่วยประมวลผลให้มากขึ้น การจำลองดังกล่าวจะทำให้คอร์สามารถประมวลผลได้อย่างหลายพร้อม ๆ กัน ตามจำนวนเทรดที่เพิ่มขึ้น โดยทั่วไปแล้ว 1 คอร์จะมี 2 เทรด ปกติแล้วคำสั่งที่ส่งไปยังคอร์นี้จะทำงานตามลำดับก่อนหลัง ซึ่งถ้าคอร์มี 1 เทรด คำสั่งก็ส่งให้คอร์ก็จะรอทำงานตามลำดับไปเรื่อย ๆ แต่ถ้าคอร์มี 2 เทรด คำสั่งที่ไม่ได้เกี่ยวข้องกันจะแยกกันทำงานคนละเทรด ไม่ต้องคำสั่งก่อนหน้าทำงานเสร็จก่อน เช่น คำสั่งที่เกี่ยวกับโหลดข้อมูลจากอินเทอร์เน็ต กับ คำสั่งที่แสดงผลบนหน้าจอ สามารถแยกกันทำงานได้  ทำให้ผู้ใช้งานโทรศัพท์มือถือค่อย ๆ เห็นภาพบนหน้าจอทีละน้อย ระหว่างที่รอการโหลดข้อมูลจากอินเทอร์เน็ตจนเสร็จ เป็นต้น

          มัลติเทรด (Multi-Threading) เป็นเทคโนโลยีของบริษัทอินเทล ที่จำลองการทำงานของคอร์ให้เสมือนมีหลายคอร์ ทำให้ระบบปฏิบัติการคิดว่าหน่วยประมวลผลกลางมีหลายคอร์ ทั้ง ๆ ที่อาจมีเพียงคอร์เดียว

          การวัดประสิทธิภาพของซีพียูมักอยู่ในรูปของความถี่ของสัญญาณนาฬิกาของซีพียูซึ่งมีหน่วยเป็นเฮิร์ตซ์ เช่น 3.0 GHz ซีพียูที่ทำงานด้วยความถี่สูงจะมีประสิทธิภาพสูงกว่าซีพียูที่ทำงานที่ความถี่ต่ำกว่า

หน่วยประมวลผลกราฟิก (Graphics Processing Unit : GPU)

          หน่วยประมวลผลกราฟิก หรือเรียกโดยย่อว่าจีพียู เป็นหน่วยประมวลผลเฉพาะด้านซึ่งออกแบบมาเพื่อประมวลผลคณิตศาสตร์ที่จำเป็นสำหรับงานด้านกราฟิกโดยเฉพาะ จีพียูจะทำงานร่วมกับซีพียูเพื่อประมวลผลงานเฉพาะด้านที่ใช้สำหรับแสดงภาพบนจอประมวลผล เช่น งานประมวลผลที่เกี่ยวกับพีชคณิตเชิงเส้น เป็นต้น นอกจากนี้ สถาปัตยกรรมของจีพียูยังออกแบบให้จีพียูสามารถทำงานหลาย ๆ งานได้พร้อม ๆ กัน (Parallel Operations) ทำให้มีการนำจีพียูไปใช้กับงานด้านอื่น ๆ ที่ไม่ใช่งานด้านกราฟิกด้วย เช่น งานด้านวิทยาศาสตร์ หรือ งานด้าน Machine Learning เป็นต้น จีพียูไม่สามารถทดแทนซีพียูได้ เพราะจีพียูรองรับคำสั่งที่ทำงานบางอย่างเท่านั้น ส่วนซีพียูรองรับคำสั่งต่าง ๆ ได้หลากหลายกว่า

          การนำจีพียูไปใช้งานมักจะอยู่ใน 2 รูปแบบ คือ ติดตั้งเป็นส่วนหนึ่งของซีพียูซึ่งเรียกว่าแบบออนบอร์ด (On-Board) ซึ่งจะใช้หน่วยความจำร่วมกับซีพียู จีพียูแบบนี้พบได้ในคอมพิวเตอร์ที่ใช้งานทั่ว ๆ ไป  กับอีกแบบหนึ่งคือแบบการ์ดจอภาพที่ติดตั้งเพิ่มเติม การ์ดจอภาพจะมีหน่วยความจำประสิทธิภาพสูงเพื่องานด้านกราฟิกโดยเฉพาะ จีพียูที่เป็นแบบการ์ดนั้นจะเป็นจีพียูที่มีประสิทธิภาพสูงกว่าแบบแรก มักพบได้ในคอมพิวเตอร์ที่ต้องการภาพกราฟิกความละเอียดสูง เช่น คอมพิวเตอร์เพื่อการเล่นเกม หรือคอมพิวเตอร์เพื่อการคำนวณทางวิทยาศาสตร์ เป็นต้น ข้อเสียของจีพียูแบบการ์ดคือจะใช้พลังงานสูงและปล่อยความร้อนออกมาเป็นจำนวนมาก

          การวัดประสิทธิภาพของจีพียูมักอยู่ในรูปของจำนวนเฟรมที่ประมวลผลได้ต่อวินาที (Frame Per Second : FPS) จีพียูที่ประสิทธิภาพสูงจะสามารถประมวลผลจำนวนเฟรมต่อวินาทีได้สูง เช่น 60 FPS เป็นต้น

หน่วยประมวลผลข่ายประสาท (Neural Processing Unit : NPU)

          หน่วยประมวลผลข่ายประสาท หรือเรียกโดยย่อว่าเอ็นพียูเป็นหน่วยประมวลผลเฉพาะด้านซึ่งออกแบบมาเพื่อประมวลผลคณิตศาสตร์ที่จำเป็นสำหรับงานด้าน Machine Learning หรือ Artificial Intelligence (AI) โดยเฉพาะ การทำงานของเอ็นพียูมีลักษณะจำลองการทำงานของเซลล์ประสาทมนุษย์ ทำให้สามารถประมวลข้อมูลพร้อม ๆ กันครั้งละมาก ๆ ได้ ตัวอย่างการนำเอ็นพียูไปใช้งาน เช่น การใช้เสียงช่วยสั่งงานผ่านโทรศัพท์มือถือ หรือการจดจำใบหน้าบนโทรศัพท์มือถือ เป็นต้น ทั้งนี้ ผู้ผลิตแต่ละรายอาจจะเรียกเอ็นพียูด้วยชื่อที่แตกต่างกัน เช่น Tensor Processing Unit (TPU) เป็นชื่อเอ็นพียูของบริษัทกูเกิ้ล โดยทางกูเกิ้ลให้บริการลูกค้าที่ต้องการใช้งาน TPU ผ่านบริการคลาวด์ของกูเกิ้ล หรือ Neural Engine เป็นชื่อเอ็นพียูบนไมโครโพรเซสเซอร์ของบริษัทแอปเปิ้ลที่อยู่ในโทรศัพท์มือถือและคอมพิวเตอร์ของบริษัทแอปเปิ้ล

          การวัดประสิทธิภาพของเอ็นพียูมักอยู่ในรูปของจำนวนคำสั่งที่ประมวลผลได้ต่อวินาที (Operation Per Second : OPS) และบ่อยครั้งที่ผู้ผลิตจะแสดงข้อมูลในหน่วย Trillion Operation Per Second (TOPS) เช่น 10 TOPS เป็นต้น