๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

2-3 ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ธฐ์ˆ  / ๋ฒ„ํผ์™€ ์บ์‹œ, ์ €์žฅ์žฅ์น˜์˜ ๊ณ„์ธต๊ตฌ์ดˆ์— ๋Œ€ํ•ด

by Vada Kim 2021. 8. 10.
728x90
๋ฐ˜์‘ํ˜•

 

* ๋ฉ”๋ชจ๋ฆฌ = ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ

๋ฒ„ํผ

๋ฒ„ํผ(buffer)๋Š” ์ผ์ •๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ์˜ฎ๊น€์œผ๋กœ์จ ๋‘ ์žฅ์น˜ ๊ฐ„ ์†๋„์˜ ์ฐจ์ด๋ฅผ ์™„ํ™”ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋ฒ„ํผ์˜ ์šฉ๋Ÿ‰์ด ํด ์ˆ˜๋ก ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฑ„์›Œ์งˆ ๋•Œ๊นŒ์ง€ ์ €์žฅ์žฅ์น˜ ๊ฐ„์— ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ง€์—ฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ๋œ ํ•˜๋“œ์›จ์–ด ์ œ๊ฑฐ์‹œ ๋ฐ์ดํ„ฐ ์†Œ์‹ค ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ: ํ•˜๋“œ๋””์Šคํฌ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ, ๋™์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋ฒ„ํผ

 

์Šคํ’€

SPOOL, Simultaneous Peripheral Operation On-Line์˜ ์•ฝ์ž. CPU์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ๊ณ ์•ˆ๋œ ์†Œํ”„ํŠธ์›จ์–ด์ ์ธ ๋ฒ„ํผ์ด๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ํ”„๋ฆฐํ„ฐ์˜ ์Šคํ’€๋Ÿฌ๊ฐ€ ์žˆ๋‹ค.

์Šคํ’€๋Ÿฌ(spooler): ์ธ์‡„ํ•  ๋‚ด์šฉ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ ์ถœ๋ ฅ ๋ช…๋ น์„ ๋‚ด๋ฆฐ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋…์ ํ•˜๋Š”(ํ•œ๋ฒˆ์— ํ•œ๊ฐ€์ง€์˜ ์ธ์‡„๋งŒ ๊ฐ€๋Šฅํ•œ), ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ๋ฐฐํƒ€์ ์ธ ์„ฑ์งˆ์„ ๊ฐ€์ง„๋‹ค.

 

 

 

์บ์‹œ

์บ์‹œ(cache)๋Š” CPU ๋‚ด๋ถ€์— ์œ„์น˜ํ•˜๋Š” ๋ฒ„ํผ์˜ ์ผ์ข…์œผ๋กœ, *๋ฉ”๋ชจ๋ฆฌ์™€ CPU๊ฐ„์˜ ์†๋„ ์ฐจ์ด๋ฅผ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์™€(prefetch) ์ €์žฅํ•ด๋‘๋Š” ์ž„์‹œ ๊ณต๊ฐ„์ด๋‹ค. ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋Š” CPU๊ฐ€ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ผ ์˜ˆ์ƒ๋˜๋Š” ๊ฒƒ๋“ค์ด๋‹ค.

SRAM์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์บ์‹œ๋Š” ๊ณ ๊ฐ€์ด๊ธฐ์— ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ ํž˜๋“ค๋‹ค.

* CPU์˜ ์†๋„ > ๋ฉ”๋ชจ๋ฆฌ์˜ ์†๋„

CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์— ๋จผ์ € ์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š”๋‹ค.

  • cache hit: CPU๊ฐ€ ์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ
  • cache miss: CPU๊ฐ€ ์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•œ๋‹ค.
  • ์บ์‹œ ์ ์ค‘๋ฅ (cache hit ratio): ์บ์‹œ ํžˆํŠธ๊ฐ€ ๋˜๋Š” ๋น„์œจ. ์บ์‹œ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์•ž์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋  ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์ ์ค‘๋ฅ ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

์บ์‹œ์˜ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ์‹

  • ์ฆ‰์‹œ ์“ฐ๊ธฐ(write through): ์บ์‹œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ฆ‰์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ˜์˜ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์ž์ฃผ ์ ‘๊ทผํ•˜๊ธฐ์— ์„ฑ๋Šฅ์ด ๋Š๋ ค์ง€๋‚˜, ๋ฉ”๋ชจ๋ฆฌ์˜ ์ตœ์‹ ๊ฐ’์ด ํ•ญ์ƒ ์œ ์ง€๋˜์–ด ๋ฐ์ดํ„ฐ ์†Œ์‹ค์— ๋Œ€ํ•œ ์•ˆ์ •์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค.
  • ์ง€์—ฐ ์“ฐ๊ธฐ(write back, copy back): ์บ์‹œ์˜ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋ชจ์•„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ˜์˜ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ๋œ ์ ‘๊ทผํ•˜์—ฌ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋ฉ”๋ชจ๋ฆฌ์™€ ์บ์‹œ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์บ์‹œ์˜ ์ข…๋ฅ˜

โ— ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์–ด๋Š” ๋ช…๋ น์–ด ๋ถ€๋ถ„๊ณผ ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„(์ž‘์—… ๋Œ€์ƒ)์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

  • ์ผ๋ฐ˜ ์บ์‹œ, L2(Level 2) ์บ์‹œ: ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ๋ถ„ ์—†์ด ๋ชจ๋“  ์ž๋ฃŒ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ๊ฒฐ๋œ๋‹ค.
  • ํŠน์ˆ˜ ์บ์‹œ, L1(Level 1) ์บ์‹œ: ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐ€์ ธ์˜จ๋‹ค. CPU ๋ ˆ์ง€์Šคํ„ฐ์— ์ง์ ‘ ์—ฐ๊ฒฐ๋œ๋‹ค.

 

์›น ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ: ๋ฐฉ๋ฌธํ–ˆ๋˜ ์‚ฌ์ดํŠธ์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜์—ฌ ์žฌ๋ฐฉ๋ฌธ ์‹œ ์†๋„๋ฅผ ๋†’์ธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ €์žฅ๋œ ์บ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์˜คํžˆ๋ ค ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์†๋„๋ฅผ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๊ธฐ์ ์œผ๋กœ ๋น„์šฐ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

 

 

์ €์žฅ์žฅ์น˜์˜ ๊ณ„์ธต๊ตฌ์กฐ

๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ = ์ฃผ๊ธฐ์–ต์žฅ์น˜ / ์ €์žฅ์žฅ์น˜ = ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜

<ํ•œ๊ณ„์ >

  • SSD๋Š” ํ•˜๋“œ๋””์Šคํฌ(HDD)๋ณด๋‹ค ๋น ๋ฅด์ง€๋งŒ, ์ƒ๋Œ€์ ์œผ๋กœ ๋งค์šฐ ๊ณ ๊ฐ€์ด๋‹ค.
  • ์บ์‹œ ๋˜ํ•œ ๋งค์šฐ ๊ณ ๊ฐ€์ด๊ธฐ์— ํฐ ์šฉ๋Ÿ‰์„ ๊ฐ€์ง€๊ธฐ ํž˜๋“ค๋‹ค.

<ํ•ด๊ฒฐ>

์ €์žฅ์žฅ์น˜ ๊ตฌ์กฐ๋ฅผ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ’์ด ๋น„์‹ผ ์žฅ์น˜์ผ์ˆ˜๋ก CPU ๊ฐ€๊นŒ์ด, ๊ฐ’์ด ์‹ธ๊ณ  ์šฉ๋Ÿ‰์ด ํฐ ์ €์žฅ์žฅ์น˜์ผ ์ˆ˜๋ก CPU์™€ ๋ฉ€๋ฆฌ ๋ฐฐ์น˜ํ•˜์—ฌ ์†๋„์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ–ˆ๋‹ค.

๋‹ค๋งŒ ์บ์‹œ์™€ ๋ฒ„ํผ ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์ด๋‹ค.

 

 

 

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

์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์ž๊ฐ€ CPU์— ๋ณด๋‚ด๋Š” ์ž…์ถœ๋ ฅ ์™„๋ฃŒ ์‹ ํ˜ธ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ๋ผ๊ณ  ํ•œ๋‹ค.

์‹ค์€ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ด๊ณณ์—์„  ์ž…์ถœ๋ ฅ ์™„๋ฃŒ ์ธํ„ฐ๋ŸฝํŠธ๋งŒ ๋‹ค๋ฃฌ๋‹ค.

CPU๊ฐ€ ์ž…์ถœ๋ ฅ์žฅ์น˜์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ํด๋ง(polling) ๋ฐฉ์‹์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹์ด ๋“ฑ์žฅํ–ˆ๋‹ค.

๊ณผ์ •

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

์žฅ์ 

  • CPU๋Š” ๋ณธ๋ž˜์˜ ์—ญํ• ์ธ ๋ช…๋ น์–ด ํ•ด์„๊ณผ ์‹คํ–‰์— ๋ชฐ๋‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • CPU์˜ ์ž‘์—…๊ณผ ์ €์žฅ์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ ์ด๋™์„ ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜ํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ํšจ์œจ์„ ๋†’์ธ๋‹ค.

์†์„ฑ

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

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

 

 

์ถœ์ฒ˜: <์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ>, ํ•œ๋น› ์•„์นด๋ฐ๋ฏธ

728x90
๋ฐ˜์‘ํ˜•