[¶ó¶óºñ´Â ´Ù¼öÀÇ IA ÄÚ¾î¿Í 16-Wide º¤ÅÍ À¯´ÖÀ¸·Î ±¸¼º]
¶ó¶óºñ´Â ¸¹Àº ´º½ºµé°ú IDF 2008À» ÅëÇØ °ø°³µÈ ³»¿ëÀº ¸¹Àº ¼öÀÇ IA ÄÚ¾î¿Í 16-Wide º¤ÅÍ ALU
À¯´ÖÀ» Á¦°øÇϰí ÀÖÀ¸¸ç, °¢ ÄÚ¾îµé °£¿¡´Â °øÀ¯µÇ´Â L2 ij½¬¸¦ Á¦°øÇÏ¿© µ¥ÀÌÅÍ °øÀ¯¿Í ³ôÀº ´ë¿ªÆøÀ» ¾òÀ» ¼ö ÀÖ¾î ó¸® È¿À²À» ³ô¿©ÁØ´Ù. ¶Ç,
°¢ ÄÚ¾îµé °£¿¡´Â 1024bit ¸µ¹ö½º (ºñ¼±Çü ¹æ½Ä, °¢ ¹æÇâ 512bit)¸¦ ÅëÇØ ¸Þ¸ð¸® ¾×¼¼½º¿Í °íÁ¤ ±â´É ºí·°ÀÇ ºü¸¥ Á¢±Ù, ij½¬
Àϰü¼ºÀ» À§ÇÑ ºü¸¥ Á¢±ÙÀÌ °¡´ÉÇØÁø´Ù. ¶ó¶óºñ¿¡ Àû¿ëµÇ´Â ¸µ¹ö½º´Â 2GHz ÀÌ»óÀ¸·Î µ¿ÀÛµÉ °ÍÀ¸·Î ¿¹»óµÇ¾î ¸Å¿ì ³ôÀº ´ë¿ªÆøÀ» Á¦°øÇÒ °ÍÀ¸·Î
¿¹»óµÇ°í ÀÖ´Ù.
¶ÇÇÑ, ¸Þ¸ð¸® ÄÁÆ®·Ñ·¯´Â ¶ó¶óºñ ºí·° ´ÙÀ̾î±×·¥ »óÀ¸·Î´Â 2°³°¡ Á¸ÀçÇϴµ¥ ¶ó¶óºñ´Â AMD¿Í NVIDIA°¡
³»ºÎ 64bit ¸Þ¸ð¸® ÄÁÆ®·Ñ·¯¸¦ »ç¿ëÇÏ´Â °Í°ú ´Þ¸® 128bit ¸Þ¸ð¸® ÄÁÆ®·Ñ·¯¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù. Âü°í·Î ÇöÀçÀÇ
GeForce GTX 280 512bit ¸Þ¸ð¸® ÀÎÅÍÆäÀ̽º (64bit x 8)·Î ±¸¼º, RV770 256bit ¸Þ¸ð¸® ÀÎÅÍÆäÀ̽º
(64bit x 4)·Î ±¸¼ºµÈ´Ù.
±× ¿Ü¿¡µµ ÅØ½ºÃ³ 󸮸¦ À§ÇÑ ·ÎÁ÷, ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽º (ÇöÀçÀÇ PCIe 2.0 ÀÎÅÍÆäÀ̽º µî), µð½ºÇ÷¹ÀÌ
ÀÎÅÍÆäÀ̽º (ÇöÀçÀÇ DVI, HDMI, DisplayPort µî)¸¦ Æ÷ÇÔÇϰí ÀÖ¾î ÇöÀçÀÇ GPUµéó·³ ±×·¡ÇÈ Ä«µå·ÎÀÇ ¸ð½ÀÀ» °®Ãß°í ÀÖ´Ù.
¡¡
[¶ó¶óºñ´Â ½ºÄ®¶ó À¯´Ö°ú CPU ÄÚ¾î ³»ÀÇ º¤ÅÍ À¯´ÖÀ¸·Î ±¸¼º]
¶ó¶óºñ¸¦ ±¸¼ºÇÏ´Â ºÎºÐÀº ÆæÆ¼¾ö P54C·Î ¾Ë·ÁÁø ´Ù¼öÀÇ IA ÄÚ¾î¿Í 16-Wide º¤ÅÍ ALU À¯´ÖÀÌ
Æ÷ÇԵǾî ÀÖ´Ù. ÄÚ¾î ºÎºÐ¿¡ ÇØ´çÇÏ´Â ºÎºÐÀº ¾Õ¼ ¾ð±ÞÇÏ¿´µíÀÌ ÄÚ¾îµé °£¿¡ 1024bit ¸µ¹ö½º¸¦ ÅëÇØ ¿¬°áµÇ¾î µ¥ÀÌÅÍÀÇ °øÀ¯¿Í ó¸® È¿À²À»
³ôÀÏ ¼ö ÀÖÀ¸¸ç, Äھ´Â L1°ú L2 ij½¬, ±×¸®°í ½ºÄ®¶ó À¯´Ö°ú º¤ÅÍ À¯´Ö ±×¸®°í ½ºÄ®¶ó¿Í º¤ÅÍ ·¹Áö½ºÅ͵µ º°µµ·Î Á¦°øµÈ´Ù. ±×¸®°í x86
CPUÀÇ SIMD (Single Instruction Multiple Data) ¸í·É¾îÀÎ SSE ¸í·É¾î µîÀÌ Áö¿øµÇ¾î CPUÀÇ ±×°Í°ú Å« Â÷À̰¡
¾ø´Â ±¸Á¶¸¦ º¸¿©ÁØ´Ù. ÄÚ¾î ³»ÀÇ º¤ÅÍ À¯´ÖÀº Ŭ·° ´ç 16°³ÀÇ 32bit ops¸¦ ó¸®ÇÒ ¼ö ÀÖÀ¸¸ç, ÄÚ¾î´Â ¼øÂ÷ÀûÀÎ ¸í·É ½ÇÇà, ÆÄÀÌÇÁ¶óÀÎÀÇ
ªÀº ½ÇÇà, L1 ij½¬·ÎºÎÅÍ ºü¸¥ Á¢±Ù, °¢ ÄÚ¾î °£¿¡´Â Á÷Á¢ÀûÀ¸·Î L2 ij½¬¸¦ ¿¬°á, L1°ú L2 ij½¬ ¸í·É¾î¸¦ ¹Ì¸® ºÒ·¯¿Â´Ù. ¶Ç,
4-Way SMT/ Hyper-Threading ±â¼úÀÌ Ãß°¡µÇ¾ú´Ù.
¶ÇÇÑ, Ãß°¡·Î 16-Wide º¤ÅÍ ALU À¯´ÖÀÌ ³»ÀåµÇ´Âµ¥ µ¥ÀÌÅÍÀÇ º´·Ä È帧À» Á¦¾îÇØÁÖ¸ç, ¸Þ¸ð¸®¸¦ Àоî¿À´Â
µ¿¾È ¼ö ŸÀÔÀÇ º¯È¯°ú µ¥ÀÌÅÍ º¹Á¦ µîÀÇ ÀÛ¾÷, ±×¸®°í L1 ij½¬ÀÇ ºü¸¥ Àбâ, ·¹Áö½ºÅÍ·Î ÀÐÀº ·£ÀÇ Àç¹è¿, ´Ù¼öÀÇ º´ÇÕ, Int32,
Float32, ±×¸®°í »õ·Î Ãß°¡µÈ Float64 (64bit) µ¥ÀÌÅ͸¦ ´Ù·é´Ù. 16-Wide º¤ÅÍ À¯´ÖÀº GPUÀÇ º¤ÅÍ ¿¬»êÀ» ´ã´çÇÏ´Â
ºÎºÐÀ¸·Î º¼ ¼ö ÀÖÀ¸¸ç, ´Ù¸¥ ÄÚ¾îµé°úÀÇ Á¶ÇÕµµ °¡´ÉÇÑ °ÍÀ¸·Î ¾Ë·ÁÁö°í ÀÖ´Ù.
16-Wide º¤ÅÍ ALU À¯´ÖÀº 8-Wide ´õºí ¿¬»êÀ» Áö¿øÇϸç, AMD¿Í NVIDIAÀÇ ½ºÆ®¸² ÇÁ·Î¼¼¼
À¯´Ö°ú ºñ±³ÇÒ ¼ö ÀÖ´Ù. NVIDIAÀÇ SP°¡ ÇϳªÀÇ ¸í·É¿¡ ´ëÀÀ, AMD´Â 5°³, ¶ó¶óºñ´Â º¤ÅÍ À¯´ÖÀÌ 16°³·Î µ¿ÀÛÇÑ´Ù. NVIDIA´Â
SP°¡ GTX 280Àº 240°³°¡ »ç¿ëµÇ°í AMD´Â 160°³ (RV770), ÀÎÅÚ ¶ó¶óºñ´Â ÄÚ¾î Àû¿ë¿¡ µû¶ó
16-32°³·Î µ¿ÀÛÇÒ °ÍÀ¸·Î ¿¹»óµÈ´Ù. ¶Ç, ÀÎÅÚ ¶ó¶óºñÀÇ 16-Wide º¤ÅÍ ALU À¯´ÖÀº ½Ì±Û ¾²·¹µå·Î µ¿ÀÛÇÏ´Â ÇÁ·Î±×·¥¿¡¼ AMDó·³
16°³°¡ ¸ðµÎ µ¿ÀÛÇϱ⵵ NVIDIAó·³ µ¶¸³ÀûÀ¸·Î µ¿ÀÛÇÒ ¼öµµ ÀÖ´Â °ÍÀ¸·Î ¿¹»óµÇ°í ÀÖ´Ù. µû¶ó¼, AMD°¡ ±×·¨´ø °Íó·³ ÀÎÅÚ ¶ó¶óºñ ¿ª½Ã
ÄÄÆÄÀÏ·¯°¡ Áß¿äÇÑ ¿ªÇÒÀ» Â÷ÁöÇÏ°Ô µÉ °ÍÀ¸·Î ¿¹»óµÇ°í ÀÖ´Ù.
¶ó¶óºñ´Â ½±°Ô ¸»ÇØ CPUÀÇ ÄÚ¾î (½ºÄ®¶ó À¯´Ö)¿Í ±×·¡ÇÈ ¿¬»ê ºÎºÐÀ» ´ã´çÇÏ´Â º¤ÅÍ À¯´ÖÀÇ Á¶ÇÕÀ¸·Î
¸¸µé¾îÁö´Â GPU¶ó°í º¼ ¼ö ÀÖ¾î SSE ¸í·É¾îÀÇ Áö¿ø µîÀ¸·Î GPUº¸´Ù´Â CPU¿¡ ´õ °¡±î¿î ±¸Á¶¸¦ º¸¿©ÁÖ°í À̰ÍÀÌ ¹ü¿ë ÄÄÇ»ÆÃ ºÎºÐ¿¡ GPUº¸´Ù
´õ ÀûÇÕÇÑ ÀÌÀ¯ÀÌ´Ù.
¡¡
[2ÄÚ¾î CPU¿Í ¶ó¶óºñ ½ºÆå ¹× 󸮷® ºñ±³]
ÀÎÅÚ ¶ó¶óºñ´Â ÄÚ¾î2 µà¿À L2 4MB ij½¬¸¦ °¡Áø µà¾ó ÄÚ¾î CPU¿Í °°Àº °øÁ¤À» Àû¿ëÇÒ °æ¿ì ´ë·« °°Àº
´ÙÀÌ »çÀÌÁî, ±×¸®°í ¼ÒºñÀü·ÂÀ» °¡Áø ¸ðµ¨ÀÌ 10Äھ °¡Áö°Ô µÈ´Ù. À̵éÀ» °¡»óÀ¸·Î ¼º´ÉÀ» ºñ±³ÇÒ °æ¿ì ¶ó¶óºñ 10ÄÚ¾î´Â µà¾ó ÄÚ¾î ÇÁ·Î¼¼¼¿Í
ºñ±³ÇÏ¿© 20¹è¿¡ À̸£´Â Ŭ·° ´ç Multiply-add ¸í·É¾î ó¸® ¼º´ÉÀ» °®Ãß°í ÀÖ´Â °ÍÀ¸·Î ¾ð±ÞÇß´Ù. Ŭ·° ´ç 8°³ÀÇ º¤ÅÍ Ã³¸®·®À» °¡Áø
µà¾ó ÄÚ¾î¿Í ºñ±³ÇÏ¿© ¶ó¶óºñ´Â 160°³³ª ´õ ¸¹Àº º¤ÅÍ Ã³¸®°¡ °¡´ÉÇÏ´Ù.
¡¡
[¶ó¶óºñ, ÄÚ¾î Áõ°¡¿¡ µû¶ó Áõ´ëµÇ´Â ¼º´É]
ÀÎÅÚÀÇ ¶ó¶óºñ´Â »ç¿ëµÇ´Â ÄÚ¾îÀÇ Áõ°¡¿¡ µû¸¥ ¼º´É Çâ»ó ºÎºÐµµ ¾ð±ÞµÇ°í Àִµ¥ 3°¡ÁöÀÇ °ÔÀÓ Å¸ÀÌÆ² ¸ðµÎ Äھ 8°³¾¿ ´Ã¾î³²¿¡ µû¶ó ¼º´Éµµ
Áõ°¡µÈ´Ù. 8°³¿¡¼ 16°³·Î ³Ñ¾î°¥ ¶§ 2¹è¿¡ °¡±î¿î ¼º´ÉÀÌ ±× ÈÄ·Î 8°³¾¿ ´Ã¾î³¯ ¶§¸¶´Ù ¾à 1¹è¿¡ °¡±î¿î ¼º´ÉÀÌ Áõ°¡µÇ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù.
ºñ ±×·¡ÇÈ ¾îÇø®ÄÉÀÌ¼Ç ¼º´É ¿ª½Ã 32°³ÀÇ Äھ 8°³ÀÇ ¾à 3¹è¿¡ °¡±î¿î Çâ»óÀ» º¸¿©ÁØ´Ù. 16 Äھ¼ 2¹èÀÇ ¼º´ÉÀ» ³»·Á¸é 2¹èÀÎ 32
Äھ »ç¿ëµÇ¾î¾ß Çϴµ¥ ±× ¸¸Å ¼ÒºñÀü·ÂÀ̳ª ¹ß¿ µîÀÌ Áõ°¡µÉ °ÍÀ¸·Î ¿¹»óµÈ´Ù.
ÀÌ¿¡ µû¶ó ¶ó¶óºñ ¿ª½Ã CPU³ª ±×·¡ÇÈ Ä«µåµé°ú ¸¶Âù°¡Áö·Î ÄÚ¾î Å©±â°¡ Áõ°¡µÊ¿¡ µû¶ó ´ÙÀÌ »çÀÌÁî ¿ª½Ã Áõ°¡µÇ°í ¼ÒºñÀü·Â ¹ß¿ÀÌ Áõ´ëµÇ¹Ç·Î Á¦Á¶
°øÁ¤ÀÌ Áß¿äÇÒ °ÍÀ¸·Î º¸¿©Áø´Ù. ¶ó¶óºñ ½ÇÁ¦ Á¦Ç°ÀÇ Ãâ½Ã°¡ ´Ê¾îÁö´Â °Íµµ Áõ°¡µÇ´Â ´ÙÀÌ »çÀÌÁî¿Í ±×¿¡ µû¸¥ ¼ÒºñÀü·ÂÀ̳ª ¹ß¿À» ÇöÀçÀÇ 65/
45nm °øÁ¤À» Àû¿ëÇÒ °æ¿ì ÇöÀçÀÇ GPUµé¿¡ ´ëÀÀÇÒ ¼ö ÀÖ´Â ÀûÀýÇÑ ¼º´ÉÀ» ¸¸µé±â ¾î·Æ±â ¶§¹®À¸·Î ¿¹»óµÈ´Ù.
10°³ Äھ °¡Áø ¶ó¶óºñ°¡ 65nm °øÁ¤ÀÇ ÄÚ¾î2 µà¿À L2 4MB ij½¬¿Í °°Àº 143mm^2ÀÇ ´ÙÀÌ »çÀÌÁ °¡Áú °ÍÀ¸·Î ¿¹»óµÇ°í ÀÖ°í
45nm °øÁ¤¿¡¼ 60-70% ·Î ´ÙÀÌ »çÀÌÁ ÁÙÀÌ´õ¶óµµ ¼ÒºñÀü·Â µîÀ¸·Î ÀÎÇØ 16-32 ÄÚ¾î Á¤µµ°¡ 45nm °øÁ¤¿¡¼ ¸¸µé ¼ö ÀÖ´Â ÃÖ´ë
¹üÀ§°¡ µÉ °ÍÀ¸·Î ¿¹»óµÇ°í ÀÖ´Ù.
¡¡
º´·Ä ÄÄÇ»ÆÃÀ» À§ÇÑ Ct (C for Throughput Computation) »ç¿ë
AMD¿Í NVIDIA´Â ÃÖ±Ù GPU¸¦ ¿µ»ó ÀÎÄÚµùÀ̳ª PhysX¿Í °°Àº ¹°¸®¿£ÁøÀÇ °¡¼Ó µîÀÇ ¹ü¿ë ¸ñÀû¿¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô Çϱâ À§ÇØ GPGPU¿Í
NVIDIAÀÇ °æ¿ì C¾ð¾î ±â¹ÝÀÇ CUDA¸¦ ÅëÇØ À̵éÀÌ °¡´ÉÇÏ°Ô ÇØÁÖ°í ÀÖ´Ù.
ÀÎÅÚ ¶ó¶óºñ ¿ª½Ã ¾Õ¼ ¾ð±ÞÇÑ °Í°ú °°ÀÌ GPUº¸´Ù CPUÀÇ ÀåÁ¡µéÀ» ÃëÇϰí ÀÖ¾î ¹ü¿ë ÄÄÇ»ÆÃ¿¡ À¯¸®ÇÑ ¸ð½ÀÀ» °®Ãß°í ÀÖ°í NVIDIAÀÇ CUDA¿Í °°ÀÌ C¾ð¾î ±â¹ÝÀÇ Ct (C for Throughput Computation)¸¦ ÅëÇØ ¶ó¶óºñ¿¡ »ç¿ëÇÏ´Â IA Äھ ÃÖÀûȵǵµ·Ï
ÇÏ¿© ¹ü¿ë ¸ñÀû µîÀÇ »ç¿ë¿¡ È¿°úÀûÀ¸·Î ´ëÀÀÇÒ ¼ö ÀÖ°Ô µÈ´Ù. Ct´Â ¶ó¶óºñ°¡ Áö¿øÇÏ´Â SSE ¸í·É¾î¸¦ ºñ·ÔÇÏ¿© ¸¹Àº ÄÚ¾î¿Í ij½¬, ´ë¿ªÆø,
¸í·É¾î ¼Â Çâ»óÀ» À§ÇÑ ÃÖÀûȸ¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù.
¶Ç, ÀÌ·± ¼ÒÇÁÆ®¿þ¾î ±â¼úÀ» ÅëÇØ ÀÎÅÚÀÌ ÁöÇâÇÏ´Â ºñÁÖ¾ó ÄÄÇ»ÆÃ¿¡ ´õ °¡±îÀÌ ´Ù°¡°¥ ¼ö ÀÖÀ¸¸ç, ÇöÀçÀÇ ±×·¡ÇÈ API Áß »ê¾÷ Ç¥ÁØÀÎ
DirectX¿Í OpenGLÀÇ ÀÌ¿ë »Ó¸¸ ¾Æ´Ï¶ó IA/ SSE/ ¶ó¶óºñ ³×ÀÌÆ¼ºê ÄÄÆÄÀÏ·¯ µîÀÇ Åø µîÀ» Á¦°øÇϰí Ct¸¦ ÅëÇØ º¸´Ù ½±°Ô »ç¿ëÇϰí
À¯¿¬ÇÑ ÇÁ·Î±×·¡¹ÖÀ» °¡´ÉÇϵµ·Ï ÇØÁØ´Ù.
¡¡
ÀÎÅÚ ¶ó¶óºñÀÇ ¼ÒÇÁÆ®¿þ¾î ±¸Á¶´Â GPUº¸´Ù CPU¿¡ ´õ °¡±î¿îµ¥ ÀÌ´Â IA Äھ ÆæÆ¼¾ö ÇÁ·Î¼¼¼¸¦ ±â¹ÝÀ¸·Î Çϰí Àֱ⠶§¹®À¸·Î º¼ ¼ö ÀÖ´Ù.
¶ó¶óºñ Çϵå¿þ¾î ´Ü°è¿¡´Â ·»´õ¸µ ÆÄÀÌÇÁ¶óÀÎ, ¶ó¶óºñ ³×ÀÌÆ¼ºê App, µå¶óÀ̹ö ½ÇÇà À¯´Ö µîÀÌ Æ÷ÇÔµÇ°í µå¶óÀ̹ö ´Ü°è´Â PCIe¿Í µð½ºÇ÷¹ÀÌ
µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¸ç, API´Â ÇöÀçÀÇ °ÔÀÓÀ» ¸¸µå´Âµ¥ »ç¿ëµÇ´Â »ê¾÷ Ç¥ÁØÀÎ DirectX¿Í OpenGL, ±×¸®°í ¶ó¶óºñ ³×ÀÌÆ¼ºê
C/C++ ÄÄÆÄÀÏ·¯ÀÇ È°¿ëÀÌ °¡´ÉÇÏ°Ô µÈ´Ù. ¾îÇø®ÄÉÀÌ¼Ç ´Ü°è¿¡¼´Â °³¹ßÀÚ È¯°æ¿¡¼´Â
ÄÄÆÄÀÏ·¯¿Í µð¹ö°Å Á¦°ø, Åø°ú ¶óÀ̺귯¸®¿¡¼´Â ¼º´É ºÐ¼® Åø, »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡¼´Â ±×·¡ÇȽº ¾îÇø®ÄÉÀ̼ǰú ¶ó¶óºñ ³×ÀÌÆ¼ºê ¾îÇø®ÄÉÀ̼Ç,
À¯Æ¿¸®Æ¼¿¡¼´Â µå¶óÀ̹ö ÄÁÆ®·Ñ ÆÐ³Î µîÀÌ Á¦°øµÈ´Ù.