MAR(Memory Address Register)은 주로 CPU에서 메모리와 통신할 때 사용됩니다. 이 레지스터는 특정 메모리 주소를 저장하여 CPU가 메모리의 정확한 위치에서 데이터를 읽거나 쓸 수 있도록 합니다. 보기 4의 설명이 MAR의 역할에 가장 부합합니다. 따라서 선택한 답변은 맞습니다. 보기 1, 보기 2, 보기 3은 각각 프로그램 카운터, 데이터 버스, 컴파일러에 해당하는 설명으로, MAR의 역할과는 관련이 없습니다. 결론적으로, CPU가 메모리에서 특정 데이터나 명령어를 가져올 때 필요한 주소를 기록하는 것이 MAR의 주된 역할입니다.