강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

정은우님의 프로필 이미지
정은우

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

메모리의 주소 공간

메모리로부터 주소버스를 통해 받아들이는 주소번지를 CPU로 가져오는 경우

작성

·

19

·

수정됨

0

메모리의 주소 공간 강의중

메모리에서 주소번지를 CPU로 가지고 온다는 부분이 이해가 어렵습니다.

 

메모리는 요청받은 명령에 응답을 한다고 알고 있습니다

cpu가 mmu를 통해 논리주소 -> 물리 주소로 변환 후 메모리 관여를 하듯

CPU가 메모리로부터 주소번지를 받아 관여하는 상황이 있는건가요?

 있다면 어떻게 이루어지는지도 궁금합니다.

논리->물리의 상황에서는 cpu상에 존재하는 베이스 레지스터를 통해 물리주소를 변환하는데 역참조도 가능한걸까요?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 정은우 님의 질문에 대한 답변을 드리겠습니다.

메모리에서 주소번지를 가져오는 과정은 CPU와 메모리 간의 데이터 교환에서 중요한 부분입니다. CPU는 프로그램을 실행하기 위해 필요한 데이터와 명령을 메모리에서 가져오고 저장해야 하기 때문인데요.

CPU는 메모리를 접근할 때, 논리 주소를 통해 메모리에 접근하고 이러한 논리 주소를 실제 물리 주소로 변환하는 역할은 MMU (Memory Management Unit)가 담당합니다. 이때 사용되는 것이 바로 베이스 레지스터(Base Register)인데, 이는 논리 주소의 기준점 역할을 하며 물리 주소로 변환하는 데 핵심적인 역할을 합니다.

  1. CPU와 메모리 간의 교환: CPU는 메모리에 데이터를 요청할 때 주소 버스를 통해 논리 주소를 전달합니다. MMU가 이 논리 주소를 물리 주소로 변환하는 과정에서 주소 변환을 수행합니다. 변환된 물리 주소가 데이터 버스를 통해 메모리로 전달되면, 메모리는 해당 물리 주소에 존재하는 데이터를 가져와 CPU로 전달합니다.

  2. 역참조 가능성: 논리 주소에서 물리 주소로의 변환은 일반적인 메모리 접근 과정에서의 일방향 흐름을 보여줍니다. 즉, 역참조, 즉 물리 주소에서 논리 주소로의 변환은 일반적인 CPU-메모리 상호 작용에서는 다루지 않습니다. 대개는 논리 주소에서 물리 주소로의 매핑을 통해 메모리에 접근하는 구조이다 보니, 반대의 과정을 수행할 필요는 보통에 경우에는 없기 때문입니다.

이러한 내용이 조금 더 명확히 이해되는 데 도움이 되는 관련 질답을 참고할 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정은우님의 프로필 이미지
정은우

작성한 질문수

질문하기