본문 바로가기

Computer Science/Computer Architecture 52

5. Direct Mapping Direct Map Cache Cache design issue들을 해결하는 가장 간단한 방법이다. 가장 간단(단순)하기 때문에 빠르다. Cache의 속도(hit time)가 processor의 clock speed(cct)를 결정한다. Direct mapping은 빠른 방법이기 때문에 cct가 가장 빠르다. Placement (Mapping) Main memory의 각 block들이 cache에 들어갈 자리가 미리 정해져 있다. Cache의 각 block에는 하나의 block만 들어올 수 있다. Identification CPU의 주소는 다음과 같이 구성된다. tag cache의 각 block에 들어갈 수 있는 main memory의 block들 중 몇 번째 인가 index cache에서 몇번째 blo.. 2021. 6. 11.
5. Memory Design Memory Design Design Issues (Memory Management Issue) placement(mapping) 가져온 내용을 memory의 어느 위치에 둘 것인가 identification CPU가 원하는 것이 메모리에 있는지 없는지를 어떻게 판단할 것인가 hit/miss를 어떻게 판단할 것인가 write strategy cache와 memory의 inconsistent가 발생하기 때문에 고려해야 한다. write-through simple and consistent 현재 메모리에 write 하면서 아래 layer의 메모리에도 동시에 쓴다. write-back memory traffic을 줄일 수 있다. 현재 메모리에만 write를 하고, 아래 layer에는 나중에 write 한다. .. 2021. 6. 11.
5. Cache Memory Cache Memory 배경 오늘날 프로세서의 속도는 매우 빨라졌지만, 메모리는 느리다. 그래서 base CPI는 감소하였고, 이에 따라 miss penalty가 크고, 메모리에 의한 stall이 상당히 커졌다. CPU는 굉장히 빠르지만, 메모리 때문에 프로그램 실행 속도가 느려진 것이다. 이를 해결하기 위해서 cache를 사용한다. IO device나 network는 memory에 비해서 access speed가 훨씬 느리다. 여기에서도 문제를 해결하기 위해서 cache를 사용한다. Cache Memory Main memory access 속도를 높이기 위해서 사용한다. CPU가 동작하는 속도에 비해 main memory는 속도가 느리기 때문에 필요하다. Cache Designer의 관점 Cache를 .. 2021. 6. 6.
5. Memory : Physical, Virtual, Cache Physical Memory, Virtual Memory 1960년대 까지는 모든 컴퓨터가 physical memory를 사용하였다. 그러나 여러 문제가 발생하며 virtual memory가 개발되었다. 현재의 모든 범용 컴퓨터는 user process address space로 virtual address space를 사용한다. 그리고 속도를 높이기 위해서 2번의 caching을 한다.(disk(virtual memory) → main memory → cache memory) Virtual Memory의 등장 배경 size of main memory의 해결 single program이 main memory의 크기보다 더 크다면 프로그램 하나가 통채로 들어올 수 없다. 여러개로 나눠서 차례로 메모리에 올.. 2021. 6. 6.
4. Control Hazard (Branch Hazard) Branch Hazard Conditional jump(beq, bne)에서 branch의 여부는 4번째 cycle(MEM stage)에서 판단이 완료된다. 따라서 3 cycle 동안 nop을 수행해야 한다. 성능 Conditional jump instruction은 약 15% 확률로 나타나기 때문에 CPI는 1.45 (= 1 + 0.15*3)가 된다. 이는 성능에 있어서 큰 감소를 일으킨다. 해결 beq/bne를 ID stage에서 끝냄으로써 손실을 최대한 줄일 필요가 있다. ID stage에서 끝낸다면 1cycle로 줄일 수 있다. 이를 위해서 ID stage에서 adder와 comparator가 필요하다. adder ID stage에서 target address를 계산한다. comparator 두 .. 2021. 5. 30.