ÀÎÅÍ·´Æ®

    ¿À¼º¹Î ½Ã½ºÅÛº£À̽º(ÁÖ)

 

 

    ÀÎÅÍ·´Æ®´Â ÄÄÇ»ÅÍ°¡ °øÅëµÇ´Â ÀÛ¾÷À» Çϱâ À§ÇØ È£ÃâÇÏ´Â ·çƾ. ÇÁ·Î±×·¥ÀÇ ½ÇÇà Áß¿¡ ¿ÜºÎÀÇ ÀåÄ¡ µî¿¡¼­ ¿ä±¸°¡ ÀÖÀ¸¸é ½ÇÇàÁßÀÇ ÇÁ·Î±×·¥À» ÀϽà Áß´ÜÇÏ°í ¿ä±¸¿¡ µû¶ó ´Ù¸¥ 󸮸¦ Âø¼öÇϱâ À§ÇØ ¸¸µé¾îÁø °Í.

 

1. ÀÎÅÍ·´Æ®ÀÇ Á¾·ù

1.1 Çϵå¿þ¾î ÀÎÅÍ·´Æ®

    ¿¹»óÇÒ ¼ö ¾ø´Â ½Ã±â¿¡ ÁÖº¯ ÀåÄ¡¿¡¼­ ¹ß»ýµÈ ÀÏ¿¡ ´ëÇؼ­ ÁÖº¯ ÀåÄ¡°¡ 󸮸¦ ¿äûÇÏ´Â °æ¿ì. ÁÖº¯ ÀåÄ¡¿¡ ±ä±Þ »óȲÀ̳ª CPU·Î 󸮸¦ ¿ä±¸ÇÏ¿©¾ß ÇÏ´Â »óȲÀÌ ¹ß»ýµÇ¾úÀ» ¶§ ±× »óŸ¦ CPU¿¡ Àü´ÞÇÏ´Â Åë·Î°¡ INTR(Interru-pt Request) ½ÅÈ£¼±ÀÌ´Ù.

    (1) Maskable ÀÎÅÍ·´Æ®

      ó¸®ÇÒ °ÍÀÎÁö, ¸» °ÍÀÎÁö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ÀÎÅÍ·´Æ®¸¦ ¸¶½ºÄ¿ºí(Maskable) ÀÎÅÍ·´Æ®¶ó°í ÇÑ´Ù.   

    (2) Non Maskable ÀÎÅÍ·´Æ®

      ó¸® ¿©ºÎ¸¦ ¹¯Áö ¾Ê°í CPU°¡ ¹«Á¶°Ç ó¸®ÇÏ´Â ÀÎÅÍ·´Æ®. ¿¹) ¸Þ¸ð¸® Æи®Æ¼ ¿¡·¯, I/O channel check

    (3) ÀÎÅÍ·´Æ® ÄÁÆ®·Ñ·¯(Interrupt Controller)

      ÁÖº¯ ±â±âÀÇ ÀÎÅÍ·´Æ®¸¦ ¹Þ¾ÆµéÀÌ´Â ¸î°³ÀÇ ÀÎÅÍ·´Æ® ÀÔ·Â ´ÜÀÚ°¡ ¸¶·ÃµÇ¾î ÀÖÀ¸¸ç, CPU·Î ¿äûÇϱâ À§ÇÑ ÀÎÅÍ·´Æ® ´ÜÀÚ°¡ º°µµ·Î ¸¶·ÃµÇ¾î ÀÖ´Ù. ÁÖº¯ ÀåÄ¡¿¡¼­ ¹ß»ýµÈ ÀÎÅÍ·´Æ®´Â CPU·Î ¹Ù·Î Àü´Þ µÇÁö ¾Ê°í ÀÏ´Ü ÀÎÅÍ·´Æ® ÄÁÆ®·Ñ·¯·Î Àü´ÞµÈ´Ù. ÀÎÅÍ·´Æ® ÄÁÆ®·Ñ·¯´Â ´Ù½Ã CPU·Î ¹Ù·Î Àü´ÞµÇÁö ¾Ê°í ÀÏ´Ü ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ¾ú´ÂÁö¸¦ ¹¯´Â´Ù. ÀÌ ¶§ ÀÎÅÍ·´Æ® ÄÁÆ®·Ñ·¯´Â ¹ß»ýµÈ ÀÎÅÍ·´Æ®ÀÇ Á¾·ù¸¦ ¾Ë·ÁÁÖ°Ô µÇ°í CPU´Â ÀÎÅÍ·´Æ®ÀÇ Á¾·ù¿¡ µû¶ó ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃŲ ÀåÄ¡¸¦ Á¦¾îÇÏ°Ô µÈ´Ù.
      8259 ±â´É Áß¿¡ ¶Ç´Ù¸¥ 8259 ÄÁÆ®·Ñ·¯¸¦ ¿¬°áÇÏ¿© »ç¿ëÇÏ´Â ¹æ¹ýÀ» ij½ºÄÉÀ̵å(Cascade)¶ó°í Çϴµ¥ µÎ °³ÀÇ 8259¸¦ ÀÌ¿ëÇÏ¿© 16°³ÀÇ ÀÎÅÍ·´Æ®°¡ Áö¿øµÈ´Ù.

1.2 ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ®

    ¿¹»óµÈ ½Ã±â¿¡ ¾î¶² ±â´ÉÀ» ¹ßÈÖÇϵµ·Ï Çϱâ À§ÇØ ÀÎÀ§ÀûÀ¸·Î ÀÎÅÍ·´Æ®¸¦ ¹ß»ý½ÃÅ°´Â °æ¿ì. ÇÁ·Î±×·¥ ó¸® µµÁß ºñ Á¤»óÀûÀÎ ¸í·É¾î·Î ÀÎÇÏ¿© ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ´Â °æ¿ì. Çϵå¿þ¾î¸¦ Á¦¾îÇϱâ À§ÇÑ ¹ÙÀÌ¿À½º(BIOS)¿Í µµ½º (DOS) ¶Ç´Â À©µµ¿ì(Window)¶ó´Â ¿î¿µ ÇÁ·Î±×·¥(Operating System), ÀÀ¿ëÇÁ·Î±×·¥(Application Program)À¸·Î µµ½º³ª ¹ÙÀÌ¿À½º¿¡ ÀÖ´Â ±â´ÉÀ» ÀÌ¿ëÇÏ°íÀÚ ÇÒ ¶§´Â ±× ±â´ÉÀ» °¡Áö´Â ÀÎÅÍ·´Æ®¸¦ È£ÃâÇÏ¸é µÈ´Ù.

    (1) ¿¹¿Ü(Exception)

      CPU ÀÚü¿¡¼­ ÇÁ·Î±×·¥ ¿î¿µ ¿À·ù½Ã¿¡ ¹ß»ýÇÑ´Ù.

    (2) ¹ÙÀÌ¿À½º ÀÎÅÍ·´Æ®

      ¹ÙÀÌ¿À½º¿¡ ÀÖ´Â ±â´ÉÀ» ÀÌ¿ëÇÏ¿© È£ÃâµÈ´Ù. ¿¹) ºñµð¿À, Å°º¸µå, ¸¶¿ì½º, µð½ºÄÏ, ÇÁ¸°ÅÍ, serial port, joystick, memory, printer µî

    (3) µµ½º ÀÎÅÍ·´Æ®

      µµ½º¿¡ ÀÖ´Â ±â´ÉÀ» ÀÌ¿ë½Ã¿¡ È£Ãâ(µµ½º¸¦ ÅëÇؼ­ Çϵå¿þ¾î¸¦ È£Ãâ)

1.3 CPU¿Í 8259A ÀÎÅÍ·´Æ® ó¸®

    IBM PC¿¡¼­´Â 00ºÎÅÍ FF±îÁöÀÇ 8ºñÆ®ÀÇ CPU·Î Àü´ÞµÇ´Â ÀÎÅÍ·´Æ®´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ®¸¦ ¸Á¶óÇÏ¿© 256°¡ÁöÀÇ ÀÎÅÍ·´Æ® ÁßÀÇ Çϳª·Î¼­ ÀνĵȴÙ. ÀÎÅÍ·´Æ® ¹éÅÍ Å×À̺íÀ̶õ 256°¡Áö ÀÎÅÍ·´Æ®¿¡ ´ëÇÏ¿© °¢ ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ¾úÀ» ¶§ ó¸®ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Â °÷ÀÇ ÁÖ¼Ò¸¦ Ç¥·Î ¸¸µé¾î ÀúÀåÇÏ°í ÀÖ´Â °÷À¸·Î¼­, ÀÎÅÍ·´Æ®°¡ ¹ß»ýµÇ¸é CPU´Â ÀÌ Ç¥¿¡ ÀÖ´Â Å×À̺íÀ» ÀÌ¿ëÇÏ¿© ó¸®ÇÏ´Â ¹æ¹ý.

    (1) ÀÎÅÍÆäÀ̽º ·ÎÁ÷ÀÌ system bus interface¿¡¼­ Interrupt Request¸¦ È°¼ºÈ­ ÇÑ´Ù.

    (2) Interrupt Controller(8259A)¿¡ ¿äûµÇ°Å³ª, pending µÈ ÀÎÅÍ·´Æ®´Â ¿ì¼±¼øÀ§¿¡ µû¶ó¼­ ÀÎ½Ä ÇÑ´Ù.

    (3) ¿äûµÈ ÀÎÅÍ·´Æ®´Â °¡Àå ³ôÀº ·¹º§ÀÇ ¼­ºñ½º¸¦ CPU¿¡°Ô ÀÎÅÍ·´Æ®¸¦ ¿äûÇÑ´Ù.

    (4) CPU´Â 8259A Interrupt Controller¿¡°Ô INTA¸¦ º¸³½´Ù.

      ù°·Î ¿ì¼±¼øÀ§´Â ¸ØÃçÁö°í, ¼­ºñ½º latchÀÇ ·¹º§À» ¼³Á¤  ÇÑ´Ù.
      µÑ°·Î INTA  8-bit pointer °ªÀ» ¿ä±¸ÇÑ´Ù.

    (5) CPU 8-bit Æ÷ÀÎÅÍ °ªÀ» ¹Þ´Â´Ù. Æ÷ÀÎÅÍ °ªÀº low memory table À妽º·Î ÀÌ¿ëÇÑ´Ù. ¼­ºñ½º µÉ Ưº°ÇÑ ·¹º§ÀÇ IP ¿Í offset °ªÀ¸·Î ÀÎÅÍ·´Æ®-¼­ºñ½º ·çƾÀ» °¡Áø´Ù.

    (6) CPU´Â IP¿Í Code Segment °ªÀ» Fetch ÇÏ°í, ÇöÀç IP, code  segment, flagsÀ» stack¿¡ ÀúÀåÇÏ°í, »õ·Î¿î IP, code segment °ªÀ¸·Î ºÐ±âÇÑ´Ù. ÀÎÅÍ·´Æ® ¼­ºñ½º ÇÁ·Î±×·¥Àº ½ÇÇàµÇÁö ¾Ê´Â´Ù.

                 ¦£¦¡¦¡¦¡¦¡¦¡¦¤                    ¦£¦¡¦¡¦¡¦¡¦¤
                 ¦¢               ¦¢     2.INTR      ¦¢            ¦¢
        1.ÀνĦ¢   Interrupt ¦¢  ¦¡¦¡¦¡¦¡¦¡> ¦¢            ¦¢
      ¦¡¦¡¦¡>¦¢ Controller ¦¢    3.INTA      ¦¢   CPU   ¦¢5.Fetch
                 ¦¢   8259A   ¦¢ <¦¡¦¡¦¡¦¡¦¡   ¦¢            ¦¢
                 ¦¢               ¦¢ 4.Pointer °ª   ¦¢            ¦¢
                 ¦¢               ¦¢   ¦¡¦¡¦¡¦¡¦¡> ¦¢           ¦¢
                 ¦¦¦¡¦¡¦¡¦¡¦¡¦¥                    ¦¦¦¡¦¡¦¡¦¡¦¥

    ¡´±×¸²¡µ CPU¿Í Interrupt Controller ÀÎÅÍ·´Æ® 󸮠




¡ã top

homeÀ¸·Î...