> 비메모리 설계 엔지니어는 직접 메모리를 만들지는 않는 경우가 많습니다.
이미 만들어져 있는 메모리를 사용하여 메모리 컨트롤러 등을 설계하게 됩니다.
그래서, 상황에 필요한 적당한 메모리를 잘 고를 수 있는 능력이 설계 엔지니어의 역량이라고 생각합니다.
1. 1bit Size
- SRAM (Static RAM): 1비트는 6개의 트랜지스터(6T)를 사용하여 저장됩니다. 셀 구조가 복잡하고 면적이 크지만, 데이터 저장이 전력 공급 시 지속적으로 이루어집니다. 셀 크기가 크기 때문에 고밀도 집적이 어렵습니다.
- DRAM (Dynamic RAM): 1비트는 1개의 트랜지스터와 1개의 캐패시터(1T1C)를 사용해 저장됩니다. 캐패시터를 통해 데이터를 저장하는데, 시간이 지남에 따라 충전 상태가 변하므로 주기적인 리프레시가 필요합니다. DRAM의 셀 크기는 SRAM보다 작아 고밀도 집적이 가능합니다.
- 레지스터 (Register): 레지스터는 1비트를 저장하기 위해 D 플립플롭(D Flip-Flop)을 사용합니다. 플립플롭은 4~6개의 트랜지스터로 구성되며, SRAM보다 크기는 작지만, 고속 데이터를 저장하는데 주로 사용됩니다. CPU 내에서 매우 가까운 위치에 있으며, 속도가 가장 빠릅니다. 실제 현업에서는 보통 D F/F gates == 10 gates
>> F/F만으로 설계를 할 경우 AREA의 손해를 많이 볼 수 있습니다. 여러 메모리는 사용하여 직접도를 높혀야합니다.
2. Data Access
- SRAM: 데이터를 읽고 쓰는 과정이 매우 빠릅니다. 별도의 리프레시 과정이 필요 없으며, 클럭 사이클 동안 데이터를 유지합니다. 메모리 셀에 직접 접근할 수 있는 구조를 가지고 있습니다.
- DRAM: DRAM은 데이터를 캐패시터에 저장하므로, 데이터를 읽기 전에 리프레시가 필요할 수 있습니다. 메모리에 접근하기 위해선 캐패시터의 충전 상태를 확인하는 과정을 거치며, 이로 인해 SRAM보다 데이터 접근 시간이 상대적으로 깁니다.
- 레지스터: 레지스터는 CPU 내에서 매우 가까운 위치에 있으며, 데이터 접근 시간이 거의 실시간에 가깝습니다. 매우 짧은 대기 시간으로 인해 레지스터에서 데이터 접근이 가장 빠릅니다.
3. Latency
- SRAM: 대기 시간이 매우 짧습니다. 전기 신호가 바로 메모리 셀에 전달되기 때문에 데이터 접근 속도가 빠릅니다.
- DRAM: DRAM은 리프레시 과정과 셀에 접근하는 추가적인 단계가 있어, SRAM보다 대기 시간이 길지만 여전히 빠른 응답을 제공합니다.
- 레지스터: 레지스터의 대기 시간은 SRAM과 DRAM보다 훨씬 짧습니다. CPU 바로 옆에서 데이터 접근이 이루어지므로, 명령 실행 시 즉각적으로 데이터를 가져올 수 있습니다.
4. Random Access Performance
- SRAM: 랜덤 접근 성능이 매우 뛰어납니다. 메모리 셀에 직접 접근할 수 있기 때문에 주소에 관계없이 빠른 랜덤 접근이 가능합니다.
- DRAM: DRAM의 랜덤 접근 성능은 SRAM보다 떨어집니다. 메모리 뱅크 내에서 데이터 접근이 일어나며, 대기 시간이 있어 연속적인 데이터 접근에 유리합니다.
- 레지스터: 레지스터는 CPU 내에서 동작하는 가장 빠른 메모리이므로, 랜덤 접근 성능도 매우 뛰어납니다. 데이터를 즉시 읽거나 쓸 수 있습니다.
5. Interface
- SRAM: SRAM은 일반적으로 고속 캐시 메모리나 버퍼로 사용됩니다. CPU와 메모리 사이의 인터페이스는 매우 빠르고, 별도의 복잡한 제어 없이 동작할 수 있습니다.
- DRAM: DRAM은 메모리 컨트롤러와 함께 동작하며, 외부 인터페이스를 통해 데이터를 교환합니다. 리프레시, 프리차지, 접근 타이밍을 제어하는 복잡한 인터페이스를 필요로 합니다.
- 레지스터: 레지스터는 CPU 내부에 직접 연결된 가장 가까운 메모리로, 데이터 인터페이스가 매우 단순합니다. CPU의 연산 과정 중에 바로 접근하여 사용됩니다.
요약
- SRAM: 빠른 속도, 낮은 대기 시간, 높은 랜덤 접근 성능, 그러나 큰 셀 크기와 낮은 집적도.
- DRAM: 고밀도, 리프레시 필요, 상대적으로 긴 대기 시간, 연속적 데이터 접근에 유리.
- 레지스터: CPU 내에서 가장 빠르고 직접적인 데이터 접근이 가능하지만, 용량이 매우 작고 고가.
각 메모리는 성능, 비용, 용도에 따라 선택이 달라지며, SRAM은 캐시 메모리, DRAM은 주 메모리, 레지스터는 CPU 내부의 임시 저장 공간으로 사용됩니다.
'Verilog HDL > Basics' 카테고리의 다른 글
| 10. FSM(Finite State Machine) 응용 실습 (1) | 2024.10.08 |
|---|---|
| 09-4. FSM(Finite State Machine) 삼항연산자 (0) | 2024.10.08 |
| 09-3. FSM(Finite State Machine) Transition통합, 분리 (0) | 2024.10.07 |
| 09-2. FSM(Finite State Machine) Typiclal Design (0) | 2024.10.07 |
| 09-1 . FSM(Finite State Machine) Coding Style (0) | 2024.10.07 |








