Skip to content

Latest commit

ย 

History

History
319 lines (210 loc) ยท 16 KB

Memory Management.md

File metadata and controls

319 lines (210 loc) ยท 16 KB

Memory

Memory ๋ž€

ํ”ํžˆ RAM(Random Access Memory)๋ฅผ ๋งํ•˜๋ฉฐ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ์–ต์žฅ์น˜

๋žจ ์šฉ๋Ÿ‰์ด ํฌ๋ฉด ํด์ˆ˜๋ก ๋งŽ์€ ํ”„๋กœ์„ธ์„œ์˜ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋‘˜ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•ด์•ผํ•  ์ผ์„ ์˜ฌ๋ ค๋‘˜ ์ˆ˜ ์žˆ๋Š” ์ฑ…์ƒ ์— ๋งŽ์ด ๋น„์œ ํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์˜ ์ข…๋ฅ˜

  • SRAM(Static RAM)

SRAM์€ ๊ฐ ๋น„ํŠธ๋ฅผ ์ด์ค‘์•ˆ์ •(bistable) ๋ฉ”๋ชจ๋ฆฌ ์…€์— ์ €์žฅํ•œ๋‹ค. ์ด์ค‘์•ˆ์ • ๋ณธ์„ฑ์œผ๋กœ ์ธํ•ด SRAM ๋ฉ”๋ชจ๋ฆฌ ์…€์€ ์ž์‹ ์˜ ๊ฐ’์„ ์ „์›์ด ๊ณต๊ธ‰๋˜๋Š” ํ•œ ์œ ์ง€ํ•œ๋‹ค. SRAM์€ DRAM๊ณผ ๋‹ฌ๋ฆฌ refresh๊ฐ€ ํ•„์š” ์—†๊ณ , ์™ธ๋ž€์— ๋ฏผ๊ฐํ•˜์ง€ ์•Š๋‹ค. ๋Œ€์‹  DRAM๋ณด๋‹ค ํŠธ๋žœ์ง€์Šคํ„ฐ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ ๋” ๋‚ฎ์€ ๋ฐ€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ๋” ๋น„์‹ธ๊ณ  ๋” ๋งŽ์€ ์ „๋ ฅ์„ ์†Œ๋ชจํ•œ๋‹ค

  • ex) ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ
  • DRAM(Dynamic RAM)

DRAM์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ์ฝ์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์จ ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ refreshํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ DRAM์€ ๋น›์ด๋‚˜ ์ „๊ธฐ์  ์žก์Œ ๊ฐ™์€ ์™ธ๋ž€์— ๋ฏผ๊ฐํ•˜๋‹ค.

  • ex) ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ, ๊ทธ๋ž˜ํ”ฝ ์‹œ์Šคํ…œ์˜ ํ”„๋ ˆ์ž„ ๋ฒ„ํผ

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

๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ข…๋ฅ˜

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

Memory Management

ํ•œ์ •์ ์ธ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•

Logical address(=virtual address)

  • ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ€์ง€๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„
  • ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค 0๋ฒˆ์ง€๋ถ€ํ„ฐ ์‹œ์ž‘
  • CPU๊ฐ€ ๋ณด๋Š” ์ฃผ์†Œ

Physical address

  • ๋ฉ”๋ชจ๋ฆฌ์— ์‹ค์ œ๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ์œ„์น˜

Address Binding

์ฃผ์†Œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ.
Symbolic Address -> "Logical Address -> Physical Address" ์˜ ๊ณผ์ •์—์„œ ๊ฒฐ์ •

Symbolic Address

๋ณ€์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ๊ฐ™์ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ
ex) int * a=&n;

Compile time

๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ€ ์ปดํŒŒ์ผ ์‹œ ๊ฒฐ์ •๋จ
๊ณ ์ •๋œ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์ž‘ ์œ„์น˜ ๋ณ€๊ฒฝ๋˜๋ฉด ์žฌ์ปดํŒŒ์ผ ํ•ด์•ผํ•œ๋‹ค
์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ ˆ๋Œ€ ์ฃผ์†Œ(absolute address) ์ƒ์„ฑ
๋…ผ๋ฆฌ์  ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ€ ๋™์ผํ•จ

  • ์ฃผ์†Œ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ ๋–„๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ๋นˆ ๊ณต๊ฐ„์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„ ๋น„ํšจ์œจ์ ์ด๊ณ  ๋กœ๋“œํ•˜๋ ค๋Š” ์ฃผ์†Œ์— ์ด๋ฏธ ๋‹ค๋ฅธ ํ”„๋กœ์Šค์„ธ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Load time

Loader๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— load ํ•˜๋Š” ์‹œ์ ์— ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๊ฒฐ์ • ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ๋น„์–ด์žˆ๋Š” ์œ„์น˜์— ์–ธ์ œ๋“  ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์žฌ๋ฐฐ์น˜๊ฐ€๋Šฅ์ฝ”๋“œ(relocatable code)๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค ๋‚ด์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์ด ๋งŽ์•„์„œ ์ฃผ์†Œ๋ฅผ ๋‹ค ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— load ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

Execution time(Run time)

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋  ๋–„ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ• ์ฆ‰, Runtime๋•Œ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ€ ๊ฒฐ์ •๋˜๋ฉฐ ์‹คํ–‰ ๋„์ค‘์— ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค.
CPU๊ฐ€ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋งˆ๋‹ค address mapping table์„ ์ด์šฉํ•˜์—ฌ binding์„ ์ ๊ฒ€ํ•œ๋‹ค
ํ•˜๋“œ์›จ์–ด์ ์ธ ์ง€์›์ด ํ•„์š”ํ•˜๋‹ค

  • ex) base and limit registers, MMU(Memory Management Unit)
  • MMU๋Š” ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์— base register์˜ ๊ฐ’์„ ๋”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • base register๋Š” ํ•˜๋‚˜์ด๋ฉฐ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ๊ณต์œ ํ•œ๋‹ค.

Base register(relocation register)

์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ๋‹ค

Limit register

๋…ผ๋ฆฌ์  ์ฃผ์†Œ์˜ ์ตœ๋Œ“๊ฐ’์ด๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ ํฌ๊ธฐ๋ฅผ ๋‹ด๊ณ ์žˆ๋‹ค.
์ž˜๋ชป๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๋„๋ก ๋ง‰์•„์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.

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

1. swapping

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์—์„œ backing store(swap area, ๋””์Šคํฌ)๋กœ ์ซ“์•„๋‚ด๋Š” ๊ฒƒ.

Swap in, Swap out

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ(swapper)์— ์˜ํ•ด swap out ์‹œํ‚ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” swap out ์‹œ์ผœ ๋””์Šคํฌ๋กœ ๋ณด๋‚ด๊ณ  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— load ํ•œ๋‹ค.
  • swap in ๋  ๋•Œ compile time, load time ๋ฐฉ์‹์€ ์›๋ž˜ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋กœ loadํ•ด์•ผ ํ•œ๋‹ค.
  • execution time ์—์„œ๋Š” ๋นˆ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ์•„๋ฌด ๊ณณ์—๋‚˜ loadํ•  ์ˆ˜ ์žˆ๋‹ค.
  • swap time์€ swap๋˜๋Š” ์–‘์— ๋น„๋ก€ํ•˜๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰˜์–ด ์‚ฌ์šฉ๋˜๋Š”๋ฐ

  1. ์ปค๋„์˜์—ญ
    • interrupt vetor์™€ ํ•จ๊ป˜ ๋‚ฎ์€ ์ฃผ์†Œ ์˜์—ญ ์‚ฌ์šฉ
  2. ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ

์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ์˜ ํ• ๋‹น ๋ฐฉ๋ฒ•

Contiguous allocation

  • ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์˜ ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ํ• ๋‹น์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•.

Noncontiguous allocation

  • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์— ๋ถ„์‚ฐํ•˜์—ฌ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•
  • Paging, Segmentation, Paged Segmentation

2. contiguous memory allocation

๋ง ๊ทธ๋Œ€๋กœ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹น์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

Fixed partition allocation(๊ณ ์ • ๋ถ„ํ• )

  • ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์„ ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹
  • ๋ถ„ํ• ์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ณ  ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— load๋˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐœ์ˆ˜๊ฐ€ ๊ณ ์ •๋˜๋ฉฐ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์„œ์˜ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ๋œ๋‹ค.
  • internal fragmentation, external fragmentation ๋ฐœ์ƒ

Variable partition allocation(๊ฐ€๋ณ€ ๋ถ„ํ• )

  • ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•ด์„œ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹
  • ๋ถ„ํ• ์˜ ํฌ๊ธฐ๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค
  • ๊ธฐ์ˆ ์  ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค.
  • external fragmentation ๋ฐœ์ƒ

Dynamic Storage-Allocation Problem

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์—์„œ ํฌ๊ธฐ๊ฐ€ n์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ฐ€์žฅ ์ ์ ˆํ•œ hole์„ ์ฐพ๋Š” ๋ฌธ์ œ๋กœ 3๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

Hole

  • ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„
  • ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ hole๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ ์—ฌ๋Ÿฌ ๊ณณ์— ํฉ์–ด์ ธ ์žˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•œ hole์„ ํ• ๋‹น
  • ์šด์˜์ฒด์ œ๋Š” ๋‹ค์Œ์˜ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
      1. ํ• ๋‹น๊ณต๊ฐ„
      1. ๊ฐ€์šฉ๊ณต๊ฐ„(hole)

1. First-fit

  • ํฌ๊ธฐ๊ฐ€ n ์ด์ƒํžŒ hole ์ค‘ ์ตœ์ดˆ๋กœ ๋ฐœ๊ฒฌํ•œ hole์— ํ• ๋‹น

2. Best-fit

  • ํฌ๊ธฐ๊ฐ€ n ์ด์ƒ์ธ ๊ฐ€์žฅ ์ž‘์€ hole์„ ์ฐพ์•„์„œ ํ• ๋‹น
  • hole๋“ค์˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํฌ๊ธฐ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ชจ๋“  hole์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.
  • ํ•ญ์ƒ ๊ฑฐ์˜ ๋”ฑ ๋งž๋Š” ํฌ๊ธฐ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ• ๋‹น ํ›„์— ๋งŽ์€ ์ˆ˜์˜ ์•„์ฃผ ์ž‘์€ hole๋“ค์ด ์ƒ์„ฑ๋œ๋‹ค.

3. Worst-fit

  • ๊ฐ€์žฅ ํฐ hole์— ํ• ๋‹น
  • ๋ชจ๋“  ๋ฆฌ์ŠคํŠธ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๊ณ  ์ƒ๋Œ€์ ์œผ๋กœ ์•„์ฃผ ํฐ hole๋“ค์ด ์ƒ์„ฑ๋œ๋‹ค.

first-fit๊ณผ best-fit์ด worst-fit๋ณด๋‹ค ์†๋„์™€ ๊ณต๊ฐ„ ์ด์šฉ๋ฅ  ์ธก๋ฉด์—์„œ ํšจ๊ณผ์ ์ธ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค

3. Fragmentation

Fragmentation(๋‹จํŽธํ™”)์€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜๊ณ  ์ œ๊ฑฐ๋˜๋Š” ์ผ์ด ๋ฐ˜๋ณต๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ‹ˆ ์‚ฌ์ด์— ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ• ๋งŒํผ์˜ ์ž‘์€ ๊ณต๊ฐ„๋“ค์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค.

external fragmentation

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

internal fragmetation

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋ณด๋‹ค ๋ถ„ํ• ๋œ ๊ณต๊ฐ„์ด ๋” ์ปค์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚จ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งํ•œ๋‹ค.

Compaction

external fragmentation ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ•œ๊ตฐ๋ฐ๋กœ ๋ชฐ์•„๋„ฃ๊ณ  hole๋“ค์„ ๋‹ค๋ฅธ ํ•œ ๊ณณ์œผ๋กœ ๋ชฐ์•„ ํฐ hole์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

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

4. Segmentation

ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธ ๋‹จ์œ„์ธ ์—ฌ๋Ÿฌ๊ฐœ์˜ segment ๋‹จ์œ„๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์ž‘๊ฒŒ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ•จ์ˆ˜ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ •์˜
  • ํฌ๊ฒŒ๋Š” ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ํ•˜๋‚˜์˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” code, data, stack ๋ถ€๋ถ„์ด ํ•˜๋‚˜์”ฉ์˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ •์˜๋จ
  • ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ์ฃผ์†Œ๋ณ€ํ™˜

Logical address๋Š” ๋‹ค์Œ์˜ ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

<segment-number, offset>

Segment Table

๊ฐ๊ฐ์˜ ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€๋ฅผ ๊ฐ€์ง„๋‹ค

  • base: ์„ธ๊ทธ๋จผํŠธ์˜ ์‹œ์ž‘ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ
  • limit: ์„ธ๊ทธ๋จผํŠธ์˜ ๊ธธ์ด

Segment-table base register(STBR)

  • ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ segment table์˜ ์œ„์น˜

Segment-table length register(STLR)

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” segment์˜ ์ˆ˜
  • segment number s is legal if s<STLR
    • ์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ๊ฐ€ ์„ธ๊ทธ๋จผํŠธ ๊ธธ์ด๋ณด๋‹ค ์ž‘์•„์•ผ ํ•œ๋‹ค.

Segmentation์˜ ์žฅ์ ์€ paging๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ segment๋“ค์ด ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹น๋  ํ•„์š”๊ฐ€ ์—†๊ณ , stack๊ณผ heap์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ปค์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, segment๋งˆ๋‹ค protection์„ ๋”ฐ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ paging๊ณผ ์œ ์‚ฌํ•œ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ๊ฐ์˜ segment๋Š” ๋ฐ˜๋“œ์‹œ ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

Protection

๊ฐ ์„ธ๊ทธ๋จผํŠธ ๋ณ„๋กœ ์—”ํŠธ๋ฆฌ(Entry)์—๋Š” ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” bit๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค

  • Valid-invalid bit: valid๋Š” ํ•ด๋‹น ์ฃผ์†Œ์˜ ์„ธ๊ทธ๋จผํŠธ์— ๊ทธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์œ ํšจํ•œ ๋‚ด์šฉ์ด ์žˆ์Œ. invalid๋Š” ์—†์Œ(์ ‘๊ทผ ๋ถˆ๊ฐ€)
  • Protection bit: ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ Read/Write/Execution ๊ถŒํ•œ

Sharing

segment๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ฐ™์€ segment ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ

  • segment๋Š” ์˜๋ฏธ ๋‹จ์œ„์ด๊ธฐ ๋Œ€๋ฌธ์— ๊ณต์œ ์™€ ๋ณด์•ˆ์— ์žˆ์–ด์„œ paging๋ณด๋‹ค ํ›จ์”ฌ ํšจ๊ณผ์ ์ด๋‹ค.

Allocation

fitst-fit / best-fit ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€ ๋‹จํŽธํ™”(external fragmentation)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  • segment์˜ ๊ธธ์ด๊ฐ€ ๋™์ผํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ฐ€๋ณ€๋ถ„ํ•  ๋ฐฉ์‹์—์„œ์™€ ๋™์ผํ•œ ๋ฌธ์ œ์ ๋“ค์ด ๋ฐœ์ƒํ•จ

5. paging

Paging(ํŽ˜์ด์ง•)์€ Noncontiguous Allocation ๋ฐฉ์‹์œผ๋กœ ์™ธ๋ถ€ ๋‹จํŽธํ™”์˜ ์••์ถ• ์ž‘์—…์˜ ๋น„ํšจ์œจ์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„(Frame), ํ”„๋กœ์„ธ์Šค๋Š” ํŽ˜์ด์ง€(Page)๋ผ ๋ถˆ๋ฆฌ๋Š” ๊ณ ์ • ํฌ๊ธฐ์˜ ๋ธ”๋ก(Block)์œผ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค. ๋ธ”๋ก์˜ ํฌ๊ธฐ๋Š” 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๊ผด์ด๋‹ค.

ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„์€ ์—ฌ๋Ÿฌ page๋กœ ๋‚˜๋‰˜์–ด ๊ด€๋ฆฌ๋˜๊ณ , ๊ฐ๊ฐ์˜ page๋Š” ์ˆœ์„œ์™€ ๊ด€๊ณ„์—†์ด ๋ฉ”๋ชจ๋ฆฌ์˜ frame์— mapping๋˜์–ด ์ €์žฅ๋œ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„  page๊ฐ€ ์–ด๋Š frame์— ๋“ค์–ด์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ page table์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜์–ด ์žˆ๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ mapping ํ•œ๋‹ค.

paging์˜ ์žฅ์ 

  • page๋“ค์ด ์—ฐ์†ํ•  ํ•„์š”๊ฐ€ ์—†์–ด ์™ธ๋ถ€ ๋‹จํŽธํ™”๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ• ๋‹น๊ณผ ํ•ด์ œ๊ฐ€ ๋น ๋ฅด๋‹ค.
  • swap out์ด ๊ฐ„๋‹จํ•˜๋‹ค.
  • ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค(Shared pages). ์ฝ”๋“œ๊ฐ€ pure code๋ผ๋ฉด ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ read-only๋กœ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค.

paging์˜ ๋‹จ์ 

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ๋‹ค
  • page table์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋กœ ์†Œ๋ชจ๋œ๋‹ค
  • page table์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์—ฐ์‚ฐ์€ 2๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์–ด ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค(page table ์ ‘๊ทผ + ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ)

๋”ฐ๋ผ์„œ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด TLB(Translation Look-aside Buffer)๋ผ ๋ถˆ๋ฆฌ๋Š” ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

page number, page offset

page number๋Š” page table์˜ ์ธ๋ฑ์Šค๋กœ์จ page table์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.
page offset์€ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ์–ป์„ ๋•Œ ์‚ฌ์šฉ๋˜๊ณ  page table์˜ abse address์— page offset์„ ๋”ํ•˜๋ฉด ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

page table์€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  PTBR(Page-Table Base Register)๋ผ๋Š” ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ page table์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•œ๋‹ค.

  • context switch ๋ฐœ์ƒ ์‹œ ์ด ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋‚ด์šฉ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.

page table์˜ ๊ฐ ์—”ํŠธ๋ฆฌ(Entry)์—๋Š” ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” bit๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

  • Protection bit: page์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ Read/Write/Read-only
  • Vaild-invalid bit: vaild๋Š” ํ•ด๋‹น ์ฃผ์†Œ์˜ frame์— ๊ทธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ์ด ์žˆ๋‹ค. invaild๋Š” ์—†์Œ(์ ‘๊ทผ ๋ถˆ๊ฐ€)

page์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์งˆ์ˆ˜๋ก ๋‚ด๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ๊ฐ์†Œํ•˜๊ณ  ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— load ํ•  ์ˆ˜ ์žˆ์–ด ํšจ์œจ์ ์ด์ง€๋งŒ, page table์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ๋””์Šคํฌ ์ด๋™์˜ ํšจ์œจ์„ฑ์ด ๊ฐ์†Œํ•œ๋‹ค.

6. Translation Look-aside Buffer

TLB๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ ๋ณ„๋„์˜ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ page table์—์„œ ์ž์ฃผ ์ฐธ์กฐํ•˜๋Š” ์ผ๋ถ€ ์—”ํŠธ๋ฆฌ๋ฅผ ์บ์‹ฑํ•œ๋‹ค. TLB๋Š” key-value ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” associative memory์ด๋ฉฐ key์—๋Š” page number, value์—๋Š” frame number๊ฐ€ ๋Œ€์‘๋œ๋‹ค.

  • CPU๋Š” page table๋ณด๋‹ค TLB๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ฐธ์กฐํ•˜์—ฌ ๋งŒ์•ฝ ์›ํ•˜๋Š” page๊ฐ€ TLB์— ์žˆ๋Š” ๊ฒฝ์šฐ ๊ณง๋ฐ”๋กœ frame number๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ TLB hit ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

ย 

Effective Access Time

TLB hit ๋น„์œจ์„ a๋ผ๊ณ  ํ•˜๊ณ , TLB๋ฅผ ํƒ์ƒ‰ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ b๋ผ๊ณ  ํ•˜๋ฉด, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํšŸ์ˆ˜์˜ ๊ธฐ๋Œ“๊ฐ’์€ย  TLB hit + TLB miss = (b+1)a + (b+2)(1-a) = 2+b-a๊ฐ€ ๋œ๋‹ค.ย 

  • b๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋งค์šฐ ์ž‘์€ ๊ฐ’์ด๊ณ , a๋Š” ๊ฐ’์ด ํฌ๋‹ค. ์‹ค์ œ๋กœ Block์ด ์–ด๋””์—๋‚˜ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ์–ด Cache miss์˜ ํ™•๋ฅ ์ด ์ ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ์กด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํšŸ์ˆ˜์ธ 2๋ณด๋‹ค ํ›จ์”ฌ ์ž‘์€ ๊ฐ’์ด ๋œ๋‹ค.ย  ย  ย 

Context Switch๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” TLB๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ ๊นŒ?

ย 

  1. ๋งค Switch๋งˆ๋‹ค TLB ์ „์ฒด๋ฅผ ๋น„์šฐ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์บ์‹œ๋ฅผ flush ํ•˜๊ธฐ ๋•Œ๋ฌธ์— cost๊ฐ€ ๋†’๋‹ค.
  2. TLB์˜ ๊ฐ ์—”ํŠธ๋ฆฌ๊ฐ€ ์–ด๋Š ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ์ถ”์ ํ•˜์—ฌ ์ด์šฉ๋˜์ง€ ์•Š๋Š” ์—”ํŠธ๋ฆฌ๋งŒ ๋น„์šด๋‹ค.ย ์ด๋ฅผ ASID๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•œ๋‹ค.

ASID(Address Space Identifier)

ASID๋Š” Process ID์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ 8bit๋กœ, 32bit์ธ PID๋ณด๋‹ค ๊ฐ€๋ณ๋‹ค. ๋™์ผํ•œ ASID๋ฅผ ๊ฐ–๋Š” ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ๋Š” TLB๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฐ ๊ฒฝ์šฐ์—” TLB๋ฅผ ๋น„์šฐ๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.ย  ย 

์ฐธ๊ณ )

  • KOCW ๊ณต๊ฐœ๊ฐ•์˜ (2014-1. ์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต - ๋ฐ˜ํšจ๊ฒฝ)
  • https://rebro.kr/178