[ํ˜ผ๊ณต์ปด์šด] Chapter 08-2. ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•

    ์ž…์ถœ๋ ฅ ์ž‘์—… : CPU์™€ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ ⇒ ์žฅ์น˜ ์ปจํŠธ๋กค๋Ÿฌ์™€ CPU๊ฐ€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•

    1. ํ”„๋กœ๊ทธ๋žจ ์ž…์ถœ๋ ฅ
    2. ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ž…์ถœ๋ ฅ
    3. DMA ์ž…์ถœ๋ ฅ

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

    : ํ”„๋กœ๊ทธ๋žจ ์† ๋ช…๋ น์–ด๋กœ ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•

    ๋”๋ณด๊ธฐ

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

    ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ

    : ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ๊ณต๊ฐ„์„ ํ•˜๋‚˜์˜ ์ฃผ์†Œ๊ณต๊ฐ„์œผ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ๋ฐฉ๋ฒ•

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

    ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ

    : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์œ„ํ•œ ์ฃผ์†Œ๊ณต๊ฐ„์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

    ์ฆ‰, 1024๊ฐœ์˜ ์ฃผ์†Œ๊ณต๊ฐ„์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—๋„ 1024๊ฐœ์˜ ์ฃผ์†Œ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜๊ณ , ์ž…์ถœ๋ ฅ์žฅ์น˜๋„ 1024๊ฐœ์˜ ์ฃผ์†Œ๊ณต๊ฐ„์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

    ๋ฉ”๋ชจ๋ฆฌ ๋งต ์ž…์ถœ๋ ฅ ๊ณ ๋ฆฝํ˜• ์ž…์ถœ๋ ฅ

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

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

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

    → ์ฆ‰, ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ์ž…์ถœ๋ ฅ

    ํด๋ง (Poling)

    ↔ ์ธํ„ฐ๋ŸฝํŠธ์™€ ์ž์ฃผ ๋น„๊ต๋˜๋Š” ๊ฐœ๋…

    : ์ž…์ถœ๋ ฅ์žฅ์น˜์˜ ์ƒํƒœ๋Š” ์–ด๋–ค์ง€, ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹

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


    ์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ๋งŽ์„ ๋•Œ

    Ex. ํ‚ค๋ณด๋“œ๋กœ ๊ธ€์ž ์ž…๋ ฅ, ๋ชจ๋‹ˆํ„ฐ๋กœ ์ž…๋ ฅํ•œ ๊ธ€์ž๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋„์›Œ์ฃผ๊ธฐ, ๋™์˜์ƒ ์‚ฌ์ดํŠธ์—์„œ ์Œ์•… ์žฌ์ƒ → ์Šคํ”ผ์ปค์—์„œ ์Œ์•… ํ˜๋Ÿฌ๋‚˜์˜ด , ๊ด‘๊ณ ๊ฐ€ ๋‚˜์˜ฌ๋•Œ ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์œ„ํ•ด ๋งˆ์šฐ์Šค ์›€์ง์ด๊ธฐ ๋“ฑ

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

    ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

    BUT! ํ˜„์‹ค์ ์œผ๋กœ ๋ชจ๋“  ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ „๋ถ€ ์ˆœ์ฐจ์ ์œผ๋กœ๋งŒ ํ•ด๊ฒฐํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ ์ค‘์—์„œ๋„ ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ! (์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ธํ„ฐ๋ŸฝํŠธ)

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

    PIC(Programmable Interrupt Controller) _ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ” ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ

    : ๋งŽ์€ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

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

    PIC

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

    PIC์˜ ๋‹ค์ค‘ ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ๊ณผ์ •

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

    โšก + ์ถ”๊ฐ€๋‚ด์šฉ ์ฐธ๊ณ ๋กœ, PIC๊ฐ€ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ธํ„ฐ๋ŸฝํŠธ์ธ NMI ๊นŒ์ง€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋ณ„ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค
          → ์ด๋Š”, NMI๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ํ•ญ์ƒ ๊ฐ€์žฅ ๋†’์•„ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋ณ„ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

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


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

    DMA ์ž…์ถœ๋ ฅ

    DMA = Direct Memory Access

    : ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ CPU๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ ๋„ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž…์ถœ๋ ฅ ๋ฐฉ์‹

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

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

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

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

     

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

    ๋”ฐ๋ผ์„œ CPU๊ฐ€ ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์ด๊ฑฐ๋‚˜, CPU์—๊ฒŒ ํ—ˆ๋ฝ์„ ๊ตฌํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.
    (์‚ฌ์ดํด ์Šคํ‹ธ๋ง = Cycle Stealing)

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

    : ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์™€ ์—ฐ๊ฒฐ์ง“๋Š” ํ†ต๋กœ

    • PCI๋ฒ„์Šค
    • PCI Express(PCIe)๋ฒ„์Šค
      • PCIe์Šฌ๋กฏ : PCIe ๋ฒ„์Šค์™€ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ํ†ต๋กœ

    ์ถœ์ฒ˜ - ํ˜ผ๊ณต์ปด์šด

    ๋Œ“๊ธ€