[C++ 공부] 컴퓨터 메모리의 속성

Yujin Lee·2022년 2월 19일
0

Cpp_Study

목록 보기
5/8
post-thumbnail

불필요한 콤보박스 포인터 생성으로 인해 메모리 낭비하지 말란 얘기를 들었다. 그치... C언어의 가장 큰 장점이자 까다로운 부분인 메모리 관리는 익숙해져야 해 8ㅅ8

1. 컴퓨터 메모리의 속성

C++는 메모리를 연속된 셀(cell) 로 취급한다. 각 셀의 크기는 1 Byte이고 주소를 갖고 있다. 64비트 컴퓨터의 경우 프로세스 하나가 2의 64승 Byte의 메모리 주소를 사용한다.

4코어 프로세서의 사례
4코어 프로세서의 사례 - L1i, L1d, L2, L4의 이름을 가진 네모는 메모리 캐시(cache) 이다.

메모리에서 바이트에 접근할 때 컴퓨터는 요청한 바이트만 가져오는 것이 아니라 항상 64Byte로 표시된 캐시 라인에서 가져온다. CPU와 주 메모리 사이에 위치한 다양한 캐시는 개별 Byte 대신 64 Byte 블록을 계속 추적한다.

최근에 사용된 데이터에 접근하면 캐시에 존재할 가능성이 있고, 프로그램 실행이 빨라진다. 이를 시간 구역성(temporal locality) 이라고 한다.
지금 사용하는 데이터에서 가까운 데이터에 접근하면 이미 주 메모리에서 가져온 캐시 라인에 필요한 데이터가 존재할 가능성이 높아진다. 이를 공간 구역성(spatial locality) 이라고 한다.

profile
I can be your Genie🧞‍♀️ How ‘bout Aladdin? 🧞‍♂️

0개의 댓글