ในที่สุดมันก็มา NVIDIA GTX 480 การ์ดจอตัวแรกตระกูล Fermi

by mk
27 March 2010 - 16:32

หลังพลาดท่า ปล่อยให้คู่แข่งอย่าง ATI ออก Radeon HD 5870 เป็นการ์ดจอ DirectX 11 ตัวแรกไปเมื่อเดือนกันยายนปีที่แล้ว ทางยักษ์เขียว NVIDIA ก็ประสบปัญหาในการผลิต "Fermi" หน่วยประมวลผลกราฟิกสถาปัตยกรรมใหม่ จนต้องเลื่อนวันวางขายมาเป็นปี 2010 ส่งผลให้ ATI ครองความเป็นเจ้าแห่งการ์ดจอมาได้ยาวกว่าปกติถึง 6 เดือน (นานๆ จะทำได้สักที)

ตอนนี้ Fermi ตัวแรกใกล้เสร็จสมบูรณ์แล้ว โดย NVIDIA จะออกการ์ดจอที่ใช้ GPU รหัส GF100 ซึ่งเป็นตัวท็อปของสายตระกูลมาก่อน การ์ดจอสองตัวแรกจะออกวันที่ 6 เมษายนนี้ ได้แก่ GeForce GTX 480 และ GeForce GTX 470

ผู้สืบทอดของ GT200

ต้องย้อนก่อนนิดนึงว่า GPU ตัวก่อนของค่าย NVIDIA คือ "GT 200" (ตัวเดียวกับที่ช่อง 11 เอาสเปกไปออกทีวีประกอบข่าวเครื่องตรวจระเบิดนั่นละครับ) ซึ่งมันถูกนำไปใช้กับการ์ดจอตระกูล GeForce 200 ที่ออกขายในปี 2008 แข่งกับ Radeon HD 4000

ตามแผนการเดิมของ NVIDIA จะต้องออก Fermi ได้ในปี 2009 เพื่อมาฟัดกับ Radeon HD 5000 แต่สุดท้ายทำไม่สำเร็จ เลยได้แต่ยืดอายุของ GT200 ต่อไป และขยายมายัง GeForce 300 ซึ่งเป็นการ์ดตระกูลที่ทำมาขายเฉพาะ OEM ด้วย

ดังนั้น GeForce 400 ที่ไส้ในเป็น Fermi/GF100 คือผู้สืบทอดที่แท้จริงของ GT200 ซึ่งเป็นการ์ดระดับบนของ NVIDIA ถ้าทำไม่สำเร็จก็คงตาม ATI อีกนาน

สถาปัตยกรรม

NVIDIA นั้นเชื่อในแนวทางของ GPGPU (General-purpose computing on graphics processing units) ซึ่งเป็นการนำพลังของ GPU มาประมวลผลเรื่องอื่นๆ ที่ไม่ใช่กราฟิก ทางบริษัทได้ลงทุนด้านนี้ไปมาก ที่เห็นชัดๆ คือสถาปัตยกรรม CUDA (Compute Unified Device Architecture) สำหรับการประมวลผลแบบขนานบน GPU

ในฝั่งฮาร์ดแวร์ ทิศทางที่โลกการประมวลผลแบบขนานมุ่งไปคือ stream processing หรือการสร้างหน่วยประมวลผลขนาดเล็กๆ ที่ทำงานได้ด้วยตัวเอง (มักเรียกว่า computing unit หรือ processing unit) จำนวนมากๆ ทำงานขนานกันได้ ตัวอย่างที่ชัดเจนคือ Cell ที่ใช้ใน PS3 (ผมเคยเขียนเรื่องสถาปัตยกรรมของ Cell เอาไว้สมัย Blognone ตั้งใหม่ๆ)

ในโลกของการ์ดจอ แนวคิด stream processor เริ่มในสมัย GeForce 8 (ซึ่งใช้ชิพ G80 อันลือลั่น) ส่วนฝั่ง ATI เป็น Radeon HD 2000 ที่ใช้ชิพ R600 ที่พัฒนาต่อมาจาก Xenos ของ Xbox 360 อีกทีหนึ่ง

"Fermi" ไปไกลกว่านั้น สถาปัตยกรรมของมันค่อนข้างซับซ้อน มีโครงสร้างการจัดกลุ่มหน่วยประมวลผลย่อยหลายชั้น แต่ละชั้นทำงานได้ครบถ้วนในตัว ไม่ต้องแชร์ส่วนประกอบบางส่วนเหมือนกับ G80 และ GT200 เดิม

  • หน่วยประมวลผลที่เล็กที่สุดเรียกว่า CUDA core (มันคือ ALU + FPU + pipeline)
  • นำเอา CUDA core 32 ตัว มารวมกับองค์ประกอบอื่นๆ เช่น register, scheduler (NVIDIA เรียกว่า PolyMorph Engine), texture cache ฯลฯ เราจะเรียกมันว่า Streaming Multiprocessor (SM)
  • นำเอา SM 4 ตัว มารวมกับหน่วยประมวลผลกราฟิกแบบ raster เราจะเรียกมันว่า Graphic Processing Cluster (GPC)
  • GPC หนึ่งตัวจะเรียกใช้แคช L2 กลางได้ 768MB และเอา GC 4 ตัว + แคช L2 3GB + Memory Controller 6 ตัว (เพื่อต่อกับหน่วยความจำภายนอก) เราจะได้ Fermi

รายละเอียดของสถาปัตยกรรม GF100 อ่านได้จาก AnandTech

ถ้าลองคูณเลขออกมาดู จะได้ว่า Fermi 1 ตัวมี CUDA core รวม 512 ตัวครับ (ดูภาพประกอบ)

แต่สำหรับ GF100 ซึ่งเป็น GPU ตัวแรกในตระกูล Fermi นั้น NVIDIA จะยังกั๊กไว้เล็กน้อย คือปิด SM ทิ้งไปหนึ่งตัว (บางแหล่งข่าวบอกว่าเป็นเหตุผลด้านการผลิต ยังไม่สามารถผลิต Fermi ที่มี SM ทำงานได้ครบทุกตัวได้จำนวนมากพอ) เลยเหลือ SM 15 ตัวจาก 16 ตัว นั่นคือเหลือ CUDA core จำนวน 480 ตัวเท่าชื่อรุ่น GeForce GTX 480

ส่วน GeForce GTX 470 นั้นเปิดใช้ SM 14 ตัว สรุปว่าเหลือ CUDA core จำนวน 448 ตัว

นอกจากตัว GPU แล้ว ที่ระดับการ์ดจอ GeForce 400 จะมาพร้อมกับแรม GDDR5 ขนาด 1.5 GB (คาดว่าการ์ดจอแบรนด์ Quadro หรือ Tesla จะขยับขึ้นเป็น 3-6GB) หน่วยความจำทุกส่วนของ GeForce 400 ยังเพิ่มฟีเจอร์ ECC ช่วยแก้ไขข้อมูลที่โหลดเข้าแรมผิดพลาดให้ด้วย

Tessellation และ DirectX 11

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

ATI รองรับ tessellation ใน Radeon HD 5000 เรียบร้อยแล้ว ฝั่ง NVIDIA เลือกประมวลผล tessellation ด้วย PolyMorph Engine ซึ่งมีอยู่ใน SM อย่างละ 1 ตัว (แปลว่า Fermi หนึ่งตัวมีหน่วยประมวลผล tessellation 14-16 ตัว ขึ่นกับรุ่นที่ใช้) ผลที่ออกมาคือ GeForce GTX 480 ได้คะแนนเบนช์มาร์คดีกว่า Radeon HD 5870 เกือบเท่าตัว

ส่วนการประมวลผลฟิสิก์ผ่าน PhysX ของ NVIDIA (ซึ่งปิดไม่ให้ ATI ใช้) ซึ่งเป็นตัวชูโรงให้ NVIDIA ว่า "GPGPU ทำอย่างอื่นนอกจากประมวลผลกราฟิกได้" บน GTX 480 ก็ได้คะแนนทดสอบดีกว่า GTX 285 การ์ดจอตัวท็อปรุ่นก่อนประมาณเท่าตัวเช่นกัน

เบนช์มาร์ค

ผลการทดสอบเบนช์มาร์คที่ผมมีข้อมูล ตอนนี้มี 2 เจ้าคือ Gizmodo กับ AnandTech (เดี๋ยวคงทยอยตามมาอีกมาก) จะทดสอบ GTX 480 ซึ่งถือเป็น Fermi ตัวท็อป กับการ์ดจออื่นๆ ดังนี้

  • GeForce GTX 285 - การ์ดจอเดี่ยวตัวท็อปรุ่นก่อนของ NVIDIA
  • Radeon HD 5870 - การ์ดจอเดี่ยวตัวท็อปรุ่นปัจจุบันของ ATI
  • GeForce GTX 285 SLI - การ์ดจอ GPU คู่ (สองการ์ดต่อ SLI) ตัวท็อปรุ่นก่อนของ NVIDIA
  • Radeon HD 5970 - การ์ดจอ GPU คู่ (การ์ดเดียว) ตัวท็อปรุ่นปัจจุบันของ ATI
  • Radeon HD 5870 CF - การ์ดจอ GPU คู่ (สองการ์ด) ของ ATI

ผลการทดสอบออกมาว่า

  • GeForce GTX 480 เป็นการ์ดจอเดี่ยวที่แรงที่สุดในตลาด ในการทดสอบที่ชนะจะทิ้ง Radeon 5870 ซึ่งเป็นรุ่นท็อปของคู่แข่งประมาณ 10-30% (อย่างไรก็ตามมีการทดสอบบางอันที่ 5870 ชนะนะครับ) ส่วนการต่อ SLI ผลก็สะท้อนตามกัน
  • แต่ถ้าเอา GTX 480 (GPU เดียว) ไปเทียบกับ Radeon 5970 (GPU คู่ในการ์ดเดียว) จะยังแพ้ 5970 อยู่เล็กน้อย ประมาณ 10%
  • เมื่อเทียบกับ GTX 295 ตัวท็อปรุ่นก่อน GTX 480 ประสิทธิภาพดีกว่าประมาณ 10-30% เช่นกัน ขึ้นกับแต่ละการทดสอบ แต่ก็มีการทดสอบบางอันที่ GTX 295 กลับดีกว่า (น่าจะเป็นผลมาจากไดรเวอร์ของ GTX 480 ที่ยังไม่สมบูรณ์ด้วย)

ความร้อนและการบริโภคพลังงาน

แม้ผลคะแนนที่ได้จะมากกว่าคู่แข่งและรุ่นก่อนไม่มากนัก แต่สิ่งที่ Fermi เพิ่มอย่างก้าวกระโดดคือความร้อนครับ โดยเฉพาะอุณหภูมิขณะทำงาน GeForce GTX 480 พุ่งไปเกือบ 100 องศาเซลเซียส ในขณะที่การ์ดจอคู่แข่ง Radeon 5870 อยู่ประมาณ 80-90 องศาเท่านั้น (ถ้าเทียบกับ Radeon 5000 รุ่นต่ำๆ หน่อยจะลงไปแตะระดับ 60-70 องศา เย็นเข้าไปอีก)

สรุปผล

  • Fermi ช่วยให้ NVIDIA กลับมาทวงแชมป์ "การ์ดจอที่เร็วที่สุด" คืนได้ แม้ว่าจะนำอยู่ไม่มากนัก และเทียบกับเวลาที่ออกช้ากว่า 6 เดือน ถือว่าน่าผิดหวังพอสมควร
  • Fermi เสียงดังกว่า ร้อนกว่าคู่แข่งอยู่มากพอสมควร เป็นปัญหาใหญ่ของทาง NVIDIA จะต้องแก้ไข
  • แนวทางของ GPGPU และ stream processing เต็มขั้น เป็นทางเลือกที่ถูกต้องหรือเปล่า เพราะการที่มันทำงานได้หลากหลาย ต้องแลกมาด้วยพลังงานและความร้อน รวมถึงความซับซ้อนในการผลิต ในขณะที่ ATI เลือกแนวทางทำงานได้หลากหลายน้อยกว่า เน้นที่กราฟิกอย่างเดียว ทำให้การ์ดจอเย็นกว่า และมีปัญหาในการผลิตน้อยกว่า
  • NVIDIA ตั้งราคา GTX 480 ไว้ที่ 499 ดอลลาร์ ส่วน GTX 470 ไว้ที่ 349 ดอลลาร์ เห็นชัดว่าตัวหลังคุ้มกว่า
  • แม้ว่า NVIDIA จะอัดฟีเจอร์เข้ามามากมาย ทั้ง CUDA, PhysX, DirectX 11 แต่ปัจจุบันยังมีซอฟต์แวร์ (โดยเฉพาะเกม) ที่รองรับฟีเจอร์เหล่านี้ไม่มากนัก มันอาจเป็น "ฮาร์ดแวร์แห่งอนาคต" มากเกินไป และต้องใช้เวลาพอสมควรกว่าฝั่งซอฟต์แวร์จะตามทัน

ผลการเบนช์มาร์คอย่างละเอียด ดูได้จาก AnandTech ครับ

ที่มา - Gizmodo, AnandTech

Blognone Jobs Premium