Debut ! NVIDIA GF100 “FERMI” to introduce nVidia GeForce GTX470/GTX480 : GF100 Architecture Overview (1/17)
.
..สวัสดีครับ วันนี้ก็ถือว่าเป็นฤกษ์งามยามดีที่ NVIDIA จะยอมปล่อย และเปิดเผยข้อมูลของกราฟฟิคการ์ดที่เป็นที่รอคอยกันมานานของเหล่าเกมเมอร์ ซึ่งนั้นก็คือ GeForce GTX470/480 ที่ใช้รหัสในการพัฒนาใหม่ว่า GF100 หรือโค้ดเนมที่พวกเราอาจจะรู้จักกันในชื่อของ FERMI นั่นเองครับ ที่ก่อนหน้านี้นั้น ก็ได้มีการปล่อยข่าว ทั้งข่าวลือข่าวลอยอะไรทั้งหลายแหล่ และปล่อยให้คู่กัดตลอดกาลอย่างค่ายสีแดง ATi นั้นชิงเปิดตัว HD5870 ที่รองรับ Direct X 11 กันไปก่อนหน้านี้แล้ว วันนี้ก็ถึงเวลาแล้วครับที่ NVIDIA จะปล่อยหมัดกลับไปทางฝั่งคู่แข่ง กับการปล่อยกราฟฟิคชิป ภายใต้สถาปัตยกรรม GF100 มาให้พวกเราได้ยลประสิทธิภาพกัน
...นับตั้งแต่กราฟฟิคชิปรหัสการพัฒนา G80 ถือกำเนิดขึ้น นั้นก็เปรียบเสมือนเป็นก้าวที่สำคัญก้าวหนึ่งของ NVIDIA และวงการกราฟฟิคชิปของโลกใบนี้ กับโครงสร้าง Scalar shader design ที่ถือเป็นรุ่นพี่ ของเหล่าชิป GT200 ที่กำลังจะหมดอายุการตลาดลงในปัจจุบัน รวมไปถึงสถาปัตยกรรมใหม่ GF100 นี้ด้วยนั้นเองครับ
กราฟฟิกชิปใหม่ เทคโนโลยีใหม่ (ที่ไม่ใช่เรื่องใหม่)
...เป็นเรื่องที่แน่นอนครับว่า กราฟฟิคชิปแต่ละรุ่นที่คลอดออกมาใหม่แทบจะทุกๆปีนั้น ออกมาใหม่ ก็จะต้องมีพลังการประมวลผลที่สูงขึ้น เป็นเรื่องธรรมดาอยู่แล้ว และแน่นอนครับในโลกของกราฟฟิคนั้น พลังที่สูงขึ้น ไมได้หมายความว่าจะสามารถสร้างสรรค์ภาพกราฟฟิคที่สวยงามสมจริงได้เสมอไป เทคนิค และเทคโนโลยีใหม่ๆ ในการสร้างสรรค์ภาพสามมิติในคอมพิวเตอร์นั้น มีการถูกคิดค้นขึ้นมาอยู่เรื่อยๆ ซึ่งกราฟฟิคชิปใหม่นั้นก็จำเป็นที่จะต้องมีความสามารถที่จะรองรับ วิธีคิดเหล่านั้นได้อย่างเต็มที่ นั้นคือสิ่งที่ผมกำลังจะพูดถึงต่อไปนี้ครับ เกี่ยวกับเทคนิคในการสร้างสรรค์แบบใหม่ใน Direct X 11 ที่ซึ่งจะเข้ามาปฏิวัติภาพกราฟฟิคบนคอมพิวเตอร์ของเราให้เปลี่ยนไปจากหน้ามือเป็นหลังมือเลยทีเดียว
...สืบเนื่องมาจากกราฟฟิกชิกภายใต้โครงสร้างรุ่นเก่านั้นมีประสิทธิภาพในการคำณวน และประมวลผล ที่สูง อย่างที่เราๆท่านๆทราบกันดีครับ แต่ปัญหาหลักของ G80 / GT200 นั้นคือเรื่องของคอขวด กล่าวคือ G80 และ GT200 นั้นถูกพัฒนามาเพื่อเน้นพลังในการประมวลผลของ Streme Processor เป็นหลักครับ ซึ่งตรงนี้ท่าน IRONA นั้นก็ได้เขียนบทความถึงรายละเอียดไว้หมดแล้ว เกี่ยวกับปัญหาในสถาปัตยกรรม G80 GT200 ซึ่งท่านก็สามารถที่จะย้อนกลับไปหาอ่านได้ที่ บทความนี้ ครับ
Tesselation
...เทคนิคการทำ Tesselation นั้น ถูกนำมาใช้เพื่อลดปัญหาคอขวดที่ว่านั้นแหละครับ กล่าวคือเทคนิคนี้ จะมีส่วนช่วยในการลดขนาดของข้อมูล ถ้าจะให้พูดกันง่ายๆ ภาษาบ้านๆ ก็คือ Tesselation นั้นจะทำให้ภาพที่ถูกสร้างมาด้วยโพลิกอนจำนวนที่ไม่มากนัก มีขนาดและมิติที่สมจริงมากขึ้น
...ถ้าจะให้เห็นภาพ ก็ให้ลองคลิกดูวีดีโอด้านบน ของโปรแกรม Unigine Benchmark ครับ ตรงนี้จะมีการเปรียบเทียบเทคนิคการเรนเดอร์ ทั้งแบบที่ไม่ได้ทำ Tesselation และทำ Tesselation ก่อนทำ Tesselation นั้นตัวพื้นผิวผนังนั้นก็จะแบนๆเป็น Texture ธรรมดาๆ แต่พอทำแล้ว ก็จะเห็นได้ถึงรายละเอียด ส่วนนูนส่วนเว้าต่างๆได้อย่างสมจริง
...หากเป็นเทคโนโลยีเก่าๆใน Direct X 10/9 นั้น เราจะต้องใช้โพลิกอนจำนวนมากมายในการสร้างพื้นผิวที่มีความสมจริงขนาดนี้ และนั้นจะเป็นต้นตอของปัญหาคอขวดในการประมวลผล ซึ่้ง Tesselation นั้น จะมาช่วยทำให้นักพัฒนาสามารถสร้างพื้นผิวเพียงแค่เป็นลักษณะระนาบแบนๆ แล้วใส่ลักษณะ ข้อมูลลงไปทีหลัง แล้วให้ตัวกราฟฟิคชิปประมวลผลออกมา จากแผ่นระนาบแบนๆ ออกมาเป็นวัตถุที่มีมิติสูงต่ำ ออกมาสมจริง ดังภาพด้านบนนี้ครับ
...กล่าวคือ Tesselation นั้นเกิดมาเพื่อเอื้อโอกาสให้ศิลปินผู้สร้างสรรค์ภาพกราฟฟิคและเกมต่างๆ สามารถสร้างสรรค์งานที่ไม่ได้มีโพลิกอนมากมายนัก ประหยัดแบนด์วิดท์ของกราฟฟิคชิปได้ แต่สามารถสร้างให้ภาพออกมาได้มีมิติ สมจริง รวมไปถึงการใส่แสง เงา การเคลื่อนไหวต่างๆที่เป็นธรรมชาติมากขึ้น โดยที่ไม่ได้กินแรงจากกราฟใฟิคการ์ดมากนักนั้นเอง
The GF100 Architecture
คงไม่ต้องกล่าวกันถึงอะไรอีก กับสิ่งที่ท่านสมาชิกทุกท่านกำลังรอคอย ก็คือสถาปัตยกรรม GF100 ครับ ภาพด้านบนนั้นเป็นภาพ die shot จากทาง NVIDIA ซึ่งจะได้อธิบายกันต่อในภาพต่อไปด้านล่าง...
...โครงสร้างของ GF100 นั้น เป็นกราฟฟิคชิปมี Streme processor รุ่นที่ 3 หากมองที่ภาพด้านบนนั้น เราจะเป็นได้ว่า GF100 ถูกออกแบบโดยแบ่งเป็นสัดส่วนได้ 4 ก้อนใหญ่ๆครับ ไอ้เจ้าก้อนใหญ่ๆตรงนั้น เขาเรียกว่า GPC ย่อมาจากคำว่า Graphics Processing Cluster กล่าวคือใน GF100 นั้นจะบรรจุ GPC มาทั้งหมด 4 GPC ทั้งหมดนี้ถูกเชื่อมต่อด้วย Host Interface และ Memory Controller แบบ GDDR5 ถึง 6 ชุดด้วยกัน ซึ่งรองรับระบบ ECC และโครงสร้างโดยภาพรวมนั้น จะมี Level 2 Cache ขนาด 768kb ที่สามารถแชร์ข้อมูลร่วมกันได้หมดทั้ง 4 GPC อยู่ตรงกลางภาพด้านบน
...ในส่วนของ GPC นั้นภายในนั้นจะประกอบไปด้วย กลุ่มของ SM (Stream Multi processor) จำนวนสี่ชุด โดยในแต่ละ SM นั้นก็จะมี CUDA Core แยกย่อยลงไปอีก เพราะเหตุนี้แหละครับ เขาจึงเรียกมันว่า Graphics Processing Cluster ซึ่งจะเสมือนว่าเป็นหน่วยประมวลผลขนาดเล็กๆภายในตัว GPC ถูก Cluster กันมาเรื่อยๆ
...โดยที่แต่ละ SM นั้นจะมี Polymorph Engine ทำหน้าที่ประมวลผลเกี่ยวกับ โครงสร้างทางสามมิติของวัตถุ (Geometry) ออกมา ซึ่งตรงจุดนี้แหละครับ ที่เป็นหัวใจสำคัญของการทำ Tesselation ในระดับ Hardware ที่ผมได้กล่าวไปข้างต้น ซึ่งทั้งหมดนี้สุดท้ายแล้ว ข้อมูลที่ประมวลผลทั้งหมด ก็จะถูกส่งไปยัง Raster Engine ที่จะทำหน้าที่แปลงข้อมูลในรูปของ Vector (แบบเส้น) ให้ออกมาเป็น Pixel (แบบจุด)
...โดยสรุปแล้ว GF100 ในที่นี้นั้น จะมีชุด GPC ทั้งหมด สี่ชุด แต่ละชุดประกอบด้วย SM (Streaming Multi processing) สี่ชุด รวมทั้งหมดแล้ว GF 100 ก็จะมี SM ทั้งหมด 16 ชุด ชุดละ 32 คอร์ ซึ่งรวมกันแล้วก็จะนับได้ 512 CUDA Core รวมไปถึง Polymorph Engine ที่จะคอยช่วยประมวลผลในส่วนของการทำ Tesselation ในระดับฮาร์ดแวร์ทั้งหมด 16 ชุด ด้วยกันครับ ส่วนในด้านของ Cache Memory นั้นจะมี Level 1 Cache ขนาด 64kb และ L2 ขนาด 768kb ด้วยกันครับ
โดยข้อมูลข้างต้นนั้นเป็นเพียงข้อมูลเบื้องต้น ในเอกสาร Whitepaper เกี่ยวกับสถาปัตยกรรม GF100 เท่านั้นนะครับ มิใช่เสป็คของกราฟฟิคการ์ด GTX480/470 ตัวใดตัวหนึ่งเสียทีเดียว
ภายใน SM โครงสร้างใหม่ ที่มีการบริหารจัดการ Level 1 Cache ให้มีประสิทธิภาพ และความจุมากยิ่งขึ้น
...นอกจากนี้แล้วการถือกำเนิดของ Polymorph engine นั้น นอกจากจะทำให้วัตถุที่มีโพลิกอนเท่าเดิม เกิดมีมิติ ขนาด และรายละเอียดที่สมจริงมากขึ้นแล้ว ยังจะทำให้นักพัฒนากราฟฟิค สามารถใส่ลูกเล่นไปในภาพกราฟฟิคที่แปลกใหม่ได้ อาทิเช่น Depth of field หรือระยะชัดตื้นชัดลึก ดังภาพด้านบนนั้นเองครับ
นอกจากนี้ ก็ยังมีเทคโนโลยีใหม่ ที่เริ่มนำมาใช้ใน GTX4xx นั้นก็คือ 3D Vision ครับ
3D vision ต่อออกพร้อมกันสามจอ โดยการนำการ์ดสองใบมา SLI กัน ทำให้ได้ภาพแบบ Surround และมีเทคโนโลยีที่คอยช่วยลบรอยต่อระหว่างจอสองจอได้ด้วย รวมไปถึงเทคโนโลยี 3D vision นั้นจะทำให้เราสามารถรับชมภาพสามมิติแบบทะลุจอ (ต้องใช้งานร่วมกับแว่น) ได้อีกด้วยครับ
**ข้อมูลภายในหน้าหนึ่งทั้งหมด เรียบเรียงจาก White paper จากทาง NVIDIA