๋ฉ๋ชจ๋ฆฌ
2026.04.19 - [CS๊ณต๋ถ/์ปดํจํฐ ๊ตฌ์กฐ] - ์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ ๋ณด์ ํต์ฌ ๋ถํ
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ: CPU๊ฐ ์คํํ ๋์์ ์ ์ฅํ๋ ๋ถํ์ผ๋ก ํ๋ฐ์ฑ ์ ์ฅ์ฅ์น์ด๋ค. ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ญํ ์ ํ๋ ํ๋์จ์ด์๋ RAM๊ณผ ROM์ด ์๋ค.
๋ณด์กฐ๊ธฐ์ต์ฅ์น: ๋ณด๊ดํ ๋์์ ์ ์ฅํ๋ ๋ถํ์ผ๋ก ๋นํ๋ฐ์ฑ ์ ์ฅ์ฅ์น์ด๋ค.
- CPU๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ก ๊ฐ์ ธ์ ์คํํ ์ ์๋ค. ๋ณด์กฐ๊ธฐ์ต์ฅ์น์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณต์ฌํด์์ผ ์คํ ๊ฐ๋ฅํ๋ค.
- RAM์ ์ฉ๋์ด ์์ผ๋ฉด ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ก๋ถํฐ ์คํํ ํ๋ก๊ทธ๋จ์ ๊ฐ์ง๊ณ ์ค๋ ํ์๊ฐ ์ฆ์์ ธ ์คํ ์๊ฐ์ด ๊ธธ์ด์ง์ง๋ง, RAM์ ์ฉ๋์ด ์ถฉ๋ถํ ํฌ๋ฉด ๋ณด์กฐ๊ธฐ์ต์ฅ์น์์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ๋ฏธ๋ฆฌ RAM์ ์ ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง์ ํ๋ก๊ทธ๋จ์ ๋์์ ์คํํ๋ ๋ฐ ์ ๋ฆฌํ๋ค.
ํ์ง๋ง, RAM์ ์ฉ๋์ด ํ์ ์ด์์ผ๋ก ํฌ๋ค๊ณ ์ปดํจํฐ์ ์ฑ๋ฅ์ด ๋น๋กํด์ ํฅ์๋๋ ๊ฑด ์๋๋ค.
RAM(Randon Access Memory, ์์ ์ ๊ทผ ๋ฉ๋ชจ๋ฆฌ)
์์ ์ ๊ทผ(=์ง์ ์ ๊ทผ): ์ ์ฅ๋ ์์์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํ ํ์ ์์ด ์์์ ์์น์ ๊ณง์ฅ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐฉ์
- ์๋ฅผ ๋ค์ด 100๋ฒ์ง์ ์๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ณ ์ ํ ๋, 1๋ฒ์ง, 2๋ฒ์ง, ..., 100๋ฒ์ง ์์ผ๋ก ์ ๊ทผํ ํ์ ์์ด ๊ณง์ฅ 100๋ฒ์ง๋ก ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
- ์ฆ, ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ ์ด๋์ ์์นํ๋ ๋ฐ์ดํฐ ์ ๊ทผ ์๊ฐ์ด ๋์ผํ๋ค.
์์ฐจ ์ ๊ทผ: ํน์ ์์น์ ์ ์ฅ๋ ์์์ ์ ๊ทผํ๊ธฐ ์ํด ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํ๋ ๋ฐฉ์์ผ๋ก, ์ด๋ค ์์น์ ์ ๊ทผํ๋๋์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ ๊ทผ ์๊ฐ์ด ๋ค๋ฅด๋ค.
RAM ์ข ๋ฅ
1. DRAM(Dynamic RAM)
์๊ฐ์ด ์ง๋๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋์ ์ผ๋ก ๋ณํ๋(์ฌ๋ผ์ง๋) ํน์ฑ์ ๊ฐ์ง RAM์ด๋ค.
- ๋ฐ์ดํฐ์ ์๋ฉธ์ ๋ง๊ธฐ ์ํด ์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌํ์ฑํ(๋ค์ ์ ์ฅ)ํด์ผ ํ๋ค.
- ์๋น ์ ๋ ฅ์ด ๋ฎ๊ณ , ์ ๋ ดํ๋ฉฐ, ์ง์ ๋๊ฐ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ฉ๋์ผ๋ก ์ค๊ณํ๊ธฐ ์ฉ์ดํ๋ค.
2. SRAM(Static RAM)
์๊ฐ์ด ์ง๋๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋ณํ์ง ์๋(์ฌ๋ผ์ง์ง ์๋) ํน์ฑ์ ๊ฐ์ง RAM์ด๋ค.
- ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๋๋ค๊ณ ๋นํ๋ฐ์ฑ ์ ์ฅ์ฅ์น๋ผ๋ ๊ฑด ์๋๋ค. SRAM๋ ์ ์์ด ๊ณต๊ธ๋์ง ์์ผ๋ฉด ์ ์ฅ๋ ๋ด์ฉ์ด ์์ค๋๋ค.
- ์๋๋ DRAM๋ณด๋ค ๋น ๋ฅด์ง๋ง, ์๋น ์ ๋ ฅ์ด ํฌ๊ณ , ๋น์ธ๊ณ , ์ง์ ๋๋ ๋ฎ๋ค. ๋์ฉ๋์ผ๋ก ๋ง๋ค ํ์๋ ์์ง๋ง ์๋๊ฐ ๋นจ๋ผ์ผ ํ๋ ์ ์ฅ์ฅ์น(ex: ์บ์ ๋ฉ๋ชจ๋ฆฌ)์์ ์ฌ์ฉ๋๋ค.
โ '์ง์ ๋๊ฐ ๋๋ค'์ ์๋ฏธ
์ง์ ๋๊ฐ ๋๋ค๋ ๊ฒ์ ๋ ์๊ณ ๋นฝ๋นฝํ๊ฒ ๋ง๋ค ์ ์๋ค๋ ์๋ฏธ์ด๋ค.
1๋นํธ ์ ์ฅ ๊ณต๊ฐ์ ๋ง๋๋๋ฐ DRAM์ ํธ๋์ง์คํฐ๊ฐ 1๊ฐ๊ฐ ํ์ํ์ง๋ง, SRAM์ ํธ๋์ง์คํฐ๊ฐ 4๊ฐ ํ์ํ๋ค.
- ํธ๋์ง์คํฐ: ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๊ธฐ ์ํด ํน์ ์ปคํจ์ํฐ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋ด๋นํด Access Transistor๋ผ๊ณ ํ๋ค.
- ์ปคํจ์ํฐ: ์ ํ๊ฐ ์ ์ฅ๋์ด ์๋์ง, ์ ์ฅ๋์ด ์์ง ์์์ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ 0๊ณผ 1์ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ์์
3. SDRAM(Synchronous Dynamic RAM)
ํด๋ญ ์ ํธ์ ๋๊ธฐํ๋, ๋ณด๋ค ๋ฐ์ ๋ ํํ์ DRAM์ด๋ค.
- ํด๋ญ ํ์ด๋ฐ์ ๋ง์ถฐ CPU์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ DRAM์ด๋ค.
4. DDR SDRAM(Double Data Rate SDRAM)
๋์ญํญ์ ๋ํ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ SDRAM์ผ๋ก, SDRAM์ด ํ ํด๋ญ๋น ํ ๋ฒ์ฉ CPU์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค๋ฉด, DDR SDRAM์ ๋ ๋ฐฐ์ ๋์ญํญ์ผ๋ก ํ ํด๋ญ๋น ๋ ๋ฒ์ฉ CPU์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
์ฆ, DDR SDRAM์ SDRAM๋ณด๋ค ์ ์ก ์๋๊ฐ ๋ ๋ฐฐ ๊ฐ๋ ๋น ๋ฅด๋ค.
- ํ ํด๋ญ๋น ํ๋์ฉ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ SDRAM์ SDR SDRAM(Single Data Rate SDRAM)๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
๋์ญํญ(data rate): ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๊ธธ์ ๋๋น
DDR2 SDRAM์ DDR SDRAM๋ณด๋ค ๋์ญํญ์ด ๋ ๋ฐฐ ๋์ SDRAM์ ์๋ฏธํ๊ณ , DDR3 SDRAM์ ๋์ญํญ์ด DDR2 SDRAM๋ณด๋ค ๋ ๋ฐฐ ๋๊ณ , SDR SDRAM๋ณด๋ค ์ฌ๋ ๋ฐฐ ๋์ SDRAM์ด๋ค.
์ต๊ทผ์ ํํ ๋ณผ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ DDR4 SDRAM์ด๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ด ๋ฃ๋ ์์ - ๋น ์๋์๊ณผ ๋ฆฌํ ์๋์
ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํธ ๋จ์๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค. ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ๋ CPU๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํธ ๋จ์๊ฐ ์๋ 4๋ฐ์ดํธ(32๋นํธ), 8๋ฐ์ดํธ(64๋นํธ)์ธ ์๋ ๋จ์๋ก ๋ฐ์๋ค์ธ๋ค.
์ฌ๋ฌ ๋ฐ์ดํธ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ฃผ์์ ๊ฑธ์ณ ์ ์ฅํ๋ค. ์ฆ, ํ ์ฃผ์์ 1๋ฐ์ดํธ์ฉ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ๋ 4๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ 4๊ฐ์ ์ฃผ์์ ์ ์ฅํ๊ณ , 8๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ 8๊ฐ์ ์ฃผ์์ ์ ์ฅํ๋ค.
ex) 16์ง์ 1A2B3C4D๋ 1A, 2B, 3C, 4D๋ก ๋์ 4๊ฐ์ ์ฃผ์์ ์ ์ฅ๋๋ค. (16์ง์ ํ๋๋ฅผ ์ ์ฅํ๋ ๋ฐ 4๋นํธ๊ฐ ํ์ํ๋ค. 16์ง์ 2๊ฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ 8๋นํธ์ธ 1๋ฐ์ดํธ๊ฐ ํ์ํ๋ค.)
๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ ์ฐ์ํด์ ์ ์ฅํด์ผ ํ๋ ๋ฐ์ดํธ๋ฅผ ์ด๋ค ์์๋ก ์ ์ฅํ๋์ง์ ๋ฐ๋ผ ๋น ์๋์๊ณผ ๋ฆฌํ ์๋์์ผ๋ก ๋๋๋ค.
MSB(Most Significant Bit): ์ซ์์ ํฌ๊ธฐ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ ์ ํจ ์ซ์์ธ ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ๋นํธ
LSB(Least Significant Bit): ์ซ์์ ํฌ๊ธฐ์ ๊ฐ์ฅ ์ ์ ์ํฅ์ ๋ฏธ์น๋ ์ ํจ ์ซ์์ธ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์๋ ๋นํธ
ex) 10์ง์ 123์์ MSB๋ 1์ด๊ณ , LSB๋ 3์ด๋ค.
๋น ์๋์(big endian)
๋ฎ์ ๋ฒ์ง์ ์ฃผ์์ ์์ ๋ฐ์ดํธ๋ถํฐ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
ex) 16์ง์ 1A2B3C4D์์ ๊ฐ์ฅ ํฐ ์, ์ฆ ์ต์์ ๋ฐ์ดํธ๋ 1A์ด๋ค. ๋ฎ์ ๋ฒ์ง์ ์ต์์ ๋ฐ์ดํธ ๋จผ์ ์ ์ฅํ๋ค.
- ์ผ์์ ์ผ๋ก ์ซ์ ์ฒด๊ณ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์์์ ๋์ผํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ง์ ์ฝ๊ฑฐ๋, ๋๋ฒ๊น ํ ๋ ํธํ๋ค.

๋ฆฌํ ์๋์(little endian)
๋ฎ์ ๋ฒ์ง์ ์ฃผ์์ ํ์ ๋ฐ์ดํธ๋ถํฐ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
ex) 16์ง์ 1A2B3C4D์์ ๊ฐ์ฅ ์์ ์, ์ฆ ์ตํ์ ๋ฐ์ดํธ๋ 4D์ด๋ค. ๋ฎ์ ๋ฒ์ง์ ์ตํ์ ๋ฐ์ดํธ ๋จผ์ ์ ์ฅํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ง์ ์ฝ๊ณ ์ฐ๊ธฐ๋ ๋ถํธํ์ง๋ง, ์์น ๊ณ์ฐํ๊ธฐ ํธ๋ฆฌํ๋ค.
ex) 123+456 ๋ง์ ์ ํ ๋, ๊ฐ์ฅ ์์ ๊ฐ์ธ ์ผ์ ์๋ฆฟ์ 3๊ณผ 6๋ถํฐ ๊ณ์ฐํด ๋๊ฐ๋ฏ ๊ฐ์ฅ ์์ ๊ฐ๋ถํฐ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ์ ์์์ ์์ ์์น ๊ณ์ฐํด ๋๊ฐ๊ฑฐ๋ ์๋ฆฌ์ฌ๋ฆผํ ์ ์๋ค.

์บ์ ๋ฉ๋ชจ๋ฆฌ
CPU๋ ํ๋ก๊ทธ๋จ ์คํ ๊ณผ์ ์์ ์์ฃผ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํด์ผ ํ๋ค. ํ์ง๋ง CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ์๋๋ CPU๊ฐ ๋ ์ง์คํฐ์ ์ ๊ทผํ๋ ์๋๋ณด๋ค ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ CPU์ ์ฐ์ฐ ์๋๊ฐ ์๋ฌด๋ฆฌ ๋นจ๋ผ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ์๋๊ฐ ๋๋ฆฌ๋ฉด CPU์ ๋น ๋ฅธ ์ฐ์ฐ ์๋๋ ์๋ฌด๋ฐ ํจ์ฉ์ด ์๋ค.
์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋์จ ๊ฒ์ด '์บ์ ๋ฉ๋ชจ๋ฆฌ'์ด๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ(cache memory)๋ CPU์ ์ฐ์ฐ ์๋์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์๋์ ์ฐจ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด ํ์ํ ์ ์ฅ์ฅ์น๋ก, CPU์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ์์นํ SRAM ๊ธฐ๋ฐ์ ์ ์ฅ์ฅ์น์ด๋ค.
- ๋ฉ๋ชจ๋ฆฌ์์ CPU๊ฐ ์ฌ์ฉํ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์ ํ์ฉํ๋ค.
- ์ฝ์ด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ L1 ์บ์, ๊ทธ ๋ค์์ผ๋ก ๊ฐ๊น์ด ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ L2 ์บ์, ๊ทธ ๋ค์์ผ๋ก ๊ฐ๊น์ด ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ L3 ์บ์๋ผ๊ณ ํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก L1 ์บ์์ L2 ์บ์๋ ์ฝ์ด ๋ด๋ถ์, L3 ์บ์๋ ์ฝ์ด ์ธ๋ถ์ ์์นํด ์๋ค. ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ: L1 < L2 < L3, ์๋: L3 < L2 < L1
- CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค๊ณ ํ๋จํ๋ฉด ์ฐ์ L1 ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์๋์ง ์์๋ณด๊ณ , ์๋ค๋ฉด L2, L3 ์บ์ ๋ฉ๋ชจ๋ฆฌ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ค.
- ๋ฉํฐ ์ฝ์ด ํ๋ก์ธ์์ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ผ๋ก L1 ์บ์ ๋ฉ๋ชจ๋ฆฌ์ L2 ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฝ์ด๋ง๋ค ๊ณ ์ ํ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ก ํ ๋นํ๊ณ , L3 ์บ์๋ ์ฌ๋ฌ ์ฝ์ด๊ฐ ๊ณต์ ํ๋ ํํ๋ก ๊ตฌํ๋๋ค.

- L1 ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ช ๋ น์ด๋ง ์ ์ฅํ๋ L1I ์บ์์ ๋ฐ์ดํฐ๋ง ์ ์ฅํ๋ L1D ์บ์๋ก ๊ตฌ๋ถ๋๊ธฐ๋ ํ๋ค. ์ด๋ฌํ ์ ํ์ ๋ถ๋ฆฌํ ์บ์๋ผ๊ณ ํ๋ค.

์บ์ ํํธ์ ์บ์ ๋ฏธ์ค
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ชจ๋ ๋ด์ฉ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ์ ์ ์ฅํ ์ ์๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ผ๋ถ๋ฅผ ๋ณต์ฌํด ์ ์ฅํ๋ ๊ฒ์ฒ๋ผ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ผ๋ถ๋ฅผ ๋ณต์ฌํด ์ ์ฅํ๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ CPU๊ฐ ์ฌ์ฉํ ๋ฒํ ๊ฒ์ ์ ์ฅํ๋ค.
์บ์ ํํธ: ์บ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ธกํด ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ CPU์ ์ํด ์ค์ ๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ
์บ์ ๋ฏธ์ค: ์์ฃผ ์ฌ์ฉ๋ ๊ฒ์ผ๋ก ์์ธกํด ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ์ง๋ง ํ๋ฆฐ ์์ธก์ผ๋ก ์ธํด CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ
์บ์ ์ ์ค๋ฅ : ์บ์๊ฐ ํํธ๋๋ ๋น์จ
$$์บ์ ์ ์ค๋ฅ = \frac{์บ์ ํํธ ํ์}{(์บ์ ํํธ ํ์ + ์บ์ ๋ฏธ์ค ํ์)}$$
์ฐธ์กฐ ์ง์ญ์ฑ์ ์๋ฆฌ
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฐธ์กฐ ์ง์ญ์ฑ์ ์๋ฆฌ๋ผ๋ ํน์ ํ ์์น์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๊ฐ์ ธ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐ์ ํ๋ค.
์ฐธ์กฐ ์ง์ญ์ฑ์ ์๋ฆฌ: CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ๋ ๋ณด์ด๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ๋ ๊ฒฝํฅ์ ์๋ฏธํ๋ค.
- ์๊ฐ ์ง์ญ์ฑ: CPU๋ ์ต๊ทผ์ ์ ๊ทผํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค์ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ์ด ์๋ค.
- ๊ณต๊ฐ ์ง์ญ์ฑ: CPU๋ ์ ๊ทผํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ทผ์ฒ์ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ์ด ์๋ค.
์๊ฐ ์ง์ญ์ฑ
์ต๊ทผ์ ์ ๊ทผํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค์ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ
ex) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ณ์์ด๋ค. ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ํ ๋ฒ๋ง ์ฌ์ฉ๋์ง ์๊ณ , ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉ๋๋ค.
์ฆ, CPU๋ ์ต๊ทผ์ ์ ๊ทผํ๋ (๋ณ์๊ฐ ์ ์ฅ๋)๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ๋ฌ ๋ฒ ๋ค์ ์ ๊ทผํ ์ ์๋ค.
๊ณต๊ฐ ์ง์ญ์ฑ
์ ๊ทผํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ทผ์ฒ์ ์ ๊ทผํ๋ ค๋ ๊ฒฝํฅ
ex) ๋ฐฐ์ด
const matrix = Array.from({ length: 20000 }, () => Array.from({ length: 20000 }, () => 0));
// ํ ์ด์ ๋ชจ๋ ํ์ ์ํํ๊ณ , ๊ทธ ๋ค์ ์ด์ ๋ชจ๋ ์ด์ ์ํํ๋ ๋ฐฉ์์ผ๋ก 2์ฐจ์ ๋ฐฐ์ด ์ ๊ทผ
for (let i = 0; i < 20000; i++) {
for (let j = 0; j < 20000; j++) {
matrix[i][j] = 1;
}
}
// ํ ํ์ ๋ชจ๋ ์ด์ ์ํํ๊ณ , ๊ทธ ๋ค์ ํ์ ๋ชจ๋ ์ด์ ์ํํ๋ ๋ฐฉ์์ผ๋ก 2์ฐจ์ ๋ฐฐ์ด ์ ๊ทผ
for (let i = 0; i < 20000; i++) {
for (let j = 0; j < 20000; j++) {
matrix[j][i] = 1;
}
}
์ฒซ ๋ฒ์งธ ์ด์ค ๋ฐ๋ณต๋ฌธ๊ณผ ๋ ๋ฒ์งธ ์ด์ค ๋ฐ๋ณต๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ๊ณต๊ฐ ์ง์ญ์ฑ ์ธก๋ฉด์์ ์ฐจ์ด๊ฐ ์กด์ฌํด ์ค์ ์คํ ์๋๊ฐ ํฌ๊ฒ ์ฐจ์ด๋๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ ์ ์ฑ ๊ณผ ์ผ๊ด์ฑ
CPU๊ฐ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ธ ๋๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋กญ๊ฒ ์ฐ์ฌ์ง ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํ๋ค.
ex) ํ์ฌ ๋ฉ๋ชจ๋ฆฌ 1000๋ฒ์ง์ 200์ด๋ผ๋ ๊ฐ์ด ์ ์ฅ๋์ด ์๊ณ , ์ด ๊ฐ์ด ์บ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์ ์ฅ๋์ด ์์ ๋, CPU๊ฐ ์ด ๊ฐ์ 200์์ 300์ผ๋ก ๋ฐ๊พธ๊ณ ์ถ์ ๊ฒฝ์ฐ
CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ 1000๋ฒ์ง๋ก ๊ฐ์ 300์ ๋ฐ๊พธ๋ ๋ฐฉ์์ ์ณ์ง ์๋ค. ๊ทธ ์ด์ ๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ 1000๋ฒ์ง ๊ฐ์ ์ฐธ์กฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ๋ช ๋ น์ด 1: 1000๋ฒ์ง ๊ฐ์ 300์ผ๋ก ๋ฐ๊พธ๊ธฐ → ๋ฉ๋ชจ๋ฆฌ 1000๋ฒ์ง ๊ฐ: 300, ์บ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ๊ฐ: 200
- ๋ช ๋ น์ด 2: 1000๋ฒ์ง ๊ฐ ์ถ๋ ฅ → ์บ์ ๋ฉ๋ชจ๋ฆฌ ์ฝ์ด ๋ค์ผ ๊ฒฝ์ฐ ์ฌ์ ํ 200 ์ถ๋ ฅ
์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์บ์ ๋ฉ๋ชจ๋ฆฌ ์ฐ๊ธฐ ์ ์ฑ 2๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.
- ์ฆ์ ์ฐ๊ธฐ(write-through)
์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋์์ ์ฐ๋ ๋ฐฉ๋ฒ
์ฅ์ : ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํญ์ ์ต์ ์ํ๋ก ์ ์งํ์ฌ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ผ๊ด์ฑ์ด ๊นจ์ง๋ ์ํฉ ๋ฐฉ์ง
๋จ์ : ๋ฐ์ดํฐ๋ฅผ ์ธ ๋๋ง๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํด์ผ ํ๋ฏ๋ก ๋ฒ์ค์ ์ฌ์ฉ ์๊ฐ๊ณผ ์ฐ๊ธฐ ์๊ฐ์ด ๋์ด๋จ - ์ง์ฐ ์ฐ๊ธฐ(write-back)
์บ์ ๋ฉ๋ชจ๋ฆฌ์๋ง ๊ฐ์ ์จ ๋์๋ค๊ฐ ์ถํ ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ํ๋ ๋ฐฉ๋ฒ
์ฅ์ : ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํ์๋ฅผ ์ค์ผ ์ ์์ด ์ฆ์ ์ฐ๊ธฐ๋ณด๋ค ์๋๊ฐ ๋น ๋ฆ
๋จ์ : ๋ฉ๋ชจ๋ฆฌ์ ์บ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ผ๊ด์ฑ์ด ๊นจ์ง ์ ์์
์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ถ์ผ์น ๋ฌธ์ ๋ฟ๋ง ์๋๋ผ, ๋ค๋ฅธ ์ฝ์ด๊ฐ ์ฌ์ฉํ๋ ์บ์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ถ์ผ์น๋ ๋ฐ์ํ ์ ์๋ค. ์ฆ, ์บ์ฑ์ ํ๋ค๋ ๊ฒ์ ๋ฐ์ดํฐ ์ ๊ทผ์ ์์ด ์ด๋ ์ ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ณด์ฅํ ์ ์์ง๋ง, ๊ทธ์ ๋์์ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ์ฑ ์์ด ๋ฐ๋ฅด๋ ๋ฐฉ์์ด๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ปดํจํฐ ๊ณผํ์ด๋ค.