ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [์ปดํ“จํ„ฐ๊ตฌ์กฐ] ์‹œ์Šคํ…œ ์บ์‹œ๋ž€? (feat. L1, L2, L3)
    General/๐Ÿ–ฅ Computer Architecture 2021. 9. 25. 00:59

    1์ฐจ ์ˆ˜์ •: 21.09.28

     

    ์•ˆ๋…•ํ•˜์„ธ์š”๐Ÿถ

    ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์บ์‹œ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

    ์ปดํ“จํ„ฐ๊ณตํ•™์—์„œ ๋นผ๋†“์„ ์ˆ˜ ์—†์€ ๊ฐœ๋…์ด ๋ฐ”๋กœ ์บ์‹œ์ธ๋ฐ์š”.

    ๊ทธ ์ค‘ CPU ์— ๊ฐ€๊นŒ์ด ๋ถ™์–ด์žˆ๋Š” ์‹œ์Šคํ…œ ์บ์‹œ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

     

    ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค๐Ÿ”ฅ


     

     

    ๊ฐœ์š”

     

     

    ์บ์‹œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ ์ƒ ์ตœ์ƒ๋‹จ ํ‹ฐ์–ด์— ์œ„์น˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค.

    ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํ›จ์”ฌ ์ž‘๊ณ  ๊ฐ€๊ฒฉ์ด ๋งค์šฐ ๋น„์‹ธ๋ฉฐ, ๊ทธ๋งŒํผ ์†๋„๊ฐ€ ๋น ๋ฅธ ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

    ์œ„ ํ”ผ๋ผ๋ฏธ๋“œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต์„ ํ‘œํ˜„ํ•œ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค.

    10 ํด๋Ÿญ ์‚ฌ์ดํด ๋ฏธ๋งŒ์˜ ์ ‘๊ทผ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š”

    ์บ์‰ฌ(Caches) ๊ฐ€ ๋‘๋ฒˆ์งธ์ธ  ๋“ฑ๊ธ‰์— ์œ„์น˜ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

    ๋ ˆ์ง€์Šคํ„ฐ ๋‹ค์Œ์œผ๋กœ ์บ์‹œ๋Š” CPU ์ฝ”์–ด ๊ฐ€๊นŒ์ด์— ์œ„์น˜ํ•ด์žˆ๊ธฐ ๋–„๋ฌธ์ž…๋‹ˆ๋‹ค.

    ์บ์‹œ๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ ์ฝ๊ฑฐ๋‚˜ ์“ธ์ˆ˜ ์—†๊ณ , ํ•˜๋“œ์›จ์–ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

    ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ์ƒ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

     

    ์บ์‹œ๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์€ ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์ž…๋‹ˆ๋‹ค.

    ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ถˆ๋Ÿฌ์™€๋‘๊ณ ,

    CPU ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ‘๊ทผ ์‹œ๊ฐ„์ด ๋Š๋ฆฐ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์‹ 

    ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์šฐ์„ ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ํ•˜๋ฉด ์„ฑ๋Šฅ์˜ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


     

    ๋ฐฐ๊ฒฝ

     

    ์ปดํ“จํ„ฐ๋Š” ๊พธ์ค€ํžˆ ๋ฐœ์ „ํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ”„๋กœ์„ธ์„œ์˜ ๋ฐœ์ „์†๋„๋ฅผ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

    ํ”„๋กœ์„ธ์„œ๊ฐ€ ์•„๋ฌด๋ฆฌ ๋นจ๋ผ๋„ ๊ณ„์‚ฐ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š”

    ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฐ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ํ•œ๊ณ„๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.

     

    ๊ทธ๋ž˜์„œ CPU ์™€ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์— ์บ์‹œ๋ฅผ ๋‘๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    CPU -> ์บ์‹œ-> ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ

    ์บ์‹œ๋Š” CPU ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์˜ ์†๋„ ๊ฐ„๊ทน์„ ์ค„์—ฌ์ฃผ๋Š” ์™„์ถฉ์žฌ์ด๋ฉฐ, ๋”ฐ๋ผ์„œ ๋ฒ„ํผ๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

    (์ด ์†๋„ ๊ฐ„๊ทน ๋•Œ๋ฌธ์— ๋ณ‘๋ชฉํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฒ„ํผ๋Š” ์™„์ถฉ์žฌ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ)

     

    ์บ์‹œ์—๋Š” ๋ณดํ†ต ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ๊ณ  ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ์šฉ๋Ÿ‰ ๋Œ€๋น„ ํฌ๊ธฐ๊ฐ€ ํฐ SRAM ์„ ์‚ฌ์šฉํ•˜๊ณ ,

    ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๊ฐ€๊ฒฉ์ด ์‹ธ๊ณ  ์†๋„๊ฐ€ ๋Š๋ฆฐ DRAM ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ํŠน์ • ํ™˜๊ฒฝ์—์„œ SRAM ์€ ์ ‘๊ทผ ์†๋„๊ฐ€ ์ดˆ๋‹น ์ˆ˜ ๋ฐฑ GB/s๋ฅผ ๊ฐ€๋ฟํžˆ ๋„˜๊ธด๋‹ค๊ณ  ํ•˜๋‹ˆ ์ •๋ง ์–ด๋งˆ๋ฌด์‹œํ•˜๋„ค์š”;;;;;;;

    ๋˜ํ•œ SRAM์€ DRAM์˜ 100๋ฐฐ ์ด์ƒ์œผ๋กœ ์ ‘๊ทผ ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•˜์—ฌ ๊ณต๊ฐ„์„ ๋งŽ์ด ์ฐจ์ง€ํ•˜๋ฏ€๋กœ ์ง‘์ ๋„๋ฅผ ๋†’์ด๊ธฐ ์–ด๋ ค์›Œ ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ๊ณ  ๋Œ€์šฉ๋Ÿ‰์œผ๋กœ ์ œ์ž‘ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


     

    ์ž‘๋™์›๋ฆฌ:  ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ

     

    ์œ„์˜ ๋‚ด์šฉ์€ ์ƒ์‹ ์ˆ˜์ค€ ์ •๋„์ด๊ณ , ์ด์ œ๋ถ€ํ„ฐ๊ฐ€ ์ปดํ“จํ„ฐ ๊ณตํ•™์ ์œผ๋กœ ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€ํ†ตํ•˜๋Š” ํ•ต์‹ฌ ๊ฐœ๋…์€ ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ (Locality) ์ž…๋‹ˆ๋‹ค. ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ด ์›๋ฆฌ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

    "๋ฏธ๋ฆฌ ์“ธ๋งŒํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์บ์‹œ์— ์˜ฎ๊ฒจ๋†“์ž"

    ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์€ ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ( Temporal Locality), ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ ( Spatial Locality), ์ˆœ์ฐจ์  ์ง€์—ญ์„ฑ( Sequential Locality) ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

    ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ์€ ํ•œ๋ฒˆ ์ฐธ์กฐ๋œ ๋ฐ์ดํ„ฐ๋Š” ์ž ์‹œ ํ›„์— ๋˜ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ์€ A[0], A[1] ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐฐ์—ด๊ณผ ๊ฐ™์ด ์ฐธ์กฐ๋œ ๋ฐ์ดํ„ฐ ๊ทผ์ฒ˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž ์‹œํ›„์— ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐฐ์—ด์ด ์œ„์น˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ๋‚ด์šฉ์€ for-in ์ˆœํšŒ๊ฐ€ ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€ ๊ณ„์† ์“ฐ์ผ ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค.

    ์ˆœ์ฐจ์  ์ง€์—ญ์„ฑ์€ ๋น„์ˆœ์ฐจ์  ์‹คํ–‰์ด ์•„๋‹Œ ์ด์ƒ ๋ช…๋ น์–ด๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š” ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๋‹ค์Œ ์ˆœ์„œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณง ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.


     

     

    L1 ์บ์‹œ๋Š” Level-1 ์บ์‹œ?

     

     

     

    https://mblogthumb-phinf.pstatic.net/20120820_259/rmflqhd_13454427767370VDpR_JPEG/3.jpg?type=w2

     

    ์‹œ์Šคํ…œ์— ์žฅ์ฐฉ๋œ ์บ์‹œ์˜ ์šฉ๋Ÿ‰๊ณผ ์„ฑ๋Šฅ์ด ์ ์  ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์บ์‹œ์˜ ์บ์‹œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ์ด๊ฒƒ์„ ์ ์šฉ๋œ ์ˆœ์„œ๋Œ€๋กœ L(Level) 1, L2, L3 ... ๋ผ๊ณ  ํ˜ธ์นญํ•ฉ๋‹ˆ๋‹ค.

     

    ์šฐ๋ฆฌ ๋ง๋กœ ํ•˜๋ฉด '1์ฐจ ์บ์‹œ', '2์ฐจ ์บ์‹œ', '3์ฐจ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ'๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    L1์— ๊ฐ€์žฅ ๊ณ ์„ฑ๋Šฅ์ด์ž ๊ณ ๊ฐ€์ธ ์ž‘์€ ์šฉ๋Ÿ‰์˜ ์ง‘์ ํšŒ๋กœ๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ , L1์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํผ๊ฐ€๊ธฐ ์œ„ํ•œ ์บ์‹œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ณด๋‹ค๋Š” ์šฉ๋Ÿ‰์ด ํฌ์ง€๋งŒ ๊ทธ ๋Œ€์‹  ์•ฝ๊ฐ„ ๋” ๋Š๋ฆฐ ์ €์žฅ๊ณต๊ฐ„ L2๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

     

    ๋ณดํ†ต L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๋ช…๋ น์–ด ์บ์‹œ์™€ ๋ฐ์ดํ„ฐ ์บ์‹œ๊ฐ€ ๋”ฐ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ทธ ์ค‘ ๋ฐ์ดํ„ฐ ์บ์‹œ๋Š” CPU ๊ฐ€ ์ง์ „์— ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜, ๋ฐ”๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ค‘์š”ํ•œ ํŒŒ์ผ์„ ์ €์žฅํ•ด ๋†“๋Š”๋ฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    " It is used to store data that was accessed by the processor recently, critical files that need to be executed immediately and it is the first cache to be accessed and processed when the processor itself performs a computer instruction. "

     

    L1 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” CPU์— ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ธ‰ํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ์ ‘๊ทผ ์ง€์—ฐ ์‹œ๊ฐ„(Access latency)์ด ๋งค์šฐ ์ค‘์š”ํ•œ๋ฐ,

    ๋ช…๋ น์–ด๋Š” ๋ณดํ†ต ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ์ด ๋†’๊ณ  ๋ฐ์ดํ„ฐ๋Š” ๋ณดํ†ต ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

     

    ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด ๋‘˜์„ ๋‚˜๋ˆ„์–ด ์„œ๋กœ ๋‹ค๋ฅธ ์ง€์—ญ์„ฑ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋˜ํ•œ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ์œผ๋กœ์จ CPU์˜ ํŒŒ์ดํ”„๋ผ์ด๋‹ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

     

    L2 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋”ฑํžˆ ๋‘˜์˜ ๊ตฌ๋ถ„ ์—†์ด ํ•˜๋‚˜์˜ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

    L1 ์บ์‹œ๋Š” ๋ณดํ†ต 8~64KB ์ •๋„์˜ ์šฉ๋Ÿ‰์œผ๋กœ CPU๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด ์ด์ œ L2 ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋„˜์–ด๊ฐ€์„œ ์ฐพ์Šต๋‹ˆ๋‹ค.

     

    https://cdn57.androidauthority.net/wp-content/uploads/2016/03/Cortex-A72-cache-l1l2-16x9-720p.jpg

     

    ARM Cortext -A72 CPU ์˜ ์˜ˆ ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” L1 ์บ์‰ฌ์™€, ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๊ฐ€ ๊ณต์œ ํ•˜๋Š” L2 ์บ์‹œ๋ฅผ ์—ฟ๋ณผ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ์ž…๋‹ˆ๋‹ค.๋˜ํ•œ, I-Cache, D-Cache ๋กœ 1์ฐจ ์บ์‹œ๊ฐ€ ๋‚˜๋‰˜์–ด ์žˆ๋„ค์š”!


     

    ์บ์‹œ์˜ ๋‚ด๋ถ€๊ตฌ์กฐ๋Š”?

     

     

    ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” S ๊ฐœ์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ ์ง‘ํ•ฉ์€ E ๊ฐœ์˜ ์บ์‹œ ๋ผ์ธ์„ ์ €์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ•˜๋‚˜์˜ ์บ์‹œ๋ผ์ธ์€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋ธ”๋ก ํ•˜๋‚˜์™€,  ๊ทธ๊ฒƒ์ด ์œ ํšจํ•œ์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์œ ํšจ ๋น„ํŠธ(Valid bit),

    ๊ทธ๋ฆฌ๊ณ  ๋™์ผํ•œ ์ง‘ํ•ฉ์— ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๋ธ”๋ก๋“ค๊ณผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ(Tag)๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

    ๋”ฐ๋ผ์„œ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ๋ธ”๋ก์ด B ๋ฐ”์ดํŠธ๋ผ๊ณ  ํ•  ๋•Œ, ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด ์‚ฌ์ด์ฆˆ๋Š” (S x B x E) ๋ฐ”์ดํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    ์ด ๋•Œ, ์„ธํŠธ ๋‹น ์บ์‹œ๋ผ์ธ ์ˆ˜ (E) = 1 ์ด๋ฉด Direct-Mapped Cache, E > 1 ์ด๋ฉด E-way Set Associative Cache ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


     

    ์บ์‹œ ์ •์ฑ… ( ์•Œ๊ณ ๋ฆฌ์ฆ˜ )

    ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ ์ ˆํ•œ ์บ์‹œ ์ •์ฑ…์„ ์ทจํ•ด์•ผ ๋ ˆ์ดํ„ด์‹œ๋ฅผ ์ค„์ด๋ฉด์„œ ๋Œ€์—ญํญ์„ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ ˆ์ดํ„ด์‹œ๋Š” ์ž…์ถœ๋ ฅ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด๋ฉฐ, ๋Œ€์—ญํญ์€ ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ž…๋‹ˆ๋‹ค.

    ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ๋ธ”๋ก์€ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ํŠน์ • ์ง‘ํ•ฉ์—๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    Direct-mapped Cache

    ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ 2๋ฒˆ์งธ ๋ธ”๋ก (00001) ์€ ์บ์‹œ์˜ 2๋ฒˆ์งธ ์ง‘ํ•ฉ(001) ์—๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์‹์ž…๋‹ˆ๋‹ค.

    ์™œ? CPU ๊ฐ€ ์ฐธ์กฐํ•  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์บ์‹œ์— ์ „๋‹ฌํ•  ๋•Œ, ์บ์‹œ๋Š” ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์ด ์บ์‹œ์— ์žˆ๋Š”์ง€ ํƒ์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ์ด ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์ด ๋งˆ๊ตฌ์žก์ด๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ์„ ํ˜•์œผ๋กœ ํƒ์ƒ‰ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. = O(N x E)

    ๊ทธ๋Ÿฐ๋ฐ ์œ„์™€ ๊ฐ™์ด ํ•ด์‹œ ๋ฐฉ์‹์œผ๋กœ ์ €์žฅ๋˜์–ด์žˆ์œผ๋ฉด O(E) ๋กœ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋•Œ E๋Š” ํ•œ์ •๋œ ์ˆซ์ž์ด๋ฏ€๋กœ O(1)์— ์ˆ˜๋ ดํ•ฉ๋‹ˆ๋‹ค.

     

    CPU ๊ฐ€ ์บ์‹œ์— ์ „๋‹ฌํ•˜๋Š” ์ฐธ์กฐํ•˜๊ณ  ์‹ถ์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

    ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ m = (t + s + b) ์œผ๋กœ  ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด ์‚ฌ์ด์ฆˆ๋Š” M = ( 2^m ) ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค.

    ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฐ”์ดํŠธ ์–ด๋“œ๋ ˆ์‹ฑ์œผ๋กœ 1 ๋ฐ”์ดํŠธ๋‹น ํ•˜๋‚˜์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ,

    ์ฃผ์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€  2^m ๊ฐœ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 

     

    ์—ฌ๊ธฐ์„œ 2^s ๋Š” Set ์˜ ๊ฐœ์ˆ˜, 2^b ๋Š” B(๋ธ”๋ก)์˜ ํฌ๊ธฐ๊ฐ€ ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

    ์ด๋•Œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ๋ธ”๋ก์˜ ํฌ๊ธฐ๊ฐ€ B ์ด๋ฏ€๋กœ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ด M / B ๊ฐœ์˜ ๋ธ”๋ก ๊ฐœ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    2^m / 2^b ์ด๋ฏ€๋กœ 2^(m-b), ์ฆ‰ ์ƒ์œ„ m-b ๊ฐœ์˜ ๋น„ํŠธ๊ฐ€ ๋ธ”๋ก์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( t ์™€ s ์˜์—ญ์— ํ•ด๋‹น)

    ํ•˜์œ„ b ๋น„ํŠธ๋Š” ํ•ด๋‹น ๋ธ”๋ก ๋‚ด ๋ฐ”์ดํŠธ ์˜คํ”„์…‹์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  ์ƒ์œ„ (m-b) ๋น„ํŠธ ์ค‘ ํ•˜์œ„ s๋น„ํŠธ๊ฐ€ ๋™์ผํ•œ ๋ธ”๋ก๋“ค์€ ๋™์ผํ•œ ์ง‘ํ•ฉ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    ๊ทธ๋Ÿผ ๋‚˜๋จธ์ง€ t ๋น„ํŠธ ์˜์—ญ์€ ๋™์ผํ•œ ์ง‘ํ•ฉ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ธ”๋ก๋“ค์„ ๊ตฌ๋ณ„ํ•ด์ฃผ๋Š” ๋น„ํŠธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    ์ด๊ฒƒ์ด ์บ์‹œ๋ผ์ธ์— ์ €์žฅ๋˜๋Š” ํƒœ๊ทธ(Tag) ์ž…๋‹ˆ๋‹ค.

    Set index = ํ–‰,  Tag Index = ์—ด ๋กœ ์ƒ๊ฐํ•˜๋ฉด ํŽธํ• ๋ ค๋‚˜์š”?

    Block offset ์€ ํ•ด๋‹น ๋ธ”๋ก์˜ ์ฒซ๋ฒˆ์งธ ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ด๊ตฌ์š”.


     

    ์บ์‹œ ์ฝ๊ธฐ ๋™์ž‘

     

     

    ์บ์‹œ์˜ ๊ตฌ์กฐ
    CPU ๊ฐ€ ์ „๋‹ฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ

    CPU ๊ฐ€ ์ฐธ์กฐํ•˜๊ณ  ์‹ถ์€ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ( m = t + s = b ) ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด, ์บ์‹œ๋Š” ์šฐ์„  s ๋น„ํŠธ ์˜์—ญ๋ฅผ ํ†ตํ•ด ์บ์‹œ์˜ ํ•ด๋‹น ์„ธํŠธ๋กœ ์ด๋™ ํ•ฉ๋‹ˆ๋‹ค.

    ์ดํ›„ t ๋น„ํŠธ ์˜์—ญ ๊ณผ ์บ์‹œ๋ผ์ธ์˜ tag ๋ฅผ ๋น„๊ตํ•˜๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ valid bit ๋ฅผ ํ†ตํ•ด ์œ ํšจ์„ฑ ์ฒดํฌ๋ฅผ ํ•˜๊ณ  ํ†ต๊ณผํ•œ๋‹ค๋ฉด ์บ์‹œ ํžˆํŠธ ( HIT ) ์ž…๋‹ˆ๋‹ค!

    ๋ฐ˜๋Œ€๋กœ ์œ„ ๊ณผ์ • ์ค‘ ํƒ์ƒ‰์„ ์‹คํŒจํ•œ๋‹ค๋ฉด ์บ์‹œ ๋ฏธ์Šค ( miss ) ์ž…๋‹ˆ๋‹ค.

    ์บ์‹œ ํžˆํŠธ์ผ ๊ฒฝ์šฐ ์ฐพ์€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์—์„œ ํ•˜์œ„ b๋น„ํŠธ์™€ ์ฝ์„ ๋ฐ”์ดํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปจํŠธ๋กค ์‹ ํ˜ธ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์š”์ฒญ๋œ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    ์บ์‹œ ๋ฏธ์Šค์ธ ๊ฒฝ์šฐ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•„์š”ํ•œ ๋ธ”๋ก๋ฅผ ์บ์‹œ๋กœ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ, ์บ์‹œ ํžˆํŠธ์ผ ๋•Œ์™€ ๋™์ผํ•˜๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    ๋ฐ์ดํ„ฐ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ, ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ธ”๋ก์„ ํ†ต์งธ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฒƒ์„ ์œ ๋…ํ•˜์ž!

    1 ๋ธ”๋ก = 1 ์บ์‹œ ๋ผ์ธ

    ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด๋‹น ์„ธํŠธ์— ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ, ์ด ๋•Œ ์„ธํŠธ์— ๋”์ด์ƒ ๊ณต๊ฐ„์ด ์—†์„ ๋•Œ ๊ธฐ์กด์˜ ๋ธ”๋ก์„ ๋น„์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

    ์ด๋•Œ ํ•„์š”ํ•œ ๊ฒƒ์ด Replacement Policy ์ด๊ณ ,

    Random ์ •์ฑ…, FIFO(First-In-First-Out) ์ •์ฑ…, LRU(Least Recently Used) ์ •์ฑ… ,LFU(Least Frequently Used) ์ •์ฑ… ์ด ์žˆ์Šต๋‹ˆ๋‹ค.


     

    ์บ์‹œ ์“ฐ๊ธฐ ์ •์ฑ…

    ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๋ธ”๋ก์ด ์บ์‹œ ํžˆํŠธ์ธ ๊ฒฝ์šฐ

    Write-through ์ •์ฑ… : ์บ์‹œ์˜ ๋‚ด์šฉ๋„ ์ˆ˜์ •ํ•˜๊ณ  ๊ณง๋ฐ”๋กœ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ด์šฉ๋„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์บ์‹œ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ„์˜ ์ผ๊ด€์„ฑ์ด ๋ณด์žฅ๋˜์ง€๋งŒ ๋ฒ„์Šค ๋ณ‘๋ชฉํ˜„์ƒ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

     

    Write-back (Write-behind) ์ •์ฑ… : ์บ์‹œ์˜ ๋‚ด์šฉ๋งŒ ์ˆ˜์ •ํ•˜๊ณ , ํ•ด๋‹น ์บ์‹œ๋ผ์ธ์ด Replacement ๋  ๋•Œ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ด์šฉ๋„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์“ฐ๊ธฐ ๋™์ž‘์ด ์ตœ์†Œํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„ ์ธก๋ฉด์—์„œ ์ด๋“์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์บ์‹œ๋ผ์ธ์—์„œ ๋‚ด๋ ค์˜ฌ ๋•Œ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ˆ˜์ •์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ๋น„ํŠธ (VI bit) ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    ์บ์‹œ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๊ฐ„ ์ผ๊ด€์„ฑ (Cache Coherency) ์ด์Šˆ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹œ ์ผ๊ด€์„ฑ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    ์บ์‹œ ์ผ๊ด€์„ฑ ํ”„๋กœํ† ์ฝœ์€ ๋”ฐ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค...^^

     

    ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๋ธ”๋ก์ด ์บ์‹œ ๋ฏธ์Šค์ธ ๊ฒฝ์šฐ

    Write allocate (Fetch on write) ์ •์ฑ… ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ธ”๋ก์„ ์ˆ˜์ •ํ•ด์ค€ ๋‹ค์Œ ์บ์‹œ๋กœ Fetch ํ•ด์ฃผ๋Š” ๋ฐฉ์‹.

    ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ์ˆ˜์ •๋œ๋‹ค๋ฉด ์ด ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ์บ์‹œ์— ์˜ฌ๋ ค๋‘๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์—์„œ ์ด๋“์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

     

    No-write allocate (Write-no-allocate ๋˜๋Š” Write around) ์ •์ฑ… : ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ธ”๋ก๋งŒ ์ˆ˜์ •๋งŒ ํ•˜๋Š” ์ •์ฑ…. ์บ์‹œ์— ๋”ฐ๋กœ ์˜ฌ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

     


     

    ์บ์‹œ ์„ฑ๋Šฅ์˜ ์š”์†Œ

    Cache Hit Ratio =  '(์บ์‹œ ์ ์ค‘ ํšŸ์ˆ˜) / [ (์บ์‹œ ์ ์ค‘ ํšŸ์ˆ˜) ๏ผ‹ (์บ์‹œ ์ ์ค‘ ์‹คํŒจ ํšŸ์ˆ˜) ]× 100' 

    Cache Miss Ratio = 1 - (Cahe Hit Ratio)

    Hit Time = ์บ์‹œ ๋ผ์ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ CPU๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

    Miss Penalty = ์บ์‹œ ๋ฏธ์Šค๋กœ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ธ”๋ก์„ ์บ์‹œ๋ผ์ธ์— ๊ฐ€์ ธ์˜ค๋Š” ์‹œ๊ฐ„. ์บ์‹œ ๋ฏธ์Šค์‹œ Hit Time + Miss Penalty ๊ฐ€ ์บ์‹œ ๋ ˆ์ดํ„ด์‹œ๊ฐ€ ๋œ๋‹ค.


     

    Cache Size ์™€ ๋ธ”๋ก์˜ ํฌ๊ธฐ, E ์™€์˜ ๊ด€๊ณ„ (E - Associative)

     

    Cache Size ๊ฐ€ ์ปค์ง€๋ฉด Miss Ratio ๋Š” ๊ฐ์†Œํ•œ๋‹ค.

    ์‚ฌ์ด์ฆˆ๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ๋ธ”๋ก์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๊ณ , ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ์„ ๋” ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋ฐฉ๊ธˆ ์ „ ์ฐธ์กฐ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์‹œ ์ฐธ์กฐ๋  ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ์ด์—ˆ๋‹ค.

     

    Cache Size ๊ฐ€ ๊ณ ์ •์ผ ๋•Œ, ๋ธ”๋ก ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์ง€๋ฉด ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์„ ๋” ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๋ธ”๋ก ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘์•„์ง€๋ฉด ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ์„ ๋” ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค‘๊ฐ„ ์ง€์ ์—์„œ Miss Ratio ๊ฐ€ ์ตœ์ ํ™”๋œ๋‹ค.

     

    N-Asscociative Set ์˜ ๋ฐฐ์น˜๋ฐฉ์‹์—์„œ N์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก Full-Associative ์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค.

    ์ด ๋•Œ ๊ณต๊ฐ„์˜ ๋‚ญ๋น„ ์—†์ด ๋ธ”๋ก์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฏ€๋กœ Confilct Miss ๊ฐ€ ์ค„์–ด๋“ ๋‹ค.

    ํ•˜์ง€๋งŒ ์บ์‹œ ์ „์ฒด๋ฅผ ์ˆœํšŒํ•ด์•ผ ํ•˜๋ฏ€๋กœ Hit Time ์ด ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค.

     

    N์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์งˆ์ˆ˜๋ก Direct-Mapped Cache ์— ๊ฐ€๊นŒ์›Œ์ง„๋‹ค.

    ์บ์‹œ์— ๋‚ญ๋น„ํ•˜๋Š” ๊ณต๊ฐ„์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜๊ณ  Conflict Miss ๊ฐ€ ์ฆ๊ฐ€ํ•˜์ง€๋งŒ Hit Time ์€ ๊ฐ์†Œํ•  ๊ฒƒ์ด๋‹ค.

     

    Hit Time ์ด ์ค‘์š”ํ•œ ๊ณณ์—๋Š” N ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ , Miss Rate ์ด ์ค‘์š”ํ•œ ๊ณณ์—๋Š” N์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด ์ตœ์ ํ™” ๋œ๋‹ค.


     

    A14 Bionic ์—์„œ์˜ ์บ์‹œ๋Š”?

     

    ๊ณ ๋งคํ•œ ๊ฐ“ํ”Œ๐ŸŽ๋‹˜ ๊ป˜์„œ๋Š” ์ž์‹ ๋“ค์ด ์„ค๊ณ„ํ•œ ์นฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ตœ์†Œํ•œ๋งŒ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

    ๋‹ค๋ฅธ ๊ณณ์— ํŒ๋งคํ•  ์นฉ์ด ์•„๋‹ˆ๋ผ, ์ž์‹ ์˜ ๊ธฐ๊ธฐ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

    ๋”ฐ๋ผ์„œ ์ •ํ™•ํ•œ ์„ค๊ณ„ ๊ตฌ์กฐ๋Š” ์•Œ ์ˆ˜ ์—†๊ณ , ๊ฐ ํŒŒํŠธ์˜ ์ŠคํŽ™ ์ •๋„๋งŒ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ŠคํŽ™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

     

    ์ŠคํŽ™

    Apple Firestorm MP2 2.99GHz + Apple Icestorm MP4 1.82GHz
    192KB + 128KB L1 Cache(Firestorm) / 128KB + 64KB L1 Cache(Icestorm)
    8MB L2 Cache(Firestorm) / 4MB L2 Cache(Icestorm) 
    16MB System Cache

    CPU ๋Š” ARM ์‚ฌ์˜ big.Little ๊ตฌ์กฐ๋ฅผ ์ฑ„์šฉํ•˜์—ฌ 2์ฝ”์–ด Apple Firestorm ๊ณผ 4์ฝ”์–ด Apple IceStorm ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

    192KB ๋Š” L1 ๋ช…๋ น์–ด ์บ์‹œ์— ํ•ด๋‹นํ•˜๋Š”๋ฐ, ๋ ˆ์ดํ„ด์‹œ๊ฐ€ 3์‚ฌ์ดํด์— ๋ถˆ๊ณผํ•˜๋‹ค๊ณ ํ•ฉ๋‹ˆ๋‹ค....

    " ์ด๋Š” ๊ฒฝ์Ÿ ARM ์ฝ”์–ด ๋Œ€๋น„ 3๋ฐฐ๋‚˜ ๋˜๋Š” ํฌ๊ธฐ์ด๋ฉฐ ํ˜„๋Œ€์˜ x86 ์•„ํ‚คํ…์ฒ˜ ๋Œ€๋น„ 6๋ฐฐ๋‚˜ ๋˜๋Š” ํฌ๊ธฐ์ด๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๊ฑฐ๋Œ€ํ•œ ์šฉ๋Ÿ‰์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์บ์‹œ ์•ก์„ธ์Šค ์‹œ๊ฐ„์ด 3 ์‚ฌ์ดํด์— ๋ถˆ๊ณผํ•˜๋‹ค. AMD์˜ 32KB ์บ์‹œ๋Š” ์•ก์„ธ์Šค ์‹œ๊ฐ„์ด 4 ์‚ฌ์ดํด์ด๋ฉฐ ์ธํ…” ์„œ๋‹ˆ์ฝ”๋ธŒ์˜ 48KB ์บ์‹œ๋Š” 5 ์‚ฌ์ดํด์˜ ์•ก์„ธ์Šค ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ๋˜ํ•œ ๋ฆฌํ‹€ ์ฝ”์–ด์˜ ๋ช…๋ น์–ด ์บ์‹œ๋„ 128KB๋กœ ๊ฒฝ์Ÿ์‚ฌ ๋น… ์ฝ”์–ด๋ณด๋‹ค๋„ ํ›จ์”ฌ ํฐ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค. " - ์•„๋‚œ๋“œํ…  -

    ์• ํ”Œ์— ํ˜์‹  ์—†๋‹ค๊ณ  ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์• ํ”Œ์„ ์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋“ค... ๐Ÿค”

    ๋ญ ์•„๋ฌดํŠผ ๋ฐฐ์šด๋ฐ”์— ๋”ฐ๋ฅด๋ฉด 128KB ๋Š” ๋ฐ์ดํ„ฐ ์บ์‹œ๊ฐ€ ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

    Apple Silicon ์€ ๋” ์ž์„ธํ•œ ์ •๋ณด๊ฐ€ ๋‚˜์˜ค๋ฉด ์ถ”๊ฐ€ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

     

    ์˜ค๋Š˜๋„ ๋‚˜๋Š” ์„ฑ์žฅํ–ˆ๋‹ค!!! โœŠ๐Ÿป


    ๐Ÿค–๐ŸŸข[์šฐ์งฑ์˜ iOS ๋ธ”๋กœ๊ทธ]๐Ÿ”ต๐Ÿ’ป

    iOS๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ์ฐธ๊ณ  ์ž๋ฃŒ

    https://namu.wiki/w/์บ์‹œ%20๋ฉ”๋ชจ๋ฆฌ?from=Cache 

    https://www.techopedia.com/definition/8048/level-1-cache-l1-cache

    https://it-eldorado.tistory.com/50?category=761782 

    ๋Œ“๊ธ€

์–ด์ œ๋ณด๋‹ค ๋ฐœ์ „ํ•œ ๋‚˜