Prediction v. Predication
¿Ïº®ÇÑ ÆÄÀÌÇÁ¶óÀÎȸ¦ ¸·´Â ¶Ç´Ù¸¥
Àå¾Ö¹°Àº branchÀÌ´Ù. branch´Â ÇÁ·Î¼¼¼°¡ ¾î¶² ºñ±³ÈÄ ¾îµð·Î ºÐ±âÇؾß
ÇÒÁö¸¦ °áÁ¤ÇÏ´Â ÄÚµå»óÀÇ ºÐ±âÁ¡À̶ó ÇÒ ¼ö ÀÖ´Ù. ÄÄÇ»ÅÍ°¡ À¯¿ëÇÑ
ÀåÄ¡ÀÎ °ÍÀº ÀÌ·¯ÇÑ °áÁ¤À» ÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» °¡Á³±â ¶§¹®À̸ç, ÀÎÅÚÀº
ÀÌ¿¡´ëÇÑ ¹®Á¦¸¦ ¸ðµÎ Á¦°ÅÇÏÁö´Â ¸øÇÏ°í À̸¦ ÀçÁ¤ÀÇÇÏ°í ÀÖ´Ù.
´ÙÀ½Àº ±âÁ¸ ¾ÆÅ°ÅØó¿¡¼ µ¿ÀÛÇÏ´Â
branchÀÇ °¡»ó(pseudo) ÄÚµåÀÌ´Ù.
If A is greater than 5 then Do
something... Else Do Something Else...
ÀÌ ÄÚµå´Â º¯¼ö AÀÇ ³»¿ëÀ» Á¡°ËÇÏ¿©
¾î¶² ÄÚµå ½ºÆ®¸²À» ½ÇÇàÇÒÁö¸¦ °áÁ¤ÇÏ°Ô µÈ´Ù. ÇöÀçÀÇ ÇÁ·Î¼¼¼µéÀº
ÀÌ·¯ÇÑ ¼±ÅÃÀÇ ¹®Á¦¿¡ Á÷¸éÇßÀ» ¶§ ±âÁ¸ÀÇ °¢ branch¿¡¼ÀÇ °á°ú¸¦ Á¾ÇÕÇÏ¿©
±× °á°ú¿¡ µû¶ó ³ª¾Æ°¡¾ßÇÒ ¹æÇâÀ» ¿¹ÃøÇÏ°Ô µÈ´Ù. ¹Ù·Î ÀÌ°ÍÀ» prediction(¿¹Ãø)À̶ó
ÇÑ´Ù. IA-64´Â predicationÀ» Çã¿ëÇϸç, ÀǵµÇϴ´ë·Î º´·Ä ¼öÇàÀ¸·Î °°Àº
ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. Itanium¿¡¼ »ó±â ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÇ¾îÁø´Ù.
If A is greater than 5 then set P1
true, else set P2 true. [If P1 is True] Do something...
[If P2 is True] Do something different...
À§ÀÇ Äڵ尡 ±¸Á¶»ó¿¡ ÀÖ¾î¼ Å©°Ô ´Ù¸£°Ô
º¸ÀÌÁö ¾ÊÀ»Áö¶óµµ ÇÁ·Î¼¼¼ ÀÔÀå¿¡¼´Â Ä¿´Ù¶õ Â÷ÀÌ·Î ¹Þ¾ÆµéÀÌ°Ô µÈ´Ù.
ÀÌ´Â ItaniumÀÌ µ¿½Ã¿¡ µÎ°¡Áö Äڵ带 ¸ðµÎ ½ÇÇàÇÒ ¼ö ÀÖÁö¸¸, ½ÇÇàÇϱâ·Î
µÇ¾îÀÖ´Â Äڵ忡 µû¶ó ±× Â÷ÀÌ°¡ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ ¿¹¿¡¼´Â 2°¡Áö
°¡´ÉÇÑ ¼±Åùۿ¡ ¾øÁö¸¸, »óȲ¿¡ µû¶ó ÃÖ´ë 64°³ÀÇ predicatesÀÌ µé¾î°¥
¼öµµ ÀÖ´Ù. ±×¸®°í ÀÌ·¸°Ô ¼ö¾øÀÌ Æ÷°³Áø ·çÇÁµéÀÌ ÇϳªÀÇ predicateÀ¸·Î
±¸¼ºµÇÁö ¾Ê´Â´Ù¸é ¾Æ¸¶ ÆÄÀÌÇÁ¶óÀÎÀº ¸·Çô(?) ¹ö¸± °ÍÀÌ´Ù.
Data and Control
speculation
ÄÚµå branch¸¦ ¹«¸®¾øÀÌ ´Ù·ê ¼ö ÀÖ´Â
´Ù¸¥ ¹æ¹ýµéµµ ÀÖ´Ù. ÇÁ·Î¼¼¼´Â °ú°ÅÀÇ ¼º´ÉÀ» »ìÇÇ´Â °Í ÀÌ¿Ü¿¡´Â
ÄÚµå branch¸¦ ¼±ÅÃÇϴµ¥ ÀÖ¾î ¾î´ÀÂÊÀÌ À¯¸®ÇÒÁö ¾Ë ±æÀÌ ¾øÁö¸¸ ÄÄÆÄÀÏ·¯´Â
±×·¸Áö ¾Ê´Ù. ÀÌ·¯ÇÑ Á¡À» ½ÊºÐ È°¿ëÇÏ¿© ÀÎÅÚÀº IA-64 ¸í·É¾î ÁýÇÕ¿¡
Data and Control SpeculationÀ» Ãß°¡Çß´Ù. ÀÌ »õ·Î¿î ¸í·É¾î ÁýÇÕÀº
ÄÄÆÄÀÏ·¯°¡ ÇÊ¿ä·ÎÇÏ´Â µ¥ÀÌÅ͸¦ ¸Þ¸ð¸®¿¡¼ µ¥ÀÌÅ͸¦ Àоîµé¿© ¾ÕÀ¸·ÎÀÇ
»ç¿ëÀ» À§ÇØ Ä³½Ã¿¡ ¹Ì¸® ÀúÀåÇصδ °ÍÀ» °¡´ÉÇÏ°Ô ÇÏ°í ÀÖ´Ù. ¹°·Ð,
ÀÌ´Â ÇÁ·Î¼¼¼°¡ ÀÚµ¿À¸·Î ¸Þ¸ð¸®ÀÇ ´ÙÀ½ ºÎºÐÀ» ÀÐ¾î ´ÙÀ½¿¡ ¿Ã ¸¸ÇÑ
°ÍÀ» ¹Ì¸® ij½Ã¿¡ ä¿ö³Ö±â ¶§¹®¿¡ ÀϹÝÀûÀ¸·Î ÇÊ¿ä·ÎÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
ÇÏÁö¸¸, ¸¸¾à branch°¡ ¸Þ¸ð¸®ÀÇ ¾î¶² ´Ù¸¥ °÷À¸·Î Á¡ÇÁ(À̵¿)ÇÏ°Ô ÇÑ´Ù¸é,
ÇÁ·Î¼¼¼´Â ÀϹÝÀûÀ¸·Î ´ÙÀ½ ¸í·É¾î°¡ ¸Þ¸ð¸®·ÎºÎÅÍ ºÒ·Á¿Ã ¶§±îÁö ±â´Ù·Á¾ß¸¸
ÇÑ´Ù. ÁÁÀº ÄÄÆÄÀÏ·¯¶ó¸é IA-64 ÇÁ·Î¼¼¼¿¡¼ ÀÌ·¯ÇÑ ÀÏÀÌ ¹ß»ýÇÏÁö
¾Êµµ·Ï ÇØÁÙ °ÍÀ̸ç, Çϵå¿þ¾î ¿ª½Ã ÀÌÀü¿¡ »ç¿ëµÇ¾ú´ø ¹Ì¸® ·ÎµåµÈ
µ¥ÀÌÅÍ¿¡¼ º¯°æµÈ °ÍÀ» ÀÚµ¿À¸·Î ã¾ÆÁÙ °ÍÀÌ´Ù.
·¹Áö½ºÅÍÀÇ Áõ°¡
ÀÎÅÚ 32bit ÇÁ·Î¼¼¼¿¡ ´ëÇÑ °¡Àå Å«
ºÒ¸¸ »çÇ×Áß Çϳª´Â ·¹Áö½ºÅÍ°¡ ºÎÁ·ÇÏ´Ù´Â °ÍÀ̾ú´Ù. ÀÎÅÚÀº IA-64¸¦
"Massively Resourced"¶ó ºÎ¸£°í ÀÖÀ¸¸ç, ÀÌ°ÍÀÌ ÀǹÌÇÏ´Â
¹Ù´Â ÀÎÅÚÀÌ ±×µéÀÇ ¾ÆÅ°ÅØó¿¡ µåµð¾î ´Ù¸¥ Çö´ëÀÇ CPU¿¡¼ Á¦°øÇÏ´Â
¼öÁØÀÇ ¸®¼Ò½º¸¦ Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù. ItaniumÀº 128°³ÀÇ Á¤¼ö/¸ÖƼ¹Ìµð¾î
·¹Áö½ºÅÍ¿Í 128°³ÀÇ 82bit ½Ç¼ö ·¹Áö½ºÅÍ, 64°³ÀÇ predicate ·¹Áö½ºÅÍ,
8°³ÀÇ branch ·¹Áö½ºÅÍ µîÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀÌ ¸¹Àº ¼öÀÇ ·¹Áö½ºÅ͸¦
ÅëÇØ ÀÎÅÚÀº µ¿Àû ·¹Áö½ºÅÍ ½ºÅà ¿£Áø(dynamic register stack engine)À»
ÅëÇÕÇÏ°í ÀÖÀ¸¸ç, À̸¦ ÅëÇØ ¸ÖƼŽºÅ· ¾îÇø®ÄÉÀ̼ÇÀÇ ¼º´ÉÀ» Å©°Ô
Çâ»ó½ÃÅ°°í ÀÖ´Ù.
¸ðµç ¸ÖƼŽºÅ·Àº Á¤ÇØÁø CPU ŸÀÓÀÇ
Á¶°¢À» °¢ ÇÁ·Î±×·¥¿¡ ÇÒ´çÇØ ÁÜÀ¸·Î½á ÀÌ·ç¾îÁø´Ù. ÇϳªÀÇ ÇÁ·Î±×·¥
Á¶°¢ÀÌ ³¡³ª°í ¶Ç´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÏ´Â °ÍÀ» context switch(¿ªÀÚÁÖ
: ÇÁ·Î±×·¥Àº ¹ÙÀ̳ʸ® ÄÚµåÀÇ ¹®ÀåÀ̶ó ÇÒ ¼ö ÀÖ°í ÇöÀç ½ÇÇàÁßÀÎ ¹®¸ÆÀ»
´Ù¸¥ ºÎºÐÀ¸·Î ÀüȯÇÑ´Ù´Â Àǹ̷ΠÀÌÇØÇÏ¸é µÉ °ÍÀÌ´Ù.)¶ó ÇÑ´Ù. ´ëºÎºÐÀÇ
ÇÁ·Î¼¼¼µéÀº ´ÙÀ½ ÇÁ·Î±×·¥ÀÌ Á¢±ÙÇÏ´Â °ÍÀ» Çã¿ëÇϱâ Àü¿¡ ·¹Áö½ºÅÍÀÇ
»óŸ¦ ¸Þ¸ð¸®¿¡ ÀúÀåÇϵµ·Ï ÇÏ°í ÀÖ´Ù.(¸¸¾à, ±×·¸Áö ¾ÊÀ¸¸é, ÀÌÀü
ÇÁ·Î±×·¥¿¡¼ »ç¿ëµÇ´ø µ¥ÀÌÅÍ´Â ´ÙÀ½ ÇÁ·Î±×·¥¿¡ ÀÇÇØ µ¤¾î½áÁú °ÍÀÌ´Ù.)
IA-64´Â context switch°¡ ÀϾ´Â ¸Å ¼ø°£ ·¹Áö½ºÅ͵éÀ» µ¿ÀûÀ¸·Î
ÇÒ´çÇϸç, ÄÄÆÄÀÏ·¯´Â »ç¿ëÇÏ°íÀÚ ÇÏ´Â ·¹Áö½ºÅÍÀÇ °³¼ö¸¸Å °¢ ÇÁ·Î±×·¥¿¡
alloc(allocation) ¸í·É¾î¸¦ Ãß°¡½ÃÅ°µµ·Ï ÇÏ°í ÀÖ´Ù. CPU´Â ¸¹Àº ·¹Áö½ºÅÍÀÇ
À̸§À» º¯°æÇÏ°í °¢ ÇÁ·Î±×·¥¿¡¼ À̸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÒ´çÇØ ÁØ´Ù.
±×¸®°í, ItaniumÀº ´ÙÀ½ ÇÁ·Î±×·¥¿¡¼ ÇÁ·Î¼¼¼¸¦ »ç¿ëÇÒ ½ÃÁ¡¿¡¼´Â
µ¥ÀÌÅ͸¦ ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ´Â ´ë½Å, ·¹Áö½ºÅÍÀÇ À̸§À» º¯°æÇÏ¿© ´ÙÀ½
ÇÁ·Î±×·¥¿¡ ±ú²ýÇÑ ·¹Áö½ºÅÍ ÁýÇÕÀ» Á¦°øÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
ÀÌ·¸°Ô ÇÔÀ¸·Î½á ´õ ÀÌ»ó ´À¸° ¸Þ¸ð¸® Á¢±ÙÀº ÇÊ¿ä°¡ ¾ø°Ô µÇ´Â °ÍÀÌ´Ù.
½Ç¼ö ¹× ¸ÖƼ¹Ìµð¾î
¼º´É
G4ÀÇ °æ¿ì AltiVec ¸í·É¾î ÁýÇÕÀ» »ç¿ëÇÏ¿©
ÃÊ´ç 10¾ï°³ÀÇ ½Ç¼ö ¿¬»ê(1 GigaFLOP)À» °¡´ÉÇϵµ·Ï ÇÏ°í ÀÖÀ¸¸ç, µ¿½Ã¿¡
ó¸®µÉ ¼ö ÀÖ´Â ´ÙÁß ¸í·É¾îÀÇ Á¦ÇÑÀ¸·Î ÀÎÇØ ´Ù¼Ò ºÒ¾ÈÁ¤ÇÑ ¼öÄ¡¸¦
º¸ÀÏ ¼ö ÀÖ´Ù. ¹Ý¸é, ÀÎÅÚ¿¡ µû¸£¸é ±×µéÀÇ IA-64 ÇÁ·Î¼¼¼´Â ´ÙÁß ½Ç¼ö
¿¬»ê À¯´ÖÀ» ÅëÇØ 6 GigaFLOPÀ» Áö¿øÇÒ °ÍÀ̶ó ÇÑ´Ù. ItaniumÀº ¶ÇÇÑ
IA-64 ÄÚµå ÀÚü·Î¼ ¸ÖƼ¹Ìµð¾î ¸í·É¾î¸¦ Áö¿øÇÑ´Ù. ÀÌ·¯ÇÑ ItaniumÀÇ
¸í·É¾î´Â AltiVec ¶Ç´Â SSE ¸í·É¾î¿¡ ÇÊÀûÇÏÁö¸¸, ½ÇÁ¦ ¼º´É»óÀÇ ÀÕÁ¡Àº
Å×½ºÆ®¸¦ À§ÇÑ ÃÖÃÊÀÇ Á¦Ç°ÀÌ ³ª¿À±â±îÁö´Â ¾Ë ¼ö ¾ø´Â °ÍÀÌ »ç½ÇÀÌ´Ù.
IA-64 ½Ã½ºÅÛÀº ¶ÇÇÑ MMX¿Í SSE ¸í·É¾î°¡ °¡´ÉÇÏÁö¸¸, ȣȯ¼º Ãø¸éÀÏ
»ÓÀÌ´Ù. ItaniumÀÇ ¼º´ÉÀ» ÃÖ´ë·Î È°¿ëÇϱâ À§Çؼ´Â ÇÁ·Î±×·¥ÀÌ IA-64
¸ÖƼ¹Ìµð¾î ¸í·É¾î·Î ÀÛ¼ºµÇ¾îÁ®¾ß ÇÒ °ÍÀÌ´Ù.
»õ·Î¿î ¿î¿µÃ¼Á¦°¡
ÇÊ¿äÇÏ´Ù.
ºÒÇàÇÏ°Ôµµ ItaniumÀÇ Çâ»óµÈ ºÎºÐ¿¡
´ëÇÑ À̵æÀ» ¾ò±â À§Çؼ´Â 64bit ¿î¿µÃ¼Á¦¿¡¼ IA-64·Î ÀÛ¼ºµÈ Äڵ带
ÄÄÆÄÀÏÇÑ ÇÁ·Î±×·¥À» ÀÛµ¿½Ãų ÇÊ¿ä°¡ ÀÖ´Ù. Merced´Â IA-32 ¸ðµå¿¡¼
½ÇÇàÀÌ °¡´ÉÇÏÁö¸¸, ÀÌ´Â ¿ÏÀüÈ÷ ÆæƼ¾ö-III¸¦ Çϵå¿þ¾îÀûÀ¸·Î ¿¡¹Ä·¹À̼ÇÇÏ´Â
°ÍÀÌ´Ù. ÇÏÁö¸¸, ÀÎÅÚÀÌ ÄÄÆÄÀϽà ¸î¹èÀÇ ¼º´ÉÀ» ³»±âÀ§ÇØ 32bit ¼º´ÉÀ»
ÃÖÀûÈÇϴµ¥ ¾ó¸¶³ª ¸¹Àº ½Ã°£À» ÅõÀÚÇß´ÂÁö¸¦ ÃßÃøÇϱâ´Â ¾î·Æ´Ù.
ÇöÀç Windows 2000, Linux, Compaq Tru64 ¹× SCO Unix µîÀÌ IA-64 ¾ÆÅ°ÅØó¿¡
¸Âµµ·Ï ÀÌ½Ä ÀÛ¾÷À» ÇÏ°í ÀÖÀ¸¸ç, Merced°¡ ¹ßÇ¥µÇ´Â ½ÃÁ¡¿¡¼ ¸ðµÎ
°¡´ÉÇØÁú °ÍÀ¸·Î ¿¹»óµÈ´Ù.
°á·Ð
¾Æ¸¶ Áö±ÝÂëÀÌ¸é ¿©·¯ºÐµéÀº IA-64 ¾ÆÅ°ÅØó°¡
CPU ¹ßÀü¿¡ ÀÌÁ¤Ç¥¸¦ ¼¼¿ï °ÍÀ̶ó´Â Á¡À» ±ú´Ý°Ô µÇ¾úÀ» °ÍÀÌ´Ù. ÀÎÅÚÀº
Áö³ 10³â°£ º° µµ¿ò¾ø´ø CPU ¶óÀο¡¼ÀÇ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ µðÀÚÀο¡
´ëÇÑ ¸¹Àº Çõ½ÅÀûÀÎ ¾ÆÀ̵ð¾î¸¦ ÅëÇÕÇÏ·Á´Â ½Ãµµ¸¦ ÇÏ°í ÀÖ´Â °ÍÀÌ´Ù.
¸ðµÎµé ÀÌ°ÍÀÌ À§ÇèÇÑ µµ¹ÚÀÓÀ» ¾Ë°í ÀÖ´Ù. ¿Ö³ÄÇϸé ÇöÀç ½ÃÁß¿¡´Â
IA-64¸¦ À§ÇÑ ÄÄÆÄÀÏ·¯°¡ ³ª¿ÍÀÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
Ãâ½Ã±îÁö ä ÀϳâÀÌ ³²Áö ¾ÊÀº Áö±Ý,
Itanium ¶óÀÎÀÇ ÆÄ¿ö¸¦ À̲ø¾îÁÙ ÇÙ½É ¼ÒÇÁÆ®¿þ¾î´Â ¾ÆÁ÷ ³ª¿ÍÀÖÁö ¾Ê´Ù.
IA-64 ¼ÒÇÁÆ®¿þ¾î¸¦ ¿¬±¸ÇÏ°í ÀÖ´Â °³¹ßÀÚµéÀÌ ¾ø´Ù´Â ¸»Àº ¾Æ´ÏÁö¸¸,
ÀÌ ºÐ¾ß´Â ¾Æ¸¶µµ µ¿½Ã¿¡ ÀÚ»çÀÇ ÄÄÆÄÀÏ·¯¸¦ °³¹ßÇÏ°í ÀÖ´Â(¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿Í
°°ÀÌ...) ´ëÇü ¼ÒÇÁÆ®¿þ¾î»ç¿¡°Ô¸¸ °³¹æµÇ¾î ÀÖ´Â µí ÇÏ´Ù. ¹°·Ð, ¸®´ª½º¿Í
´ëÁßÀûÀÎ GNU °³¹ßÅø(À¯¸íÇÑ GNU C ÄÄÆÄÀÏ·¯ÀÎ GCC¸¦ Æ÷ÇÔÇÏ¿©...)ÀÇ
À̽ÄÀ» À§ÇÑ ¿¬ÇÕÀÎ LinuxIA64 ÇÁ·ÎÁ§Æ®¿¡´Â Èñ¸ÁÀÌ º¸ÀδÙ.
Merced°¡ Ãâ½ÃµÉ ÁîÀ½ÀÌ¸é µÎ °³ Á¤µµÀÇ
¿î¿µÃ¼Á¦¿Í °³¹ß Ç÷§ÆûÀº ¸¶·ÃµÇ¾îÁö¸®¶ó º¸¿©ÁöÁö¸¸, ±×·¸´Ù°í ¹Ù·Î
¼ÒºñÀÚµéÀÌ À̸¦ ã°ÔµÉ °ÍÀ̶õ ¸»Àº ¾Æ´Ï´Ù. ´ëºÎºÐÀÇ ¼¹ö¿Í ¿÷½ºÅ×À̼Ç
¾îÇø®ÄÉÀ̼ÇÀº ¹Ù·Î À̽ĵǾîÁú °ÍÀÌ È®½ÇÇÏÁö¸¸, ¾Æ¸¶µµ IA-64ÀÇ »ç¹«¿ë
¾îÇø®ÄÉÀ̼ÇÀ̳ª °ÔÀÓÀº Çѵ¿¾È ã¾Æº¸±â Èûµé °ÍÀÌ´Ù. ¹°·Ð, ÀÌ·¯ÇÑ
¿î¿µÃ¼Á¦¿¡¼ ½ÇÇàµÇ´Â Quake 3(¶Ç´Â 4)¸¦ »ó»óÇغ¸´Â °ÍÀº ÀüÀ²À» ´À³¢°ÔÇÒÁöµµ
¸ð¸¥´Ù. ÀÎÅÚÀº °¡Á¤ »ç¿ëÀÚµéÀ» À§Çؼ IA-32 ¶óÀÎÀ» °è¼Ó °¡µ¿½Ãų
°èȹÀ» Àâ°í ÀÖÀ¸¹Ç·Î, IA-64°¡ °ÔÀÓ°è¿¡¼ äÅõǾîÁúÁö ȤÀº ¸Å´Ï¾ÆµéÀÇ
ÀüÀ¯¹°·Î ¿©°ÜÁ® À̵鿡°Ô Á¶Â÷ ²¨·ÁÁúÁö´Â ½Ã°£ÀÌ Èê·¯ºÁ¾ß ¾Ë ¼ö ÀÖÀ»
°ÍÀÌ´Ù. ¿©ÇÏÆ°, ¼¹ö¿Í ¿÷½ºÅ×ÀÌ¼Ç ½ÃÀåÀº ÀÎÅÚÀÇ IA-64 ¾ÆÅ°ÅØó°¡
µîÀåÇÑ µÚ¿¡´Â ÇöÀç¿Í °°Áö´Â ¾ÊÀ» °ÍÀÌ´Ù.
¿ø¹® Ãâó : Thresh"s FiringSquad
¼Û´ëÇõ / brainbox@technoa.co.kr
|