วันอังคารที่ 2 มิถุนายน พ.ศ. 2558

Graphics Processing unit (GPU) คืออะไร



GPU คืออะไร

Graphics Processing unit  (GPU) สามารถเรียกอีกชื่อหนึ่งได้คือ  visual processing unit  (VPU) ซึ่ง GPU มีได้ทั้งที่เป็น การ์ด หรือเป็นส่วนหนึ่งของแผงเมนบอร์ดก็ได้แต่ในปัจจุบันการ์ดแสดงผลส่วนใหญ่อยู่ในรูปของการ์ด  หน้าที่หลักของ GPU ก็คือช่วยในการประมวลการทำงานในด้านภาพกราฟฟิกบนหน้าจอคอมพิวเตอร์ให้มีประสิทธิภาพมากยิ่งขึ้นหลักการทำงานก็คล้ายกับ CPU แต่จะแตกต่างกันตรงที่ การ์ดแสดงผลสมัยเก่า ทำหน้าที่แปลงข้อมูลดิจิตอลเป็นสัญญาณเท่านั้น แต่จากกระแสความนิยมของการ์ดเร่งความเร็วสามมิติ ในช่วงครึ่งหลังของทศวรรษที่ 90 โดยบริษัท 3dfx และ nVidia ทำให้เทคโนโลยีด้านสามมิติพัฒนาไปมาก ปัจจุบันการ์ดแสดงผลสมัยใหม่ได้รวมความสามารถในการแสดงผลภาพสามมิติมาไว้เป็นมาตรฐาน และได้เรียกชื่อใหม่ว่า GRAPHICS PROCESSING UNIT โดยสามารถลดงานด้านการแสดงผลของของหน่วยประมวลผลกลาง (CPU) ได้มาก

อย่างไรก็ตามวงจรแสดงผลเหล่านี้มักมีความสามารถด้านสามมิติค่อนข้างจำกัด แต่ก็เหมาะสมกับงานในสำนักงาน, workstation(สถานีงานเป็นคำที่ใช้อธิบายสมรรถนะอันยิ่งใหญ่ของไมโครคอมพิวเตอร์ ที่สามารถทำงานพร้อมกันได้หลายงาน (multitasking) ส่วนมากจะใช้ในเรื่องของการออกแบบ (CAD) นั่นก็หมายถึงว่า สถานีงานนี้จะต้องมีหน่วยความจำขนาดใหญ่ มีหน่วยเก็บข้อมูลขนาดพิเศษ มีตัวปรับภาพชั้นยอด มีจอภาพชั้นหนึ่ง และที่สำคัญคือมีตัวประมวลผลที่ทำงานได้เร็วมาก ๆ เช่น RISC ส่วนใหญ่ สถานีงานจะใช้ระบบปฏิบัติการยูนิกซ์ (UNIX) และ โอเอส/ทู (OS/2) มีบางแห่งที่ใช้เครื่องแมคอินทอชชนิดที่มีประสิทธิภาพในการทำงานสูง ๆ อย่างไรก็ตาม ในอีกความหมายหนึ่ง สถานีงานอาจหมายถึงเพียงไมโครคอมพิวเตอร์แต่ละตัวในระบบเครือข่าย), GAME CONSOLE เป็นต้น

สำหรับผู้ที่ต้องการความสามารถด้านภาพสามมิติประสิทธิภาพสูง เช่น ใช้เพื่อเล่นเกมคอมพิวเตอร์ ฮาร์ดแวร์ยังอยู่ในรูปของการ์ดที่ต้องเสียบเพิ่มเพื่อให้ได้ภาพเคลื่อนไหวที่เป็นสามมิติที่สมจริง ในทางกลับกัน การใช้งานบางประเภท เช่น งานทางการแพทย์ กลับต้องการความสามารถการแสดงภาพสองมิติที่สูงแทนที่จะเป็นแบบสามมิติ เดิมการ์ดแสดงผลแบบสามมิติอยู่แยกกันคนละการ์ดกับการ์ดแบบสองมิติและต้องมีการต่อสายเชื่อมถึงกัน เช่น การ์ด Voodoo ของบริษัท 3dfx ซึ่งปัจจุบันไม่มีแล้ว
                  
 3dfx Voodoo 3
ขอบคุณภาพประกอบจาก http://www.nodevice.com/driver/Voodoo_3/get29088.html  
=====================================================================================================================================

ประเภทของการ์ดแสดงผล


การ์ดแสดงผลในปัจจุบันถูกพัฒนาให้มีความสามารถมากขึ้น มีการผลิตการ์ดเพื่องานเฉพาะด้านหลากหลายชนิด โดยการ์ดเหล่านี้จะมีชิปประมวลผลบนตัวการ์ด เพื่อจะช่วยให้งานประมวลผลทางด้านกราฟฟิก 3 มิติสามารถทำได้อย่างสมบูรณ์แบบ ด้วยคุณสมบัติที่หลากหลายของการ์ดแสดงผลในปัจจุบัน ทำให้ขอบเบตการใช้งานของมันไม่ได้เพียงใช้เล่นเกมส์ หรือใช้งานด้านเอกสารเช่นในอดีตที่ผ่านมา ความสามารถที่มีอยู่ในตัวเครื่องระดับ Workstation ที่ใช้ในงานด้านกราฟฟิกระดับสูงได้ถูกรวมเอาไว้ในการ์ดแสดงผลด้วย ทำให้ผู้ที่ต้องการใช้งานด้านกราฟฟิกสามารถเลือกใช้ได้ตามความเหมาะสม ทั้งนี้การ์ดแสดงผลสามารถแบ่งประเภทได้ตามลักษณะการใช้งานต่าง ๆ ดังนี้



  1. ใช้ในการเอกสารทั่วไปและอินเตอร์เน็ต การใช้คอมพิวเตอร์ทำงานด้านเอกสาร เช่น ชุดโปรแกรม Microsoft Office จัดเป็นงานที่ไม่เน้นการแสดงผลด้านกราฟฟิกสูงมาก ซึ่งสามารถใช้การ์ดแสดงผลระดับขั้นพื้นฐานทั่ว ๆ ไป ก็เพียงพอแล้วสำหรับงานประเภทนี้ ข้อสำคัญก็คือ การ์ดแสดงผลที่จะนำมาใช้กับงานด้านนี้ต้องสามารถรองรับความละเอียดสูงพอที่จะดูรายละเอียดของงานด้านเอกสารได้อย่างทั่วถึงในหน้าจอเดียว ซึ่งจะทำให้ไม่ต้องเลื่อน Scrollbar บ่อย ๆ และมีความสามารถในการรองรับ Refresh Rate สูง ๆ ได้ คุณสมบัคิต่าง ๆ เหล่านี้จะช่วยถนอมสายตาของผู้ใช้งานเมื่อต้องนั่งทำงานอยู่กับหน้าจอเป็นเวลานาน ๆ
    ภาพหน้าต่างของโปรแกรมทำงานเอกสาร  Microsoft Office Word
  2. ใช้ในงานกราฟฟิก 2 มิติ/ตัดต่อภาพวิดีโอ การ์ดแสดงผลประเภทนี้ใช้ในงานแสดงภาพเคลื่อนไหวประเภท 2 มิติ การตัดต่อวิดีโอ รวมทั้งงานด้านออกแบบตกแต่งภาพ 2 มิติ การ์ดประเภทนี้จะต้องมีความสามารถในการประมวลผลที่รวดเร็ว และสามารถรองรับการทำงานในโหมด 24 บิต (TrueColor) และสามารถปรับรายละเอียดของภาพได้ 1,024 x 768 เป็นอย่างต่ำ ส่วนงานด้านการตัดต่อวิดีโอต้องใช้ฮาร์ดแวร์ที่มีคุณสมบัติของ Video Capture จึงจะสามารถจับสัญญาณจากวิดีโอเข้ามายังคอมพิวเตอร์โดยผ่านช่องสัญญาณ AV บนตัวการ์ดได้
    ภาพหน้าต่างของโปรแกรมตัดต่อวีดีโอ Sony Vegas Pro
  3. ใช้ในงานออกแบบการฟฟิก 3 มิติ/เขียนแบบ CAD/CAM เหมาะสำหรับนักออกแบบกราฟฟิก 3 มิติ การใช้งานโปรแดรม 3D Studio หรือ AutoCAD จำเป็นอย่างยิ่งสำหรับการเลือกใช้ Hardware ที่มีคุณสมบัติด้านภาพ 3 มิติอย่างครบครัน การ์ดสำหรับงานกราฟฟิก 3 มิตินี้จะไม่เหมือนกับการ์ด 3 มิติที่ใช้สำหรับการเล่นเกม 3 มิติตรงที่มันสามารถรองรับการทำงานของ OpenGl (โอเพนจีแอล OpenGL, เป็นตัวย่อของคำว่า Open Graphics Library) เป็นไลบรารีหรือคลังโปรแกรม(หรือชุดคำสั่ง)ด้านกราฟิกสามมิติ เพื่อส่งคำสั่งควบคุมการวาดภาพไปยังอุปกรณ์ฮาร์ดแวร์การประมวลผลภาพ โอเพนจีแอลสามารถใช้ได้ใน หลายระบบคอมพิวเตอร์ ในการเขียนโปรแกรมด้านคอมพิวเตอร์กราฟิกส์ โดยในคลังโปรแกรมจะมีชุดคำสั่งมีมากกว่า 250 ช่วยในการสร้างวัตถุ แปลงวัตถุ และสร้างภาพโดยให้แสงและเงา โดยเริ่มจากการกำหนดรูปทรงพื้นฐาน เช่น สี่เหลี่ยมลูกบาศก์หรือทรงกลม โอเพนจีแอลเป็นที่นิยมมากในอุตสาหกรรมผลิตแอนิเมชันวีดีโอเกม โดยในขณะเดียวกันก็เป็นคู่แข่งทางการค้ากับไดเร็กท์ทรีดี (Direct3D) ของบริษัทไมโครซอฟท์) นอกจากการพัฒนาเพื่อวีดีโอเกม โอเพนจีแอลยังใช้ในทางด้านอื่นๆ รวมถึงการ การประมวลผลภาพ งานจำลองการทดลองเชิงวิทยาศาสตร์ และ การแสดงภาพจำลองในระบบสารสนเทศ รวมไปถึงความคมชัดและถูกต้องของสีที่ได้จะเป็นตัวกำหนดคุณภาพของการ์ดแต่ละรุ่น นอกจากนั้นการใช้งานด้านนี้ต้องการปริมาณของวิดีโอแรมมากกว่างานด้านอื่น ๆ จึงทำให้การ์ดบางรุ่นที่มีประสิทธิภาพสูงราคาอาจจะสูงถึงหลักแสนก็เป็นได้
    ขอบคุณภาพประกอบโปรแกรมทำงาน 3 มิติ www.facebook.com/MarsMars3d
  4. ใช้เพื่อเล่นเกมส์ 3 มิติ การแสดงภาพของเกมส์คอมพิวเตอร์ในปัจจุบันล้วนแล้วเน้นไปทางด้านภาพกราฟฟิก 3 มิติกันมากขึ้น ซึ่งต้องอาศัยคุณสมบัติเฉพาะของการ์ดแสดงผลที่ช่วยเร่งความเร็วในการแสดงผลของแต่ละฉากของเกมส์เพื่อให้แต่ละเฟรมลื่นไหลไม่เกิดอาการสะดุด ซึ่งการ์ดแสดงผลที่นิยมสำหรับผู้ที่ชื่นชอบการเล่นเกมส์คอมพิวเตอร์ในปัจจุบัน ได้แก่ การ์ดตระกูล GeForce ซึ่งมีจุดเด่นในด้านความเร็วและการสนับสนุนทางด้าน Driver ที่ดีจึงสามารถรองรับการทำงานของเกมส์ได้แทบจะทั้งหมด ตัวอย่างรูปภาพของการ์ดแสดงผล



=====================================================================================================================================

โครงสร้างการทำงานของ GPU และ ประเภทของ ชิปกราฟฟิก (Graphics Processor)


โครงสร้างการทำงานของการ์ดแสดงผล

การ์ดแสดงผลมีหน้าที่หลักในการรับข้อมูลดิจิตอลมาแปลงเป็นสัญญาณอะนาล็อก เพื่อส่งออกไปแสดงผลยังหน้าจอ ซึ่งสามารถแบ่งการทำงานของการ์ดแสดงผลออกเป็น 2 โหมดคือ โหมดตัวอักษร (Text Mode) โหมดการแสดงผลที่สามารถแสดงได้ เฉพาะข้อความที่เป็นตัวอักษรบนจอภาพ ไม่สามารถแสดงรูปภาพกราฟฟืกต่าง ๆ ได้ หน่วยย่อยที่สุดบนจอภาพในโหมดนี้ คือ ตัวอักษร    เช่น การทำงานในระบบ DOS และ โหมดกราฟฟิก (Graphic Mode) ลักษณะการทำงานแบบกราฟฟิก ในคอมพิวเตอร์ PC ของ IBM ได้แก่ ได้แก่การทำงานที่แสดงออกมาเป็นภาพ เส้นและตัวอักษรบนจอภาพ graphic mode สร้างภาพโดยวิธีใช้จุด pixel แต่ละจุดมาต่อเรียงกันเพื่อสร้างเป็นภาพ เป็นโหมดที่ต้องการความละเอียดในการแสดงผลสูงดังจะเห็นได้จากโหมดการทำงานของระบบปฏิบัติการวินโดวส์ที่ใช้อยู่ในปัจจุบัน บนตัวการ์ดแสดงผลจะมีส่วนประกอบพื้นฐานดังรูป
ส่วนประกอบพื้นฐานบนตัวการ์ดแสดงผล


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

  1. Frame Buffer เป็นชิฟที่มีการทำงานซับซ้อนน้อยที่สุด เนื่องจากมีหน้าที่เพียงแค่จัดการภาพแต่ละเฟรมที่เก็บไว้ในหน่วยความจำบนการ์ด และส่งข้อมูลไปยังตัวแปลงสัญญาณดิจิตอบให้เป็น อะนาล็อก (RAMDAC) เพื่อส่งไปแสดงผลยังหน้าจอมินิเตอร์ ชิฟประเภทนี้ไม่ได้มีหน้าที่ช่วย CPU ประมวลผลในการสร้างภาพกราฟฟิก จึงทำให้การประมวลผลด้านกราฟฟิกอยู่ที่ตัว CPU ตัวเดียวเท่านั้นส่งผลให้ CPU ทำงานมากขึ้น
  2. Graphics Accelerator เป็นชิฟที่ช่วยเร่งความเร็วให้กับการแสดงผล โดยมีหน้าที่หลักก็คือ รับคำสั่งจาก CPU มาทำงานเฉพาะด้าน เช่น การสร้างกรอบ การตีเส้น ซึ่งภายในชิฟจะมีชุดคำสั่งเก็บไว้ใช้สำหรับงานที่ต้องการแสงผลบ่อย ๆ และ CPU จะทำหน้าที่ตัดสินใจว่าจะให้ชิฟกราฟฟิกเป็นตัวประมวลผล หรือว่าจะทำการประมวลผลเอง ถึงแม้ว่าชิฟตัวนี้จะช่วยลดภาระการทำงานของCPUได้ในระดับหนึ่ง แต่ก็มีข้อเสียคือ ชิฟยังคงต้องมีการติดต่อกับ CPU ทุกครั้งที่จะทำการแสดงผล ประสิทธิภาพความเร็วของชิฟกราฟฟิกประเภทนี้จึงยังไม่สามารถรองรับงานกราฟฟิกหนัก ๆ ได้ดีเท่ากับชิฟประเภท Graphics Co-Processor
  3. Graphics Co-Processor หรือที่เรียกว่า GPU (Graphics Processing Unit) เป็นชิฟที่มีความสามารถในการจัดการประมวลผลงานทุกอย่างที่เกี่ยวกับการแสดงผลได้อย่างเสร็จสรรพ รวมไปถึงการประมวลผลกราฟฟิก 3 มิติที่ต้องมีการคำนวณเลขทศนิยมที่มีความละเอียดสูงมาก ๆ โดยไม่ต้องพึ่งการทำงานของ CPU ทำให้ CPU รับภาระด้านการประมวลผลน้อยลง ตัวอย่างรูปภาพ GPU ที่ผลิตโดย NVIDIA
credit: วิชาการ.คอม (www.vcharkarn.com)
=======================================================================================================





4 ความคิดเห็น:

  1. ทำไมถึงทำกับฉันได้

    ตอบลบ
  2. ค่ายเขียวที่หนึ่งในใจผมเสมอครับลุง

    ตอบลบ
  3. ขอบคุณมากๆสำหรับข้อมูลที่ดีนี้นะคะ ทำให้ได้ความรู้เพิ่มขึ้นมากทีเดียวค่ะ

    ตอบลบ