본문 바로가기
IT/Server_서버

[서버] 캐시 버퍼의 write through 방식과 wirte back 방식의 차이

by 무브영/movewoo0 2023. 5. 11.
728x90
반응형

캐시 메모리는 보통 속도 차이가 나는 장치 사이의 빠르게 읽기 동작을 돕기 위해서 사용한다고 알려져있다.

그렇지만 캐시는 읽기 명령에 추가로 쓰기 명령을 수행할 때도 사용이 된다.

 

흐름도

 

위의 흐름도에서 'Write Buffer' 라는 장치를 두고 쓰기 성능을 향상시킨 시스템이 있는데,

Write buffer는 CPU가 쓰기 명령 수행을 조금 더 효율적으로 할 수 있도록 돕는다.

 

이 Write buffer를 이용하여 쓰는 방식에는 두 가지가 있는데

그 방식 두가지가 'write through' 방식과 'write back' 방식이다. 

 


 

1. Write Through 방식

CPU의 쓰기 처리 시 캐시에 데이터를 저장할 때, 해당 데이터를 캐시에 저장함과 동시에 기억장치에도 쓰는 방식을 지원하는 방식.

이 방식은 캐시와 메모리 두 가지에 동시에 쓰기 명령을 실행하여 업데이트하는 방식이다. 

캐시와 메모리 모두에 데이터를 업데이트하므로 두 장치의 데이터 일관성을 유지하는데 효과적이지만

결국 상대적으로 속도가 느린 기억장치에도 기록을 하므로 CPU wait time이 늘어나서 write back 방식에 비해 성능이 떨어진다. 

 


2. Write Back 방식

CPU의 쓰기 처리 시 캐시에 데이터를 저장할 때, 캐시 내에 있는 내용을 삭제할 때(데이터가 캐시내에 저장된 블록에서 해제될 때)에만 기록되는 방식.

쓰기 처리를 할 때, 메모리를 사용하지 않고 캐시에만 업데이트를 하면서 필요한 순간에만 주기억장치 또는 보조기억장치에 기록하는 방법.

캐시에만 데이터를 기록하므로 Write Through 방식에 비해 성능이 좋고 속도가 빠르다.

반대로 캐시에 업데이트하는 순간에 메모리에는 똑같이 업데이트가 되지 않으므로 캐시와 메모리의 데이터가 일관되지 않는 경우가 있고 이를 불러오는 데에 성능이 요구된다. 

속도가 우선인 시스템에서는 write back 방식이 더 좋을 수 있다. 

 

 


 

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

728x90
반응형

댓글