데이터 저장장치의 계층구조 Storage Devices Hierarchy, DRAM 과 SRAM


지난 포스팅에서는 컴퓨터의 하드웨어가 어떤 구조를 가졌는지 살펴보았습니다. 하지만 지난 시간에 살펴본 구조도는 이해를 쉽게 하기 위한 단순화된 구조도 이기 때문에, 우리가 모르는 부분들이 아직 더 남아있어요. 오늘은 직접 프로그래밍할 때에나 컴퓨터를 구매하기 위해 사양을 보게 될 때에도 도움이 되는 지식 중 하나인 저장장치에 대해 좀 더 알아보려고 합니다. 




하드웨어 구조도





지난 포스팅에서 말씀드린 캐시에 대해 간단하게 한 번 더 언급하고 본격적으로 데이터 저장장치의 계층구조에 대해 이야기를 해볼게요. 




캐시& 데이터 저장장치 계층구조 Storage Devices Hierarchy

캐시는 다양한 종류의 저장장치들의 속도와 크기 차이로 인한 비효율성을 개선하기 위해 중간에서 데이터를 임시로 저장해주는 장치입니다. 자, 이제 여기서 중요한 점이 이 캐시라는 것은 특정한 하나의 저장장치를 이야기 하는 것이 아니라 위에서 말한 역할을 하는 저장장치를 말하는 용어라는 점입니다. 뭔가 여기서 ‘응? 무슨 소리지 ?’ 라는 생각이 드시죠 ? 







빠른 저장장치와 느린 저장장치 사이에서 데이터를 저장하는 역할을 하게 되면 그걸 캐시라고 하는데, 그 빠르기 순서에 따라 그다음 레벨의 저장장치를 캐시로서 사용한다는 것인데요. 쉽게 말해서 회사 내 직급체계에서 높은 계급이 필요로할 자료들을 그 밑의 계급 사람이 미리 준비하고 있다가 바로 전해주는 구조와 같습니다. 더 높은 직급의 사람들은 더 큰 결정과 생각을 해야 하기에 자잘한 데이터들을 모두 기억하고 정리할 시간이 없기에 그 밑에 다른 계급의 직원들이 일하는 것과 같죠. 하지만 회사내의 직급은 사장 - 직원 이렇게 단순하지 않습니다. 부장 차장 과장 대리 사원 등의 다양한 직급이 있는 것과 같습니다. 저장장치들도 단순하게 두개로 이루어진 것이 아니라, 여러 개의 저장장치들이 있고, 서로 데이터를 저장해주는 역할을 합니다. 




Memory Hierarchy



위의 피라미드 계급도의 가장 위가 register로 Level 0 의 위치에 자리 잡고 있는데요. 그다음으로 빠른 저장장치는 L1 cache 그다음으로 L2 cache, L3 cache 인데요. 이 3가지 cache는 SRAM 입니다. 그리고 main memory 인 DRAM, Local disk 순서로 빠르기의 순서가 나타나 있습니다. 이 계층도의 위에 위치한 저장장치들은 속도는 빠르지만, 저장 용량이 작고 가격이 비싸며, 계층도의 아래쪽으로 갈 수록 속도는 느리지만, 저장용량이 크고, 가격이 저렴한 편에 속합니다. 


이곳에서 사용될 데이터들 중 일부가 Level 1인 L1 cache에 저장되게 되고 이를 캐시라고 합니다. 따라서 위의 계급도 중 cache 들만이 캐시 역할을 하는 것이 아니라, 결론 적으로는 register 을 제외한 모든 저장소가 캐시 역할을 하게 되는 것이죠. 




DRAM SRAM 


우리는 여기서 처음 보는 저장장치인 DRAM 과 SRAM에 대해서도 조금 더 알아보도록 할게요. 



SRAM DRAM



우선 이 DRAM 과 SRAM 은 같은 RAM 이라는 글자를 공유하죠. 이 RAM 은 Random access memory를 의미합니다. 그리고 이 RAM 안에 있는 두 가지 종류 중 하나인 Static이 SRAM 또 다른 종류인 Dynamic 이 DRAM 입니다. SRAM 은 보통 캐시 메모리에 이용됩니다. DRAM 은 메인 메모리에 이용이 되죠. 



SRAM




SRAM 은 Static random access memory 정적 램이라고도 부를 수 있는데요. 주기적으로 데이터를 갱신해 주는 DRAM 과 달리 기억 장치에 전원이 공급되는 한 그 데이터가 계속 보존 되는 특성을 가지고 있고, DRAM 보다 빠른 입출력이 가능합니다. 




DRAM





DRAM 은 Dynamic random access memory 동적 램 이라고도 부릅니다. 이는 기억장치의 내용을 일정 시간마다 재생시켜야 정보를 잃지 않는다고 하여, 동적(dynamic)이라는 명칭이 붙여졌다. DRAM 은 전기가 지속해서 공급되지 않으면 데이터를 잃기 때문에, 휘발성 기억 장치에 속합니다. 



컴퓨터의 구성요소에 대해 하나도 몰랐더라면 (과거의 저처럼 말이죠) 정도의 기본 상식만 알아두고 공부를 지속하면 좋을 같습니다. 그럼 다음 포스팅으로 찾아올게요 ! 감사합니다




참조 : Book : Computer Systems A Programmer's Perspective - Randal E. Bryant. David R. O'Hallaron.

댓글