7-2-³ª.·¹Áö½ºÅÍ º¯¼ö

·¹Áö½ºÅÍÇü º¯¼ö´Â ¾Õ¿¡¼­ ³íÇÑ ¼¼ °³ÀÇ ±â¾ï ºÎ·ù¿Í Á» ´Ù¸¥ À¯º°³­ Á¡ÀÌ ÀÖ´Ù. Áö¿ª, Àü¿ª, Á¤Àûº¯¼öµéÀº Á¤Àû µ¥ÀÌÅÍ ¿µ¿ªÀÌµç ½ºÅÃÀÌµç ¾î·µç ¸Þ¸ð¸®ÀÇ ÇÑ ±¸¼®¿¡ »ý¼ºµÇÁö¸¸ ·¹Áö½ºÅÍÇü º¯¼ö´Â ¸Þ¸ð¸®°¡ ¾Æ´Ñ CPUÀÇ ·¹Áö½ºÅÍ¿¡ ÀúÀåµÈ´Ù. ·¹Áö½ºÅÍ(Register)¶õ CPU¸¦ ±¸¼ºÇÏ´Â ºÎǰ Áß ÇϳªÀ̸ç CPU°¡ µ¥ÀÌÅ͸¦ ó¸®Çϱâ À§ÇØ »ç¿ëÇÏ´Â Àӽà ÀÛ¾÷ÀåÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù.

ÄÄÇ»ÅÍÀÇ °¡Àå ÇÙ½É ºÎǰÀÎ CPUÀÇ ÇÑ °¡¿îµ¥¿¡ ÀÖ´Â ±â¾ï Àå¼ÒÀ̱⠶§¹®¿¡ ·¹Áö½ºÅÍÀÇ ¼Óµµ´Â ¸Þ¸ð¸®¿Í ºñ±³°¡ µÇÁö ¾ÊÀ» Á¤µµ·Î ºü¸£´Ù. °ªÀ» Àаųª ¾²´Âµ¥ ¼ö½Ê¾ïºÐÀÇ 1ÃÊ Á¤µµ¹Û¿¡ °É¸®Áö ¾Ê´Â´Ù. CPUÀÇ Á¾·ù¿¡ µû¶ó ´Ù¸£Áö¸¸ ·¹Áö½ºÅÍ´Â º¸Åë 10°³~20°³ Á¤µµ¹Û¿¡ ¾ø´Â ¾ÆÁÖ ±ÍÇÑ ±â¾ï Àå¼ÒÀε¥ ¿©±â¿¡ º¯¼ö¸¦ ÀúÀåÇϸé ÀÌ º¯¼ö¸¦ ÂüÁ¶ÇÏ´Â ¹®ÀåÀÇ ¼Óµµ°¡ »¡¶óÁø´Ù.

·¹Áö½ºÅÍÀÇ Å©±â´Â CPUÀÇ ºñÆ®¼ö¸¦ °áÁ¤ÇÏ´Â Áß¿äÇÑ ±âÁØÀε¥ ·¹Áö½ºÅͰ¡ 32ºñÆ®¸é 32ºñÆ® CPU¶ó°í ºÎ¸¥´Ù. 386ÀÌÈĺÎÅÍ ÃÖ½ÅÀÇ ÆÒƼ¾ö 4±îÁö ÇöÀç±îÁö ¿ì¸®°¡ »ç¿ëÇÏ´Â CPU´Â ´ëºÎºÐ 32ºñÆ®À̹ǷΠ·¹Áö½ºÅ͵鵵 ÀüºÎ 32ºñÆ®ÀÌ°í µû¶ó¼­ ·¹Áö½ºÅÍ¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â º¯¼öÀÇ Å¸ÀÔÀº int, unsigned, Æ÷ÀÎÅÍ Çü µîÀÇ 32ºñÆ®Çü»ÓÀÌ´Ù. double°°Àº ½Ç¼öÇüÀº ÀúÀåÇÒ ¼ö ¾øÀ¸¸ç ±¸Á¶Ã¼³ª ¹è¿­ µûÀ§´Â ´ç¿¬È÷ ¾ÈµÈ´Ù. ¿¡·¯´Â ¾Æ´ÏÁö¸¸ ÁöÁ¤ÇØ ºÁ¾ß ¹«½Ã´çÇÑ´Ù.

CPUÀÇ ·¹Áö½ºÅÍ °³¼ö°¡ ¸¹Áö ¾Ê±â ¶§¹®¿¡ ·¹Áö½ºÅÍÇü º¯¼ö´Â µÎ °³±îÁö¸¸ ¼±¾ðÇÒ ¼ö ÀÖ´Ù. ÄÄÆÄÀÏ·¯³ª Ç÷§Æû¿¡ µû¶ó ·¹Áö½ºÅÍÇü º¯¼ö¸¦ À§ÇØ ÇÒ´çÇÏ´Â ·¹Áö½ºÅͰ¡ ´Ù¸¥µ¥ ÀÎÅÚ Ç÷§Æû¿¡¼­´Â ¸¹ÀÌ »ç¿ëµÇÁö ¾Ê´Â ESI, EDI ·¹Áö½ºÅ͸¦ »ç¿ëÇÑ´Ù. ¸¸¾à ¼¼ °³ ÀÌ»óÀÇ ·¹Áö½ºÅÍÇü º¯¼ö¸¦ ¼±¾ðÇϸé ÃÖÃÊ µÎ °³±îÁö¸¸ ·¹Áö½ºÅÍÇüÀÌ µÇ°í ³ª¸ÓÁö´Â Áö¿ªº¯¼ö°¡ µÈ´Ù.

 

register int r;           // ·¹Áö½ºÅÍÇü º¯¼ö r¼±¾ð

register double d;        // ½Ç¼ö´Â ·¹Áö½ºÅÍÇü º¯¼ö°¡ µÉ ¼ö ¾øÀ½. Áö¿ªº¯¼ö·Î ¼±¾ðµÈ´Ù.

register a,b,c;             // a,b¸¸ ·¹Áö½ºÅÍÇü º¯¼ö°¡ µÇ°í c´Â Áö¿ªº¯¼ö°¡ µÈ´Ù.

 

·¹Áö½ºÅÍ´Â ÇÑÁ¤µÈ ÀÚ¿øÀ̱⠶§¹®¿¡ ÀϽÃÀûÀ¸·Î »ç¿ëÇÒ Áö¿ªº¯¼ö¿¡¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç Àü¿ªº¯¼ö¿¡´Â ·¹Áö½ºÅÍ ±â¾ï ºÎ·ù¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ÇÁ·Î±×·¥°ú »ý¸íÀ» °°ÀÌ ÇÏ´Â Àü¿ªº¯¼ö°¡ ·¹Áö½ºÅÍ Çϳª¸¦ Â÷ÁöÇÑ´Ù¸é ÇÁ·Î±×·¥ ½ÇÇàÁßÀÎ µ¿¾È ·¹Áö½ºÅÍ Çϳª°¡ ¹­¿© ¹ö¸®°Ô µÉ °ÍÀÌ´Ù. Àü¿ªº¯¼ö¿¡ register ±â¾ï ºÎ·ù¸¦ ÁöÁ¤ÇÏ¸é ¸í¹éÇÑ ¿¡·¯·Î 󸮵ȴÙ. Áö¿ªº¯¼ö ¶Ç´Â ÇÔ¼öÀÇ Çü½Ä Àμö¿¡ ´ëÇØ¼­¸¸ ÀÌ ±â¾ï ºÎ·ù¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

·¹Áö½ºÅÍÇü º¯¼ö¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â Á¶±ÝÀÌ¶óµµ ´õ ºü¸¥ ¼Óµµ¸¦ ¾ò±â À§Çؼ­ÀÌ´Ù. ´ë±Ô¸ðÀÇ ·çÇÁ¸¦ µ¹¸°´Ù°Å³ª ÇÒ ¶§ ·çÇÁ Á¦¾î º¯¼ö¸¦ ·¹Áö½ºÅÍÇüÀ¸·Î ¼±¾ðÇϸé ÀÌ º¯¼öÀÇ Àбâ, Áõ°¨ ¼Óµµ°¡ »¡¶óÁö¹Ç·Î Àüü ·çÇÁÀÇ ½ÇÇà ¼Óµµ°¡ »¡¶óÁú °ÍÀÌ´Ù.

 

register int i, j;

for (i=0;i<10000000;i++) {

     for (j=0;j<1000;j++)

 

ÃÑ ·çÇÁ ¹Ýº¹ ȸ¼ö´Â 100¾ï¹øÀε¥ ÀÌ·± °æ¿ì¿¡ ·¹Áö½ºÅÍÇü º¯¼ö¸¦ ¾µ ¶§¿Í Áö¿ªº¯¼ö¸¦ ¾µ ¶§ ¼Óµµ Â÷À̰¡ ¸¹ÀÌ ³ª°Ô µÈ´Ù. ÀÌ·± °æ¿ì°¡ ¾Æ´Ï¶ó¸é ·¹Áö½ºÅÍÇü º¯¼ö·Î ¼Óµµ»óÀÇ À̵æÀ» º¼ ¼ö ÀÖ´Â °æ¿ì´Â ±×¸® ÈçÇÏÁö ¾Ê´Ù. ¿äÁò CPU³ª ¸Þ¸ð¸®°¡ ¿ö³« »¡¶óÁ®¼­ ·çÇÁ¸¦ µµ´Â Á¤µµÀÇ Â÷ÀÌ´Â °ÅÀÇ ½Ç°¨ÇÏ±â ¾î·Æ´Ù.

¼Óµµ»óÀÇ Â÷ÀÌ ¿Ü¿¡´Â ÀϹÝÀûÀÎ Áö¿ªº¯¼ö¿Í ´Ù¸¥ Á¡ÀÌ ÀüÇô ¾ø´Ù. ·¹Áö½ºÅÍÇü º¯¼ö´Â ÀÀ¿ë ÇÁ·Î±×·¥À» °íµµ·Î ÃÖÀûÈ­ÇÒ ¶§ °¡²û »ç¿ëµÇ´Âµ¥ »ç½Ç ÀÌ ±â¾ï ºÎ·ù´Â ¸ô¶óµµ º°·Î ¼ÕÇØº¼ °ÍÀÌ ¾ø´Ù. ¿Ö³ÄÇÏ¸é º°µµÀÇ ÁöÁ¤ÀÌ ¾ø´õ¶óµµ ÄÄÆÄÀÏ·¯°¡ ³²´Â ·¹Áö½ºÅͰ¡ ÀÖÀ¸¸é ¾Ë¾Æ¼­ ·¹Áö½ºÅÍÇüÀ¸·Î ¸¸µé Á¤µµ·Î ÃæºÐÈ÷ Áö´ÉÀûÀ̱⠶§¹®ÀÌ´Ù.

·¹Áö½ºÅÍÇü º¯¼ö°¡ 󸮵Ǵ ¹æ½ÄÀº ÄÄÆÄÀÏ·¯¿¡ Á¾¼ÓÀûÀÌ´Ù. C ½ºÆÑ¿¡´Â register ÁöÁ¤ÀÚ°¡ ÀÖÀ¸¸é ÀÌ º¯¼ö¸¦ ·¹Áö½ºÅÍÇüÀ¸·Î ó¸®Ç϶ó°í ±Ç°íÇϰí ÀÖÁö¸¸ ÄÄÆÄÀÏ·¯ ±¸Çö»ó ³²´Â ·¹Áö½ºÅͰ¡ ¾øÀ¸¸é ÀÌ º¯¼ö´Â Áö¿ªº¯¼ö°¡ µÉ ¼ö¹Û¿¡ ¾ø´Ù. ºñÁÖ¾ó C++Àº register ÁöÁ¤ÀÚ¸¦ ¿ÏÀüÈ÷ ¹«½ÃÇϸç Àü¿ª ÃÖÀûÈ­ ¿É¼Ç¿¡ µû¶ó ÀÚµ¿À¸·Î ·¹Áö½ºÅÍÇü º¯¼ö¸¦ °ü¸®ÇÑ´Ù.

·¹Áö½ºÅÍÇü º¯¼ö´Â ¸Þ¸ð¸®¿¡ »ý¼ºµÇ´Â °ÍÀÌ ¾Æ´Ï¹Ç·Î &¿¬»êÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. ·¹Áö½ºÅÍ´Â CPU ³»ºÎ¿¡ Àֱ⠶§¹®¿¡ ¹øÁö¸¦ °¡ÁöÁö ¾ÊÀ¸¹Ç·Î &¿¬»êÀÚ·Î ÀÌ º¯¼öÀÇ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Á¶»çÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ·¹Áö½ºÅÍÇü Æ÷ÀÎÅÍ º¯¼ö°¡ ¹øÁö¸¦ ±â¾ïÇÒ ¼ö´Â ÀÖÀ¸¹Ç·Î *¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. C ½ºÆÑ¿¡´Â ·¹Áö½ºÅÍÇü º¯¼ö¿Í &, * ¿¬»êÀÚÀÇ °ü°è°¡ ÀÌ·¸°Ô ±ÔÁ¤µÇ¾î ÀÖÀ¸¸ç »ó½ÄÀûÀ¸·Î ÀÌÇØ°¡ °¥ °ÍÀÌ´Ù.

ÇÏÁö¸¸ ºñÁÖ¾ó C++À» ºñ·ÔÇÑ ÃֽŠÄÄÆÄÀÏ·¯µéÀº ÀÌ ½ºÆÑÀ» µû¸£Áö ¾Ê´Â´Ù. ¸¸¾à ·¹Áö½ºÅÍÇü º¯¼ö¿¡ & ¿¬»êÀÚ¸¦ ÇÑ ¹øÀÌ¶óµµ »ç¿ëÇϸé À̸¦ ¿¡·¯·Î ó¸®ÇÏÁö ¾Ê°í ¾Æ¿¹ ÀÌ º¯¼ö¸¦ Áö¿ªº¯¼ö·Î ¸¸µé¾î ¹ö¸²À¸·Î½á ÁÖ¼Ò¸¦ °¡Áöµµ·Ï ÇÑ´Ù. ·¹Áö½ºÅÍÇü º¯¼ö¿¡ &¿¬»êÀÚ¸¦ »ç¿ëÇÑ °ÍÀº ºÐ¸íÈ÷ °³¹ßÀÚÀÇ ½Ç¼öÀε¥ ÀÌ·± ½Ç¼ö¸¦ ÄÄÆÄÀÏ·¯°¡ ¾Ë¾Æ¼­ ¼öÁ¤ÇØ ÁÖ´Â °ÍÀÌ´Ù. ¾îÂ÷ÇÇ ·¹Áö½ºÅÍÇü º¯¼ö¿Í Áö¿ªº¯¼ö´Â ±Ù¼ÒÇÑ ¼Óµµ Â÷À̿ܿ¡´Â ¾Æ¹« Â÷À̰¡ ¾øÀ¸¹Ç·Î ÄÄÆÄÀÏ·¯°¡ »ç¿ëÀÚÀÇ Áö½Ã¸¦ ¹«½ÃÇÏ°í ±â¾ï ºÎ·ù¸¦ ¹Ù²Ù¾îµµ º° ¹®Á¦°¡ ¾ø´Ù.