메모리 바운드 (250708)

CPU가 RAM에서 데이터를 읽어와 캐시와 레지스터로 전달하는 과정도 넓은 의미에서 I/O(Input/Output)로 볼 수 있습니다.

CPU의 ALU(산술 논리 연산장치)는 필요한 데이터가 메모리에서 아직 도착하지 않은 I/O 상황에서는 대기하게 되고,이로 인해 CPU가 연산을 하지 못하는 시간이 늘어나 성능 저하로 이어집니다.

이런 현상을 **메모리 바운드(memory bound)**라고 하며,

CPU가 충분히 빠르더라도 메모리 접근 속도가 느리면 전체 프로그램 성능이 떨어집니다.

메모리 I/O 병목 때문에 ALU가 놀게 되면, 시스템 전체의 처리 속도가 느려집니다.

이럴 때는 캐시 최적화, 데이터 접근 패턴 개선 등이 중요합니다.

이걸 극복하기 위한 기법은?

1. 캐시 최적화

2. 프리페칭(Prefetching)