본문 바로가기

Computer Science/Computer Architecture 52

5. Cache - Virtual Memory Interaction TLB and Cache Interaction CPU가 주는 address는 virtual address이다. 그런데 main memory와 cache memory는 physical address를 사용한다. 따라서 TLB를 이용해서 address translation을 해야 한다. Address Translation 과정 CPU는 virtual address(VPN + page offset)을 준다. 들어온 VPN을 TLB에서 parallel matching을 한다. TLB hit : 해당 entry에서 PPN을 얻는다. TLB miss : main memory의 page table에서 해당 virtual page의 PTE를 찾는다. → page hit/miss physical address를 완성한다.. 2021. 6. 13.
5. Virtual Memory Virtual Memory Main memory를 disk에 대한 cache로 사용한다. Disk access 속도는 매우 느리기 때문에 software로 커버 가능하다. Hardware로 구현 가능하지만, 비용 대비 성능이 잘 나오지 않기 때문에 software로 구현한다. Cache memory와 독립적이지만, issue는 cache memory와 동일하다. Placement(mapping) Identification Write strategy Replacement policy Placement, Identification 'Disk에서 가져온 내용을 main memory의 어디에 실을 것인가' Disk의 virtual page가 main memory의 physical page로 page 단위 map.. 2021. 6. 13.
5. Multilevel Caches Multilevel Caches 배경 RISC architecture의 등장으로 processor의 성능이 exponential하게 증가하였다. 그러나 메모리의 속도는 크게 증가하지는 않았으며, 그에 따라서 CPU입장에서의 메모리는 속도가 점점 느려져갔다. 이를 해결하기 위해서 cache memory가 등장하였다. 그러나 차이는 점점 심해졌고, cache를 이용해도 극복 불가능하게 되었다. Cache memory도 CPU의 속도를 따라가지 못하게 된 것이다. Multilevel Caches (Two-Level) 메모리 속도와 CPU의 속도 간극을 해결하기 위해서 cache memory와 processor 사이에 하나의 cache를 더 추가한 것이다. Cache가 2개 사용되었다 해서 2-level cac.. 2021. 6. 11.
5. Write Strategy Write Strategy Cache에 write를 할 때 cache의 내용과 memory의 내용이 달라진다.(inconsistent) 따라서 이를 맞춰줘야 한다. 2개의 방법이 있다. write-through write-back Write-Through Cache에 write 할 때 main memory에도 write를 하는 방법이다. 그런데 main memory는 access 속도가 매우 느리기 때문에 CPI가 매우 커지게 된다. 예를 들어, CPI가 1이고, 10%의 instruction이 sw이고, memory access time이 50cycle이라 하자. 그렇게 되면 effective CPI = 1 + 0.1 * 50 = 6 이 된다. 이를 해결하기 위해서 write buffer를 이용한다. .. 2021. 6. 11.
5. Set-Associative Mapping Address Conflict Direct mapping에서 cache의 한 위치에는 하나의 block만이 들어갈 수 있다. 자주 사용하는 다수의 block이 하나의 같은 위치로 mapping 된다면 계속 miss가 발생하면서 block이 교체 될 것이다. 이는 miss rate의 증가를 일으키고 성능을 떨어뜨린다. 이렇게 2개의 block이 하나의 위치로 mapping 되면서 발생하는 문제를 2-way address conflict라고 한다. 만약, 3개의 block이 하나의 위치로 mapping되면서 문제가 발생한다면 3-way address conflict라고 한다. Set-Associative Cache Direct mapping과 유사하지만 address conflict를 해결한 방식이다. Ca.. 2021. 6. 11.