Computer Science/Computer Architecture

[컴퓨터 구조] 주기억장치(RAM과 주소 공간)

ggyongi 2024. 12. 28. 01:14
반응형

주기억 장치의 역할

정의

  • 주기억 장치(Main Memory)는 CPU와 가장 가까운 메모리 계층으로, 프로그램 실행 중 필요한 데이터를 임시로 저장하는 공간
  • 컴퓨터의 데이터를 읽기 및 쓰기 작업에 빠르게 접근할 수 있도록 설계됨

역할

  1. 프로그램 명령어 저장:
    • 실행 중인 프로그램의 명령어가 저장
    • CPU는 명령어를 명령어 사이클(인출 → 해독 → 실행)에 따라 처리.
  2. 데이터 저장:
    • 프로그램이 처리하는 데이터가 저장
    • 연산 중인 중간 값과 최종 결과도 저장.
  3. CPU와 저장장치 간 데이터 중계:
    • 주기억 장치는 CPU와 하드디스크(보조기억장치) 사이에서 데이터를 빠르게 전달하는 역할을 합니다.

특징

  • 휘발성 메모리(Volatile Memory):
    • 전원이 꺼지면 저장된 데이터가 사라짐.
  • 직접 접근 가능:
    • CPU는 주기억 장치에 직접 접근하여 데이터를 읽고 씁니다.

 

RAM(Random Access Memory)

- 주기억 장치의 주요 구성 요소로, 실행 중인 프로그램과 데이터를 저장해 CPU가 빠르게 접근 가능.

- 데이터를 읽고 쓰는 속도가 빠른 휘발성 메모리.

- 임의 접근 가능: 어느 위치든 동일한 시간에 접근 가능

- RAM 용량이 클수록 한번에 많은 프로그램을 RAM에 적재하여 동시에 실행할 수 있다.

 

 

주소 공간

정의

  • 주소 공간은 메모리의 각 위치를 식별하는 고유한 주소의 범위를 의미합니다.
  • CPU는 명령어와 데이터를 처리하기 위해 주기억 장치의 주소를 사용합니다.

주소 공간의 구성

 

물리 주소 (Physical Address):

  • 실제 메모리의 물리적인 위치를 나타냅니다.
  • 주기억 장치의 크기에 따라 주소 범위가 결정.

논리 주소 (Logical Address):

  • CPU에서 참조하는 가상의 주소
  • CPU와 운영체제는 논리 주소를 물리 주소로 변환(MMU: Memory Management Unit)하여 데이터에 접근

논리 주소가 필요한 이유

 

  • 프로그램의 위치와 상관없이 일관성있는 동작을 보장
    • CPU 입장에서 물리 주소를 알 필요가 없어짐
    • 프로그램이 다른 물리 주소를 갖게 되더라도 CPU에서는 항상 동일한 논리 주소를 참조할 수 있음 
  • 프로그램 간 메모리 보호
    • 프로그램에 독립적인 논리 주소 공간을 할당.
    • 프로그램은 자신의 논리 주소 공간만 참조할 수 있으며, 다른 프로그램의 메모리를 침범하지 못합니다.
     

 

MMU의 주소 변환

MMU는 2개의 레지스터 정보를 사용하여 메모리 접근을 관리함

- 베이스 레지스터(base register): 현재 프로그램의 메모리 시작 위치를 저장

- 한계 레지스터(limit register): 현재 프로그램의 메모리 크기(범위)를 저장

 

1. 주소 변환

 물리 주소 = base register + 논리 주소

 

2. 접근 검증

변환된 물리 주소가 Base RegisterBase Register + Limit Register 범위 내에 있는지 확인.

만약 범위를 벗어나면 침범 탐지(트랩 또는 예외 발생) 후 접근을 차단.

 

 

 

참고로 가상메모리, 페이징 같은 고급 메모리 관리 기법에서는 이런 방법을 사용하지 않고 대신 페이지 테이블이라는 것을 활용(이 내용은 운영체제 과목에 있음)

  1.