หลังพลาดท่า ปล่อยให้คู่แข่งอย่าง ATI ออก Radeon HD 5870 เป็นการ์ดจอ DirectX 11 ตัวแรกไปเมื่อเดือนกันยายนปีที่แล้ว ทางยักษ์เขียว NVIDIA ก็ประสบปัญหาในการผลิต "Fermi" หน่วยประมวลผลกราฟิกสถาปัตยกรรมใหม่ จนต้องเลื่อนวันวางขายมาเป็นปี 2010 ส่งผลให้ ATI ครองความเป็นเจ้าแห่งการ์ดจอมาได้ยาวกว่าปกติถึง 6 เดือน (นานๆ จะทำได้สักที)
ตอนนี้ Fermi ตัวแรกใกล้เสร็จสมบูรณ์แล้ว โดย NVIDIA จะออกการ์ดจอที่ใช้ GPU รหัส GF100 ซึ่งเป็นตัวท็อปของสายตระกูลมาก่อน การ์ดจอสองตัวแรกจะออกวันที่ 6 เมษายนนี้ ได้แก่ GeForce GTX 480 และ GeForce GTX 470
ต้องย้อนก่อนนิดนึงว่า 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 เดิม
รายละเอียดของสถาปัตยกรรม 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 ช่วยแก้ไขข้อมูลที่โหลดเข้าแรมผิดพลาดให้ด้วย
ฟีเจอร์ที่สำคัญมากของ 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 ตัวท็อป กับการ์ดจออื่นๆ ดังนี้
ผลการทดสอบออกมาว่า
แม้ผลคะแนนที่ได้จะมากกว่าคู่แข่งและรุ่นก่อนไม่มากนัก แต่สิ่งที่ Fermi เพิ่มอย่างก้าวกระโดดคือความร้อนครับ โดยเฉพาะอุณหภูมิขณะทำงาน GeForce GTX 480 พุ่งไปเกือบ 100 องศาเซลเซียส ในขณะที่การ์ดจอคู่แข่ง Radeon 5870 อยู่ประมาณ 80-90 องศาเท่านั้น (ถ้าเทียบกับ Radeon 5000 รุ่นต่ำๆ หน่อยจะลงไปแตะระดับ 60-70 องศา เย็นเข้าไปอีก)
ผลการเบนช์มาร์คอย่างละเอียด ดูได้จาก AnandTech ครับ