Ideal Memory(이상적인 메모리)
- 지연시간이 코스트가 없고, 대역폭과 용량이 무한
- 이상적인 메모리의 요구조건은 서로 상반됨(용량이 크면 느려지고, 빠르거나 대역폭이 높아지면 비싸짐)
1. 메모리 종류
1) 휘발성 메모리(volatile memory)
(1) SRAM(Static Random Access Memory)
- 속도 : 빠름(커패시터가 없음)
- 밀도 : 낮음(6T(트렌지스터) cell)
- 비용 : 높음
- 커패시터가 없으므로 refresh할 필요없음
(2) DRAM(Dynamic Random Access Memory)
- 속도 : 느림(커패시터 있음)
- 밀도 : 높음(1T(트렌지스터) 1C(커패시터) cell)
- 비용 : 낮음
- 커패시터로 인해 refresh(배터리를 충전하는 동작)해야함 -> 성능 감소, 하지만 비용이 싸서 main memory에 사용
2) 비휘발성 메모리(nonvolatile memory)
(1) SSD(Solid-state drive)
- 속도 : 빠름
- 비용 : 높음
- flash memory 사용
(2) HDD(hard disk drive)
- 속도 : 느림
- 비용 : 낮음
- magnetic storage 사용
각 메모리는 장단점을 가지고 있기 때문에 하나의 메모리 타입으로이상적인 메모리(ideal memory)가 될 수 없음
따라서, Memory hierarchy를 이용
2. 메모리 계층구조(Memory Hierarchy)
- 메모리 계층구조란 메모리를 필요에 따라 여러층으로 나누어 CPU가 메모리에 접근하는 속도를 높이는 것
- 메모리 계층구조가 동작할 수 이유는 '데이터의 지역성'때문이다.
1) 지역성(locality) : 지역성이란 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미
(1) 시간적 지역성(Temporal Locality) : 특정 데이터가 한 번 접근되었을 때, 가까운 미래에 다시 접근할 가능성이 높은 것(반복문)
(2) 공간적 지역성(Spatial Locality) : 특정 데이터와 가까운 데이터가 다시 접근할 가능성이 높은 것(ex : 배열, 순차 접근)
이러한 지역성을 활용해 모든 데이터를 디스크에 저장하고 필요에 최근에 접근된 데이터를 main memory, cache에 저장하는 방식으로 메모리 계층구조를 구현
2) 메모리 계층구조에서의 기본 동작
(1) block(line) :
cache의 기본 저장 단위 또는 메모리의 각 계층에서 데이터를 전송하는 기본 단위(multiple word)
현대 컴퓨터의 block size는 64bytes. 즉 블록 당 16개의 word를 담고 있음(1 word는 4bytes)
(2) hit :
접근한 데이터가 상위 계층에 있을 때 (hit rate = hits/accesses)
(3) miss :
접근한 데이터가 상위 계층에 없을 때 (miss rate = misses/accesses = 1 - hit rage)
miss 발생 시 하위 계층에서 블록은 복사해옴
3) 파이프라인 디자인에서의 캐시
- datapath에서 두가지 메모리가 사용됨(Instruction memory, data memory). 이 또한 캐시로 구현되어야한다.
- 캐시는 용량이 커질수록 데이터 전송속도가 느려지기 때문에 역할에 따라 나누고 이를 다시 합치는 계층구조가 필요하다.
(1) L1 cache : 프로세서와 가장 가까운 cache로 속도를 위해 instruction과 data로 분리
(2) L2 cache : 용량이 큰 cache, 크기를 위해 L1 cache 통합
(3) L3 cache : multicore 시스템에서 여러 코어가 공유하는 cache
'CS > Computer Architecture' 카테고리의 다른 글
Language of the Computer (0) | 2019.12.23 |
---|---|
Computer Abstraction and Technology (1) | 2019.12.22 |
Processor - Datapath (0) | 2019.12.17 |
Processor - logic design basics (0) | 2019.12.16 |
Floating Point Number (0) | 2019.12.15 |
댓글