DRAM의 원리, SRAM의 원리 등등은 나름 알고 있는 공돌이입니다.
소싯적 저걸 배울 때부터 DRAM은 캐퍼시터로 이루어져있어 리프레시가 필요하고 어쩌고 저쩌고 하는 것과
SRAM은 소자 6개가 한 덩어리로 되어있어 집적도가 DRAM 대비 1/6이라는... 뭐 그런 공돌이 기본 상식은 알고 있습니다.
그런데, 요즘 부품류를 보면 절대적인 크기가 극한까지 줄어들었고, SRAM 역시 마찬가지 개념으로 물리적인 크기가 충분히 작을 건데,
여전히 CPU 내에 SRAM 캐시를 내장하고, DRAM의 속도를 힘들게 올리는 구조를 사용하고 있습니다.
부품 생산 기술이 극한에 다다른 지금이라면 DRAM을 (약간은 크기가 커지더라도) SRAM으로 대체할 수 있을 것 같다는 생각이 듭니다...만, 그래도 하지 않고 꿋꿋이 많은 필드에서 DRAM을 사용하는 이유 같은 게 있을까요?
(원래 모든 필드라고 썼는데, 댓글을 읽다보니 모든 필드는 결코 아니라 수정했습니다)
당연히 이유가 있으니 DRAM 구조를 끌고 가는 거라 보는데, 이걸 속 시원하게 설명하는 곳을 찾기 어렵더군요.
혹시 시원하게 설명해주실 분 계실까요?
SRAM으로 DRAM 크기로 만들면 가격이...........
감당 못하실껄요.....
아두이노 정도되는 전력효율이나 집적화, 성능을 극상으로 올리지 않아도 될때는 말씀하신대로 SRAM을 쓸수 있겠지만
CPU 라면 DRAM 을 써야할거같아요.
당연하다고 생각했는데 글을 읽고보니 저도 확실하게 답변이 안나오네요...ㅎㅎ
돈 문제는 해결이 참 쉽지 않죠..
2. 모듈화 때문에 실질적인 이득이 없어집니다. DRAM 모듈 사이즈를 보시면 아시겠지만, 큰 사이즈와 설정 용이성 때문에 CPU 부분과 떨어져서 별도 모듈로 되어 있습니다.
그렇게 외부인터페이스를 만들면 필연적으로 속도는 느려지기 마련입니다. 그렇게 되면 모듈을 DRAM대신 SRAM을 써도 속도 이득이 별로 안 날 수도 있습니다.
2.1 SRAM 조차도 프로세서와 거리 등으로 따른 L1, L2,...L4 캐시 등으로 구분하는데, 멀리 떨어져서 모듈화 되어있는 RAM 의 인터페이스 속도야 말할 것도 없겠죠.
3. 그리고 “모든 필드” 절대 아니고, DRAM 안쓰는 프로세서도 많습니다. 아니 마이크로컨트롤러급 프로세서를 포함하면 SRAM 만 쓰는 프로세서 숫자가 몇 십배는 많을걸요...?
1. -> 훨씬 비싸기 때문이라고 생각은 해봤는데, 왜 그렇게나 비싼 걸까요?
사실 진짜 궁금한 부분이 이 부분입니다. 기술이 안 돼서 비싼[....] 것일리는 없어보이는데요...
2. -> 그렇군요. 모듈화로 인한 인터페이스 속도도 중요한 이슈겠군요.
만약 SRAM이 일반화되려면 모듈간 인터페이스 속도가 엄청나게 빨라져야겠군요...
3. -> 이건 저도 좀 개발해봐서 압니다. 제가 궁금한 건 PC 처럼 DRAM을 꽂는 구조에 한정한 것이었어요.
좋은+친절한 답변 감사드립니다.
패키지 안에 실리콘 덩어리가 치지하는 부피가 얼마나 되겠어요....
패지키만 억지로 줄여도 10/1 크기로 만들수 있을겁니다...
다만 그 크기 차이만큼 만드는데 드는 비용이 차이가 나는게 문제죠...
DRAM은 각 셀이 1bit의 정보를 저장하는 캐패시터와 그 캐패시터의 상태를 감지하고 제어하는 트랜지스터로 이루어져 있습니다. 그러나 캐패시터는 일정한 시간 간격으로 충전을 해줘야 하기 때문에, 이 충전 과정이 필요해서 DRAM은 동적(Dynamic)이라는 이름이 붙게 되었습니다. 따라서 DRAM은 정보를 저장하는 동안에도 주기적으로 새로운 충전이 필요합니다. 이 때문에, DRAM은 더 많은 전력을 소비하고, 느리고 비싼 주기억장치입니다.
반면, SRAM은 각 셀이 1bit의 정보를 저장하는 플립플롭과 그 플립플롭을 제어하는 트랜지스터로 이루어져 있습니다. 즉, SRAM은 정보를 저장하는 데 필요한 충전 과정이 없어서 DRAM에 비해 빠르고 전력 소비가 적습니다. 하지만 SRAM은 DRAM에 비해 셀 당 필요한 트랜지스터의 수가 많아서 면적이 더 크고, 따라서 더 비싸고 용량이 작습니다.
따라서, DRAM은 주로 대용량 메모리로 사용되고, SRAM은 캐시 메모리와 같은 소용량 메모리에 사용됩니다.