에르노트
[CS50]기억장치: CPU, 캐시, 하드디스크, RAM 본문
기억장치
컴퓨터가 계산을 수행하기 위해서는 비트와 바이트의 형태로 기억장치에 저장할 수 있어야 합니다. 컴퓨터가 나중에 데이터를 검색할 수 있도록 보관을 하는 것이지요. 하지만 기억장치는 종류마다 서로 다른 속도를 내고 내부에 저장할 수 있는 양에 차이가 있어, 서로 다른 장단점을 가지고 있습니다.
CPU 캐시, 하드디스크, RAM
CPU는 용량이 매우 큰 파일이나 데이터를 처리해야 하지만, 한번에 32 또는 64bit의 블록 단위로 굉장히 적은 양의 데이터를 조작하고 계산합니다. 하지만 중앙처리장치는 이러한 비트들을 굉장히 빠른 속도로 처리할 수 있습니다.
이와 정 반대로 하드디스크는 CPU보다 훨씬 많은 양의 데이터를 저장할 수 있습니다. 근래의 하드디스크는 기기바이트나 테라바이트 단위의 데이터를 저장할 수 있습니다. 하드디스크는 엄청나게 많은 양의 데이터를 기억장치에 저장할 수는 있지만, 데이터를 읽고 쓰는 데에 많은 시간이 소요됩니다.
이 중간에 있는 것이 임의 접근 기억장치, 즉 RAM입니다. RAM은 하드디스크보다 훨씬 빠르게 데이터를 읽고 쓸 수 있어서, 실행중인 프로그램이나 열려있는 파일들이 더 빨리 접근될 수 있도록 메모리를 저장하는 데에 쓰입니다.
L1, L2, L3 캐시
RAM보다 더 빠르게 정보를 읽고 쓰는 더 작은 단위의 기억장치들도 있지만, 결과적으로 기억장치 용량이 더 작습니다. 바로 L1, L2, L3 캐시가 그것인데, L1 캐시가 이 셋 중에서 가장 작고 빠르며, 중앙처리장치가 재빨리 받아 처리할 수 있도록 몇 킬로바이트의 데이터만을 저장합니다. L2 캐시는 L1 캐시보다 조금 크지만, 그만큼 더 느립니다. L3 캐시는 보통 몇 메가바이트를 저장할 수 있어 셋 중 가장 크지만 가장 느립니다. 그래도 L3 캐시는 RAM보다는 빠릅니다.
타협점
일반적으로, 기억장치의 타협점은 용량과 속도에서 찾습니다. 속도가 빠른 기억장치는 용량이 작은 경향이 있습니다. 그리고 속도가 빠른 기억장치는 각 용량 단위의 가격이 더 비쌉니다. 예를 들면, RAM의 1GB 가격이 하드디스크 1GB 가격보다 비쌉니다.
우리가 컴퓨터에서 여러 프로그램을 실행하기 위해서는 운영체제와 프로그램이 동시에 실행시켜야 하는데 이 때 RAM을 사용합니다. 너무 많은 공간의 RAM이 사용되면, 근래의 운영체제는 가상 기억장치라는 것을 써서 일시적으로 데이터를 RAM에서 하드디스크로 옮기고, 사용자가 필요로 할 때 다시 정보를 불러옵니다.
상기 내용은 [하버드 CS50 AP]의 'memory'단원에서 발췌한 것임을 밝힙니다.
'CS' 카테고리의 다른 글
SQL 기본문법 정리 (0) | 2019.10.29 |
---|