메모리를 얘기할 때 가장 흔히 접하는 PC용 RAM을 떠올릴 것이다.
이러한 RAM은 일반적으로 컴퓨터의 주기억장치로 사용하며 인스트럭션을 로드하여 저장하는 장치로 주로 사용한다.
도스 시절을 경험해 본 이들은 640킬로바이트의 메모리 제약으로 인해 용량이 큰 프로그램을 실행하기 위해 메모리 상주 프로그램을 최대한 줄이는 등 메모리 튜닝을 했던 기억이 있을 것이다.
우리가 흔히 RAM이라고 하는 이 메모리는 Dynamic RAM이라고 하는 DRAM으로 이루어져 있으며, DRAM과 대조되는 특성을 지니고 있는 소자가 바로 플립플롭으로 구성된 Static RAM, 줄여서 SRAM이다. DRAM은 MOS 트랜지스터 안에 있는 콘덴서에 전하의 형태로 저장이 되며 이 전하는 시간이 흐름에 따라 방전되는 특성이 있으므로 주기적으로 재충전해줘야 한다. 결국 이러한 DRAM은 1비트당 하나의 트랜지스터 소자로 이루어져 있는 것이다.
반면 SRAM이라 부르는 것은 우리가 앞에서 본 플립플롭이라는 소자로 구성되어 있으며 이는 전원이 연결되어 있는 동안에는 내용을 계속 유지하며, Read/Write 시간이 DRAM에 비해 무척 빠르다는 특성이 있다. 대신 한 비트당 보통 4~6개의 트랜지스터로 이루어져 있어서 가격적인 면에서 DRAM보다 비싼 단점이 있다.
레지스터 역시 이러한 RAM의 일종이긴 하지만 흔히 메모리라고 하면 연상되는 주기억장치인 램과 구분되는 점은 물리적인 구성의 차이가 아니라 그 사용 용도에 따른 것이다. 레지스터는 CPU칩 내부에 존재하며 직접적으로 ALU에 연결되어 입출력 값을 저장하는 역할을 한다. 반면 RAM은 일반적으로 CPU와 별도로 어드레스 라인과 데이터 라인으로 연결되어 있으며 CPU에서 어드레스 라인으로 주소를 지정하여 해당 주소의 데이터를 읽고 쓰는 방식이다.
한편 앞서 클럭을 설명하면서 언급하였듯이 CPU의 속도를 좌우하는 클럭 주기에 가장 큰 영향을 미치는 부분 중 하나가 레지스터의 속도이다 .레지스터는 일반적으로 주기억장치처럼 대용량을 필요로 하지 않는다. 따라서 이러한 특성을 고려하여 일반적으로 레지스터는 SRAM으로 구성하게 된다. 따라서 메모리의 한 종류일 뿐이지만 그 사용 용도가 CPU 내부에 국한되어 있고 직접적으로 인스트럭션의 구성에 영향을 미치므로 특별히 레지스터라고 부르는 것이다.
뒤에서 다루게 될 캐쉬 역시 빠른 속도를 요하는 주기억장치보다 소용량인 점을 감안해 SRAM으로 구성하는 것이 일반적이다.
이러한 RAM은 일반적으로 컴퓨터의 주기억장치로 사용하며 인스트럭션을 로드하여 저장하는 장치로 주로 사용한다.
도스 시절을 경험해 본 이들은 640킬로바이트의 메모리 제약으로 인해 용량이 큰 프로그램을 실행하기 위해 메모리 상주 프로그램을 최대한 줄이는 등 메모리 튜닝을 했던 기억이 있을 것이다.
우리가 흔히 RAM이라고 하는 이 메모리는 Dynamic RAM이라고 하는 DRAM으로 이루어져 있으며, DRAM과 대조되는 특성을 지니고 있는 소자가 바로 플립플롭으로 구성된 Static RAM, 줄여서 SRAM이다. DRAM은 MOS 트랜지스터 안에 있는 콘덴서에 전하의 형태로 저장이 되며 이 전하는 시간이 흐름에 따라 방전되는 특성이 있으므로 주기적으로 재충전해줘야 한다. 결국 이러한 DRAM은 1비트당 하나의 트랜지스터 소자로 이루어져 있는 것이다.
반면 SRAM이라 부르는 것은 우리가 앞에서 본 플립플롭이라는 소자로 구성되어 있으며 이는 전원이 연결되어 있는 동안에는 내용을 계속 유지하며, Read/Write 시간이 DRAM에 비해 무척 빠르다는 특성이 있다. 대신 한 비트당 보통 4~6개의 트랜지스터로 이루어져 있어서 가격적인 면에서 DRAM보다 비싼 단점이 있다.
레지스터 역시 이러한 RAM의 일종이긴 하지만 흔히 메모리라고 하면 연상되는 주기억장치인 램과 구분되는 점은 물리적인 구성의 차이가 아니라 그 사용 용도에 따른 것이다. 레지스터는 CPU칩 내부에 존재하며 직접적으로 ALU에 연결되어 입출력 값을 저장하는 역할을 한다. 반면 RAM은 일반적으로 CPU와 별도로 어드레스 라인과 데이터 라인으로 연결되어 있으며 CPU에서 어드레스 라인으로 주소를 지정하여 해당 주소의 데이터를 읽고 쓰는 방식이다.
한편 앞서 클럭을 설명하면서 언급하였듯이 CPU의 속도를 좌우하는 클럭 주기에 가장 큰 영향을 미치는 부분 중 하나가 레지스터의 속도이다 .레지스터는 일반적으로 주기억장치처럼 대용량을 필요로 하지 않는다. 따라서 이러한 특성을 고려하여 일반적으로 레지스터는 SRAM으로 구성하게 된다. 따라서 메모리의 한 종류일 뿐이지만 그 사용 용도가 CPU 내부에 국한되어 있고 직접적으로 인스트럭션의 구성에 영향을 미치므로 특별히 레지스터라고 부르는 것이다.
뒤에서 다루게 될 캐쉬 역시 빠른 속도를 요하는 주기억장치보다 소용량인 점을 감안해 SRAM으로 구성하는 것이 일반적이다.
- 뇌를 자극하는 프로그래밍의 원리 -
'04번. IT 힌트얻기 > ▶ 이론' 카테고리의 다른 글
WAS와 WS (0) | 2011.08.19 |
---|---|
[Basic-1] 3. 인터프리터와 컴파일러 (0) | 2011.08.10 |
[Basic 1] 1. 프로그래밍의 역사 (2) (0) | 2011.08.10 |
[Basic-1] 2. 어셈블리어 (0) | 2011.08.10 |
[Basic-1] 1.프로그래밍의 역사 (1) (0) | 2011.08.09 |