๐Ÿ“Œ Memory Management 2

๋ชจ๊น…ยท2023๋…„ 6์›” 10์ผ
0

๐Ÿ“– 01. Paging

  • ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ™์€ ํฌ๊ธฐ์˜ page๋กœ ์ž˜๋ผ์„œ ํŽ˜์ด์ง€ ๋ณ„๋กœ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ๋‹นํ•œ ์œ„์น˜์— ์˜ฌ๋ฆฌ๋Š” ๊ธฐ๋ฒ•
    -> ๊ฐ ํŽ˜์ด์ง€๋ฅผ ์ฃผ์†Œ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด Page table์ด๋ผ๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค.

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ๊ฒƒ์€ ๊ฐ๊ฐ์˜ ๋…ผ๋ฆฌ์  ํŽ˜์ด์ง€๋“ค์ด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์–ด๋””์— ์œ„์น˜ํ•ด์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ํ…Œ์ด๋ธ”
    -> ๋…ผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€์˜ ๊ฐœ์ˆ˜๋งŒํผ ์—”ํŠธ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.

  • ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํŽ˜์ด์ง€๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ page frame์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

  • ํ…Œ์ด๋ธ”์„ ๋‹ค๋ฅธ์‹์œผ๋กœ ๊ทธ๋ฆฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • P : Page

  • d : ํŽ˜์ด์ง€ ๋งจ ์•ž์—์„œ ์–ผ๋งˆ๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” offset

  • f : ๋ช‡ ๋ฒˆ์งธ ํ”„๋ ˆ์ž„์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ๊ทธ๋ ‡๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ์–ด๋””์— ๋“ค์–ด๊ฐ€์•ผ ํ• ๊นŒ?

๐Ÿ“– 02. Implementation of Page Table

  • ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ๋ณ„๋„๋กœ ์กด์žฌํ•ด์•ผํ•œ๋‹ค. + Page๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ด๋ธ”์€ register์— ์ง‘์–ด๋„ฃ์„ ์ˆ˜๋„ ์—†๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ณ€ํ™˜์ธ๋ฐ ๋””์Šคํฌ์— ๋„ฃ์„ ์ˆ˜ ์—†๊ณ  ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹œ์—๋„ ๋„ฃ์„ ์ˆ˜ ์—†๋‹ค.
    -> ๋ฉ”๋ชจ๋ฆฌ์— ๋„ฃ๋Š”๋‹ค.
    -> ์ฃผ์†Œ๋ณ€ํ™˜์„ ํ•˜๋ ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ํ•„์š”ํ•˜๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•œ๋‹ค.
    -> ๋”ฐ๋ผ์„œ 2๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋‹ค.

  • MMU์— ์žˆ๋˜ 2๊ฐœ์˜ registers๋Š” page๊ธฐ๋ฒ•์—์„œ Page-table base register๊ณผ Page-table length register๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
    ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ํ…Œ์ด๋ธ”์ด ์–ด๋”” ์กด์žฌํ•œ๋Š”์ง€๋ฅผ PTBR์ด ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๊ธธ์ด๋ฅผ RTLR์ด ํ…Œ์ด๋ธ” ํฌ๊ธฐ๋ฅผ ๋ณด๊ด€ํ•œ๋‹ค.

  • 2๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์€ ์ƒ๋‹นํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๋‹ค.
    -> 1๋ฒˆ๋งŒ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ž!
    -> TLB๋ผ๋Š” ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ ๋ณ„๋„์˜ ์บ์‹œ๋ฅผ ๋‘๊ณ ์žˆ๋‹ค.
    -> TLB
    -> ๋นˆ๋ฒˆํžˆ ์ฃผ์†Œ ๋ณ€ํ™˜์ด ๋˜๋Š” ๊ฒƒ์„ ์บ์‹ฑํ•ด๋‘๊ณ  ์žˆ๋‹ค.

  • CPU๊ฐ€ ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋ฅผ ์ฃผ๊ฒŒ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ ‘๊ทผํ•˜๊ธฐ ์ „์— TLB๋ฅผ ๋จผ์ € ๊ฒ€์ƒ‰ํ•œ๋‹ค.
    -> ๋งŒ์•ฝ P์— ํ•ด๋‹นํ•˜๋Š” TLB์— ์ €์žฅ์ด ๋˜์–ด์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ์ฃผ์†Œ๋ณ€ํ™˜์„ ํ•ด์ฃผ์ž.
    -> ์ด๋Ÿด ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ์ ‘๊ทผํ•œ๋‹ค.

  • TLB๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋นˆ๋ฒˆํžˆ ์ฐธ์กฐ๋˜๋Š” ๋ช‡๊ฐ€์ง€๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  • TLB์˜ ํŠน์ • ํ•ญ๋ชฉ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋‘๋ฅผ ๊ฒ€์‚ฌํ•ด์•ผ ํ•œ๋‹ค.
    -> ์—†๋‹ค๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ํ†ตํ•ด ์ฃผ์†Œ๋ณ€ํ™˜์„ ํ•ด์•ผํ•œ๋‹ค.
    -> TLB๋Š” ์ „์ฒด๋ฅผ ์„œ์น˜ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.
    -> ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด Associative register์„ ์ด์šฉํ•ด์„œ parallel search๋ฅผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค.

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๋…ผ๋ฆฌ์ฃผ์†Œ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ธ๋ฑ์Šค๋กœ ๋ฐ”๋กœ ์ ‘๊ทผํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— parallel search๊ฐ€ ํ•„์š”์—†๋‹ค. (๋ฐฐ์—ด)

  • ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๊ณ ์œ ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฐ–๋Š”๊ฒƒ์ฒ˜๋Ÿผ TLB๋„ ๊ณ ์œ ํ•˜๋‹ค.
    -> ๋”ฐ๋ผ์„œ TLB์€ context swich ๋•Œ flushํ•ด์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›Œ์•ผ ํ•œ๋‹ค.

  • ๊ทธ๋Ÿฌ๋ฉด ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

  • TLB๋ฅผ ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์„ ์ž…์‹ค๋ก  ์ด๋ผ๊ณ  ํ•˜์ž.
    -> ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„ 1๋ณด๋‹ค๋Š” ์ž‘์„ ๊ฒƒ์ด๋‹ค.

  • TLB๋กœ๋ถ€ํ„ฐ ์ฃผ์†Œ๋ณ€ํ™˜์ด ๋˜๋Š” ๋น„์œจ์„ ์•ŒํŒŒ๋ผ๊ณ  ํ•˜์ž.

  • ํ…Œ์ด๋ธ”์„ ์•Œ๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ 1 + ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ 1 = 2

๐Ÿ“– 03. Two-Level Page Table

  • CPU๊ฐ€ ๋…ผ๋ฆฌ์ฃผ์†Œ๋ฅผ ์ฃผ๊ฒŒ ๋˜๋ฉด ๋‘๋‹จ๊ณ„์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฑฐ์ณ์„œ ์ฃผ์†Œ๋ณ€ํ™˜์„ ํ•˜๊ณ  ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
    -> ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    ์ปดํ“จํ„ฐ์—์„  ๋ชฉ์ ์ด ๋ณดํ†ต ๋‘๊ฐ€์ง€์ด๋‹ค.
  1. ๋น ๋ฅด๊ฒŒ ํ•˜๋˜์ง€
  2. ๊ณต๊ฐ„์„ ์ค„์ด๋˜์ง€
  • ์†๋„๋Š” ์ค„์–ด๋“ค์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ„ํ•œ ๊ณต๊ฐ„์ด ์ค„์–ด๋“œ๋Š”๊ฒƒ์ด ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์ด๋‹ค.

  • ํ˜„๋Œ€ ์ปดํ“จํ„ฐ์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์ฒด๊ณ„๊ฐ€ ๊ต‰์žฅํžˆ ํฌ๋‹ค. 32~64bit๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    -> 32bit๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜์ž.

  • ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๊ฐ€ 32bit๋กœ ๊ตฌ์„ฑ์ด ๋˜๋ฉด virtual memory์˜ ํฌํ‚ค๋Š” 32bit ์ด๋‹ค.
    -> ์ฆ‰, ๊ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ€ 32bit์ธ ๊ฒƒ์ด๋‹ค.
    -> ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํฌ๋ฉด ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น ๋ฅผ ๊ฒƒ์ด๋‹ค.
    -> ๋…ผ๋ฆฌ ์ฃผ์†Œ(virtual memory)๊ฐ€ ํฌ๋”๋ผ๋„ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋Š๋ฆฌ๋”๋ผ๋„ ์‹คํ–‰์€ ๋  ๊ฒƒ์ด๋‹ค.

  • ํ”„๋กœ๊ทธ๋žจ ๋งˆ๋‹ค ๊ฐ€์ง€๊ณ  ์žˆ๋Š” virtual memory๊ฐ€ ์–ผ๋งˆ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ๊ฐ€๋Š” ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ์ฒด๊ณ„๋ฅผ ๋ช‡ bit์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค.

  • ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์ฃผ์†Œ๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋ฐฐ๊ฒจ์ง„๋‹ค.
    -> ์ฃผ์†Œ๊ฐ€ 32bit๋ผ๋ฉด ์ด๊ฑธ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ „์ฒด ๋ฐ”์ดํŠธ ์ฃผ์†Œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ”์ดํŠธ๋ฅผ ๋ช‡๊ฐœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋ƒ?
    -> 2^32-1๋ฒˆ์ง€๊นŒ์ง€ ์ฃผ์†Œ๋ฅผ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค.
    -> ์ฆ‰, virtual memory๋Š” 4GB๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ํŽ˜์ด์ง€๋Š” ํ•œ๊ฐœ๋‹น 4KB์ด๋‹ค.
    -> ๋”ฐ๋ผ์„œ 4GB๋ผ๋Š” ๊ณต๊ฐ„์„ 4KB๋กœ ์ž๋ฅธ๋‹ค๋ฉด ํŽ˜์ด์ง€ 1M๊ฐœ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.
    -> ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋˜ํ•œ 1M๊ฐœ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ํ•„์š”ํ•˜๋‹ค.
    -> ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋ฉด ๊ฐ ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ๋”ฐ๋กœ ์กด์žฌํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ์— ๋„ฃ์œผ๋ฉด ๊ณต๊ฐ„ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.
    -> 1M ๊ฐœ์˜ ์—”๋“œ๋ฆฌ๊ฐ€ ์žˆ๊ณ  ๊ฐ entry๊ฐ€ 4B๋‹ˆ๊นŒ 4MB์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค.

  • virtual memory์—๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋…ผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กด์žฌ ํ•  ๊ฒƒ์ด๋‹ค.
    -> ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ ์ „์ฒด ๊ณต๊ฐ„์—์„œ ์ผ๋ถ€ ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.
    -> ํ•˜์ง€๋งŒ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”์—†๋‹ค๊ณ  ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ๋น„์šฐ๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค.
    -> ๋ชจ๋‘ ์ฑ„์›Œ์•ผ ํ•จ!
    -> ๊ณต๊ฐ„ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.
    -> ๊ทธ๋ž˜์„œ 2๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์ž.

  • ์•ˆ์ชฝ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ํŽ˜์ด์ง€ ํฌ๊ธฐ์™€ ๊ฐ™๋‹ค. (4KB)
    -> ์•ˆ์ชฝ ํ…Œ์ด๋ธ” ํ…Œ์ด์ง€ ์ž์ฒด๊ฐ€ ํŽ˜์ด์ง€ํ™” ๋˜์–ด์„œ ํŽ˜์ด์ง€ ์–ด๋”˜๊ฐ€์— ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.
    -> entry 1๊ฐœ๋‹น 4B์‹œ 1K๊ฐœ์˜ entry๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

  • ๋ฐ”๊นฅ์ชฝ ํŽ˜์ด์ง€, ์•ˆ์ชฝ ํŽ˜์ด์ง€, ํŽ˜์ด์ง€ offset์ด ๋ช‡ bit๋กœ ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค.
    -> ์•ˆ์ชฝ๋ถ€ํ„ฐ ์ฑ„์šฐ๋ฉด ๋œ๋‹ค.

  • Page ํ•˜๋‚˜์˜ ํฌ๊ธฐ๊ฐ€ 4KB์ด๊ธฐ ๋•Œ๋ฌธ์— 4KB์•ˆ์—์„œ byte๋‹จ์œ„๋กœ ์ฃผ์†Œ๊ตฌ๋ถ„์„ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋ช‡ bit๊ฐ€ ํ•„์š”ํ• ๊นŒ?
    -> 4KB = 2^12byte๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 12bit๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

  • ์•ˆ์ชฝ ํ…Œ์ด๋ธ”์ด ํŽ˜์ด์ง€ํ™” ๋˜์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๋“ค์–ด๊ฐ„๋‹ค.
    -> ์ฆ‰, ์•ˆ์ชฝ ํ…Œ์ด๋ธ”์ด 4KB๋ž€ ์ด์•ผ๊ธฐ์ด๊ณ  entryํฌ๊ธฐ๊ฐ€ 4B์ด๊ธฐ ๋•Œ๋ฌธ์— entry ์ˆ˜๋Š” 1K๊ฐœ ์žˆ๋‹ค.
    -> P2๋ผ๋Š” ๊ฒƒ์€ ์•ˆ์ชฝ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ offset์„ ์ด์•ผ๊ธฐ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
    -> ์ฆ‰ entry๋ฅผ ์ด์•ผ๊ธฐ ํ•˜๋Š” ๊ฒƒ์ด๊ณ  1K = 2^10
    -> 10bitํ•„์š”ํ•˜๋‹ค.

  • 64bit ์ฃผ์†Œ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜์ž.
    -> ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๋˜‘๊ฐ™์ด 4KB์ด๊ณ  2๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•œ๋‹ค.
    -> ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?
    ->

  • 2๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๊ฐ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ„ํ•œ ๊ณต๊ฐ„์„ ์ค„์—ฌ์ค€๋‹ค.





[์ถœ์ฒ˜] ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜

profile
๋ฉˆ์ถ”์ง€ ์•Š๊ธฐ

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