Q & A

왜 CPU는 4바이트 크기로 데이터를 처리하는 것이 효율적인가요?

컴퓨터에서 CPU가 메모리에 접근할 때 32비트 CPU는 4바이트 단위, 64비트 CPU는 8바이트 단위로 접근하기 때문입니다. 만약 32비트 CPU에서 4바이트보다 작은 데이터에 접근할 경우 내부적으로 시프트 연산이 발생해서 효율이 떨어집니다. 그리고 데이터가 4바이트 크기로 만들어져 있다면 32비트 CPU는 데이터를 그대로 읽으면 되고, 64비트 CPU는 4바이트 크기의 데이터 두 개를 묶어서 읽으면 됩니다.

비트맵 포맷의 픽셀 데이터 한 줄을 4의 배수로 저장하는 것은 C 언어 컴파일러가 구조체를 일정한 크기로 정렬하는 것과 같은 원리입니다.