본문 바로가기

Cache4

캐시 메모리(Cache Memory)의 쓰기 동작 초안 : 2023.04.12 2023.04.10 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 원리 2023.04.11 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 1 2023.04.12 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 2 지금까지는 내용은 모두 메모리를 read 할 때 캐시가 어떻게 동작하는지에 관한 것이었다. 프로세서는 메인 메모리에 값을 저장하려고 할 때, 캐시메모리에도 저장하고 메인 메모리에도 기록한다. 그런데 결과 값을 저장할 때마다 캐시와 메인 메모리 모두에 저장을 한다면, 메인 메모리의 늦은 access.. 2023. 4. 12.
캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 2 초안 : 2023.04.10 2023.04.10 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 원리 2023.04.11 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 1 이전 게시글에서 다룬 direct mapping 방식의 캐시 메모리를 생각해보면.. 메인 메모리의 어떤 데이터 블록은 캐시메모리의 지정된 슬롯으로 들어가야만 하고, 해당 슬롯에 이미 정보가 있다면 그 내용은 지워져야 한다. 캐시에 여유 공간이 있더라도 말이다. 이는 결과적으로 hit ratio 를 낮게 만드는 요인이 된다. Set Associative Mapping 이를 해결하기위해 direct mapping 캐시 메모리 두개를 .. 2023. 4. 12.
캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 1 초안 : 2023.04.10 2023.04.10 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 원리 캐시메모리에는 메인메모리의 일부 내용이 복사되어 저장된다. 프로세서가 어떤 주소에 접근하려고 하면, 먼저 그 주소에 해당하는 내용이 캐시에 있는지 확인하고 있다면 캐시메모리에서 바로 읽고, 없다면 메인메모리에서 읽고 캐시로 복사해온다. 이때 해당 주소 뿐만 아니라 인접 주소 내용도 함께 블록 크기로 복사한다. 즉 캐시메모리에 저장되는 정보는 두개이다. 1. 메인 메모리에서 복사한 데이터 블록 2. 이 데이터 블록이 메인 메모리의 몇번지에 있던 내용인지 나타내는 Tag 정보 아래 그림은 4x16 형식의 캐시 메모리 구조 예시이다. 4개의 데이터 블록이 있으며, 각 .. 2023. 4. 11.
캐시 메모리(Cache Memory)의 원리 초안 : 2023.04.10 CPU 는 프로그램을 실행하기 위해 메모리에서 명령어 및 데이터를 불러온다. 문제는 이 과정이 칩 외부의 시스템버스를 통해서 이뤄지므로 딜레이가 상당하다는 것이다. 다음에 쓰일 명령어나 변수를 예측에서 코어 내부의 SRAM 기반 메모리에 박아둔다면 이와 같은 딜레이를 드라마틱하게 줄일 수 있을 것이다. 이를 위한 메모리가 바로 캐시메모리(Cache Memory) 이다. CPU 내부에는 여러개의 캐시메모리가 존재하는데, 여기서도 코어와 가까운 순서대로 계층 (hierarchy)을 구성한다. 코어와 가장 가까운 캐시메모리를 L1 (level 1) 캐시, 그 다음을 L2 캐시, 그 다음을 L3 캐시라고 한다. 보통 L1, L2 캐시는 각 코어 내부에 있고 L3 은 코어 외부에 위치.. 2023. 4. 10.