RAM(Random Access Memory)
특징 1
앞에서 설명하였던 임의 엑세스 방식을 이용하는 반도체 기억장치이다. RAM에 저장된 각 단어들은 CPU가 전송하는 주소에 의해 지정되어 직접 엑세스된다.
따라서 데이터가 칩 내의 어떤 위치에 있든, 엑세스에 걸리는 시간이 동일하다.
특징 2
RAM은 읽고 쓰는 것이 모두 가능하다.
위 그림은 1K x 8비트 용량의 RAM에 대한 블록 다이어그램과 제어 신호들을 보여주고 있다.
이 칩의 용량은 1KB이며, 주소 비트는 1K = 2^10 이므로 10개가 필요하다. 그리고 데이터 입출력은 한 번에 8비트씩 이루어지기 때문에, 데이터 버스의 폭은 8비트가 된다.
CS : 해당 칩을 선택하는 신호
RD + AD : 해당 칩의 AD(주소)에 해당하는 장소로부터 데이터를 읽어 8비트 버스로 전송
WR + AD : 데이터 버스로부터 8비트 데이터가 읽혀서 주소가 AD인 곳에 저장
특징 3
휘발성(volatile)이다.
전원이 꺼지면 데이터가 사라진다.
RAM의 구분
RAM은 제조 기술에 따라 DRAM과 SRAM으로 분류된다.
DRAM, SRAM모두 RAM의 일종이므로 휘발성이다.
DRAM(Dynamic RAM)은 축전기에 전하를 충전하는 방식으로 비트값을 저장하는 기억 셀(Memory Cell)들로 이루어져 있다.
즉, 축전기의 전하 유무로 1, 0(충전 여부)을 구분한다.
그런데 축전기는 점차적으로 방전되는 성질이 있기 때문에, DRAM은 데이터의 저장 상태를 유지하기 위하여 주기적으로 재충전을 해줘야 한다.
SRAM(Static RAM)은 기억 셀로서 플립플롭을 사용한다.
따라서 SRAM에는 데이터가 안정된 상태로 저장될 수 있으므로, 전력이 공급되는 동안에는 재충전 없이도 데이터를 계속 유지할 수 있다.
플립플롭(flip-flop)이란?
플립플롭은 전원이 공급되고 있는 한, 상태의 변화를 위한 신호가 발생할 때까지 현재의 상태를 그대로 유지하는 논리회로 => 기억 기능을 가지고 있다.
한(1) 비트를 기억하는 메모리 소자이며 레지스터 구성회로로 널리 사용되고 있다.
플립플롭에 전류가 부가되면 현재의 반대 상태로 변하며 (0에서 1로 or 1에서 0으로), 그 상태를 계속 유지하므로 한 비트의 정보를 저장할 수 있는 능력을 가지고 있다.
DRAM의 기억 셀이 SRAM의 기억셀 보다 더 간단하고, 크기가 작다. 따라서 DRAM의 기억 셀의 밀도가 더 높기때문에 같은 용량이면 SRAM보다 비트당 가격이 저렴하다. DRAM에는 재충전 회로가 필요하지만, DRAM의 용량이 커질수록 재충전 회로가 차지하는 비중이 줄어들기 때문에 가격에 영향을 크게 주지는 못한다.
반면에 SRAM은 DRAM보다 속도가 빠르다.
이러한 특징들로 인해 SRAM은 속도가 필요한 캐시에 사용되고, DRAM은 메인메모리로 사용된다.
64비트 RAM이 가질 수 있는 내부 조직들
1. 8X8 비트 조직
8개의 기억 장소들로 구성된다.
따라서 주소 비트는 3개가 필요하다.
이러한 조직을 가지는 RAM에서
전체 용량이 1KB라면 주소 비트는 10개가 필요하다. (1KB = 1024byte = 2^10)
전체 용량이 128KB라면 주소 비트는 17개가 필요하다. (128KB = 2^7 * 2^10 byte = 2^17)
전체 용량이 128MB라면 주소 비트는 27개가 필요하다. (128MB = 2^7 * 2^10 * 2^10byte = 2^27)
2. 16X4 비트 조직
16개의 기억 장소들로 구성된다.
따라서 주소 비트는 4개가 필요하다.
전체 용량이 1Gbit(256M X 4 bit) RAM인 경우 28비트의 주소가 입력 되어야 한다. (2^8 * 2^10 * 2^10bit = 2^28)
3. 64X1 비트 조직
개별적인 기억 소자들에 대하여 읽기/쓰기 작업이 가능하다.
모든 소자에 접근하기 위해서 row주소, col주소가 구분되며, 각각 3개씩 총 6개의 주소 비트가 필요하다.
이러한 조직을 가지는 RAM에서
전체 용량이 8Kbit라면, 8K X 1비트 조직으로 구성되어 13개의 주소 비트가 필요하다. (2^3 * 2^10bit)
전체 용량이 1Gbit라면, 30비트의 주소가 각각 입력되어야 한다.
대용량의 RAM에서 이 조직을 사용하게되면, 필요한 주소 비트수가 너무 많아지기 때문에 거의 채택되지 않는 편이다.
4. 16M X 4 비트 조직
위 조직의 핵심부인 기억 소자 배열은 4096 X 4096 X 4비트로 표시된다.
하나에 4비트인 기억 소자가 4096개의 행과, 4096개의 열로 이루어진 구조이다.
이 칩의 전체 기억 장소의 수는 16M개 이므로, 그들을 구분하기 위해서는 24비트의 주소가 필요하다. (2^4 * 2^10 * 2^10 = 2^24)
위 조직에서 기억 소자의 행과 열을 구분하기 위해서는 각 방향으로 12비트씩의 주소가 필요하다. 즉, 전체적으로 24개의 주소 비트들이 들어와야 한다.
그러나 실제로 접속되는 주소 버스는 12개만 있어도 된다.
그것이 가능한 이유는 아래 그림인 타이밍도와 관련이 있다.
CPU 주소는 CPU가 발생한 전체 24개의 주소 비트를 의미한다.
이들 중에서 상위 12비트가 먼저 주소 버스로 들어와서 행 주소로 사용된다.
이때 RD신호도 활성화되어 칩의 엑세스가 완료되면 데이터 버스에 원하는 데이터가 실릴 것이다.
거의 동시에 RAS(Row Address Strobe)에 의해 행 주소 버퍼에 래치 된다.
그 다음으로 하위 12비트가 주소 버스를 통해 들어오게되고, CAS에 의해 열 주소 버퍼에 의해 래치 된다.
래치된다?
래치의 의미는 다음과 같다.
신호의 상태를 일시적으로 유지 또는 기억시켜 두는 장치나 회로.
일시적으로 데이터를 기억한다는걸 래치된다/한다.라고 부르는 것 같다.
RAS, CAS 신호는 기억장치 제어기 라고 하는 장치가 담당한다.
두 버퍼에 래치된 주소들은 각각 행, 열 주소 해독기에 의해 해독되어 해당 기억장소를 선택하게 된다.
따라서 신호를 통해 현재 입력된 주소 정보를 임의의 버퍼에 저장함으로써 주소 버스의 크기를 절반으로 줄일 수 있다.
그리고 `DRAM 내부 조직` 그림에서 보는 바와 같이 재충전 회로가 포함되어 있다.
이 회로의 핵심 요소인 재충전 계수기는 0 부터 4095까지의 주소를 순서대로 발생시키며, 그 주소는 기억장치 엑세스가 일어나지 않는 사이클 동안에 내부의 MUX에 의해 선택되어 행 주소 해독기로 보내진다.
그러면 그 주소가 지정하는 행에 위치한 모든 기억 소자들이 동시에 선택되어 재충전된다.
MUX란?
여러 입력 신호(I0 ~ I3)중 선택제어 신호(S0, S1)에 의해 어느 하나의 입력신호를 출력 버스(Y)에 전달하는 역할이다.
DRAM 모형
Vcc : 전원 공급 핀
Vss : 접지 핀
2, 3, 22, 23 : 데이터 입출력 핀
A0 ~ A11 : 주소 핀
WE : 쓰기 핀
OE : 출력 활성화 핀(읽기 신호 핀)
5 : RAS핀
21 : CAS핀
ROM(Read Only Memory)
RAM과 달리 읽기만 가능한 메모리이다.
'CS > Computer Architecture' 카테고리의 다른 글
[컴퓨터 구조] 캐시 메모리 (0) | 2022.01.06 |
---|---|
[컴퓨터 구조] 기억장치 모듈 설계 (0) | 2022.01.05 |
[컴퓨터 구조] 기억 장치 기본 (0) | 2021.12.29 |
[컴퓨터 구조] 제어 유니트 (Control Unit) (0) | 2021.12.26 |
[컴퓨터 구조] 산술 연산(덧셈, 곱셈) (0) | 2021.12.04 |