ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

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

 

์ฃผ์†Œ ๋ณ€ํ™˜ (Address Translation)

 ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ๋ถ„๋ฆฌ๋œ ๊ณต๊ฐ„์— ํ• ๋‹น๋˜์ง€๋งŒ, CPU๋Š” ์—ฐ์†๋œ ๊ณต๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋Š” MMU๋ฅผ ํ†ตํ•ด ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋‚˜๋ˆ„์–ด๋‘์—ˆ๊ธฐ์— ๊ฐ€๋Šฅํ•˜๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์—ฐ์†๋œ ๋…ผ๋ฆฌ ์ฃผ์†Œ(Logical Address)๋ฅผ ๊ฐ€์ง€์ง€๋งŒ, ๋ถ„๋ฆฌ๋œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ(Physical Address)๋ฅผ ๊ฐ€์ง€๋ฉฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table)์„ ํ†ตํ•ด ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

 

ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” (Page Table)

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

 

 CPU๊ฐ€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์š”์ฒญํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์€ ํ•„์—ฐ์ ์ด๋ฉฐ ํ•ด๋‹น ๊ณผ์ •์ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋œ๋‹ค๋ฉด ์ „์ฒด์ ์ธ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, CPU ↔ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์— ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ „์šฉ ์บ์‹œ์ธ TLB(Translation Look-aside Buffer)๋ฅผ ๋‘์–ด, ๋ฉ”๋ชจ๋ฆฌ์— ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ ์ง€ํ•˜๋”๋ผ๋„ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ ์ž ํ•˜์˜€๋‹ค.

 

 ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ํ†ตํ•ด EMAT(Effective Memroy Access Time)์„ ๊ณ„์‚ฐํ•˜์—ฌ TLB๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์˜ ํšจ์œจ์„ฑ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„์€ 100ns, TLB๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„์€ 20ns, Hit ratio๋Š” 80%์ผ ๊ฒฝ์šฐ EMAT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ ๋œ๋‹ค.

 

  • EAMT = Hit ratio * (TLB๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„ + ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„) + (1 - Hit ratio) * (TLB๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„ + 2 * ๋ฉ”๋ชจ๋ฆฌ ์ฝ๋Š” ์‹œ๊ฐ„)

  • ์ฆ‰, TLB์—์„œ ํ•ด๋‹น ๋…ผ๋ฆฌ ์ฃผ์†Œ์— ๋Œ€ํ•œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ฐ”๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ์™€ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ์œ„์˜ ์˜ˆ์ œ์˜ ๊ฒฝ์šฐ EAMT๋Š” 140ns๋กœ ๊ณ„์‚ฐ๋˜์–ด, ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

๋ณดํ˜ธ

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

 

 

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€