임베디드컴퓨터구조 Ch.8 정리 (Scratched memory, cache lockdown, DRAM)

hwi·2024년 12월 9일

Computer Architecture

목록 보기
3/5

Scratchpad Memory, Cache Lockdown

Scratchpad memory

eviction이 되지 않는 cache 비슷한 것

배경

replace하고싶지 않은 데이터를 빠르게 access할 필요성

cache의 데이터는 계속 바뀌기 때문에, 특정 데이터가 항상 cache에 있으리라고 보장하기 어려움.
-> 고정해놓고 쓰고 싶은 데이터는 어떻게 할까?

설명

SRAM으로 만들어짐
한번 들어오면, application이 끝날 때까지 그곳에 존재함 (access time 동일)

Cache Lockdown

Cache의 특정 부분을 update하지 않는 방식

  • vector interrupt table
  • interrupt service routine 등,

중요한 코드들에 대해 cache에서 벗어나지 않게 함으로써 빠른 response를 보장

Main Memory

DRAM Overview

  • MC : Memory Controller
    - Cache miss 발생시 addr, data, command 등을 메모리에 전송
  • Channel : independent memory system (따로 따로 움직임)
    - Channel 1개당 MC 1개
  • DIMM : 꽂을 때마다 Channel의 용량 증가(rank 수 증가)
  • DRAM Chip : 8개 BANK로 구성
  • BANK : 독립적으로, 동시에 access할 수 있음 (bank interleaving) -> throughput 증가
    - bank access time이 엄청 길어서, 여러개 동시에 접근해야함

칩 하나당 8bit 나오고(아래 그림 참조), 칩이 8개이므로 한번에 64bit(8byte)가 나온다.
이것을 8번 읽어야 64byte(cache block size)가 나온다

Bank 구조

Channel 수 늘리는 건 비쌈 -> bank 수 늘리기

sequence

  1. address가 들어오면, row address와 column address로 쪼갠다
  2. 특정 row를 선택하고 row buffer(sense amplifier)에 저장한다
  3. column address를 통해 특정한 부분을 선택한다(빨간 색칠부분)
  4. output으로 내보낸다
  5. precharge bit-lines (전하를 charge해놓는)

DRAM Burst

SDR

Single Data Rate

DDR

Double Data Rate
데이터를 많이 보내고 싶어서
CPU, Interconnect speed가 빨라지면서, BUS가 노는 상황이 발생

  • rising / falling 모두에서 transfer 되므로 x2
  • 1 transfer당 8byte 전송되므로 x8
profile
될놈

0개의 댓글