00. 캐시란?
- 대용량의 메인 메모리 접근을 빠르게 하기 위해 CPU 칩 내부나 바로 옆에 탑재하는 작은 메모리이다.
- 프로세서가 단기간에 필요로 할 가능성이 높은 정보를 임시로 저장할 목적으로 사용한다.
- 캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다.
- 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근 할 수 있다.
- 캐시는 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용
01. 캐시는 왜 중요할까?
👉 물리학의 법칙 때문에 더 큰 저장장치들은 작은 저장장치들보다 느린 속도를 가진다.
👉더 빠른 장치들은 더 느린 장치들보다 만드는데 더 많은 비용이든다.
👉 메모리 접근 속도가 늘어나는 것에 비해 CPU 처리 속도가 훨씬 빠르게 늘어나고 있음
👉 그래서 용량은 작지만 속도가 빠른 CPU 캐시를 사용함
👉 캐시는 현재 마이크로프로세서의 성능에 직접적인 영향을 미친다.
👉 메인 메모리를 더 빠르게 동작하도록 만드느것보다 프로세서를 더 빨리 동작하도록 만드는 것이 더 쉽고 비용이 적게 든다.
02. L1, L2, L3
👉 L1 캐시는 대략 수천 바이트의 데이터를 저장할 수 있음
(거의 레지스터 파일 만큼 빠른 속도로 액세스 할 수 있다.)
👉 L2 캐시는 수백 킬로바이트 ~수 메가 바이트의 용량을 가진다.
👉 L2 캐시는 프로세서와 전용 버스를 통해 연결된다.
👉 L1, L2 캐시는 SRAM(static random access Memory)라는 하드웨어 기술을 이용해 구현한다.
03. 저장장치들은 계층구조를 이룬다.
👉 한 레벨의 저장장치가 다음 하위레벨 저장장치의 캐시 역할을 한다.
👉 L1, L2 캐시는 각각 L2, L3의 캐시이다.
👉 L3는 메인 메모리의 캐시이고, 이 캐시는 디스크의 캐시 역할을 한다.
'Computer Systems' 카테고리의 다른 글
🖥[CSAPP] 9장. Malloc Lab 묵시적 가용 리스트 구현하기 (0) | 2022.10.30 |
---|---|
🖥[CSAPP] 9장. Malloc Lab 동적 메모리 할당 (2) | 2022.10.29 |
🖥[CSAPP] 1장. 운영체제는 하드웨어를 관리한다. (0) | 2022.10.29 |
👩🏼💻[CSAPP] 어셈블리어 (0) | 2022.10.29 |
👩🏼💻[CSAPP] 1장. 컴퓨터 시스템 구조 (0) | 2022.10.27 |
댓글