GPUÀÇ ¼º´ÉÀ»
Çâ»ó½ÃÅ°±â À§Çؼ´Â ´õ ¸¹Àº ÆÄÀÌÇÁ¶óÀÎÀ» ±¸¼º½ÃÅ°´Â ½¬¿î ¹æ¹ýÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ ¹æ¹ýÀº ±×¸¸ÅÀÇ Æ®·£Áö½ºÅ͸¦ ´õ ¸¹ÀÌ
Àû¿ë½ÃÄѾߵÇÁö¸¸ GPU ¾ÆÅ°ÅØÃÄ ÀÚü¸¦ ´õ ³ôÀº È¿À²À» Àû¿ëÇÏ´Â ¹æ½ÄÀ¸·Î »õ·Ó°Ô ¼³°èÇϰųª °³¼±ÇÏ¸é ¹°¸®ÀûÀÎ Æ®·£Áö½ºÅÍ °¹¼öÀÇ
Áõ°¡¸¦ ÃÖ¼ÒÈÇÏ¸é¼ ¼º´ÉÇâ»óÀ» ÀÌ·ê¼ö°¡ ÀÖ´Ù.
µû¶ó¼ Áö±Ý±îÁö Çϱâ
¶§¹®¿¡ ±×µ¿¾ÈÀÇ GPU °³¹ß»çµéÀº GPUÀÇ ³»ºÎÀÇ ÆÄÀÌÇÁ¶óÀÎÀ» Áõ°¡½ÃÅ°´Â°Í°ú ÇÔ²² ³»ºÎÀÇ ¾ÆÅ°ÅØÃĸ¦ »õ·Ó°Ô ¼³°èÇϰųª ±âÁ¸
¾ÆÅ°ÅØÃĸ¦ ´õ¿í °³¼±½ÃÄѼ ½ÅÁ¦Ç°µéÀ» Ãâ½ÃÇÏ¿©¿Ô´Âµ¥ À̹ø G70 GPUµµ ³»ºÎÀÇ ÆÄÀÌÇÁ¶óÀÎÀ» Áõ°¡½ÃÅ°´Â°Í°ú µ¿½Ã¿¡ ±âÁ¸ ¼¼´ëÀÇ
¾ÆÅ°ÅØÃĸ¦ ´õ¿í °³¼±½ÃÄѼ µîÀå½ÃÄ×´Ù.
nVIDIA°¡ ÁÖÀåÇÑ
4°¡Áö Ư¡Áß Shader Arithmetic Density°ú High
Dynamic Range°¡ ±âÁ¸ ¾ÆÅ°ÅØÃĸ¦ ´õ¿í °³¼±½ÃŲ ºÎºÐ¿¡ ÇØ´çµÇ´Â °ÍÀ¸·Î G70Àº ÃÖ±ÙÀÇ 3D °ÔÀÓÀ̳ª ¾ÕÀ¸·Î µîÀåÇÒ
°ÔÀÓµéÀÌ ´õ¿í ¸¹ÀÌ »ç¿ëÇÒ Shader ¿¬»ê´É·ÂÀÌ ´õ¿í °³¼±µÇ¾ú´Ù.
Vertex
Pipeline ±¸Á¶´Â ±×´ë·Î, MADD ÀνºÆ®·°¼Ç °¡¼Ó Áö¿ø
[ÁÂÃøÀÌ G70ÀÇ
Vertex Pipeline, ¿ìÃøÀÌ NV40ÀÇ Vertex Pipeline]
G70ÀÇ Vertex
PipelineÀÇ Áö¿À¸ÞÆ®¸® ¼º´ÉÀº Array¹æ½ÄÀÌ´ø ±âÁ¸ NV3x¸¦ ¶Ù¾î³Ñ¾î °æÀï»çÀÇ R4xx ±Þ°ú ºñ½ÁÇÑ ¼öÁØÀ¸·Î ¸¸µé¾îÁ³´Ù.
±×¸®°í ½ÇÁ¦ Å×½ºÆ®¿¡¼µµ ÀÌ¿Í °°Àº °á°ú¸¦ º¸¿©ÁÖ¾ú´Âµ¥ G70 GPUÀÇ Vertex ÆÄÀÌÇÁ¶óÀÎ ±¸Á¶´Â ÀÌ·¯ÇÑ NV40 GPUÀÇ
±×°Í°ú µ¿ÀÏÇÑ ±¸Á¶¸¦ °¡Áö°í ÀÖ´Â °ÍÀ¸·Î ³ªÅ¸³µ´Ù ÇÏÁö¸¸ À̹ø G70 GPUÀÇ °³¹ß ¹æÇâÀÌ ±âÁ¸ NV40ÀÇ ÃÖÀûȶó´Â ºÎºÐÀ¸·Î
¼³Á¤µÇ¾î ÀÖ´Â ¸¸Å ÆÄÀÌÇÁ¶óÀÎ ³»ºÎÀÇ À¯´ÖÀº ±âÁ¸º¸´Ù ´õ Áøº¸ÇÑ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁ³´Ù.
ÀÌ°ÍÀº Shader
ÀνºÆ®·°¼ÇÁß °¡Àå ÈçÇÏ°Ô »ç¿ëµÇ´Â multiply(°ö¼À)¿Í
accumulate(µ¡¼À)À¸·Î ÀÌ·ç¾îÁø
MADD (multiply-add) ÀνºÆ®·°¼ÇÀ» ±âÁ¸º¸´Ù ´õ¿í ºü¸£°Ô
ó¸®Çϵµ·Ï ¸¸µç °ÍÀ¸·Î FP32 Vector Unit¿¡¼ ÇÑ »çÀÌŬ¿¡ MADD ¿¬»êÀ» ó¸®Çϵµ·Ï ¸¸µé¾ú´Ù. ±âÁ¸ NV40Àº
Áö¿øÇÏÁö ¸øÇÏ´Â ±â´ÉÀ̱⿡ MADD ¿¬»êÀÌ ÇÊ¿äÇÑ ÃÖ±ÙÀÇ Shader ¿¬»êµé¿¡¼ ±âÁ¸º¸´Ù ´õ¿í ºü¸¥ ¼º´ÉÀ» º¸¿©ÁÙ¼ö ÀÖ´Ù°í
¼³¸íÇÏ°í ÀÖ´Ù.
±×¸®°í FP32 Scalar Unitµµ ±âÁ¸ NV40ÀÇ FP32 Scalar
UnitÀ» °³¼±ÇÏ¿© 30%Á¤µµÀÇ ¼º´ÉÇâ»óÀ» °¡Á®¿À°Ô ¸¸µé¾ú´Ù°í ÇÑ´Ù.
´õ¿í »¡¶óÁø
Triangle Setup
Vertex
ÆÄÀÌÇÁ¶óÀÎÀ» ÅëÇØ ¸¸µé¾îÁø »ï°¢ÇüµéÀº Triangle Setup °úÁ¤À» ÅëÇØ
·£´õ¸µÀÌ °¡´ÉÇÑ Çȼ¿·Î ¸¸µé¾îÁö°Ô µÈ´Ù.
nVIDIA¿¡¼´Â ÀÌ ºÎºÐÀÇ Ã³¸® ¼Óµµ¸¦ ´õ¿í ºü¸£°Ô ¸¸µç°ÍÀε¥ »ï°¢ÇüÀÌ
Çȼ¿È µÇ´Â °úÁ¤ÀÎ Rasterization°úÁ¤Àº ÇϳªÀÇ »ï°¢ÇüÀ» Çȼ¿È½ÃÅ°±âÀ§ÇØ ¼ö¸¸À» Raster¶óÀÎÀ¸·Î ±¸ºÐÁö¾î ¹Ýº¹ÀûÀÎ
ÀÛ¾÷À» ÁøÇàÇÏ°Ô µÈ´Ù.
ÁÂÃøÀÇ À̹ÌÁö°¡
»ï°¢ÇüÀÌ RasterÈ µÇ´Â °úÁ¤À» ¼³¸íÇÑ°ÍÀε¥ ÀÌ·¯ÇÑ ¹Ýº¹ÀûÀÎ ÀÛ¾÷À» ´õ¿í ºü¸£°Ô ó¸®ÇÔÀ¸·Î½á ÀüüÀûÀÎ ¼º´ÉÀ» Çâ»ó½Ãų¼ö ÀÖ´Ù°í
ÇÑ´Ù.
nVIDIA¿¡¼´Â
NV40¿¡ ºñÇØ 30%Á¤µµÀÇ ¼º´ÉÇâ»óÀÌ ÀÖ´Ù°í ¼³¸íÇÏ°í ÀÖ´Ù.
Pixel
Pipeline ±¸Á¶µµ µ¿ÀÏ, MADD¿¬»êÀÇ Ãß°¡
Vertex
ÆÄÀÌÇÁ¶óÀÎÀÇ ±¸Á¶°¡ ±âÁ¸ NV40°ú µ¿ÀÏÇÏ¿´µíÀÌ Pixel ÆÄÀÌÇÁ¶óÀÎÀÇ ±¸Á¶µµ NV40ÀÇ Çȼ¿ ÆÄÀÌÇÁ¶óÀΰú µ¿ÀÏÇÏ´Ù. À§ÀÇ »çÁøÀÌ
G70ÀÇ Çȼ¿ ÆÄÀÌÇÁ¶óÀÎ ±¸Á¶¿Í °¢ À¯´ÖÀÇ ¼º´ÉÀ» ¼³¸íÇÑ À̹ÌÁöÀε¥ ±âÁ¸ NV40ó·³ µÎ °³ÀÇ FP32 Shader À¯´ÖÀ» °¡Áö°í
ÀÖ¾î ¶§¿¡µû¶ó µÎ °³ÀÇ FP32 Shader À¯´ÖÀÌ º´·Ä·Î µ¿ÀÛÇÒ ¼öµµ ÀÖ´Ù.
ÇÏÁö¸¸ ÀÌ·±ºÎºÐÀº À̹Ì
NV40¿¡¼ Á¦°øÇÏ´ø ±â´ÉÀ̱⿡ G70ÀÌ Shader ¿¬»ê ºÎºÐ¿¡ ´ëÇÑ °³¼±ÀÌ ÀÖ´Ù°í ¼³¸íÇϱ⿡´Â Á» ºÎÁ·Çѵ¥ Vertex
ÆÄÀÌÇÁ¶óÀÎÀÇ FP32 Vector À¯´ÖÀÌ MADD ÀνºÅÍ·°¼Ç ó¸®ÇÒ ¼ö Àִ°Ͱú °°ÀÌ Pixel ÆÄÀÌÇÁ¶óÀÎÀÇ FP32 Shader
À¯´Öµµ MADD ÀνºÆ®·°¼ÇÀ» ó¸®ÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖ´Ù.
[4°³ÀÇ MADD
¿¬»ê(»ó)°ú 4°³ÀÇ MADD + 4°³ÀÇ MUL ¿¬»ê(ÇÏ)À» ó¸®ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÇ ºñ±³]
´õ±º´Ù³ª ÇϳªÀÇ
Shader À¯´Ö¿¡¼ 4°³ÀÇ MADD ¿¬»êÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾ú±â¿¡ µÎ °³ÀÇ Shader À¯´ÖÀ¸·Î ÃÖ´ë 8°³ÀÇ MADD
¿¬»êÀ» ó¸®ÇÒ ¼ö°¡ ÀÖ´Ù. NV40Àº µÎ °³ÀÇ Shader À¯´ÖÀ» ÅëÇØ 4°³ÀÇ MADD ¿¬»ê°ú 4°³ÀÇ MUL ¿¬»êÀ» ó¸®ÇÒ ¼ö
ÀÖ´Ù.
ÀÌó·³ nVIDIAÀÇ
G70Àº ¼¼ºÎÀûÀÎ ³»ºÎ±¸Á¶´Â ±âÁ¸°ú ´Ù¸¦ °ÍÀÌ ¾øÁö¸¸ Shader ¿¬»êºÎºÐÀÇ ¼º´ÉÀ» °³¼±Çϱâ À§ÇØ 3D ¿¬»ê¿¡¼ °¡Àå ÈçÇÏ°Ô
»ç¿ëµÇ°í ÀÖ°í ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Â MADD ¿¬»êÀÇ Ã³¸®¸¦ ´õ¿í ºü¸£°Ô ó¸®Çϵµ·Ï ¸¸µé¾î ÀüüÀûÀÎ ¼º´ÉÇâ»óÀ» °¡Á®¿À°Ô ¸¸µé¾ú±â¿¡
¼º´ÉºÎºÐ¿¡¼´Â ±âÁ¸ NV40º¸´Ù ³ôÀº ¼º´ÉÀ» Á¦°øÇØ¾ß ÇÑ´Ù.
¡¡ |