CPU และ GPU คล้ายกัน: ทั้งคู่ทำจากทรานซิสเตอร์ร้อยล้านตัว ประมวลผล Operates พันๆ ต่อวินาที แตต่างกันยังไง?
CPU คืออะไร?
CPU (Central Processing Unit) เรียกว่า "สมอง" คอมพิวเตอร์ ชุดทรานซิสเตอร์ล้านล้าน ตัวเลขคำนวณหลากหลาย CPU มาตรฐานมี 1-4 Cores คล็อก 1-4 GHz
CPU แรงเพราะทำอะไรได้หมด ถ้าคอมพิวเตอร์ทำได้ มันเพราะ CPU ทำได้ โปรแกรมเมอร์ทำได้ผ่าน Instruction Sets กว้าง และ Feature Lists ร่วมกันทุก CPU
GPU คืออะไร?
GPU (Graphics Processing Unit) เป็น Microprocessor เฉพาะทาง เพิ่มประสิทธิภาพสำหรับแสดงกราฟิก และงานคำนวณเฉพาะ Clock Speed ต่ำกว่า CPU แต่มี Cores มากกว่าหลายเท่า
คิดว่า GPU เป็น CPU เฉพาะทาง สร้างขึ้นเพื่อวัตถุประสงค์เฉพาะ Video Rendering = ทำคณิตศาสตร์พื้นฐานซ้ำๆ หลายครั้ง GPU เก่งที่นี้ GPU มี Processing Cores พันๆ รันพร้อมกัน แต่ละ Core ช้ากว่า CPU Core แต่ tune ให้มีประสิทธิภาพสูงสุดสำหรับคณิตศาสตร์พื้นฐานสำหรับ Video Rendering Massive Parallelism นี้ทำให้ GPU รันกราฟิก 3D ซับซ้อนของเกมสมัยใหม่ได้
ความต่างระหว่าง CPU และ GPU
ถ้า CPU คือ Leatherman (มีดหลายฟังก์ชัน) GPU คือมีดคมมาก คุณขัน Bolt ด้วยมีดไม่ได้ แตตัดของได้ดี
GPU ทำได้แค่เศษส่วนของ CPU แตทำเร็วมาก GPU ใช้ร้อย Core คำนวณ Time-sensitive สำหรับพิกเซลพันจุด พร้อมกัน ทำให้แสดงกราฟิก 3D ซับซ้อนได้ แตเร็วแค่ไหน ก็ทำแค่ "Dumb Operations" (คำนวณ đơn giản)
ตัวอย่าง: Nvidia GTX 1080 มี Shader Cores 2560 ทำ 2560 Instructions/Clock Cycle เหมาะสำหรับเพิ่มความสว่างหน้าจอ 1% เปรียบเทียบ Intel i5 4 Cores ทำ 4 Instructions/Clock Cycle เท่านั้น
แต่ CPU ยืดหยุ่นกว่า GPU: Instruction Set ใหญ่กว่า ทำงานหลากหลาย Clock Speed สูงกว่า จัดการ Input/Output ทุกส่วนของคอมพิวเตอร์ เช่น จัดการ Virtual Memory จำเป็นสำหรับ OS สมัยใหม่ GPU ทำไม่ได้
GPU Computation คืออะไร?
แม้ GPU เก่ง Video Rendering แต่เทคนิคทำได้มากกว่า Graphics Processing เป็นแค่หนึ่งใน Repetitive Highly-Parallel Computing Tasks งานอื่น: Bitcoin Mining, Password Cracking ใช้ Data Set ใหญ่ คณิตศาสตร์ง่าย เหมือนกัน บางคนใช้ GPU รัน Non-Graphical Operations เรียกว่า "GPU Computation"
สรุป
CPU และ GPU มีวัตถุประสงค์คล้ายกัน แต่ optimize สำหรับ Computing Tasks ต่างกัน คอมพิวเตอร์ที่มีประสิทธิภาพ ต้องมีทั้งคู่