CS Memory ๊ตฌ์กฐ

4

CS

๋ชฉ๋ก ๋ณด๊ธฐ
3/4
post-thumbnail

๐Ÿ“Œ 1. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ


๐Ÿ“Ž ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณ„์ธต ๊ตฌ์กฐ

๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ(Memory Hierarchy)๋ž€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ์–ต์žฅ์น˜๋ฅผ ํ•„์š”์— ๋”ฐ๋ผ ์†๋„, ์šฉ๋Ÿ‰, ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ๊ณ„์ธต์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋‘” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๐Ÿ“Ž ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณ„์ธต ํŠน์ง•

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

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


๐Ÿ“Œ 2. ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜


๐Ÿ“Ž ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜๋ž€?

๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ๋””์Šคํฌ๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ธฐ์–ต์žฅ์น˜์ด๋‹ค. ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ณด๋‹ค๋Š” ๋Š๋ฆฌ์ง€๋งŒ ์ปดํ“จํ„ฐ์˜ ์ „์›์„ ๋„๋”๋ผ๋„ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š๊ณ , ์˜๊ตฌ์ ์œผ๋กœ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋Š” HDD์™€ SSD๊ฐ€ ์žˆ๋‹ค.

๐Ÿ“Ž HDD(Hard Disk Driver)

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

๐Ÿ“Ž SSD(Solid State Driver)

๋ฐ˜๋„์ฒด ๊ธฐ๋ฐ˜์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์ด๋‹ค. SSD๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ์ „๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— HDD์— ๋น„ํ•ด์„œ ์†๋„๊ฐ€ ์›”๋“ฑํžˆ ๋น ๋ฅด๊ณ , ์†Œ์Œ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ, ์ „๋ ฅ์†Œ๋ชจ๊ฐ€ ์ ๊ณ , ๊ฒฝ๋Ÿ‰ํ™”, ์†Œํ˜•ํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, HDD์— ๋น„ํ•ด์„œ๋Š” ๊ฐ€๊ฒฉ์ด ๋†’๋‹ค.



๐Ÿ“Œ 3. ์ฃผ ๊ธฐ์–ต ์žฅ์น˜


๐Ÿ“Ž ์ฃผ๊ธฐ์–ต์žฅ์น˜

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

๐Ÿ“Ž RAM(Random Access Memory)

RAM์€ ์ฝ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ์šด์˜์ฒด์ œ ๋“ฑ์„ ๋ถˆ๋Ÿฌ์™€ CPU๊ฐ€ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ์–ต์žฅ์น˜์ด๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์†๋„์™€ ๊ธฐ๋กํ•˜๋Š” ์†๋„๊ฐ€ ๊ฐ™๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ๋กœ๋”ฉํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ณณ์— ์‚ฌ์šฉ๋œ๋‹ค.

์ „์›์ด ๋Š์–ด์ง€๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋ถ€ ์ง€์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ(Volatile Memory)๋ผ๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํŒŒ์ผ์€ ํ•ญ์ƒ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๐Ÿ“Ž ROM(Read Only Memory)

ROM์€ ์ „์›์ด ๋Š์–ด์ ธ๋„ ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ๋“ค์ด ์†Œ๋ฉธ๋˜์ง€ ์•Š๋Š” ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ(Non-Volatile Memory)์ด๋‹ค. ์˜ค์ง ๊ธฐ์–ต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜์ด๋‹ค.

ROM์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํ›„ ๋ฐ˜์˜๊ตฌ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ์Šคํ…œ์— ๊ธฐ์–ต์‹œํ‚ค๊ณ  ๋ณ€ํ™”์‹œํ‚ค๋ฉด ์•ˆ๋˜๋Š” BIOS์™€ ๊ฐ™์€ ์ฃผ์š” ๋ฐ์ดํ„ฐ๋Š” ์ด ์žฅ์น˜์— ์ €์žฅ๋œ๋‹ค.



๐Ÿ“Œ 4. ์ฃผ ๊ธฐ์–ต์žฅ์น˜์˜ ๊ตฌ์กฐ


๐Ÿ“Ž ์ฝ”๋“œ(Code) ์˜์—ญ

์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ์œผ๋กœ ํ…์ŠคํŠธ ์˜์—ญ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. CPU๋Š” ์ฝ”๋“œ ์˜์—ญ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ๊ฐ€์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๐Ÿ“Ž ๋ฐ์ดํ„ฐ(Date) ์˜์—ญ

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ํ• ๋‹น๋˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธํ•œ๋‹ค. ์ „์—ญ๋ณ€์ˆ˜(Global Variable), ์ •์ ๋ณ€์ˆ˜(Static Variable), ๋ฐฐ์—ด(Array), ๊ตฌ์กฐ์ฒด(Structure) ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค.

๐Ÿ‘‰ ์ดˆ๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” Data์˜์—ญ์— ์ €์žฅ, ๊ทธ์™ธ์—๋Š” BBS(Blocked Stated Symbol)์— ์ €์žฅ๋œ๋‹ค.
๐Ÿ‘‰ BBS์˜์—ญ์€ Data์˜์—ญ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ์ „์—ญ๋ณ€์ˆ˜, ์ฆ‰ ์ •์ ๋ณ€์ˆ˜๋งŒ ์ €์žฅํ•œ๋‹ค.

๐Ÿ“Ž ํž™(Heap) ์˜์—ญ

์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ฐ’์— ์˜ํ•ด์„œ๋งŒ ์ฐธ์กฐ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋ฉฐ, ์ฐธ๊ณ ํƒ€์ž…(Reference Type)์— ๋Œ€ํ•œ ์ €์žฅ ๊ณต๊ฐ„์ด๋‹ค.

๐Ÿ‘‰ ํž™์˜์—ญ์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๊ณ  ํ•ด์ œ๋œ๋‹ค.
๐Ÿ‘‰ ๋‚ฎ์€ ์ฃผ์†Œ์—์„œ ๋†’์€ ์ฃผ์†Œ์˜ ๋ฐฉํ–ฅ์œผ๋กœ ํ• ๋‹น๋œ๋‹ค.

๐Ÿ“Ž ์Šคํƒ(Stack) ์˜์—ญ

ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๊ณผ ๊ด€๊ณ„๋˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ, return๊ฐ’ ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค. ์Šคํƒ ์˜์—ญ์€ ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๋ฉฐ, ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ด ์™„๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์Šคํƒ ์˜์—ญ์— ์ €์žฅ๋˜๋Š” ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ์ •๋ณด๋ฅผ ์Šคํƒ ํ”„๋ ˆ์ž„(Stack Frame)์ด๋ผ๊ณ  ํ•œ๋‹ค.

๐Ÿ‘‰ ์Šคํƒ ์‚ฌ์ด์ฆˆ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ํ• ๋‹นํ•œ๋‹ค.
๐Ÿ‘‰ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ์‚ฌ์ด์ฆˆ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์–ด ๋Ÿฐํƒ€์ž„ ์‹œ ๋ณ€๊ฒฝ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๐Ÿ‘‰ ํž™๊ณผ ์Šคํƒ์€ ์‚ฌ์‹ค ๊ฐ™์€ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜์ง€๋งŒ ์‹œ์ž‘์ง€์ ์ด ๋‹ค๋ฅด๋‹ค.
๐Ÿ‘‰ ์Šคํƒ ์˜์—ญ์€ ํ‘ธ์‹œ(Push) ๋™์ž‘์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ํŒ(Pop)๋™์ž‘์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ถœํ•œ๋‹ค.

๐Ÿ“Ž ์Šคํƒ(Stack) vs ํž™(Heap) ์˜์—ญ

๐Ÿ‘‰ Heap: ํž™์€ ๋ฉ”๋ชจ๋ฆฌ ์œ„์ชฝ ์ฃผ์†Œ๋ถ€ํ„ฐ ํ• ๋‹น(๋‚ฎ์€ ์ฃผ์†Œโ†’๋†’์€์ฃผ์†Œ)ํ•œ๋‹ค.
๐Ÿ‘‰ Stack: ์Šคํƒ์€ ๋ฉ”๋ชจ๋ฆฌ ์•„๋ž˜์ชฝ๋ถ€ํ„ฐ ํ• ๋‹น(๋†’์€ ์ฃผ์†Œโ†’๋‚ฎ์€ ์ฃผ์†Œ)ํ•œ๋‹ค.
๐Ÿ‘‰ Stack/Heap Overflow: ์ด๋ ‡๊ฒŒ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์ž‘์ ์—์„œ ํ• ๋‹น๋˜๋‹ค๊ฐ€ ์„œ๋กœ ๊ฒน์น˜๋Š” ๊ฒƒ์„ Stack/Heap Overflow๋ผ๊ณ  ํ•œ๋‹ค.


๐Ÿ“Œ 5. ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ


๐Ÿ“Ž ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ž€?

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” CPU์˜ ์ฒ˜๋ฆฌ์†๋„์™€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์ ‘๊ทผ ์†๋„ ์ฐจ์ด๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์† Buffer Memory์ด๋‹ค.

๐Ÿ“Ž ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ํŠน์ง•

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

๐Ÿ“Ž ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ž‘๋™ ์›๋ฆฌ

์บ์‹œ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ ค๋ฉด, ์บ์‹œ์— ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์—ญ์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์ง€์—ญ์„ฑ์ด๋ž‘ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ์‹œ๊ฐ„์ , ํ˜น์€ ๊ณต๊ฐ„์ ์œผ๋กœ ๊ฐ€๊น๊ฒŒ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๐Ÿ‘‰ ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ: ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๋ฒˆ ์ ‘๊ทผ๋˜์—ˆ์„ ๊ฒฝ์šฐ, ๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์— ๋˜ ํ•œ๋ฒˆ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, For, while ๋ฐ˜๋ณต๋ฌธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ฐธ์กฐ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฏ€๋กœ ๋‹ค์‹œ ์ €์žฅํ•œ๋‹ค.
๐Ÿ‘‰ ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ: ์•ก์„ธ์Šค๋œ ๊ธฐ์–ต์žฅ์†Œ์™€ ์ธ์ ‘ํ•œ ๊ธฐ์–ต์žฅ์†Œ๊ฐ€ ์•ก์„ธ์Šค๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด์—์„œ ๊ฐ™์€ ์—ฐ์† ์ ‘๊ทผ์‹œ, ์ฐธ์กฐ๋œ ๋ฐ์ดํ„ฐ ๊ทผ์ฒ˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐธ์กฐ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฏ€๋กœ ์ €์žฅํ•œ๋‹ค.

๐Ÿ“Ž ์บ์‹œ ๋ฏธ์Šค(Cache Miss)

CPU๊ฐ€ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์žˆ์œผ๋ฉด Cache Hit๋ผ๊ณ  ํ•˜๋ฉฐ, ๋ฐ˜๋Œ€๋กœ ์—†์–ด์„œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์—์„œ ๊ฐ€์ ธ์˜ค๊ฒŒ๋˜๋ฉด Cache Miss๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์บ์‰ฌ ๋ฏธ์Šค์—๋Š” 3๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

๐Ÿ‘‰Cold Miss: ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฒ˜์Œ ๋ถˆ๋Ÿฌ์„œ ๋‚˜๋Š” miss
๐Ÿ‘‰Conflict Miss: A์™€ B๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋Š”๋ฐ, A์™€ B๊ฐ€ ๊ฐ™์€ ์ฃผ์†Œ์— ํ• ๋‹น๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋‚˜๋Š” miss
๐Ÿ‘‰Capacity Miss: ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์„œ ๋‚˜๋Š” miss


๐Ÿ“Œ 6. ๋ ˆ์ง€์Šคํ„ฐ


๐Ÿ“Ž ๋ ˆ์ง€์Šคํ„ฐ๋ž€?

CPU๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋‹ค๋ชฉ์  ๊ณต๊ฐ„์ด๋‹ค. ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์— ์žˆ๋Š” ์ž‘์€ ๊ณต๊ฐ„์œผ๋กœ ์—ฐ์‚ฐ ์ œ์–ด, ๋””๋ฒ„๊น… ๋“ฑ๋“ฑ์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ‘‰ ๋ ˆ์ง€์Šคํ„ฐ๋Š” ๊ณต๊ฐ„์€ ์ž‘๊ณ  ๊ฐ€๊ฒฉ์€ ๋น„์‹ธ์ง€๋งŒ, CPU์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์„œ ์—ฐ์‚ฐ ์†๋„๊ฐ€ RAM, HDD, SDD๋ณด๋‹ค ๋น ๋ฅด๋‹ค.
๐Ÿ‘‰ CPU๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์ฒ˜๋ฆฌ ๋ฐ ๋ฒˆ์ง€ ์ง€์ •์„ ๋„์™€์ค€๋‹ค.

๐Ÿ“Ž ๋ ˆ์ง€์Šคํ„ฐ์™€ ์บ์‹œ์˜ ์ฐจ์ด์ 

๐Ÿ‘‰ ์บ์‹œ: CPU์™€ ๋ณ„๋„๋กœ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋ฉฐ, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ CPU๊ฐ„์˜ ์†๋„ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ
๐Ÿ‘‰ ๋ ˆ์ง€์Šคํ„ฐ: CPU์•ˆ์—์„œ ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

๐Ÿ“Ž ๋ ˆ์ง€์Šคํ„ฐ์™€ ์บ์‹œ์˜ ๊ณตํ†ต์ 

๐Ÿ‘‰ ์–ด๋–ค ๋ช…๋ น์–ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ์ €์žฅ ๊ณต๊ฐ„


๐Ÿ“– ์ฐธ๊ณ 

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 7์›” 12์ผ

๊น”๋”ํ•˜๊ฒŒ ์ž˜ ์ •๋ฆฌํ•ด๋†“์œผ์…จ๋„ค์š”
์‚ฌ์†Œํ•œ ์˜คํƒ€๊ฐ€ ์žˆ์–ด ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค
"๋ฐ์ดํ„ฐ(Date) ์˜์—ญ" -> Data

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ