๐Ÿ“‹ ์ž๊ฒฉ์ฆ/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ๋Šฅ์‚ฌ

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ๋Šฅ์‚ฌ 20. ์ฑ„๋„/DMA

๊ณต๋ฐฑ์˜ค 2025. 3. 22. 16:40
728x90
๋ฐ˜์‘ํ˜•

์ฑ„๋„(Channel)

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

์ฑ„๋„์˜ ๊ธฐ๋Šฅ

  • CPU๋กœ๋ถ€ํ„ฐ ์ž…์ถœ๋ ฅ ๋ช…๋ น์„ ๋ฐ›์•„ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰
  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก
  • CPU์˜ ์ž…์ถœ๋ ฅ ๋ถ€๋‹ด์„ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ˆ˜ํ–‰

์ฑ„๋„์˜ ์ข…๋ฅ˜

  1. Selector Channel (์„ ํƒ ์ฑ„๋„)
    • ๊ณ ์† ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์œ„ํ•œ ์ฑ„๋„
    • ํŠน์ •ํ•œ ํ•œ ๊ฐœ์˜ ์žฅ์น˜๋ฅผ ๋…์ ํ•˜์—ฌ ์ž…์ถœ๋ ฅ ์ˆ˜ํ–‰
  2. Multiplexer Channel (๋‹ค์ค‘ ์ฑ„๋„)
    • ์ €์† ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์œ„ํ•œ ์ฑ„๋„
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ๋™์‹œ์— ์ œ์–ด
    • Byte Multiplexer Channel์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ
  3. Block Multiplexer Channel
    • ๊ณ ์† ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์œ„ํ•œ ์ฑ„๋„
    • ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ์ œ์–ด ๊ฐ€๋Šฅ

DMA (Direct Memory Access, ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ)

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

DMA์˜ ๋™์ž‘ ๋ฐฉ์‹

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

DMA์˜ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ

  • ์ธํ„ฐํŽ˜์ด์Šค ํšŒ๋กœ: ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ์—ฐ๊ฒฐ๋˜๋Š” ํšŒ๋กœ
  • ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ: ๋ฐ์ดํ„ฐ ์ „์†ก ๋Œ€์ƒ ์ฃผ์†Œ ์ €์žฅ
  • ๋ฐ์ดํ„ฐ ์นด์šดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ: ์ „์†กํ•  ๋ฐ์ดํ„ฐ ํฌ๊ธฐ ์ €์žฅ
  • ์ œ์–ด ๋ ˆ์ง€์Šคํ„ฐ: ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹ ๋ฐ ์ œ์–ด ์ •๋ณด ์ €์žฅ
  • ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ: ์ „์†กํ•  ๋ฐ์ดํ„ฐ ์ €์žฅ

์Šคํ’€๋ง (Spooling)

์Šคํ’€๋ง์€ ์ €์† ์ž…์ถœ๋ ฅ ์žฅ์น˜(์˜ˆ: ํ”„๋ฆฐํ„ฐ)์™€ ๊ณ ์† CPU ๊ฐ„์˜ ์†๋„ ์ฐจ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด CPU๋Š” ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์Šคํ’€๋ง์˜ ๋™์ž‘ ๋ฐฉ์‹

  1. ๊ณ ์†์˜ CPU๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์Šคํ’€(Spool) ์˜์—ญ(๋””์Šคํฌ ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ)์— ์ €์žฅ
  2. ์ €์†์˜ ์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์ž์‹ ์˜ ์†๋„์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ
  3. CPU๋Š” ๋Œ€๊ธฐํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘์—… ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ

์Šคํ’€๋ง์€ ์ฃผ๋กœ ํ”„๋ฆฐํ„ฐ, ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ ๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ž…์ถœ๋ ฅ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ์ค‘์š”ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค.


20.แ„Žแ…ขแ„‚แ…ฅแ†ฏDMA.pdf
0.27MB

728x90