작성날짜: 2021/01/29
- 메모리가 필요한 이유를 생각해보자.
메모리=RAM (DRAM, SRAM, PRAM 등등..)
RAM은 CPU가 처리할 데이터가 임시로 저장되는 공간이다.
CPU와 HDD(하드디스크)의 속도차이를 조절하여 병목현상을 감소하기 위해 RAM을 사용한다.
RAM의 역할은 HDD로 부터 일정량의 데이터를 받아와 임시 저장하고 CPU에서 이를 요청할때마다 CPU에게 전달하는 역할이다.
그러나, CPU의 발전속도가 매우 빨라지면서 성능 격차 문제가 발생하였다.
이것을 Memory Wall이라고 한다. CPU의 속도는 빨라졌는데 DRAM의 속도가 늦어지면서 CPU의 노는 시간이 발생하게 되었다. 즉, CPU의 최대 성능을 낼 수 없게 되는 문제이다. 이 문제를 "지역성"으로 해결하였다.
지역성이란 특정하나의 동작을 반복적으로 수생하는 것이다. 즉, 내가 찾는 정보에서 유사한 지역, 근사한 시간에 그 정보에 대해 또 다시 유사한 정보라는 것이다. 이 특성은 우리가 사용하고 있는 모든 프로그램의 코드를 관통하고 있는 매우 중요한 특성이다.
지역성 특성을 이용하여 메모리 계층구조를 만들어 Memory Wall을 해결하였다.
* CPU와 HDD의 차이는 문제가 없느냐 ? CPU와 RAM의 접근 횟수는 많다.
하지만, CPU와 디스크의 접근은 자주 일어나지 않는다. 그리하여 CPU와 디스크의 성능격차는 문제가 되지 않는다.
- 다양한 메모리 중, SRAM, DRAM, STT-MRAM, PRAM의 특성에 대해 조사하여 비교해보자
SRAM : Static (정적인) RAM. DRAM보다 5배 빠르지만 가격과 크기는 2배이다.
SRAM도 쉽게 변하는 형식(데이터를 return할 전압이 요구된다.)이지만, DRAM과 다르게 리프레시 작업을 필요로 하지 않는다. 빠른 속도 덕분에 캐시 메모리로 주로 사용된다. DRAM보다 트랜지스터 양이 많이 사용된다. 1bit당 약 6~8개의 트랜지스터를 사용.(비용이 비싸다) 트랜지스터를 통해 데이터를 저장하기 때문에 데이터를 읽는 속도가 빠르다.
DRAM : Dynamic(동적인) RAM. 전하량이 동적으로 변할 수 있다는 말이다. 1bit 즉, 하나의 셀은 축전기(전하저장)와 트랜지스터가 합쳐진 구성으로 되어있다. 여기서 축전기는 시간이 지나면 방전이 될 수 있다. 축전기의 전하량에 따라서 1, 0으로 구별된다. SRAM보다 저렴하며 메인 메모리의 주저장장치로 사용된다. 많은 데이터의 저장은 DRAM이 효율적이다. (가격이 싸기 때문). Dynamic RAM인 이유는 메모리 셀에 데이터를 보존하기 위하여 매 초마다 여러번 리프레쉬 작업및 재충전하기 떄문이다.
PRAM : 비휘발성 메모리이다. 비휘발성 메모리란 전원이 공급되지 않아도 저장된 정보를 유지하는 컴퓨터 메로리를 뜻한다. 플래시 메모리의 비휘발성 메모리와 RAM의 빠른속도 둘의 장점을 모두 가진 차세대 메모리 반도체이다. 빠르게 발전중이며 시장 가능성이 높다. 상전이 물질을 이용해 메모리 반도체를 구성한 RAM이다. 전류를 가함에 따라 물질의 내부 구조가 흘려준 전류의 크기에 따라 변화하는 물질을 이용한다. 즉, 전류의 크기에 따라 반도체 물질은 저항이 약한 고체가 될 수도 있고 저항이 강한 액체가 되기도 하는데 이를 이용하여 데이터를 저장하는 방식이다.
STT_MRAM : DRAM과 낸드 플래시의 미세화, 집적화의 한계를 극복하기 위한 고집적화, 고속, 저전력 메모리 구현의 미래 소자로 전망된다. DRAM과 동일한 접근속도와 바이트 단위의 접근 특성을 가진다. 이 말은 주기억 장치로 이용가능하며 동시에 비휘발성과 대용량화를 통하여 보조기억 장치의 역할도 수행이 가능해진다는 말이다. 특히 DRAM과 달리 리프레시 작업이 필요하지 않으므로 전력소모가 낮다. 바이트 단위의 고속 접근성, 비휘발성을 갖는 차세대 메모리 기술로 DRAM보다 빠른 속도와 PRAM에 근접하는 용량을 가진다. 전력소모 또한 DRAM, 플래시 메모리 보다 훨씬 적고 누설전류가 없다. 생산단가가 DRAM과 필적하거나 그보다 낮을 것으로 예상된다.
'BestSu' 카테고리의 다른 글
1년 동안의 기록을 책으로 만들다. (3) | 2024.01.02 |
---|---|
[동적교과] C프로그래밍활용과 메모리 이해 10주차 Quiz (0) | 2022.08.09 |