728x90

캐시란?

CPU와 주기억장치(RAM)사이에서 상호간의 속도 차이를 완화하기 위한 중간 장치이다.

 

CPU와 주기억장치 간의 속도차이가 나는이유?

CPU는 계산을 위해 설계된 반도체 칩이기 때문에 연산속도 자체가 어마무시하게 빠르다

그렇지만 주기억장치는 데이터 저장을 위해 설계된 칩이기 때문에 속도가 빠르지 않다.

 


 

캐시가 왜 필요한지 쉽게 이해하기 위해서 마트에 장보러 갔을 때를 비유하겠다.

 

CPU = 캐셔

캐시 = 장바구니

 

1. 상황가정

쇼핑을 하러갔다. 뭘 살지 정해놓은 리스트를 보조기억장치(HDD)라고 하겠다.

리스트(보조기억장치)를 참고하여 마트를 돌아다니면서 사야하는 물품(데이터)을 장바구니(캐시)에 담는다.

 

2. 의문점

이때 우리는 장바구니를 왜쓰는가? 구매하려는 물품을 일일히 하나씩 계산대에 놓는게 아니라

바구니에 모아서 한번에 계산대로 가져가기 때문이다.

 

3. 의문점2

만약 바구니를 쓰지않고 하나씩 계산대에 갖다놓는다면 어떻게 될까?

아마 그 마트는 계산대에 북적북적한 여러사람들의 서로 다른 물건들로 인해

계산하는 속도는 말할 수 없이 느려져 컴플레인을 받을 것이다.

 

=> 캐시를 사용하지 않고 CPU한테 데이터를 전달하면, CPU는 느려터졌다고 생각하면서 투정부림

 

4. 요약

마트에서 장을 볼때 구매 목록 리스트를 보조저장장치라 하고

마트에서 고른 물건데이터라고 한다면

물건들을 담을 도구캐시이고

물건들을 계산(처리)해줄 역할캐셔(CPU)이다.

 

5. 한줄요약

필요한 데이터들의 일부를 캐시에 담아두고 CPU가 꺼내쓰도록 하여 속도 차이를 줄여주는 장치이다.

 

6. 추가정보

캐시는 그 크기가 매우 작기때문에 메모리에 있는 데이터 중 어떤 데이터를 캐시에 넣어둘지 결정하는

여러 알고리즘이 존재한다.

 

* 버퍼 *

버퍼라는 개념 안에 캐시라는 개념이 있다고 볼 수있다.

그리고 버퍼는 실제로 보조기억장치와 주기억장치사이에 위치하여

두 장치 사이의 속도차이를 완화시키는 역할을 한다.

728x90
복사했습니다!