본문 바로가기
CS(Computer Science)/컴퓨터구조

11. 메모리 구조 (2)

by 동욷 2023. 6. 4.

Block Size Considerations

 

 Larger block은 miss rate를 줄여야함  (Spatial locality)

 하지만 fixed-sized cache에서는 larger block => smaller number of cache line => more competition => more replacment => higher miss rate

 

  Larger miss penalty

  => miss에서 cache에 더 많은 data를 load 해야함

  => 감소된 miss rate로부터 gain을 override

  => 해결책 : early restart / critical-word-first

 

        early restart : 원하는 block의 word가 반환되면 그 즉시 실행을 재개

        critical-word-first : memory를 조직화하여 최우선으로

                                     requested word가 memory로부터 변형되어 cache에 저장되도록 함

 

 

 

Cache Hit/Misses

1) Cache Hit : 정상 수행

2) Cache Misses 

     <1> Stall the CPU pipeline

     <2>Fetch block from next level of hierarchy(하위 레벨)

     - Instruction cache miss : Restart instruction fetch

     - Data cahe miss : Complete data access

 

     Instruction cache miss

     - original PC value 값 (현 PC - 4)를 memory에 전송

     - main memory가 read 수행하고, 이에 접근을 완료할때까지 memory를 wait

     - cache entry에 Write , memory로부터 data를 얻어서 entry의 data 부분에 put , 주소의 상위 비트들을 tag field에 write, 

        valid bit을 킨다 (turn on)

     

     Data cache miss

     - 간단하게 memory가 data와 반응 할때까지 processor를 stall

 

 

     

      Write Through (즉시 쓰기)

       - write 하면서 즉시 memory update

       - write가 생각보다 오래걸림

       => write buffer를 사용해서 해결 ( memory에 쓰여질 data를 hold , write buffer가 full일때만 write stall ,CPU는 즉시 continue)

 

 

      Write Back (나중 쓰기)

       - data-write가 hit일때, cache에 있는 block을 update

       - 각각 block이 dirty한지를 추적 (D bit, 갱신 비트)

       - 만약 dirty block이 교체되면 : write it back to memory

       - write buffer를 쓴다

 

728x90

'CS(Computer Science) > 컴퓨터구조' 카테고리의 다른 글

11. 메모리 구조(1)  (0) 2023.06.04
10. 파이프라인 (3)  (0) 2023.06.04
10. 파이프라인 (2)  (0) 2023.06.04
10. 파이프라인 (1)  (0) 2023.06.04
9. 프로세서 (3)  (0) 2023.06.04