TIL 230928

geon·2023년 9월 28일
0

CSAPP (p.675 ~ 684)

프로그래밍에 지역성을 활용하는 방법

  • 대량의 연산과 메모리 접근이 발생하는 inner loop에 집중하기
  • data object를 순차적으로(메모리 저장 순서대로) 읽어서 공간 지역성을 최대화하기
  • data object를 메모리에서 읽어온 후 최대한 자주 사용함으로써 시간 지역성을 최대화하기

챕터 요약

기본적인 저장 기술에는 RAM, ROM, disk가 있음
1. RAM
SRAM은 빠르고 비쌈, 캐시 메모리에 사용
DRAM은 느리고 저렴함, 메인 메모리와 graphics frame buffer에 사용
2. ROM
nonvolatile memory
전력 공급이 끊겨도 데이터가 유실되지 않음, 펌웨어를 저장하는 데 사용
3. rotating disk
많은 양의 데이터를 저장할 수 있고, 비트당 비용이 낮으나, 접근 시간이 DRAM보다 훨씬 긺
4. SSD
nonvolatile flash memory에 기반을 둔 저장장치
DRAMrotating disk 사이의 속도, 비용, 저장 용량을 가짐

잘 짜여진 프로그램은 좋은 지역성을 가지고, 대부분의 데이터를 (memory hierarchy 상에서) 높은 레벨의 저장장치로부터 가져옴
이를 통해 메모리 시스템은 높은 레벨 저장장치의 속도로 작동하면서 낮은 레벨 저장장치의 비용과 용량을 활용할 수 있음

profile
뭐라도 적기

0개의 댓글