[CS:APP] 1-5~1-6) 캐시 메모리, 저장장치의 계층구조
2023. 3. 10. 23:24ㆍComputer Science
728x90
반응형
캐시가 중요하다!
1-4) 프로세서의 작동 원리에서 봤듯이, 시스템이 정보를 한 곳에서 다른 곳으로 이동시키는 일에 많은 시간을 보낸다.
기계어 인스트럭션들과 데이터 스트링들의 복사 과정을 간략하게 다시 정리해보면,
데이터의 복사 과정
1) 기계어 인스트럭션들
- 처음에는
하드디스크
에 저장되어 있다. - 프로그램이 로딩될 때
메인 메모리
로 복사된다. - 프로세서가 프로그램을 실행할 때
프로세서
로 복사된다.
2) "hello, world\n" 데이터 스트링
- 처음에는
디스크
에 저장되어 있다. 메인 메모리
로 복사된다.디스플레이 장치
로 복사된다.
더 큰 저장장치들은 보다 작은 저장장치들보다 느리다.
그리고, 더 빠른 장치들은 더 느린 장치들보다 만드는 데 비용이 많이 든다.
1) 디스크 드라이브 vs 메인 메모리
구분 | 디스크 드라이브 | 메인 메모리 |
---|---|---|
크기 | 크다 | 작다 |
속도 | 느리다 | 빠르다 |
디스크 드라이브
가 1,000배 더 크지만- 프로세서가 디스크에서 1 워드의 데이터를 읽어들이는 데 걸리는 시간은
메모리
에서보다 천만 배 더 오래 걸릴 수 있다.
2) 레지스터 파일 vs 메인 메모리
구분 | 레지스터 파일 | 메인 메모리 |
---|---|---|
크기 | 작다 | 크다 |
속도 | 빠르다 | 느리다 |
레지스터 파일
은 수백 바이트의 정보를 저장하는 반면메인 메모리
는 훨씬 많은 십억 개의 바이트를 저장한다.- 그러나 프로세서는
레지스터 파일
의 데이터를 읽는 데메모리
보다 100배 더 빨리 읽는다.
이러한 프로세서-메모리 간 격차는 지속적으로 증가하고 있다.
메인 메모리
를 더 빠르게 동작하도록 만드는 것보다프로세서
를 더 빨리 동작하도록 만드는 것이 더 쉽고 비용이 적게 들기 때문이다.
이에 대응하기 위해 캐시 메모리
를 활용한다.
캐시 메모리
- 시스템 설계자는 보다 작고 빠른
캐시 메모리
라고 부르는 저장장치를 고안하여프로세서
가 단기간에 필요로 할 가능성이 높은 정보를 임시로 저장할 목적으로 사용한다.
L1 캐시 & L2 캐시
- 프로세서 칩 내에 들어 있는
L1 캐시
는 대략 수천 바이트의 데이터를 저장하고, 레지스터 파일만큼 빠른 속도로 액세스할 수 있다. - 좀 더 큰
L2 캐시
는 수백 킬로바이트에서 수 메가 바이트의 용량을 가지며, 프로세서와 전용 버스를 통해 연결된다. - 프로세서가
L2 캐시
를 액세스할 때L1 캐시
보다 5배 정도 느리지만, 그래도 여전히 메인 메모리를 액세스할 때보다는 5배에서 10배까지 더 빠르다. L1 캐시
와L2 캐시
는 SRAM(Static Random Access Memory)라는 하드웨어 기술을 이용해 구현한다.
L3 캐시
- 보다 새롭고 강력한 시스템은 심지어 3단계의 캐시를 갖는 경우도 있다.
(L1, L2, L3)
캐시 시스템의 아이디어
- 캐시 시스템의 이면에 깔려 있는 아이디어는,
프로그램이 지엽적인(좁은) 영역의 코드와 데이터를 액세스하는 경향인 지역성을 활용하여
시스템이 매우 크고 빠른 메모리 효과를 얻을 수 있다는 것이다. - 자주 액세스할 가능성이 높은 데이터를 캐시가 보관하도록 설정하면
빠른 캐시를 이용해서 대부분의 메모리 작업을 수행할 수 있게 된다.
🌟 캐시 메모리를 이해하는 응용 프로그래머는 캐시를 활용하여 자신의 프로그램 성능을 10배 이상 개선할 수 있다.
저장장치들의 계층구조
💡 계층구조: 전체 시스템이나 구성요소를 여러 계층으로 나누어 구성하는 것
캐시 메모리 같은 보다 작고 빠른 저장장치를 프로세서와 좀 더 크고 느린 장치(ex 메인 메모리) 사이에 끼워 넣는 개념은 일반적으로 널리 받아들여지고 사용되고 있다.
메모리 계층구조
- 모든 컴퓨터 시스템의 저장장치들은 메모리 계층구조로 구성되어 있다.
- 계층의 꼭대기에서부터 맨 밑바닥까지 이동할수록
저장장치들은 더 느리고, 더 크고, 바이트 당 가격이 싸진다.
레벨
- 레지스터 파일 : 계층구조의 최상위인 레벨 0 (L0)
- 메인 메모리: 레벨 4
캐시
- 메모리 계층구조의 주요 아이디어는 한 레벨의 저장장치가 다음 하위레벨 저장장치의 캐시 역할을 한다는 것이다.
L1
과L2
의 캐시는 각각 L2와 L3의 캐시이다.L3 캐시
는 메인 메모리의 캐시이고, 디스크의 캐시 역할을 한다.- 일부 분산 파일시스템을 가지는 네트워크 시스템에서
로컬 디스크
는
다른 시스템의 디스크에 저장된 데이터의 캐시 역할을 수행한다. 로컬 디스크
들은 원격 네트워크 서버에서 파일들을 가져와 보관한다.
성능을 개선하기 위해서 다른 종류의 캐시들을 활용할 수 있듯이,
전체 메모리 계층구조에 대한 지식을 활용할 수 있다.
728x90
반응형
'Computer Science' 카테고리의 다른 글
[CS:APP] 1-7) 운영체제의 역할 (0) | 2023.03.11 |
---|---|
[CS:APP] 1-4) 프로세서의 작동 원리 (0) | 2023.03.06 |
[CS:APP] 1-2~1-3) 컴파일 시스템 (0) | 2023.03.06 |