Home > Archive > CS_archive > ๐Ÿ’พ [CS] ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•

๐Ÿ’พ [CS] ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•
CS

1๏ธโƒฃ ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•.

๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ธ ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ๊ณผ ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ, DMA ์ž…์ถœ๋ ฅ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•.

์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ˆ˜ํ–‰์‹œ CPU์™€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ.

  2. ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ.

  3. DMA ์ž…์ถœ๋ ฅ.

2๏ธโƒฃ ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ

ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ(programmed I/O) ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์† ๋ช…๋ น์–ด๋กœ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

CPU๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์† ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž…์ถœ๋ ฅ ๋ช…๋ น์–ด๋ฅผ ๋งŒ๋‚˜๋ฉด CPU๋Š” ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์—ฐ๊ฒฐ๋œ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ์— ๋ฐฑ์—…ํ•˜๋Š” ์ƒํ™ฉ์„ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

CPU๋Š” ๋Œ€๋žต ์•„๋ž˜ ๊ณผ์ •์œผ๋กœ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.

1. โ€˜๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ์— ๋ฐฑ์—…ํ•œ๋‹คโ€™๋Š” ๋ง์€ โ€˜ํ•˜๋“œ ๋””์Šคํฌ์— ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ ์“ด๋‹คโ€™๋Š” ๋ง๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์šฐ์„  CPU๋Š” ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ œ์–ด ๋ ˆ์ง€์Šคํ„ฐ์— ์“ฐ๊ธฐ ๋ช…๋ น์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

2. ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ํ•˜๋“œ ๋””์Šคํฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
ํ•˜๋“œ ๋””์Šคํฌ๊ฐ€ ์ค€๋น„๋œ ์ƒํƒœ๋ผ๋ฉด ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ์— ์ค€๋น„๋˜์—ˆ๋‹ค๊ณ  ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

3. (1) CPU๋Š” ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฝ์–ด ๋ณด๋ฉฐ ํ•˜๋“œ ๋””์Šคํฌ์˜ ์ค€๋น„ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
(2) ํ•˜๋“œ ๋””์Šคํฌ๊ฐ€ ์ค€๋น„๋์Œ์„ CPU๊ฐ€ ์•Œ๊ฒŒ ๋˜๋ฉด ๋ฐฑ์—…ํ•  ๋ฉ”๋ชจ๋ฆฌ์˜ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ์— ์”๋‹ˆ๋‹ค. ์•„์ง ๋ฐฑ์—… ์ž‘์—…(์“ฐ๊ธฐ ์ž‘์—…)์ด ๋๋‚˜์ง€ ์•Š์•˜๋‹ค๋ฉด (1)๋ฒˆ๋ถ€ํ„ฐ ๋ฐ˜๋ณตํ•˜๊ณ , ์“ฐ๊ธฐ๊ฐ€ ๋๋‚ฌ๋‹ค๋ฉด ์ž‘์—…์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๋“ฏ ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ ๋ฐฉ์‹์—์„œ์˜ ์ž…์ถœ๋ ฅ ์ž‘์—…์€ CPU๊ฐ€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ฝ๊ณ  ์”€์œผ๋กœ์จ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

3๏ธโƒฃ ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ๊ณผ ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ.

CPU ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋“ค๊ณผ ๋‹ฌ๋ฆฌ CPU๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ ์† ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ๊ธฐ๋ž€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋“ค์€ ์–ด๋–ป๊ฒŒ ๋ช…๋ น์–ด๋กœ ํ‘œํ˜„๋˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ์— ์–ด๋–ป๊ฒŒ ์ €์žฅ ๋˜์–ด ์žˆ์„๊นŒ์š”?

  • ํ”„๋ฆฐํ„ฐ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฝ์–ด๋ผ.
  • ํ”„๋ฆฐํ„ฐ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ์— 100์„ ์จ๋ผ.
  • ํ‚ค๋ณด๋“œ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ฝ์–ด๋ผ.
  • ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ด์–ด ๋ ˆ์ง€์Šคํ„ฐ์— โ€˜aโ€™๋ฅผ ์จ๋ผ.

์—ฌ๊ธฐ์—๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ ๊ณผ ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ ์ž…๋‹ˆ๋‹ค.

1๏ธโƒฃ ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ.

๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ(memory-mapped I/O) ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํ•˜๋‚˜์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์œผ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ฐ€๋ น 1,024 ๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ 1,024๊ฐœ ์ „๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

512๊ฐœ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ, 512๊ฐœ๋Š” ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์†Œ ๊ณต๊ฐ„ ์ผ๋ถ€๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์•ฝ์†ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

  • 516๋ฒˆ์ง€: ํ”„๋ฆฐํ„ฐ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ
  • 517๋ฒˆ์ง€: ํ”„๋ฆฐํ„ฐ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ
  • 518๋ฒˆ์ง€: ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ
  • 519๋ฒˆ์ง€: ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ

๊ทธ๋ ‡๋‹ค๋ฉด CPU๋Š” โ€˜517๋ฒˆ์ง€๋ฅผ ์ฝ์–ด ๋“ค์—ฌ๋ผโ€™๋ผ๋Š” ๋ช…๋ น์–ด๋กœ ํ‚ค๋ณด๋“œ ์ƒํƒœ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  โ€˜518 ๋ฒˆ์ง€์— a๋ฅผ ์จ๋ผโ€™ ๋ผ๋Š” ๋ช…๋ น์–ด๋กœ ํ•˜๋“œ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋ž˜์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๋ช…๋ น์–ด์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ ‘๊ทผํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๊ตณ์ด ๋‹ค๋ฅผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

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

2๏ธโƒฃ ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ.

๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ(isolated I/O) ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ฐ€๋ น 1,024๊ฐœ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ œ์–ด ๋ฒ„์Šค์— โ€˜๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ/์“ฐ๊ธฐโ€™ ์„  ์ด์™ธ์— โ€˜์ž…์ถœ๋ ฅ์žฅ์น˜ ์ฝ๊ธฐ/์“ฐ๊ธฐโ€™ ์„ ์ด ๋”ฐ๋กœ ์žˆ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—๋„ 1,024 ๊ฐœ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜๊ณ , ์ž…์ถœ๋ ฅ์žฅ์น˜๋„ 1,024๊ฐœ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์„ ์ด ํ™œ์„ฑํ™”๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ณ , ์ž…์ถœ๋ ฅ์žฅ์น˜ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์„ ์ด ํ™œ์„ฑํ™”๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋Š” ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์— ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ ๋ฐฉ์‹์—์„œ CPU๋Š” ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๋ช…๋ น์–ด์™€๋Š” ๋‹ค๋ฅธ(์ž…์ถœ๋ ฅ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์„ ์„ ํ™œ์„ฑํ™”์‹œํ‚ค๋Š”) ์ž…์ถœ๋ ฅ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๋ช…๋ น์–ด์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ ‘๊ทผํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๊ตณ์ด ๋‹ค๋ฅผ ํ•„์š”๊ฐ€ ์—†์—ˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ๊ณผ ๋Œ€์กฐ์ ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ
๋ฉ”๋ชจ๋ฆฌ์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜๋Š” ๊ฐ™์€ ์ฃผ์†Œ ๊ณต๊ฐ„ ์‚ฌ์šฉ ๋ฉ”๋ชจ๋ฆฌ์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜๋Š” ๋ถ„๋ฆฌ๋œ ์ฃผ์†Œ ๊ณต๊ฐ„ ์‚ฌ์šฉ
๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ถ•์†Œ๋จ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ถ•์†Œ๋˜์ง€ ์•Š์Œ
๋ฉ”๋ชจ๋ฆฌ์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ๊ฐ™์€ ๋ช…๋ น์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ž…์ถœ๋ ฅ ์ „์šฉ ๋ช…๋ น์–ด ์‚ฌ์šฉ

2๏ธโƒฃ ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ

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

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

์ž…์ถœ๋ ฅ์žฅ์น˜์— ์˜ํ•œ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์ •ํ™•ํžˆ ๋งํ•˜์ž๋ฉด ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ์•„๋‹Œ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

CPU๋Š” ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์— ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๋ช…๋ นํ•˜๊ณ , ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๋ฉฐ ์ž…์ถœ๋ ฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ CPU๋Š” ๋‹ค๋ฅธ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๋๋‚ธ ๋’ค CPU์—๊ฒŒ ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋ฉด CPU๋Š” ํ•˜๋˜ ์ผ์„ ์ž ์‹œ ๋ฐฑ์—…ํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ž…์ถœ๋ ฅ์„ ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ(Interrupt-Drive I/O) ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ง

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

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

์ด๋ฒˆ์—๋Š” ์กฐ๊ธˆ ๋” ์ผ๋ฐ˜์ ์ธ ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ๋งŽ์„ ๋•Œ๋ฅผ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ‚ค๋ณด๋“œ, ๋ชจ๋‹ˆํ„ฐ, ์Šคํ”ผ์ปค, ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.

์ด๊ฒƒ์€ ์ปดํ“จํ„ฐ ์† CPU๊ฐ€ ๋™์‹œ๋‹ค๋ฐœ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ๋ชจ๋‹ˆํ„ฐ, ์Šคํ”ผ์ปค ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์—ฌ๋Ÿฌ ์ž…์ถœ๋ ฅ์žฅ์น˜์—์„œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋™์‹œ์— ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”?

๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€๋ น ์ธํ„ฐ๋ŸฝํŠธ A๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋„์ค‘ ๋ฐœ์ƒํ•œ ๋˜ ๋‹ค๋ฅธ ์ธํ„ฐ๋ŸฝํŠธ B์˜ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด์ง€ ์•Š๊ณ , ์ธํ„ฐ๋ŸฝํŠธ A ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ๋๋‚˜๋ฉด ๊ทธ๋•Œ ๋น„๋กœ์†Œ ์ธํ„ฐ๋ŸฝํŠธ B ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด์ฃ .

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

ํ•˜์ง€๋งŒ ํ˜„์‹ค์ ์œผ๋กœ ๋ชจ๋“  ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ „๋ถ€ ์ˆœ์ฐจ์ ์œผ๋กœ๋งŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ ์ค‘์—์„œ๋„ ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ฆ‰, CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๊ฐ„์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ธํ„ฐ๋ŸฝํŠธ ์ˆœ์œผ๋กœ ์—ฌ๋Ÿฌ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ˜„์žฌ CPU๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ A๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋„์ค‘์— ๋˜ ๋‹ค๋ฅธ ์ธํ„ฐ๋ŸฝํŠธ B๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

๋งŒ์•ฝ ์ง€๊ธˆ ์ฒ˜๋ฆฌ ์ค‘์ธ ์ธํ„ฐ๋ŸฝํŠธ A๋ณด๋‹ค B์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค๋ฉด CPU๋Š” A๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•œ ๋’ค B๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ธํ„ฐ๋ŸฝํŠธ A๋ณด๋‹ค B์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค๋ฉด CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ A์˜ ์‹คํ–‰์„ ์ž ์‹œ ๋ฉˆ์ถ”๊ณ  ์ธํ„ฐ๋Ÿฝํ„ฐ B๋ฅผ ์ฒ˜๋ฆฌํ•œ ๋’ค ๋‹ค์‹œ A๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜๊ทธ ๋ ˆ์ง€์Šคํ„ฐ ์† ์ธํ„ฐ๋ŸฝํŠธ ๋น„ํŠธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ํ˜น์€ ์ธํ„ฐ๋ŸฝํŠธ ๋น„ํŠธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด๋„ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ธ NMI(Non-Mashable Interrupt) ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ CPU๋Š” ์ด๋ ‡๊ฒŒ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ธํ„ฐ๋ŸฝํŠธ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ, ๋งŽ์€ ์ปดํ“จํ„ฐ์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ(PIC: Programmable Interrupt Controller) ๋ผ๋Š” ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

PIC์—๋Š” ์—ฌ๋Ÿฌ ํ•€์ด ์žˆ๋Š”๋ฐ, ๊ฐ ํ•€์—๋Š” CPU์— ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์•ฝ์†๋œ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€๋ น ์ฒซ ๋ฒˆ์งธ ํ•€์€ ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ํ•€, ๋‘ ๋ฒˆ์งธ ํ•€์€ ํ‚ค๋ณด๋“œ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ํ•€โ€ฆ ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด์ฃ .

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

PIC์˜ ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์กฐ๊ธˆ ๋” ์ •ํ™•ํžˆ ์•Œ์•„๋ด…์‹œ๋‹ค.

1. PIC๊ฐ€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์‹ ํ˜ธ(๋“ค) ๋ฅผ ๋ฐ›์•„๋“ค์ž…๋‹ˆ๋‹ค.
2. PIC๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋‹จํ•œ ๋’ค CPU์— ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
3. CPU๋Š” PIC์— ์ธํ„ฐ๋ŸฝํŠธ ํ™•์ธ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
4. PIC๋Š” ๋ฐ์ดํ„ฐ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด CPU์— ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
5. CPU๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์˜ ์ฃผ์ฒด๋ฅผ ์•Œ๊ฒŒ ๋˜๊ณ , ํ•ด๋‹น ์žฅ์น˜์˜ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋งŽ๊ณ  ๋ณต์žกํ•œ ์žฅ์น˜๋“ค์˜ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด PIC๋ฅผ ๋‘ ๊ฐœ ์ด์ƒ ๊ณ„์ธต์ ์œผ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ PIC๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๋” ๋งŽ์€ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ PIC๊ฐ€ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ธ NMI๊นŒ์ง€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

NMI๋Š” ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์•„ ์šฐ์„ ์ˆœ์œ„ ํŒ๋ณ„์ด ๋ถˆํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

PIC๊ฐ€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์กฐ์ •ํ•ด์ฃผ๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋น„ํŠธ๋ฅผ ํ†ตํ•ด ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ์ž…๋‹ˆ๋‹ค.

3๏ธโƒฃ DMA ์ž…์ถœ๋ ฅ

์•ž์— ์„ค๋ช…ํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ๊ณผ ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ์˜ ๊ณตํ†ต์ ์ด ์žˆ๋‹ค๋ฉด ์ž…์ถœ๋ ฅ์žฅ์น˜์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ด๋™์€ CPU๊ฐ€ ์ฃผ๋„ํ•˜๊ณ , ์ด๋™ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋„ ๋ฐ˜๋“œ์‹œ CPU๋ฅผ ๊ฑฐ์นœ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ž…์ถœ๋ ฅ์žฅ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ CPU๋Š” (1) ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ž…์ถœ๋ ฅ์žฅ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด ๋ ˆ์ง€์Šคํ„ฐ์— ์ ์žฌํ•˜๊ณ , (2) ์ ์žฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์† ๋ฐ์ดํ„ฐ๋ฅผ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

CPU๋Š” (1) ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด ๋ ˆ์ง€์Šคํ„ฐ์— ์ ์žฌํ•˜๊ณ , (2) ์ ์žฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

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

ํ•˜๋“œ ๋””์Šคํฌ ๋ฐฑ์—…๊ณผ ๊ฐ™์ด ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธธ ๋•Œ๋Š” CPU ๋ถ€๋‹ด์ด ๋”์šฑ ์ปค์ง‘๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ž…์ถœ๋ ฅ์žฅ์น˜์™€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ CPU๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ ๋„ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž…์ถœ๋ ฅ ๋ฐฉ์‹์ธ DMA(Direct Memory Access) ๊ฐ€ ๋“ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค.

DMA๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

DMA ์ž…์ถœ๋ ฅ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค์— ์—ฐ๊ฒฐ๋œ DMA ์ปจํŠธ๋กค๋Ÿฌ ๋ผ๋Š” ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

DMA ์ž…์ถœ๋ ฅ ๊ณผ์ •.

์ผ๋ฐ˜์ ์œผ๋กœ DMA ์ž…์ถœ๋ ฅ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

(1) CPU๋Š” DMA ์ปจํŠธ๋กค๋Ÿฌ์— ์ž…์ถœ๋ ฅ์žฅ์น˜์˜ ์ฃผ์†Œ, ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ(์ฝ๊ธฐ/์“ฐ๊ธฐ), ์ฝ๊ฑฐ๋‚˜ ์“ธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋“ฑ๊ณผ ๊ฐ™์€ ์ •๋ณด๋กœ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๋ช…๋ นํ•ฉ๋‹ˆ๋‹ค.
(2) DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” CPU ๋Œ€์‹  ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์”๋‹ˆ๋‹ค.
(3) ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ๋๋‚˜๋ฉด DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” CPU์— ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ฑธ์–ด ์ž‘์—…์ด ๋๋‚ฌ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์˜ ์ •๋ณด๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ์— ๋ฐฑ์—…ํ•˜๋Š” ์ž‘์—…์ด DMA ์ž…์ถœ๋ ฅ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€๋„ ์•Œ์•„๋ด…์‹œ๋‹ค.

1. CPU๋Š” DMA ์ปจํŠธ๋กค๋Ÿฌ์— ํ•˜๋“œ ๋””์Šคํฌ ์ฃผ์†Œ, ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ(์“ฐ๊ธฐ), ๋ฐฑ์—…ํ•  ๋‚ด์šฉ์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋“ฑ์˜ ์ •๋ณด์™€ ํ•จ๊ป˜ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๋ช…๋ นํ•ฉ๋‹ˆ๋‹ค.

2. (1) DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” CPU๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ๋ฆฌ์™€ ์ง์ ‘ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ๋ฐฑ์—…ํ•  ์ •๋ณด๋ฅผ ์ฝ์–ด์˜ค๊ณ , (2) ์ด๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ์˜ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์— ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

3. ๋ฐฑ์—…์ด ๋๋‚˜๋ฉด DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” CPU์—๊ฒŒ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ฑธ์–ด ์ž‘์—…์ด ๋๋‚ฌ์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

์œ„ ์ž…์ถœ๋ ฅ ๊ณผ์ •์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ ์ž…์ถœ๋ ฅ์žฅ์น˜์™€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์— ์ฃผ๊ณ ๋ฐ›์„ ๋ฐ์ดํ„ฐ๋Š” CPU๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CPU๋Š” DMA ์ปจํŠธ๋กค๋Ÿฌ์—๊ฒŒ ์ž…์ถœ๋ ฅ ์ž‘์—… ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ณ , ์ธํ„ฐ๋ŸฝํŠธ๋งŒ ๋ฐ›์œผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—… ๋ถ€๋‹ด์„ ํ›จ์”ฌ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•ด CPU๋Š” ์˜ค์ง ์ž…์ถœ๋ ฅ์˜ ์‹œ์ž‘๊ณผ ๋์—๋งŒ ๊ด€์—ฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์‹œ์Šคํ…œ ๋ฒ„์Šค๋Š” ๋™์‹œ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹œํŠธํ…œ ๋ฒ„์Šค๋Š” ๊ณต์šฉ ์ž์›์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

CPU๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋–„ DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ , DMA ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” CPU๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ DMA ์ปจํŠธ๋กค๋Ÿฌ๋Š” CPU๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜, CPU๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๋„๋ก ํ—ˆ๋ฝ์„ ๊ตฌํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

CPU ์ž…์žฅ์—์„œ๋Š” ๋งˆ์น˜ ๋ฒ„์Šค์— ์ ‘๊ทผํ•˜๋Š” ์ฃผ๊ธฐ๋ฅผ ๋„๋‘‘ ๋งž๋Š” ๊ธฐ๋ถ„์ด ๋“ค ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ DMA์˜ ์‹œ์Šคํ…œ ๋ฒ„์Šค ์ด์šฉ์„ ์‚ฌ์ดํด ์Šคํ‹ธ๋ง(cycle stealing) ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ๋ฒ„์Šค

๋งˆ์ง€๋ง‰์œผ๋กœ DMA ์ปจํŠธ๋กค๋Ÿฌ์™€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์—ฐ๊ฒฐ ๋ฐฉ์‹๊ณผ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค.

CPU, ๋ฉ”๋ชจ๋ฆฌ, DMA ์ปจํŠธ๋กค๋Ÿฌ, ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ๋ฒ„์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ตฌ์„ฑ์—์„œ๋Š” DMA๋ฅผ ์œ„ํ•ด ํ•œ ๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ๋‘ ๋ฒˆ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๋ถ€์ž‘์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋กœ ๋“ค์—ˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ์ •๋ณด๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ๋กœ ๋ฐฑ์—…ํ•˜๋Š” ์ƒํ™ฉ์„ ๋‹ค์‹œ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

์ด ๊ฒฝ์šฐ (1) ๋ฉ”๋ชจ๋ฆฌ์—์„œ DMA ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•˜๊ณ , (2) DMA ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์˜ฎ๊ธฐ๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ๋˜ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

DMA๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ๋„ˆ๋ฌด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ๋งŒํผ CPU๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ด์šฉํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” DMA ์ปจํŠธ๋กค๋Ÿฌ์™€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์„ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค(input/output bus) ๋ผ๋Š” ๋ณ„๋„์˜ ๋ฒ„์Šค์— ์—ฐ๊ฒฐํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด ์‹œ์Šคํ…œ ๋ฒ„์Šค๊ฐ€ ์•„๋‹Œ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค๋กœ DMA ์ปจํŠธ๋กค๋Ÿฌ์— ์—ฐ๊ฒฐ๋œ๋‹ค๋ฉด DMA ์ปจํŠธ๋กค๋Ÿฌ์™€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ด์šฉํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์‹œ์Šคํ…œ ๋ฒ„์Šค์˜ ์‚ฌ์šฉ ๋นˆ๋„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„๋Œ€ ๋Œ€๋ถ€๋ถ„ ์ปดํ“จํ„ฐ์—๋Š” ์ž…์ถœ๋ ฅ ๋ฒ„์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•ด ๋Œ€๋ถ€๋ถ„์˜ ์ž…์ถœ๋ ฅ์žฅ์น˜(์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ)๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค๊ฐ€ ์•„๋‹Œ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค์™€ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์ ์—์„œ ๋ณผ ๋•Œ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค๋Š” ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์™€ ์—ฐ๊ฒฐ ์ง“๋Š” ํ†ต๋กœ๋ผ๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ๋ฒ„์Šค์—๋Š” PIC(Peripheral Component Interconnect) ๋ฒ„์Šค, PCI Express(PCIe) ๋ฒ„์Šค ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ทธ๋ฆผ์€ ์—ฌ๋Ÿฌ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋“ค์„ PCIe ๋ฒ„์Šค์™€ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” ํ†ต๋กœ์ธ PCIe ์Šฌ๋กฏ ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์ž…์ถœ๋ ฅ์žฅ์น˜๋“ค์€ ์ด๋ ‡๊ฒŒ ์ž…์ถœ๋ ฅ ๋ฒ„์Šค์™€ ์—ฐ๊ฒฐ๋˜๋Š” ํ†ต๋กœ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ํƒ€๊ณ  CPU์™€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ ๋งˆ๋ฌด๋ฆฌ.

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

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