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

๋ณธ๊ธ€์€ ์ œ๊ฐ€ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์ฝ๊ณ  ์ดํ•ด๊ฐ€ ์ž˜ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 


Dynamic Instruction์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋Œ€๋ฆฝ ๊ฐœ๋…์ธ Static Instruction์„ ๋จผ์ € ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๋ฉด, Static Instruction์€ ์•„์ฃผ ๋‹จ์ˆœํ•˜๋‹ค.

 

ํ”„๋กœ๊ทธ๋žจ์€ Instruction์˜ Sequence๋กœ ์ •์˜๊ฐ€ ๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ •์˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ํŒŒ์ผ์— ๊ธฐ๋ก๋œ Instruction์„ Static Instruction ์ด๋ผ๊ณ  ํ•  ๊ฒƒ์ด๋‹ค.

 

1. ํ”„๋กœ๊ทธ๋žจ์—๋Š” Instruction์˜ sequence๊ฐ€ ์žˆ๋‹ค.

2. ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์— ์ ํžŒ Instruction์„ Static Instruciton์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

 

 

์ž! ๊ทธ๋Ÿผ ๋Œ€๋ฆฝ ๊ฐœ๋…์ธ Dynamic Instruction์€ ๋ฌด์—‡์ธ๊ฐ€?

ํ”„๋กœ๊ทธ๋žจ์€ ํ”„๋กœ์„ธ์„œprocessor์— ์˜ํ•ด ์‹คํ–‰๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์„œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Instruction์„ Fetchํ•ด๋‘”๋‹ค.

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์„œ์— ์˜ํ•ด Fetch๋˜์–ด ์‹คํ–‰execute๋˜๋Š” Instruction์„ 

Dynamic Instruction์ด๋ผ๊ณ  ํ•  ๊ฒƒ์ด๋‹ค.

 

 

Static Instructions : Simply the fixed "file" of instruction making up program

Dynamic Instructions : The actual instruction fetched & executed by the processor

 

 


๊ฐœ๋…์€ ์•Œ์•˜์œผ๋‹ˆ, ์ด์ œ ์‹ค์ œ ์ƒํ™ฉ์„ ๋งˆ์ฃผํ•ด๋ณด์ž.

 

์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ A๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ A๋Š” 100๊ฐœ์˜ (static) Instruction์ด ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.

 

๊ทธ๋Ÿฐ๋ฐ

ํ”„๋กœ๊ทธ๋žจ A์— 100๊ฐœ Instruction์ด ์žˆ๋‹ค๊ณ  ํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰ํ•˜๋Š” Instruction์€ 100๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค!

์™œ๋ƒ?

ํ”„๋กœ๊ทธ๋žจ A์— if-else ๋ฌธ๋„ ์žˆ์„ ๊บผ๊ณ , ํ”„๋กœ์„ธ์„œ์— 100๊ฐœ๋‚˜ ๋˜๋Š” Instruction์„ ์˜ฌ๋ ค๋†“๊ณ  ์‹คํ–‰ํ•˜๊ธฐ์—๋Š” ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋–„๋ฌธ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ํ”„๋กœ์„ธ์„œ์—๋Š” 100๊ฐœ Instruction ์ค‘ ์ผ๋ถ€๋งŒ Fetch๋˜์–ด์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠน์ • Instruction์€ ์•„์ฃผ์•„์ฃผ ์ค‘์š”ํ•ด์„œ ์ž์ฃผ ํ˜ธ์ถœ๋˜๋Š” ๋…€์„๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

โ–ถ 90-10 Rule : 90%์˜ Execution์€ 10%์˜ Code์— ์˜ํ•œ ๊ฒƒ์ด๋‹ค.

 

์ฆ‰, ์ผ๋ฐ˜์ ์œผ๋กœ Dynamic Instruction์ด static code๋ณด๋‹ค ๋” ์ž์ฃผ ์‹คํ–‰๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 


์ด์ œ ์ด๋Ÿฐ Dynamic - Static์˜ ๊ฒฝํ–ฅ์„ ์–ด๋–ป๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด์ž!

 

From lecture note on POSTECH, CSED311

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช‡๋ช‡ ๋ถ„๊ธฐ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ๊ฐํ•ด๋ณด์ž.

 

๊ทธ๋ฆฌ๊ณ  D๋ฅผ ๋ณด๋ฉด, 

D โ†’ E โ†’ G๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ 90%์˜ ์šฉ๋Ÿ‰์„ ์ฐจ์ง€ํ•˜๊ณ , (static)

D โ†’ F โ†’ G๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ 10%์˜ ์šฉ๋Ÿ‰์„ ์ฐจ์ง€ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. (static)

 

๊ทธ๋Ÿฐ๋ฐ ์‹ค์ œ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด๋ณด๋ฉด, 

90% ์šฉ๋Ÿ‰์˜ D โ†’ E โ†’ G๋Š” ์ „์ฒด ์‹คํ–‰์—์„œ 10% ์ •๋„๋งŒ ์‹คํ–‰๋˜๊ณ , (dynamic)
๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, 90%๋Š” D โ†’ F โ†’ G๊ฐ€ ์‹คํ–‰๋œ๋‹ค๊ณ  ํ•ด๋ณด์ž. (dynamic)

 

๊ทธ๋Ÿผ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์„œ์˜ ์บ์‹œcache์— ๊ตณ์ด ์ž์ฃผ ์‹คํ–‰๋˜์ง€๋„ ์•Š๋Š” D โ†’ E โ†’ G์˜ E ๋ถ€๋ถ„์„ ์ €์žฅํ•ด๋‘๊ธฐ์—๋Š” ๊ณต๊ฐ„์ด ์•„๊น๋‹ค!!

 

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” Trace-cache ๋ผ๋Š” ์บ์‹œ๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ถ„๊ธฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์บ์‹œํ•ด๋‘๋Š” ๋ฐฉ์‹์œผ๋กœ ์šฉ๋Ÿ‰์„ ์ ˆ์•ฝํ•˜๊ณ ์ž ํ•œ๋‹ค!! => cache utility ๊ฐœ์„ !

 


 

 

 

 

 

 

 

(๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋งŒ ๋ณผ ๊ฒƒ)

Intel Pentium 4(2001๋…„)์˜ Cache์—์„œ๋ถ€ํ„ฐ ๋„์ž…๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ