´ÙÀ½ ÀÌÀü Â÷·Ê

5. ¸®´ª½º°¡ È£½ºÆ®ÇÏ´Â ºÎ¼Ó ÇÁ·Î¼¼¼­(Linux-Hosted Attached Processors)

ÀÌ·± Á¢±ÙÀº ¿ä»õ º°·Î ÀαⰡ ¾øÁö¸¸ ´Ù¸¥ º´·Ä ó¸® ¹æ¹ýµéÀÌ ¸®´ª½º ½Ã½ºÅÛÀ» È£½ºÆ®¿¡ ºÎ¼Ó º´·É ÄÄÇ»Æà ½Ã½ºÅÛÀ¸·Î »ç¿ëÇÔÀ¸·Î½á ³·Àº ºñ¿ë¿¡ °í¼º´ÉÀ» ¾ò´Â °ÍÀº °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù. ¹®Á¦´Â ¼ÒÇÁÆ®¿þ¾î Áö¿øÀÌ ¾ÆÁÖ ÀÛ´Ù´Â °ÍÀÌ´Ù; ¿©·¯ºÐÀº °ÅÀÇ È¥ÀÚÀÌ´Ù.

5.1 ¸®´ª½º PC´Â ÁÁÀº È£½ºÆ®ÀÌ´Ù(A Linux PC Is A Good Host)

ÀϹÝÀûÀ¸·Î ºÎ¼Ó º´·Ä ÇÁ·Î¼¼¼­µéÀº ƯÁ¤ ŸÀÔÀÇ ±â´ÉµéÀ» ¼öÇàÇÏ´Â µ¥ Àü¹®È­µÇ´Â °æÇâÀÌ ÀÖ´Ù.

¿©·¯ºÐÀÌ ¾î¼¸é È¥ÀÚÀÏ·±Áö ¸ð¸¥´Ù´Â »ç½Ç¿¡ ±âÁ×±â Àü¿¡ ´ÙÀ½°ú °°Àº °ÍÀ» ÀÌÇØÇÏ´Â °ÍÀº À¯¿ëÇÏ´Ù. Áï, ¸®´ª½º PC°¡ ÀûÀýÇÏ°Ô Æ¯Á¤ ½Ã½ºÅÛÀ» È£½ºÆ®Çϵµ·Ï ÇÏ´Â °ÍÀº ¾î·Á¿ï ¼ö ÀÖÀ»Áö¶óµµ ¸®´ª½º PC´Â ÀÌ·± ŸÀÔÀ¸·Î »ç¿ëµÇ´Â µ¥¿¡´Â ÀûÀýÇÑ ¸î°³ ¾ÈµÇ´Â Ç÷§Æûµé Áß ÇϳªÀÌ´Ù.

PCµéÀº µÎ°¡Áö ÁÖ¿äÇÑ ÀÌÀ¯ ¶§¹®¿¡ ÁÁÀº È£½ºÆ®ÀÌ´Ù. ù¹ø°´Â ½Î°í ½¬¿î È®Àå ´É·ÂÀÌ´Ù; ´õ ¸¹Àº ¸Þ¸ð¸®, µð½ºÅ©, ³×Æ®¿÷ µî°ú °¡Àº ¸®¼Ò½ºµéÀÌ ½±°Ô PC¿¡ Ãß°¡µÈ´Ù. µÎ¹ø°´Â ÀÎÅÍÆäÀ̽ºÀÇ ¿ëÀ̼ºÀÌ´Ù. ISA¿Í PCI ¹ö½º ÇÁ·ÎÅäŸÀÔ Ä«µåµéÀÌ ³Î¸® »ç¿ë°¡´ÉÇÒ»Ó¸¸ ¾Æ´Ï¶ó º´·Ä Æ÷Æ®´Â ¿ÏÀüÈ÷ ºñ-ħ·«ÀûÀÎ ÀÎÅÍÆäÀ̽º·Î Àû´çÇÑ ¼º´ÉÀ» Á¦°øÇÑ´Ù. IA32 ºÐ¸®µÈ I/O ½ºÆäÀ̽º´Â ¶ÇÇÑ °³º° I/O Æ÷Æ® ÁÖ¼ÒµéÀÇ ·¹º§¿¡¼­ Çϵå¿þ¾î I/O ÁÖ¼Ò ÇÁ·ÎÅؼÇÀ» Á¦°øÇÔÀ¸·Î½á ÀÎÅÍÆäÀ̽º¸¦ ¿ëÀÌÇÏ°Ô ÇÑ´Ù.

¸®´ª½º´Â ¶ÇÇÑ ÁÁÀº È£½ºÆ® OSÀÌ´Ù. Àüü ¼Ò½º ÄÚµåÀÇ ÀÚÀ¯·Î¿î »ç¿ë °¡´É¼º, ¸¹Àº "ÇÙÅ·" Ä«À̵åµé, À̵éÀº ¸í¹éÈ÷ ´ë´ÜÇÑ µµ¿òÀÌ´Ù. ±×·¯³ª ¸®´ª½º´Â ¶ÇÇÑ ±¦ÂúÀº °ÅÀÇ-½Ç-½Ã°£ ½ºÄÉÁÙ¸µÀ» Á¦°øÇÏ°í http://luz.cs.nmt.edu/~rtlinux/¿¡´Â ¸®´ª½ºÀÇ ÁøÁ¤ÇÑ ½Ç-½Ã°£ ¹öÀüÁ¶Â÷ ÀÖ´Ù. ¾Æ¸¶µµ ¿ÏÀüÇÑ UNIX ȯ°æÀ» Áö¿øÇÏ´Â ¹Ý¸é ¸®´ª½º´Â Microsoft DOS ¶Ç´Â Windows¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµÈ °³¹ß ÅøµéÀ» Áö¿øÇÏ´Â °ÍÀÌ Á¶±Ý ´õ Áß¿äÇÑ »ç½ÇÀÌ´Ù. MSDOS ÇÁ·Î±×·¥µéÀº, ±ÛÀÚ ±×´ë·Î MSDOS¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÅØƼµå °¡»ó ¸Ó½®À» Á¦°øÇÏ´Â, dosemu¸¦ »ç¿ëÇÑ ¸®´ª½º ÇÁ·Î¼¼½º ¾È¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ´Ù. ¸®´ª½º´Â Á» ´õ Á÷Á¢ÀûÀ¸·Î Windows 3.xx ÇÁ·Î±×·¥µé¿¡ ´ëÇؼ­ Áö¿øÇÑ´Ù: wine, http://www.linpro.no/wine/, °ú °°Àº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î´Â UNIX/X ȯ°æ¾È¿¡¼­ Á¤È®ÇÏ°í È¿À²ÀûÀ¸·Î ´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀ» ½ÇÇàÇÒ¸¸Å­ ÃæºÐÈ÷ Àß Windows 3.11À» ½Ã¹Ä·¹ÀÌÆ®ÇÑ´Ù.

´ÙÀ½ µÎ ¼½¼ÇµéÀº ³»°¡ ¸®´ª½º¿¡¼­ Áö¿øµÇ¾úÀ¸¸é ÇÏ°í ¹Ù¶ó´Â ºÎ¼Ó º´·Ä ½Ã½ºÅ۵鿡 ´ëÇÑ ¿¹Á¦µéÀ» Á¦°øÇÑ´Ù....

5.2 ±×°Í¿¡ DSP¸¦ Àû¿ëÇߴ°¡(Did You DSP That)?

°í-¼º´É DSP(µðÁöÅÐ ½Ã±×³Î ó¸®(Digital Signal Processing)) ÇÁ·Î¼¼¼­ ½ÃÀåÀÌ ¹ø¼ºÁßÀÌ´Ù. ºñ·Ï ÀÌ·± ĨµéÀÌ ÀϹÝÀûÀ¸·Î ¾îÇø®ÄÉÀ̼Ç-Á¾¼ÓÀûÀÎ ½Ã½ºÅ۵鿡 ÀÓº£µùµÇµµ·Ï °í¾ÈµÈ °ÍÀÌÁö¸¸, ±×µéÀº ¶ÇÇÑ °Å´ëÇÑ ºÎ¼Ó º´·Ä ÄÄÇ»ÅÍµé ¶ÇÇÑ ¸¸µé°í ÀÖ´Ù. ¿Ö ±×·±°¡?

¾î¶² ¿Àµð¿À Ä«µåµé°ú ¸ðµ©µéÀº ¸®´ª½º µå¶óÀ̹öµéÀÌ ¾ï¼¼½ºÇÒ ¼ö ÀÖ´Â DSP ÇÁ·Î¼¼¼­µéÀ» Æ÷ÇÔÇÏ°í ÀÖÁö¸¸ ³×°³ ¶Ç´Â ±× ÀÌ»óÀÇ DSP ÇÁ·Î¼¼¼­µéÀ» °¡Áö´Â ºÎ¼Ó º´·Ä ½Ã½ºÅÛÀ» »ç¿ëÇÏ¸é ±× ´ñ°¡°¡ Å©´Ù.

Texas Instruments TMS320 ½Ã¸®Áî, http://www.ti.com/sc/docs/dsps/dsphome.htm, ´Â ¾ÆÁÖ ¿À·§µ¿¾È ¾ÆÁÖ ÀαⰡ ÀÖ¾ú°í TMS320-±â¹Ý º´·Ä ÇÁ·Î¼¼¼­¸¦ ¸¸µé±â°¡ ½¬¾ú±â ¶§¹®¿¡ »ç¿ë°¡´ÉÇÑ ±×·± ½Ã½ºÅÛµéÀÌ ²Ï ÀÖ¾ú´Ù. TMS320¿¡´Â Á¤¼ö-¸¸ÀÇ ¹öÀü°ú ºÎµ¿-¼Ò¼ýÁ¡ °¡´É ¹öÀüµéÀÌ ÀÖ´Ù; ´õ ¿À·¡µÈ µðÀÚÀεéÀº ´Ù¼Ò ºñÀÏ»óÀûÀÎ ´ÜÀÏ-Á¤¹Ðµµ ºÎµ¿-¼Ò¼ýÁ¡ Æ÷¸äÀ» »ç¿ëÇßÁö¸¸ »õ·Î¿î ¸ðµ¨µéÀº IEEE Æ÷¸äµéÀ» Áö¿øÇÑ´Ù. ¿À·¡µÈ TMS320C4x ('C4x ·Î ¾Ë·ÁÁü)´Â TI-Á¾¼ÓÀûÀÎ ´ÜÀÏ-Á¤¹Ðµµ ºÎµ¿-¼Ò¼ýÁ¡ Æ÷¸äÀ» »ç¿ëÇؼ­ 80 MFLOPS±îÁö ȹµæÇß´Ù; ÀÌ¿¡ ¹ÝÇؼ­ ´ÜÀÏ 'C67x Àº VelociTI¶ó°í ºÒ¸®´Â VLIW-±â¹Ý Ĩ ¾ÆÅ°ÅØÃĸ¦ »ç¿ëÇؼ­, 1 GFLOPS ´ÜÀÏ-Á¤¹Ðµµ ¶Ç´Â IEEE ºÎµ¿ ¼Ò¼öÁ¡ ¿¬»ê¿¡ ´ëÇؼ­ 420 MFLOPS ¹è-Á¤¹Ðµµ±îÁö Á¦°øÇÒ °ÍÀÌ´Ù. ¸ÖƼÇÁ·Î¼¼¼­·Î ÀÌ·± ĨµéÀÇ ±×·ìÀ» ¼³Á¤ÇÏ´Â °ÍÀÌ ½¬¿ï»Ó ¾Æ´Ï¶ó ´ÜÀÏ Ä¨¾È¿¡¼­µµ 'C8x ¸ÖƼÇÁ·Î¼¼¼­´Â µÎ°³ ¶Ç´Â ³×°³ÀÇ Á¤¼ö ºÎ¼Ó DSPµé°ú ÇÔ²² 100 MFLOPS IEEE ºÎµ¿-¼Ò¼ýÁ¡ RISC ¸¶½ºÅÍ ÇÁ·Î¼¼¼­¸¦ Á¦°øÇÒ °ÍÀÌ´Ù.

¸î°³ÀÇ ºÎ¼Ó º´·Ä ½Ã½ºÅ۵麸´Ù ´õ ¸¹ÀÌ »ç¿ëµÈ¹Ù ÀÖ´Â ´Ù¸¥ DSP ÇÁ·Î¼¼¼­ Æйи®´Â Analog Devices http://www.analog.com/ »çÀÇ SHARC(ADSP-2106x·Î ¾Ë·ÁÁü)ÀÌ´Ù. ÀÌ·± ĨµéÀº ¿ÜºÎ Á¢Âø(glue) ³í¸® ¾øÀÌ 6°³ÀÇ ÇÁ·Î¼¼¼­ °øÀ¯ ¸Þ¸ð¸® ¸ÖƼÇÁ·Î¼¼¼­·Î ¼³Á¤µÉ ¼ö ÀÖ´Ù. ±×¸®°í Á¡ ´õ Å« ½Ã½ºÅ۵鵵 ¿©¼¸°³ÀÇ 4-ºñÆ® links/chip(Ĩ´ç ¸µÅ©)¸¦ »ç¿ëÇؼ­ ¼³Á¤µÉ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ´õ Å« ½Ã½ºÅÛµéÀº ±º»ç¿ë ¾îÇø®ÄÉÀ̼ÇÀ» ¸ñÇ¥·Î ÇÏ´Â °Í °°°í ¾à°£ ºñ½Î´Ù. ±×·¯³ª Integrated Computing Engines, Inc., http://www.iced.com/, ȸ»ç´Â GreenICE¶ó°í ºÒ¸®´Â Èï¹Ì·Î¿î Á¶±×¸¸ µÎ-º¸µå PCI Ä«µå ¼ÂÀ» ¸¸µé¾ú´Ù. ÀÌ À¯´ÖÀº 16°³ÀÇ SHARC ÇÁ·Î¼¼¼­µé ¹è¿­À» °¡Áö°í ÀÖ°í ´ÜÀÏ-Á¤¹Ðµµ IEEE Æ÷¸äÀ» »ç¿ëÇؼ­ ¾à 1.9 GFLOPSÀÇ ÃÖ°í ¼Óµµ¸¦ ³¾ ¼ö ÀÖ´Ù. GreenICE´Â $5,000 ¹Ì¸¸ÀÇ °¡°ÝÀÌ´Ù.

³» ÀÇ°ßÀ¸·Î´Â ºÎ¼Ó º´·É DSPµéÀº ½ÇÁ¦·Î ¸®´ª½º º´·Ä ó¸® Ä¿¹Â³ÊƼ°¡ ´õ ¸¹Àº ½Å°æÀ» ½á¾ß ¸¶¶¥ÇÒ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù....

5.3 FPGAs°ú Àç¼³Á¤ °¡´ÉÇÑ ³í¸® ¿¬»ê

º´·Ä 󸮰¡ °¡Àå ³ôÀº ¼º´ÉÇâ»óÀ» ¾ò±â À§ÇÑ °ÍÀÌ ÀüºÎÀ̶ó¸é ¿Ö Ä¿½ºÅÒ Çϵå¿þ¾î¸¦ ¸¸µéÁö ¾Ê´Â°¡? ±Û½ê, ¿ì¸®´Â ¸ðµÎ ´äÀ» ¾Ë°í ÀÖ´Ù; ÀÌ°ÍÀº ³Ê¹« ºñ½Î¸ç °³¹ßÇϱ⿡ ½Ã°£ÀÌ ³Ê¹« ¿À·¡ °É¸®°í Á¶±ÝÀÌ¶óµµ ¾Ë°í¸®ÁòÀ» º¯°æÇÒ ¶§¸é ¾µ¸ð¾ø´Â °ÍÀÌ µÇ¹ö¸°´Ù. ±âŸ µîµî. ±×·¯³ª ÀüÀÚÀûÀ¸·Î ÀçÇÁ·Î±×·¡¹Ö °¡´ÉÇÑ FPGA(Çʵå ÇÁ·Î±×·¡¸Óºí °ÔÀÌÆ® ¾î·¹ÀÌ(Field Programmable Gate Arrays))µéÀÇ ¿äÁòÀÇ Áøº¸°¡ ÀÌ·± Á¦¾àµéÀÇ ´ëºÎºÐÀ» ¹«·ÂÈ­½ÃÄÑ ¹ö·È´Ù. Áö±Ý °ÔÀÌÆ® ¹ÐÁýµµ°¡ ÃæºÐÈ÷ ³ô¾Æ¼­ ´Ü¼øÇÑ Àüü ÇÁ·Î¼¼¼­°¡ ÇϳªÀÇ FPGA¿¡ µé¾î°¡µµ·Ï ¸¸µé¾îÁú ¼ö ÀÖ°í FPGA¸¦ Àç¼³Á¤(ÀçÇÁ·Î±×·¥)ÇÏ´Â °Íµµ ¶ÇÇÑ, ÇÑ ¾Ë°í¸®ÁòÀÇ ÇÑ ±¹¸é¿¡¼­ ´ÙÀ½À¸·Î ¿Å°Ü°¥ ¶§¶óµµ Àç¼³Á¤ÇÏ´Â °ÍÀÌ Å¸´çÇÒ¸¸Å­ÀÇ ¼öÁرîÁö ³·¾ÆÁ³´Ù.

ÀÌ ³»¿ëÀº ½ÉÀåÀÌ ¾àÇÑ »ç¶÷µéÀ» À§ÇÑ °ÍÀÌ ¾Æ´Ï´Ù: ¿©·¯ºÐÀº FPGA ¼³Á¤¿¡ ´ëÇؼ­, ¸®´ª½º È£½ºÆ® ½Ã½ºÅÛ À§ÀÇ ÇÁ·Î±×·¥µé¿¡ ´ëÇؼ­ ÀÎÅÍÆäÀ̽ºÇÏ´Â ·Î¿ì-·¹º§ Äڵ带 ÀÛ¼ºÇÏ´Â ÀÏ°ú ÇÔ²², VHDL°ú °°Àº Çϵå¿þ¾î ±â¼ú(description) ¾ð¾îµé·Î ÀÛ¾÷ÇØ¾ß ÇÑ´Ù. ±×·¯³ª FPGAÀÇ ºñ¿ëÀº ³·°í Ưº°È÷ ³·Àº-Á¤¹Ðµµ Á¤¼ö µ¥ÀÌÅÍ(½ÇÁ¦, ÀÌ·± Àç·áÀÇ Á¶±×¸¸ »óÀ§ÁýÇÕ¿¡ ´ëÇؼ­´Â SWAR°¡ ´õ ³´´Ù)¿¡ ´ëÇؼ­ ÀÛ¾÷ÇÏ´Â ¾Ë°í¸®Áòµé¿¡ ´ëÇؼ­ ºñ¿ëÀÌ ³·°í, FPGA´Â ¿©·¯ºÐÀÌ µ¥ÀÌÅ͸¦ Á¦°øÇÏ´Â ¼Óµµ¸¸Å­ ºü¸£°Ô º¹ÀâÇÑ ¿¬»êµéÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î¼­ ´Ü¼øÇÑ FPGA-±â¹Ý ½Ã½ºÅÛµéÀº À¯ÀüÀÚ µ¥ÀÌÅͺ£À̽º °Ë»ö¿¡¼­ ½´ÆÛÄÄÇ»Åͺ¸´Ù ´õ ³ªÀº ¼Óµµ¸¦ ¸¸µç´Ù.

ÀûÀýÇÑ FPGA-±â¹Ý Çϵå¿þ¾î¸¦ ¸¸µå´Â ´Ù¸¥ ȸ»çµéÀÌ ÀÖÁö¸¸ ´ÙÀ½°ú °°Àº µÎ ȸ»ç°¡ ÁÁÀº »ùÇÃÀ» Á¦½ÃÇÑ´Ù.

Virtual Computer Company´Â µ¿ÀûÀ¸·Î Àç¼³Á¤ °¡´ÉÇÑ SRAM-±â¹Ý Xilinx FPGAµéÀ» »ç¿ëÇÑ ´Ù¾çÇÑ Á¦Ç°µéÀ» Á¦°øÇÑ´Ù. ±×µéÀÇ 8/16ºñÆ® "°¡»ó ISA ÇÁ·ÎÅä º¸µå(Virtual ISA Proto Board)" http://www.vcc.com/products/isa.html´Â $2,000 ¹Ì¸¸ÀÌ´Ù.

¾ËÅ׶ó(Altera) ARC-PCI(Altera Reconfigurable Computer, PCI bus), http://www.altera.com/html/new/pressrel/pr_arc-pci.html, ´Â ºñ½ÁÇÑ Å¸ÀÔÀÇ Ä«µåÀÌÁö¸¸ ¾ËÅ׶ó FPGAµé°ú ISA°¡ ¾Æ´Ñ PCI ¹ö½º ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÑ´Ù.

¸¹Àº ¼³°è Åøµé, Çϵå¿þ¾î ±â¼ú(description)¾ð¾î, ÄÄÆÄÀÏ·¯, ¶ó¿ìÅÍ, ¸ÊÆÛ µîÀº À©µµ¿ìÁ DOS¿¡¼­¸¸ ½ÇÇàµÇ´Â ¿ÀºêÁ§Æ® ÄÚµå·Î Á¦°øµÈ´Ù. È£½ºÆ® ÇǾ¾¿¡´Ù DOS/Windows¸¦ °¡Áø µð½ºÅ© ÆÄƼ¼ÇÀ» °¡Áö°í ±×°ÍµéÀÌ ÇÊ¿äÇÒ ¶§¸¶´Ù ¸®ºÎÆÃÇÑ´Ù. ±×·¯³ª ÀÌµé ¼ÒÇÁÆ®¿þ¾î ÆÑÅ°ÁöµéÀº ¸®´ª½º¿¡¼­ dosemu¸¦ »ç¿ëÇؼ­ ¶Ç´Â, wine¿Í °°Àº À©µµ¿ìÁî ¿¡¹Ä·¹ÀÌÅ͸¦ »ç¿ëÇؼ­ ½ÇÇàµÉ ¼ö ÀÖ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê