Lec23-MemoryDevice (updated)

한국어판 강의자료 · 30쪽
1쪽
p.1CSED311 컴퓨터구조 – 강의 23 메모리 장치
2쪽
p.2정적 랜덤 액세스 메모리 (SRAM) (1/2)
  • static RAM (SRAM)(정적 랜덤 액세스 메모리)
  • cache(캐시)
  • register file(레지스터 파일)
  • …
  • 읽기
  • bitline(비트라인) 차이를 감지
  • 쓰기
  • 강한 신호로 bitline(비트라인) 덮어쓰기
  • 1 셀 = 6 트랜지스터 (보통)
  • 4 (두 개의 인버터) + 2 (스위치)
3쪽
p.3정적 랜덤 액세스 메모리 (SRAM) (2/2)
  • 비트 셀 어레이
  • 2n 행 × 2m 열
  • (n ≈ m은 전체 지연 시간 최소화를 위해)
  • sense amplifier(센스 증폭기) 및 멀티플렉서
  • 2m 차동 쌍
  • 2n
  • n
  • m
  • 1
  • wordline(월라인)
  • bitline(비트라인)
  • bitline(비트라인)
  • n+m
  • 읽기 순서
  • (비트라인이 Vref로 precharge(프리차지)된 것으로 가정)
  • 1. address decode(주소 디코딩)
  • 2. wordline(월라인) 드라이브
  • 3. 선택된 비트 셀이 bitline(비트라인)을 드라이브 (전체 행이 동시에 읽힘)
  • 4. 차동 감지 및 컬럼 선택 (데이터 준비 완료)
  • 5. 모든 bitline(비트라인) 프리차지 (다음 읽기 또는 쓰기용)
  • • access latency(접근 지연 시간)은 단계 2, 3에 의해 주로 결정됨
  • • cycle time(사이클 시간)은 단계 2, 3, 5에 의해 주로 결정됨
  • • 단계 2는 2m에 비례함
  • • 단계 3 및 5는 2n에 비례함
  • • 일반적으로 동기식 (때로 파이프라인화된) 인터페이스 논리로 캡슐화됨
4쪽
p.4동적 랜덤 액세스 메모리 (DRAM)
  • SRAM보다 높은 밀도
  • 1 비트: 1 트랜지스터 + 1 커패시터 (1T1C)
  • 단일 bitline(비트라인)
  • 비트는 커패시터에 저장된 전하로 표현됨
  • destructive read(파괴적 읽기): 읽기 시 내용이 소멸됨
  • → 각 액세스 후 데이터 복원 필요
  • 접근 없이도 전하가 천천히 누출됨
  • 주기적인 리프레시 필요
  • 커패시터 전하가 시간이 지남에 따라 소멸됨
  • 메모리 컨트롤러가 수행함
  • refresh interval(리프레시 간격): 수십 ms (예: 64ms)
  • 리프레시 중에는 DRAM 접근 불가능
  • row enable(로우 인에이블)
  • bitline(비트라인)
  • trench capacitor(트렌치 커패시터)
  • 현대 DRAM에서 사용됨
  • 1
  • 0
5쪽
p.5DRAM 셀 어레이
  • 프로프. Nima Honarmand의 그림에서 인용
6쪽
p.6기초: DRAM 구성
  • 월라인(행)과 비트라인(열)
  • sense amplifier(센스 증폭기) 내 row buffer(로우 버퍼)는 접근 중인 데이터를 보유함
  • DRAM 액세스 시 전체 행이 버퍼로 로드됨
  • row buffer(로우 버퍼)에 있는 데이터를 (DRAM) 행이라 부름
  • 종종 '페이지'라고 불림 – 가상 메모리 페이지와 혼동하지 말 것
  • 그 후, column access(컬럼 액세스) 명령과 병렬로 row buffer(로우 버퍼) 데이터가 어레이에 복원됨
  • Jacob 및 Wang의 그림에서 인용
7쪽
p.7기초: 물리적 구성
  • 이것은 bank(뱅크) 단위입니다. 일반적인 DRAM은 8~16개의 뱅크를 가집니다.
  • ECC (옵션)
8쪽
p.8DIMM, rank(랭크), bank(뱅크) …
9쪽
p.9기초: 액세스 프로세스 (1/5)
  • (1) 버스 전송 (메모리 컨트롤러에 요청을 전송하기 위해)
  • 현대 CPU에서는 메모리 컨트롤러가 온칩에 통합되어 있습니다.
10쪽
p.10기초: 액세스 프로세스 (2/5)
  • (2) precharge(프리차지) 및 row activation(로우 활성화)
  • 이 단계는 'row activation(로우 활성화)'라고 불립니다.
11쪽
p.11기초: 액세스 프로세스 (3/5)
  • (3) column access(컬럼 액세스)
  • 데이터가 로우 버퍼(센스 증폭기)에 로드된 후, 동일한 로우에 대한 여러 번의 column access(컬럼 액세스)는 추가적인 row activation(로우 활성화) 없이 수행될 수 있음 → '로우 히트'
12쪽
p.12기초: 액세스 프로세스 (4/5)
  • (4) data transfer(데이터 전송)
13쪽
p.13기초: 액세스 프로세스 (5/5)
  • (5) 버스 전송 (응답을 CPU로 전송하기 위해)
14쪽
p.14DRAM access latency(접근 지연 시간)
  • DRAM access latency(접근 지연 시간) = A + B + C + D + E + F
  • A: 트랜잭션 요청이 큐에서 지연될 수 있음
  • B: 트랜잭션 요청이 메모리 컨트롤러로 전송됨
  • C: 트랜잭션 요청이 DRAM 명령 시퀀스로 변환됨
  • D: 명령이 DRAM로 전송됨
  • E: DRAM에 액세스: E1 (CAS) 또는 E2 (RAS+CAS) 또는 E3 (PRE+RAS+CAS)
  • F: 트랜잭션 응답이 CPU로 전송됨
  • 단일 칩 내부
  • 현대 CPU에서
15쪽
p.15DDR SDRAM 액세스 프로토콜
  • DDR (더블 데이터 레이트): 클럭 신호의 오르는 에지와 내림 에지 양쪽에서 data transfer(데이터 전송)
  • → 버스트 전송 (Bursting): 활성화된 로우에서 연속적인 데이터 블록
  • 각각 새로운 컬럼 주소가 DRAM 칩에 전송될 때마다
  • 전송되는 데이터 총량: (버스트 길이) × (DRAM 버스 폭)
16쪽
p.16DRAM 메모리 컨트롤러
17쪽
p.17기술 트렌드
  • DRAM access latency(접근 지연 시간)의 감소는 매우 미미함
  • 시간이 지남에 따라
18쪽
p.18memory bandwidth(메모리 대역폭) 트렌드
  • 반면, DRAM 대역폭은 지속적으로 향상됨
19쪽
p.19HBM: 고대역폭 메모리
  • base logic die(베이스 로직 다이) 1개 + 스택당 최대 8개의 DRAM 다이
  • DIMM 기반 메모리보다 훨씬 높은 대역폭
  • NVIDIA V100에서 4개의 HBM 스택 사용 시 900 GB/s vs. Xeon에서 6개의 DDR4 채널(DIMM) 사용 시 131 GB/s
  • 에너지 소비 감소
  • ~DDR4 대비 1/4x 에너지/비트
  • access latency(접근 지연 시간)은 DIMM 기반 메모리와 유사
  • 출처: D.U. Lee, SK 하이닉스, ISSCC 2014
  • 항목
  • 구성
  • # of Stack
  • 4(Core) + 1(Base)
  • Ch./Slice
  • 2
  • Total Ch.
  • 8
  • IO/Ch.
  • 128
  • Total IO
  • 1024 (=128 x 8)
  • Address/CMD
  • Dual CMD (row, col)
  • Data Rate
  • DDR
  • microbump array(마이크로범프 배열)
20쪽
p.20지속 중이거나 미래의 혁신
21쪽
p.21메모리 내 처리(PIM)의 동기
  • DDRx/HBM 메모리 장치에서 채널당 8-16개의 bank(뱅크)
  • bank-level parallelism(뱅크 수준 병렬성)을 활용하여 DRAM의 지연 시간을 (부분적으로) 숨길 수 있음
  • 단, 데이터 I/O를 통해 동시에 접근할 수 있는 bank(뱅크)는 하나뿐임
  • DRAM의 internal bandwidth(내부 대역폭)은 external bandwidth(외부 대역폭)의 (num_banks)배에 달함
  • 만약 DRAM 내부에서 계산을 수행할 수 있다면?
22쪽
p.22삼성의 HBM-PIM [ISSCC’21]
  • 이미지 출처: https://www.samsung.com/semiconductor/solutions/technology/processing-in-memory/
23쪽
p.23SK 하이닉스의 또 다른 PIM 예시 [MICRO’20]
  • 목표: memory-bound workload(메모리 제약 워크로드)인 DNN 추론
  • matrix-vector product(행렬-벡터 곱)에 초점
  • 도전 과제: DRAM 제조 기술에 계산 논리를 구현할 경우의 단점
  • → 낮은 성능 및 높은 면적 오버헤드
  • bank(뱅크)별 산술 단위
  • 16개의 곱셈기(FP16), 16개의 가산기, 16비트 버퍼 1개
  • 이미지 출처: [He et al., MICRO’20]
24쪽
p.24뉴턴 마이크로아키텍처 [MICRO’20]
  • compute rate(계산 속도)를 internal bandwidth(내부 대역폭)에 맞춤
  • 16개의 bank(뱅크)가 병렬로 계산 수행
  • 입력은 global buffer(글로벌 버퍼)에서 bank(뱅크)로 브로드캐스트
  • 8K비트 로우, 256비트 컬럼 (32회 반복)
  • 출력: 16x16비트 결과
  • 슬라이드 및 그림은 [He et al., MICRO’20]에서 수정
25쪽
p.25뉴턴 성능 [MICRO’20]
  • 뉴턴 vs. 타이탄 V 유사 GPU
  • ~50-70배의 속도 향상 (DNN의 메모리 집약적 레이어에서, end-to-end GMEAN(종단 간 GMEAN) ~20배)
  • 배치 크기(==여러 입력 데이터의 그룹)가 증가할수록 워크로드가 더 계산 집약적으로 변함 → 배치 크기 64에서 GPU가 뉴턴을 능가함
26쪽
p.26PCM: 상변화 메모리
  • 결정 상태(저저항) 또는 비정질 상태(고저항) 중 하나의 물리적 상태를 가질 수 있는 상변화 물질 사용
  • DRAM 대비 장점:
  • - 더 높은 용량(밀도)
  • - 비휘발성
  • - 리프레시가 필요 없음 → 저대기 전력
  • DRAM 대비 단점:
  • - 더 높은 지연 시간: ~4-15배 DRAM (특히 쓰기 시)
  • - 더 높은 액세스 에너지: ~2-50배 DRAM (특히 쓰기 시)
  • - 낮은 내구성 (셀은 약 10⁷회 쓰기 후 고장)
  • Intel 3D XPoint 메모리는 PCM으로 여겨짐
  • DIMM당 최대 512 GB
  • Intel Optane DIMM
  • 그림 출처: Qureshi 등, ISCA’09
27쪽
p.27STT-MRAM: spin-transfer torque magnetic RAM(스핀 전달 토크 자기 RAM)
  • 자기 터널 접합(MTJ) 사용 → 1T-1MTJ
  • non-volatile memory(비휘발성 메모리)
  • 셀 크기 및 액세스 지연 시간은 SRAM과 DRAM 사이
  • SRAM 및/또는 DRAM의 (부분적) 대체로 사용 가능
  • wordline(월라인) 2: "on" → V = Vdd, V = 0 → 자화 방향이 평행으로 전환
  • 자유층: 자화가 쉽게 변경됨
  • 참고층: 안정된 자화(변경하기 어려움)
  • wordline(월라인) 2: "on" → V = -Vdd, V = 0 → 자화 방향이 반평행으로 전환
  • 0 쓰기 (저저항)
  • 1 쓰기 (고저항)
  • 그림 출처: Mattias Borg
28쪽
p.28true 3D stacking(진정한 3차원 적층)
  • 매우 큰 성능 및 energy efficiency(에너지 효율성) 향상 가능
  • 삼성의 X-Cube
  • TSMC의 N3XT
29쪽
p.29현재 상태: AMD의 3D V-Cache(3차원 V-캐시)
  • compute chiplet(컴퓨트 칩렛) 위에 64MB의 L3 캐시(SRAM) 적층 → L3 캐시 용량 4배 증가
  • 6월 1일 발표 (이번 주 초) → 올해 말까지 생산 예정
30쪽
p.30질문?
단축키
Ctrl K · s자료 검색
[ ]이전·다음 강의
Space영상 재생·정지
j k다음·이전 section
n p다음·이전 slide
b강의 목록 접기·펴기
t맨 위
/강의 검색
Esc닫기