Buffer & Cache

lainshower_·2023년 1월 7일
0

운영체제

목록 보기
2/6
post-custom-banner

Buffer

Buffer는 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하기 위해 도입된 기술이다. 데이터를 입출력할 때 한번에 하나씩 전송하는 것이 아니라 일정량의 데이터를 모아 한꺼번에 전송함으로써 속도 차이를 완화활 수 있는데, 이때 사용하는게 바로 버퍼이다.

Cache

CPU는 속도가 느린 SDD가 아닌 RAM에서 데이터를 받아 연산을 처리하는데, RAM조차도 CPU의 연산속도를 따라잡는데에는 한계가 있다. 따라서 이를 완화하기 위해 도입된 장치가 Cache이다.

위의 그림은 컴퓨터 저장장치의 계층 구조를 보여준다. 위로 갈수록 속도는 빠르지만 그만큼 비용도 비싼 저장장치이다. 캐시는 CPU의 임시 저장 장치인 레지스터 다음으로 빠른 속도를 가지고 있다. CPU 캐시는 크게 L1, L2, L3 캐시로 나누어 진다. 강의에 따르면 제조사마다 다르지만 L1,L2 캐시는 CPU 코어마다 붙어있고 L3 캐시는 모든 코어가 공유한다고 한다.

CPU는 L1 > L2 > L3 > RAM 순으로 메모리를 요청하게 된다. 이때 캐시에 원하는 데이터가 캐시에 있으면 캐시 히트, 없으면 캐시 미스라고 한다. 캐시에 있는 데이터는 메모리에 있는 데이터를 임시로 가져온 것이다. 따라서 캐시의 변경된 데이터를 메모리에 반영할 때 즉시 변경하는 경우를 즉시 쓰기라고 하고, 변경된 내용을 모아서 주기적으로 반영하면 지연 쓰기라고 한다.

post-custom-banner

0개의 댓글