목차
단어 정리
- Frequency(빈도수) : 메모리 동작 속도로 봐도 될 것 같고, 시간에 반비례합니다. 2GHz라면 Time = 1/Frequency = 1/2nsec
- Primary Memory = Main memory : 메인 메모리를 뜻합니다.
○ DRAM(Dynamic Random Access Memory) : 임의 주소에 접근할 수 있는 기억장치인데, 각각의 축전기가 담고 있는 전자의 수에 따라 비트를 1과 0으로 나타내지만 방전될 경우 정보를 잃게 되기에 주기적으로 충전 명령(refresh)을 보내줘야 해서 동적이라는 이름이 붙었다고 합니다. 휘발성(volatile) 메모리
○ SRAM(Static RAM) : SRAM은 플립플롭 방식의 메모리 셀을 가지고 있기 때문에 DRAM처럼 주기적으로 충전을 할 필요가 없이 전원이 공급되는 동 내용을 기억하고 있습니다. 데이터 주소에 상관 없이 입출력에 걸리는 시간이 일정하며 속도나 성능이 DRAM보다 좋습니다. 대신 회로가 복잡하고 가격이 비싼 등의 이유로 캐시메모리 등에서만 주로 쓰인다고 합니다. 휘발성(volatile) 메모리 - Secondary Memory : SSD, HDD, disk 등등
- 기본적인 프로세서, 캐시, 메모리, 보조기억장치 교환
Direct 메모리 매핑
캐시 메모리는 데이터의 일부를 저장하여 CPU가 자주 쓰는 빠른 엑세스를 위해 데이터를 제공하지만, 크기가 작기에 메인 메모리에 데이터를 블록이라는 단위로 잘라서 저장하고 이 블록을 캐시 라인이라고 합니다. 즉 라인 크기는 블록 크기와 같습니다.
프레임은 메인 메모리(물리적 메모리)의 작은 블록 단위이고 페이지는 가상 메모리(프로세스가 실제로 사용하는 메모리)의 블록단위로 페이지와 프레임의 사이즈는 같습니다. 가상 메모리는 일종의 인터페이스?라고 생각하면 편한 것 같습니다.
word : smallest addresable unit of memory, 즉 데이터를 처리하는 단위를 나타냅니다.
메인 메모리 사이즈와 블록 사이즈로 주소가 매핑되는 예시입니다.
Associative Caches
Direct 매핑은 메인 메모리의 데이터가 캐시에 올라올 때 그냥 정해진 곳에 들어가면 됩니다.
Associative 매핑은 캐시가 여러 곳(n-way)로 나뉘어 들어갈 수 있고 어디에 들어갈지 선택해야 합니다.
2가지가 있는데 Fully Associative와 n-way set associative가 있습니다.
Fully Associative 같은 경우 주어진 블록을 그냥 모든 캐시 way에 넣으면 됩니다. 모든 항목을 동시에 검색해야 하는 등이 있습니다.
n-way set associative는 다중 캐시 ways가 병렬로 작업을 합니다.
n이 커질 수록 블록, set 수가 적어지고 성능(적중률, miss 감소)은 좋아지지만 비용이 비싸 집니다. block의 수는 set에 의해 결정되며 이 경우 modulo 연산으로 정해집니다.
Victim Counter를 정해 어떤 캐시에 넣을 것인가 정책을ㅇ 할 수 있고, LRU나 Round-Robin, Radom 등이 가능합니다. 이 때 dirty data 즉 이미 퇴거된 데이터의 경우 외부 메모리에 업데이트 해줘야합니다.
자세한 복습은 ppt, 정리본을 보는걸로...
'강의 > 컴퓨터구조' 카테고리의 다른 글
Computer Architecture - Pipeline (0) | 2023.07.25 |
---|---|
Computer Architecture - Processor Mode (0) | 2023.06.30 |
Computer Architecture - Registers and Instruction Set (0) | 2023.06.30 |
Computer Architecture - Overview (0) | 2023.06.26 |