A.A.C ตอนที่ 3 : เรื่องเล่าจาก PowerVR สู่ Kyro

เนื่องจากมีผู้ให้ความสนใจอยากให้ผมเขียนเรื่องราวของหน่วยประมวลกราฟิกที่ชื่อ Kyro ครับ ผมจึงนำเรื่องของ Kyro เสนอใน A.A.C ตอนที่ 3 ครับ

สำหรับเรื่องราวของ Kyro นั้นเริ่มเป็นที่รู้จักกันในช่วงยุคมืดของวงการ GPU ครับ ที่ต้องบอกว่าเป็นช่วงยุคมืดนั้นเนื่องจากในช่วงเวลานั้นเทคโนโลยีทางด้านกราฟฟิกของ Nvidia นั้นเหนือกว่าคู่แข่งทุกราย ชนิดที่เรียกว่าไม่มีใครตามทัน แม้แต่ ATi เองก็เถอะ แต่ในระยะเวลานั้นมีเพียง GPU ที่ชื่อ Kyro และ Kyro II ที่ทำให้บรรลังก์กราฟฟิกของ Nvidia สะเถื่อนได้ครับ แต่ก่อนที่เราจะกล่าวถึง Kyro นั้น ผมขออนุณาติพูดถึงเรื่องราวก่อนที่มันจะมาเป็น Kyro ก่อนน่ะครับ

PowerVR

PowerVR เป็นชื่อของแผนกหนึ่งในบริษัท Imagination Technology หรือที่คนส่วนใหญ่รู้จักกันในชื่อ VideoLogic นั้นเองครับ หน้าที่ของ PowerVR คือพัฒนาเทคโนโลยีทั้งทางด้าน Software และ Hardware เกี่ยวกับการประมวลผล 2D, 3D, การเข้ารหัส/ถอดรหัสวิดีโอ และการประมวลผลภาพดิจิตอลครับ เมื่อทาง PowerVR พัฒนาเทคโนโลยีเหล่านี้เสร็จแล้ว ก็จะทำการจ้างให้บริษัทอื่นๆช่วยนำเทคโนโลยีเหล่านี้ไปผลิตเป็นฮาร์ดแวร์ให้ตนเองต่อไป เช่น NEC, Intel, STMicroelectronic และ Samsung เป็นต้น

ผลิตภัณฑ์ที่ได้จากการพัฒนาเทคโนโลยีของ PowerVR นั้นมีอยู่มากมายครับ ทั้งที่มีอยู่ในเครื่องคอมพิวเตอร์, Palm, เครื่องเล่นเกมคอนโซล ตลอดจนกระทั้งในโทรศัพท์มือถือก็ยังมีครับ

ต่อไปนี้ผมขอยกตัวอย่างผลิตภันฑ์ของ PowerVR เอาเฉพาะที่ชื่อเสียงก็แล้วกันน่ะครับ

1. ชิป PCX-1 และ PCX-2

PowerVR ได้ออกแบบชิป และส่งให้ทาง NEC ช่วยผลิตออกมาเป็นชิปและการ์ดจอ แล้วทาง PowerVR ก็นำไปจำหน่ายต่อที่หนึ่งครับ

PCX1 และ PCX2 ทั้ง 2 ต่างกันแค่เพียงเทคโนโลยีการผลิตเท่านั้นครับ โดย

PCX-1 ใช้เทคโนโลยีการผลิต 0.50 Micro

PCX-2 ใช้เทคโนโลยีการผลิต 0.35 Micro

Apocalypse_3D_2_small

ส่วนรายละเอียดอื่นๆของชิปทั้ง 2 มีดังนี้

Clock Speed 66MHz

Rendering Pipelines 1

Texels/Clock 1

Memory sine 4 mb

Memory Bus 32-bit SDRAM

การ์ดจอที่ใช้ชิปในตระกูล PCX-1 และ PCX-2 ได้แก่

    1) VideoLogic Apocalypse 3D
    Chipset: NEC PowerVR PCX1
    Type: 3D only PCI
    Memory: 4mb SDRAM

    2) VideoLogic Apocalypse 3Dx
    Chipset: NEC PowerVR PCX2
    Type: 3D only PCI
    Memory: 4mb SDRAM

    3) VideoLogic Apocalypse 5D
    Chipset: NEC PowerVR PCX2 + Tseng Labs ET6000, later ET6100
    Type: 2D/3D PCI
    Memory: 6mb or 8mb (2 or 4mb MDRAM for 2D + 4mb SDRAM for the PowerVR)

    4) VideoLogic Apocalypse 5D Sonic
    Chipset: NEC PowerVR PCX2 + Tseng Labs ET 6100
    Type: 2D/3D + sound PCI
    Memory: 6mb or 8mb (2 or 4mb MDRAM for 2D + 4mb SDRAM for the PowerVR)

    ข้อดีของชิบรุ่นนี้

    ให้คุณภาพใกรแสดงผล 3D โดย API ออกมาได้ดี

    ข้อเสีย

    ไม่มี bilinear filtering และทำงานกับ Direct3D ได้ช้าต้องอาศัยความแรงของ CPU เข้าช่วย

2. CLX2

สำหรับชิปรุ่น CLX2 นี้ต้องถือเป็นความสำเร็จที่หน้ายินดีอย่างยิ่งของ PowerVR เพราะ SEGA ได้เลือก CLX2 ของ PowerVR ไปใช้ในการประมวลผลกราฟฟิก แทนชิป ของ Nvidia (แก้ไข) แต่ SEGA กลับเลือกชิพของ PowerVR แทน และแล้ว CLX2 ได้ถูกมอบหมายให้ NEC เป็นผู้ผลิตและจัดส่งให้ทาง SEGA เพื่อผลิตเป็น เครื่องเล่นเกม SEGA Dreamcast ต่อไป

Dreamcast Dreamcast_mainboard

หลังจากนั้น CLX2 ได้รับใช้ SEGA อีกครั้งในเครื่องเล่น Arcade ชื่อ Sega Naomi (1 x CLX2) และ Sega Naomi2 (2 x CLX2 และ ELAN (T&L Unit))

CLX2 มีความเร็วในการประมวลผล 100 MHz

สาเหตุที่ SEGA ไม่เลือกชิป NV2 ของ NVIDIA เพราะ NV2 ใช้เทคนิคสร้างพื้นพิวภาพ 3 มิติที่เรียกว่า quadratic texture mapping แต่ CLX2 ของPowerVR ใช้เทคนิคการสร้างพื้นผิว 3 มิติที่เรียกว่า Polygone ซึ่งเป็นวิธีใหม่ และได้รับความนิยมจากนักพัฒนาเกมมากกว่า SEGA จึงเลือกชิปของ PowerVR ครับ ส่วน SEGA Saturn นั้นใช้ NV1 จาก NVidia ครับ

3.) Neon250

เป็นกาดจอรุ่นแรกที่ใช้ชื่อของ PowerVR ในการจำหน่ายจริง และPowerVRออกแบบทั้งตัวชิพและตัวการ์ดด้วยตนเอง พูดง่ายๆก็คืองานนี้ PowerVR ทำเองหมดเลยครับ และการ์ดรุ่นนี้ละครับที่นำคุณสมบัติ TBS (Tile Based Rendering) เข้ามาใช้ ทำให้ช่วยประหยัดประหน่วยความจำของการ์ดจอลงไปได้มากเลยครับ เมื่อเทียบกับการใช้ Z-Buffer ที่ชิพกราฟฟิกของคู่แข่งใช้กันอยู่ในขณะนั้นครับ และ ในภายหลังเทคโนโลยี TBS นี้ก็มีชื่อเสียงเป็นอย่างมาก ในชิพรุ่นถัดไปนั้นก็คือ Kyro นั้นเองครับ

neon250_s

Chip PowerVR 250
* 0.25 micron manufacturing process 0.25 micron manufacturing process
* According to unconfirmed figures, chip contains about 10 million transistors According to unconfirmed figures, chip contains about 10 million transistors
* 16MB local video memory type SDRAM (chip supports up to 32 MB of memory type SDRAM / SGRAM) 16MB local video memory type SDRAM (chip supports up to 32 MB of memory type SDRAM / SGRAM)
* 64 - bit memory interface bus 64-bit memory interface bus
* 250Mhz RAMDAC (capable of more rapid RAMDAC) 250Mhz RAMDAC (capable of more rapid RAMDAC)
* The maximum resolution of 1920 x 1440 @ 65Hz The maximum resolution of 1920 x 1440 @ 65Hz
* Best permission 1600x1200 @ 85 Hz (in this settlement will be achieved an acceptable level fps) Best permission 1600x1200 @ 85 Hz (in this settlement will be achieved an acceptable level fps)
* Chip and the memory runs at 125MHz Chip and the memory runs at 125MHz
* Maintain PCI interface and AGP mode x2 with the SBA and DME Supported PCI interface and AGP mode x2 with the SBA and DME

มารู้จัก Z-Buffer และ TBS (Tile Based Rendering)กัน ดีกว่า

การสร้างภาพ 3 มิติแบบปกติ

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

Z-buffer

แสดงรูปแบบการทำงานที่มีการใช้ Z-Buffer

Z-Buffer

การประมวลผลด้วยวิธี z-algorithm จะทำการนำข้อมูลโครงสร้างของวัตถุต่างๆในฉากไปเก็บไว้ในหน่วยความจำที่เรียกว่า Fram Buffer ก่อน แล้วหลังจากนั้น GPU นำค่าความลึกของวัตถุมาเปรียบเทียบกัน

หากวัตถุมีค่าความลึกมากแปลว่าวัตถุอยู่ไกล
หากวัตถุมีค่าความลึกน้อยแปลว่าวัตถุอยู่ไกล
หากมีวัตถุตั้งแต่ 2 อันขึ้นไปมาวางซ้อนทับกัน GPU จะเลือกการทำการลงสีและลวดลายให้กับวัตถุที่มีค่าความลึกน้อยกว่า เพราะตาเราจะมองเห็นเฉพาะวัตถุที่อยู่ข้างหน้าใช้ไหม่ครับ ส่วนวัตถุทีอยู่ข้างหลังทีโดนบังนั้น GPU จะไม่ทำการประมวลผลครับ แต่ส่วนของวัตถุที่อยู่ข้างหลังและไม่ถูกบัง GPU ก็ยังจะทำการประมวลผลให้อยู่น่ะครับ
หลังจากนั้น GPU จะเก็บค่าพิกัดความลึกของแต่ละจุดที่มันลงสีและลวดลายไปแล้ว ลงในหน่วยความจำที่มีชื่อว่า Z-Buffer ครับ
หลังจากนั้นก็ Render ภาพครับ

วิธีนี้จะลดระยะเวลาในการประมวลผลลงได้มาก แต่มีข้อเสียก็คือ สิ้นเปลืองหน่วยความจำครับ เพราะต้องใช้หน่วยความจำถึง 2 ส่วนครับ ได้แก่ Fram Buffer และ Z-Buffer ครับ

TileBase

แสดงรูปแบบการทำงานที่มีการใช้ TBS

TBS (Tile Based Rendering)

คือการนำ Z- Buffer มาไว้ในตัว GPU เลยครับ และตัว GPU จะคำนวนก่อนเลยว่ามีส่วนใดบ้างที่ตาเราจะมองเห็นวัตถุ จากนั้นก็ทำการลงสี และลวดลายของวัตถุ และทำการเก็บข้อมูลไว้ใน Fram-Buffer ครับ แล้วจึง Render

การทำเช่นนี้จะช่วยทำให้ประหยัดหน่วยความจำครับ เพราะเก็บแค่ Fram-Buffer อย่างเดียว ไม่ต้องเก็บ Z-Buffer ครับ

powervr_infiniteplanes

ภาพแสดงให้เห็นว่า GPU ประมวลผลเฉพาะส่วนที่เรามองเห็นครับ

4.) Kyro, Kyro II และ Kyro IIse

4.1 Kyro

ชิปในตระกูล Kyro ทาง PowerVR ผู้ออกแบบได้ให้ทาง STMicroelectronic เป็นผู้ผลิตชิป และก็ได้ทำการส่งชิปให้ผู้ผลิตการ์ดจอรายต่างๆนำไปผลิตการ์ดจอต่อ ทำให้ Kyro เป็นที่รูจักมากขึ้น และด้วยคุณสมบัติ TBR ที่โดดเด่นของ Kyro ทำให้ประสิทธิภาพการประมวลผลของ Kyro ออกมาพอๆกับ GeForce ของ Nvidia ทั้งที่ Kyro ใช้ความเร็ว Clock ที่น้อยกว่า GeForce ทาง Kyro ได้นำการประมวลผลแบบ Trilinear มาใช้ทำให้คุณภาพของภาพที่ได้จาก Kyro นั้นออกมาสวยสมจริงยิ่งขึ้น (แต่ FPS ก็ตกลงด้วยน่ะครับ) และที่สำคัญ Kyro ยังมีราคาถูกว่า GeForce อีกด้วย แต่หน้าเสียดายที่ Kyro ยังไม่มี T&L เหมือน Geforce สาเหตุนี้ทำให้ Kyro เสียเปรียบ GeForce ในการเล่นเกมที่รองรับการประมวลผลแบบ T&L

แม้ว่าจะไม่มี T&L แต่ TBR ใน Kyro ก็ช่วยชดเชยประสิทธิภาพของที่ขาดไปในส่วนนี้ได้ครับ แต่ความสวยที่ได้จาก T&L นี้สิไ ม่มีอะไนมาชดเฉยได้เลยครับ

kyro-front

Specifications
* GPU core clocked at 115 MHz
* 32 - 64 MBytes* of single data rate SDRAM clocked at 115 MHz
* 128-bit memory data path
* 1.85 GB/s memory bandwidth
* 230 megapixels/sec or 230 megatexels/sec
* 20 million polygons per second (peak)
* 12 million transistors
* STMicroelectronics 0.25 micron process
* fast 128-bit 2D engine
* AGP 4X/2X
* 270 Mhz RAMDAC

ภาพที่ได้จากการทำการกรองภาพด้วยวิธี Bilinear filtration

Bilinear

ภาพที่ได้จากการทำการกรองภาพด้วยวิธี Trilinear filtration

Trilinear

ด้วยการใช้ TBS (Tile Based Rendering) เข้ามาใช้ในการประมวลผล เมื่อยิ่งมีความระเอียดเพิ่มขึ้นเท่าไร Kyro ก็ยิ่งได้เปรียบการ์ดจออื่นๆขึ้นเท่านั้น

สังเกตุจากกราฟ ความละเอียดสูงขึ้นประสิทธิภาพของ Kyro จะลดลงเพียงเล็กน้อยเท่านั้นครับ ในขณะที่ Geforce ประสิทธิภาพล่วงลงอย่างเห็นได้ชัดเลยครับ ยิ่งตอนเปิด AA ยิ่งเห็นชัดครับ

Bench

2. Kyro II

ด้วยเทคโนโลยีการผลิตที่เล็กจากที่เคยใช้ผลิตเทคโนโลยีการผลิต 0.25 Micron ในการผลิต Kyro มาแล้ว ต่อในรุ่น Kyro II นั้นได้ลดเทคโนโลยีการผลิตเหลือเพียง 0.18 Micron ทำให้ความร้อนลดลง และเร่งคงวามเร็วได้มากขึ้น ผลที่ตามมาคือประสิทธิภาพของ Kyro II เพิ่มขึ้นจาก Kyro เป็นอย่างมาก แต่ใน Kyro II ยังไม่มีการเปิดให้งาน T&L อยู่ดีครับ

Kero II H

KYRO II specifications:

* 0.18 technology
* 175 MHz core clock
* 175 MHz memory bus clock (synchronized with the core)
* 128-bit SDR memory interface, up to 64 MBytes
* A tile rendering architecture, the tile size is 32X16 pixels
* Two pixel pipelines, one texture unit per each
* Capability to combine up to 8 textures at one pass
* Arbitrary filtering setup for each texture (bi- and trilinear, anisotropic with up to 16 samples)
* Effective FSAA implementation which doesn't require the increase of the frame buffer size stored in the chip's local memory
* Effective rendering - only visible pixels are textured, so there is no need to save the depth values in the local memory, the actual fillrate is equal to the effective (350 million pixels per second)
* Hardware T&L block is not present
* AGP 1X/2x/4x interface
* DotProduct3 and EMBM BumpMapping hardware implementation
* TDMS transmitter (the appearance of cards with a digital DVI interface is possible)

และก็เช่นเคยครับด้วยเทคโนโลยี TBR ก็ช่วยให้ Kyro II ก็ยังคงโดดเด่นเมื่อมีการทำงานในโหมดความละเอียดที่สูงขึ้นเลื่อยๆครับ

Bench2

การที่ Kyro II มีประสิทธิภาพต่อราคาเหนือกว่า GeForce 2 ทำให้ Kyro II ได้ฉายาว่า GeForce 2 Killer ครับ

แต่น่าเสียดายครับที่ Kyro ไม่รองรับคุณสมบัติ T&L ที่มีอยู่ใน DX7

และหนำซ้ำยังโดน GeForce 3 ที่รองรับคุณสมบัติ Pixel Shader และ Vertex Shader ที่อยู่ใน DX 8.0 มาตอกย้ำอีก

งานนี้แม้ Kyro II จะประมวลผลได้เร็วก็ตาม แต่หากภาพที่ได้ออกมาไม่มีความสวยงามแล้วล่ะก็ คงไม่มีใครอยากซื้อเป็นแน่แท้ครับ

แต่ทาง PowerVR ก็หาทางออกได้ด้วยการขาย Kyro II ในราคาที่ถูกว่า Geforce และ Radeon ครับ

แต่แล้วปัญหาที่สำคัญคือปัญหา Driver ที่ทำให้ เกมบางเกมไม่สามารถเล่นกับ Kyro และ Kyro II ได้ครับ

หากท่านยังนึกไม่ออกว่า DX แต่ละเวอร์ชั่นมีผลต่อคุณภาพของภาพอย่างไรแล้วล่ะก็ ภาพข้างล้างคือการเปรียบเทียบคุณภาพของภาพที่ได้จาก DX6, 7 และ 8 ครับ

ภาพซ้าย ได้จาก ATi Rage 128 :DX 6 ซึ่งไม่มี T&L (Voodoo 4, voodoo5, TNT, TNT 2,ATI Rage, Kyro และ Kyro II จะให้ภาพประมาณนี้ครับ)

ภาพกลางได้จาก GF 4 MX : DX 7 ซึ่งมี T&L (GF 256, GF 2, GF 4MX , Radeon, Radeon VEและ Radeon 7000 จะให้ภาพประมาณนี้ครับ)

ภาพขวาไดจาก DX 8 ซึ่งมีทั้ง T&L และ Shader Modelที่เข้ามาช่วยในการสร้าง effect (GF 3, GF 4 Ti , Radeon 8500,9000, 9100 และ 9200 จะให้ภาพประมาณนี้ครับ)

*หมายเหตุ GeForce 4 Ti ใช้ DX8 แต่ GeForce 4 MX ใช้ DX 7 นะครับ

Model Compare

ที่นี้เรามาดูภาพที่ได้จาก Kyroเมื่อเปรียบเทียบกับ GeForce3 กันต่อดีกว่าครับ

เริ่มจากภาพที่ได้ Kyro

kyro2-giants kyro2-giants-part

ตามมาด้วยภาพจาก GeForce 3 ครับ

gf3-giants gf3-giants-part

3. Kyro IIse

คือการนำการ์ด Kyro II มาเพิ่มความเร็ว 200 MHz ครับ

หลังจกานั้นทาง PowerVR ก็ร่วมมือกับทาง STMicro เพื่อพัฒนา Kyro III ต่อครับ แต่อย่างว่าละครับ เวลาช้างมันรบกันเอง หญ้าก็ต้องตายใช้ใหม่ครับ โดยเฉพาะช้างเขียวกับช้างแดง มัน 2 ตัวเล่นควิดกันเองชนิดที่เรียกได้ว่า ออกการ์ดใหม่ๆ ที่มีเทคโนโลยีใหม่ๆมาต่อสู้กันแบบไม่มีกักเลย สำหรับศึกตลาดบนได้แก่ GeForce 4 Ti กับ Radeon 8500 ตามมาติดๆด้วย Radeon 9700 Pro และยังออกรุ่นเล็กๆราคาประหยัดมาแย่งคะแนนนิยมจากชาวรากหญ้าอีกต่างหากอันได้แก่ Geforce 4 MX กับ Radeon 7500 ตามมาติดๆด้วย Raeon 9000 และ Xabre ทาง PowerVR และ STMicro เห็นแล้วก็ต่างอ่อนใจครับ จึงถอนตัวจากตลาดการ์ดจอไปทำอย่างอื่นดีกว่าครับ ไม่แข่งกับไอ้ช้างตกมันบ้าพลัง 2 ตัวนี้ อีกแล้วครับ

หลังจากนั้นทาง Intel ได้ติดต่อไปยัง Imagination Technology ซึ่งเป็นบริษัทแม่ของ PowerVR ให้มาช่วยพัฒนาชิพประมวลผลกราฟฟิกให้ทางอินเทลในรุ่น Intel GMA 915G

Intel 915G ประกอบด้วย

  • DirectX 9.0 (Support ShaderModel 2.0)
  • หน่วยประมวลผล T&L
  • TBS (Tile Based Rendering)

สิ่งเหล่านี้คงเป็นสาเหตุที่ทำให้ออนบอร์ด INTEL สามารถป้องกันตลาดจาก ATi , Nvidia, sis และ VIA ไว้ได้ในที่สุด ครับ

jpr_overall_gfx_mkt_q1_2008_trends_sm

บทความ Amazing Archaic Computer ตอนที่ 3 : เรื่องเล่าจาก PowerVR สู่ Kyro

โดย IonRa

e-mail ionra@live.co.uk

บทความนี้เคยนำเสนอใน

Vmod, UPC, OCZ

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