ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Computer Science] 메모리 : 메모리의 주소 공간
    Computer Science 2024. 5. 15. 17:48

    메모리의 주소 공간, 주소 체계에 대해 정리하였습니다.


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


    < 메모리의 주소 공간 >

    CPU현재 실행 중인 프로그램은 현재 몇 번지에 어떤 프로그램/명령어가 저장되어 있는지 알지 못합니다.

    이러한 점을 극복하기 위해 메모리의 주소 체계를 논리주소물리주소로 나누었습니다.

     

    메모리에 저장된 값들은 시시각각 변하기 때문에 CPU와 현재 실행 중인 프로그램은 메모리의 몇번지에 어떤 프로그램/명령어가 저장되어 있는지 알지 못합니다.

    • 새롭게 실행되는 프로그램은 새롭게 메모리에 적재
    • 실행이 끝난 프로그램은 메모리에서 삭제
    • 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐

     

     

     


    < 논리 주소와 물리 주소 >

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

    물리 주소는 메모리 입장에서 바라본 주소입니다.

    => 말 그대로 정보가 실제로 저장된 하드웨어 상의 주소입니다.

     

    논리 주소와 물리 주소

     

     


    < 논리 주소와 물리 주소 >

    MMU(Memory Management Unit)라는 하드웨어에 의해 변환

    MMU는 논리 주소베이스 레지스터(프로그램의 기준주소) 값을 더하여 논리 주소를 물리 주소로 변환합니다.

     

    • 베이스 레지스터에 실행 중인 프로그램의 가장 작은 물리 주소를 저장합니다.

     

    논리주소 > 물리주소 변환

     

     


    [ 메모리 보호 ]

    한계 레지스터 설정을 통해 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막습니다.

    CPU는 메모리에 접근하기 전, 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사합니다.

     

    • 한계 레지스터에 논리 주소의 최대 크기를 저장합니다.

    : 한계 레지스터를 통해 위와 같은 명령어의 실행을 막을 수 있습니다.

     

     


     

    CPU 메모리 접근 순서

     

    댓글

Designed by Tistory.