메모리의 주소 공간 - 물리 주소와 논리 주소

song·2023년 4월 24일
0

Q. CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되아 있는지 다 알고 있을까?

A. 모른다. (메모리에 저장된 정보는 시시각각 변하기 때문)

그럼 CPU와 실행 중인 프로그램이 아는 주소는? 논리 주소다

주소에는 메모리가 사용하는 물리 주소와 CPU, 실행 중인 프로그램이 사용하는 논리 주소가 있다.

물리 주소

  • 메모리 입장에서 바라본 주소
  • 실제 저장된 하드웨어상의 주소

논리 주소

  • CPU와 실행 중인 프로그램 입장에서 바라본 주소
  • 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소

메모리 관리 장치(MMU Memory Management Unit)

  • 물리 주소와 논리 주소 간의 변환을 해줌
  • CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환

베이스 레지스터: 프로그램의 가장 작은 물리 주소 (프로그램의 첫 물리 주소를 저장)

논리 주소: 프로그램의 시작점으로부터 떨어진 거리

주소 범위를 침범한다면?

한계 레지스터가 처리할테니 걱정 말라구🦝

한계 레지스터

  • 논리 주소 범위를 벗어나는 명령어 실행 방지
  • 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호
  • 논리 주소의 최대 크기를 저장
  • 베이스 레지스터 값프로그램의 물리 주소 범위< 베이스 레지스터 값+한계 레지스터 값
    즉, CPU가 접급하려는 논리 주소는 한계 레지스터가 저장한 값보다 크면 안됨


<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.04.24)


책과 강의를 통해 학습한 내용을 요약 정리했습니다.
profile
인간은 적응의 동물

0개의 댓글