Home > Archive > CS_archive > ๐Ÿ’พ [CS] ๋ช…๋ น์–ด ์‚ฌ์ดํด๊ณผ ์ธํ„ฐ๋ŸฝํŠธ

๐Ÿ’พ [CS] ๋ช…๋ น์–ด ์‚ฌ์ดํด๊ณผ ์ธํ„ฐ๋ŸฝํŠธ
CS

๋ช…๋ น์–ด ์‚ฌ์ดํด๊ณผ ์ธํ„ฐ๋ŸฝํŠธ.

  • ๋ช…๋ น์–ด ์‚ฌ์ดํด : CPU๊ฐ€ ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์—๋Š” ์–ด๋–ค ์ •ํ•ด์ง„ ํ๋ฆ„์ด ์žˆ๊ณ , CPU๋Š” ๊ทธ ํ๋ฆ„์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ •ํ˜•ํ™”๋œ ํ๋ฆ„์„ โ€œ๋ช…๋ น์–ด ์‚ฌ์ดํดโ€ ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธํ„ฐ๋ŸฝํŠธ : CPU๋Š” ์ •ํ•ด์ง„ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋‚˜๊ฐ€์ง€๋งŒ, ์ด ํ๋ฆ„์ด ๋Š์–ด์ง€๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ โ€œ์ธํ„ฐ๋ŸฝํŠธโ€ ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์–ด ์‚ฌ์ดํด

ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜๋งŽ์€ ๋ช…๋ น์–ด๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ , CPU๋Š” ์ด ๋ช…๋ น์–ด๋“ค์„ ํ•˜๋‚˜์”ฉ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋•Œ ํ”„๋กœ๊ทธ๋žจ ์† ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋“ค์€ ์ผ์ •ํ•œ ์ฃผ๊ธฐ๊ฐ€ ๋ฐ˜๋ณต๋˜๋ฉฐ ์‹คํ–‰๋˜๋Š”๋ฐ, ์ด ์ฃผ๊ธฐ๋ฅผ ๋ช…๋ น์–ด ์‚ฌ์ดํด(instruction cycle) ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ ์† ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋“ค์€ ๋ช…๋ น์–ด ์‚ฌ์ดํด์ด ๋ฐ˜๋ณต๋˜๋ฉฐ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.
๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผํ•  ๊ฒƒ์€ ๋ช…๋ น์–ด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ CPU๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒŒ ๋ช…๋ น์–ด ์‚ฌ์ดํด์˜ ์ฒซ ๋ฒˆ์งธ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

  • ์ธ์ถœ ์‚ฌ์ดํด(fetch cycle) : ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ CPU๋กœ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ๋‹จ๊ณ„.

CPU๋กœ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ–ˆ๋‹ค๋ฉด ์ด์ œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์ด ๋ช…๋ น์–ด ์‚ฌ์ดํด์˜ ๋‘ ๋ฒˆ์งธ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

  • ์‹คํ–‰ ์‚ฌ์ดํด(execution cycle) : CPU๋กœ ๊ฐ€์ ธ์˜จ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋‹จ๊ณ„, ์ œ์–ด์žฅ์น˜๊ฐ€ ๋ช…๋ น์–ด ๋ ˆ์ง€์Šคํ„ฐ์— ๋‹ด๊ธด ๊ฐ’์„ ํ•ด์„ํ•˜๊ณ , ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋‹จ๊ณ„.

ํ”„๋กœ๊ทธ๋žจ์„ ์ด๋ฃจ๋Š” ์ˆ˜๋งŽ์€ ๋ช…๋ น์–ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ธ์ถœ๊ณผ ์‹คํ–‰ ์‚ฌ์ดํด์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์ฆ‰, CPU๋Š” ํ”„๋กœ๊ทธ๋žจ ์† ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹คํ–‰ํ•˜๊ณ , ๋˜ ๊ฐ€์ ธ์˜ค๊ณ  ์‹คํ–‰ํ•˜๊ณ ๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ํ•˜์ง€๋งŒ ๋ชจ๋“  ๋ช…๋ น์–ด๊ฐ€ ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํžˆ ์‹คํ–‰๋˜๋Š” ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค.
    • ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜์—ฌ CPU๋กœ ๊ฐ€์ ธ์™”๋‹คํ•˜๋”๋ผ๋„ ๊ณง๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์„ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

  • ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์€ ์˜คํผ๋žœ๋“œ ํ•„๋“œ์— ์œ ํšจ ์ฃผ์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋ช…์‹œํ•œ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด ๊ฒฝ์šฐ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜์—ฌ CPU๋กœ ๊ฐ€์ ธ์™”๋‹ค ํ•˜๋”๋ผ๋„ ๋ฐ”๋กœ ์‹คํ–‰ ์‚ฌ์ดํด์— ๋Œ์ž…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ํ•œ ๋ฒˆ ๋” ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
      • ์ด ๋‹จ๊ณ„๋ฅผ ๊ฐ„์ ‘ ์‚ฌ์ดํด(indirect cycle) ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ.

ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด ์•„๋ž˜ ์ธํ„ฐ๋ŸฝํŠธ๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ๋Š” ์˜์–ด๋กœ interrupt์ด๋ฉฐ, โ€˜๋ฐฉํ•ดํ•˜๋‹ค, ์ค‘๋‹จ์‹œํ‚ค๋‹คโ€™๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • ์ฆ‰, CPU๊ฐ€ ์ˆ˜ํ–‰ ์ค‘์ธ ์ž‘์—…์€ ๋ฐฉํ•ด๋ฅผ ๋ฐ›์•„ ์ž ์‹œ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ CPU์˜ ์ž‘์—…์„ ๋ฐฉํ•ดํ•˜๋Š” ์‹ ํ˜ธ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ(interrupt) ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

CPU๊ฐ€ ์ž‘์—…์„ ์ž ์‹œ ์ค‘๋‹จํ•ด์•ผ ํ•  ์ •๋„๋ผ๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๋Š” โ€˜CPU๊ฐ€ ๊ผญ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋•Œโ€™ ํ˜น์€ โ€˜CPU๊ฐ€ ์–ผ๋ฅธ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋‹ค๋ฅธ ์ž‘์—…์ด ์ƒ๊ฒผ์„ ๋•Œโ€™ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ์˜ ์ข…๋ฅ˜์—๋Š” ํฌ๊ฒŒ ๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ์™€ ๋น„๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ(synchronous interrupt) : CPU์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.
    • CPU๊ฐ€ ๋ช…๋ น์–ด๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋‹ค๊ฐ€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์— ๋งˆ์ฃผ์ณค์„ ๋•Œ, ๊ฐ€๋ น CPU๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ƒ์˜ ์˜ค๋ฅ˜์™€ ๊ฐ™์€ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์— ๋งˆ์ถ”์ณค์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.
      • ์ด๋Ÿฐ ์ ์—์„œ ๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์˜ˆ์™ธ(execption) ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
  • ๋น„๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ(asynchronous interrupt) : ์ฃผ๋กœ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.
    • ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์˜ํ•œ ๋น„๋™๊ธฐ ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์„ธํƒ๊ธฐ ์™„๋ฃŒ ์•Œ๋ฆฌ๋ฏ€ ์ „์ž๋ ˆ์ธ์ง€ ์กฐ๋ฆฌ ์™„๋ฃŒ ์•Œ๋ฆผ๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • CPU๊ฐ€ ํ”„๋ฆฐํ„ฐ์™€ ๊ฐ™์€ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๋ถ€ํƒํ•˜๋ฉด ์ž‘์—…์„ ๋๋‚ธ ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ CPU์— ์™„๋ฃŒ ์•Œ๋ฆผ(์ธํ„ฐ๋ŸฝํŠธ)์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค์™€ ๊ฐ™์€ ์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์–ด๋– ํ•œ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์˜€์„ ๋•Œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด CPU์— ์ž…๋ ฅ ์•Œ๋ฆผ(์ธํ„ฐ๋ŸฝํŠธ)์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์•Œ๋ฆผ๊ณผ ๊ฐ™์€ ์ธํ„ฐ๋ŸฝํŠธ ์ž…๋‹ˆ๋‹ค.

  • CPU๋Š” ์ž…์ถœ๋ ฅ ์ž‘์—… ๋„์ค‘์—๋„ ํšจ์œจ์ ์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฐ ์•Œ๋ฆผ๊ณผ ๊ฐ™์€ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด CPU๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•˜๋“œ์›จ์–ด ์™„๋ฃŒ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
CPU๋Š” ํ•˜๋“œ์›จ์–ด๋กœ๋ถ€ํ„ฐ ํ•˜๋“œ์›จ์–ด ์™„๋ฃŒ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋ ‡๋“ฏ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์ž…์ถœ๋ ฅ ์ž‘์—… ์ค‘์—๋„ CPU๋กœ ํ•˜์—ฌ๊ธˆ ํšจ์œจ์ ์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ์ˆœ์„œ

  1. ์ž…์ถœ๋ ฅ์žฅ์น˜๋Š” CPU์— ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  2. CPU๋Š” ์‹คํ–‰ ์‚ฌ์ดํด์ด ๋๋‚˜๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜๊ธฐ ์ „ ํ•ญ์ƒ ์ธํ„ฐ๋ŸฝํŠธ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ํ™•์ธํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด CPU๋Š” ์ง€๊ธˆ๊นŒ์ง€์˜ ์ž‘์—…์„ ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.
  5. CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฑํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  6. ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ๋๋‚˜๋ฉด 4์—์„œ ๋ฐฑ์—…ํ•ด ๋‘” ์ž‘์—…์„ ๋ณต๊ตฌํ•˜์—ฌ ์‹คํ–‰์„ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ : ์ธํ„ฐ๋ŸฝํŠธ๋Š” CPU์˜ ์ •์ƒ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์„ ๋Š๋Š” ๊ฒƒ์ด๊ธฐ์— ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธํ•˜๊ธฐ ์ „์— โ€œ์ง€๊ธˆ๋ผ์–ด๋“ค์–ด๋„ ๋˜๋‚˜์š”?โ€ ํ•˜๊ณ  CPU์— ๋ฌผ์–ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ”Œ๋ž˜๊ทธ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ(interrupt flag) ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๋Š” ๋ง ๊ทธ๋ž˜๋„ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์•„๋“ค์ผ์ง€, ๋ฌด์‹œํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค.
  • CPU๊ฐ€ ์ค‘์š”ํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ์–ด๋–ค ๋ฐฉํ•ด๋„ ๋ฐ›์ง€ ์•Š์•„์•ผ ํ•  ๋•Œ ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๋Š” ๋ถˆ๊ฐ€๋Šฅ์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๊ฐ€ โ€˜๋ถˆ๊ฐ€๋Šฅโ€™์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์ด ์˜ค๋”๋ผ๋„ ํ•ด๋‹น ์š”์ฒญ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐ˜๋Œ€๋กœ ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๊ฐ€ โ€˜๊ฐ€๋Šฅโ€™์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„๋“ค์ด๊ณ  ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๋กœ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์„์ง€๋ผ๋„ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€, ๋‹ค์‹œ ๋งํ•ด ๋ฐ˜๋“œ์‹œ ๊ฐ€์žฅ ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.
    • ์ •์ „์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ๊ณ ์žฅ์œผ๋กœ ์ธํ•œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ด์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๊ธฐ๋กœ ํ–ˆ๋‹ค๋ฉด CPU๋Š” ์„œ๋น„์Šค ๋ฃจํ‹ด์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด(ISB: Interrupt Service Routine): ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ. ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ(Interrupt handler) ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.
    • ์–ด๋–ค ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ž‘๋™ํ•ด์•ผ ํ• ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋กœ ์ด๋ฃจ์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
    • ์š”์ปจํƒœ โ€˜CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹คโ€™๋Š” ๋ง์€ โ€˜์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณธ๋ž˜ ์ˆ˜ํ–‰ํ•˜๋˜ ์ž‘์—…์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„์˜จ๋‹คโ€™ ๋ผ๋Š” ๋ง๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ž…์ถœ๋ ฅ์žฅ์น˜๋งˆ๋‹ค ๋‹ค๋ฅด๋ฏ€๋กœ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด๋“ค ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ โ€˜์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ–‰๋™ํ•ด์•ผ ํ• ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจโ€™์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ(Interrupt vector) : CPU๋Š” ์ˆ˜๋งŽ์€ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ณด์ž…๋‹ˆ๋‹ค.
    • ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ์•Œ๋ฉด ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ํŠน์ • ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CPU๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ๋ณด๋‚ธ ๋Œ€์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ์ „๋‹ฌ๋ฐ›์Šต๋‹ˆ๋‹ค.

๊ฐ€๋ น, CPU๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘ ํ‚ค๋ณด๋“œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ํ‚ค๋ณด๋“œ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด๊ณ , ์ด ์‹œ์ž‘ ์ฃผ์†Œ๋ถ€ํ„ฐ ์‹คํ–‰ํ•ด ๋‚˜๊ฐ€๋ฉฐ ํ‚ค๋ณด๋“œ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด โ€˜CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹คโ€™๋Š” ๋ง์€ โ€˜์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณธ๋ž˜ ์ˆ˜ํ–‰ํ•˜๋˜ ์ž‘์—…์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„์˜จ๋‹คโ€™๋Š” ๋ง๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์€ ์—ฌ๋Š ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ์— ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด๋„ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๋ฅผ ๋น„๋กฏํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ, ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ ๊ฐ’๋“ค์€ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ์š”?

  • ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ๋ฐ›๊ธฐ ์ „๊นŒ์ง€ CPU๊ฐ€ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋˜ ์ผ์€ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ๋๋‚˜๋ฉด ๋˜๋Œ์•„์™€์„œ ๋งˆ์ € ์ˆ˜ํ–‰์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ๊นŒ์ง€์˜ ์ž‘์—… ๋‚ด์—ญ๋“ค์€ ์–ด๋”˜๊ฐ€์— ๋ฐฑ์—…์„ ํ•ด๋‘ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋ ‡๊ธฐ์— CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๊ฐ’ ๋“ฑ ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ์„ ์žฌ๊ฐœํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ๋‚ด์šฉ์„ ์Šคํƒ์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๊ฐ€ ์œ„์น˜ํ•œ ๊ณณ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ๋ชจ๋‘ ์‹คํ–‰ํ•˜๋ฉด, ๋‹ค์‹œ ๋งํ•ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‚˜๋ฉด ์Šคํƒ์— ์ €์žฅํ•ด ๋‘” ๊ฐ’์„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜จ ๋’ค ์ด์ „๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜๋˜ ์ž‘์—…์„ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค์›Œ๋“œ ์ •๋ฆฌ

  • ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ : CPU์˜ ์ž‘์—…์„ ๋ฐฉํ•ดํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ
  • ์ธํ„ฐ๋ŸฝํŠธ ํ”Œ๋ž˜๊ทธ : ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„๋“ค์ผ์ง€ ๋ฌด์‹œํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋น„ํŠธ
  • ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ : ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์˜ ์‹๋ณ„ ์ •๋ณด
  • ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด : ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

CPU๋Š” ์ด์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด ๋‚˜๊ฐ€๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค์›Œ๋“œ๋กœ ์ •๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ํฌ์ธํŠธ

  • ๋ช…๋ น์–ด ์‚ฌ์ดํด์€ ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ์ฃผ๊ธฐ๋กœ, ์ธ์ถœ, ์‹คํ–‰, ๊ฐ„์ ‘, ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ ๋Š” CPU์˜ ์ •์ƒ์ ์ธ ์ž‘์—…์„ ๋ฐฉํ•ดํ•˜๋Š” ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ์˜ ์ข…๋ฅ˜์—๋Š” ์˜ˆ์™ธ์™€ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋™์ž‘๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.