컴퓨터 이론

운영체제 : 레지스터와 메모리의 차이

pwerty 2025. 5. 20. 22:33

레지스터와 메모리는 컴퓨터 시스템에서 데이터를 저장하는 두 가지 핵심 요소로, 레지스터는 CPU 내부에 위치하여 매우 빠른 접근 속도를 제공하는 반면, 메모리는 CPU 외부에 위치하며 더 큰 용량을 제공하지만 상대적으로 느린 접근 속도를 가진다.

 

 

레지스터

레지스터는 CPU 내부에 위치한 고속 임시 저장 장치이다. 명령어와 데이터를 일시적으로 저장하는 역할을 한다. CPU의 주요 레지스터는 다음과 같은 종류가 있다.

  • 프로그램 카운터 | PC, Program Counter
    • 다음에 실행 될 명령어의 메모리 주소를 저장하며, 명령어 카운터라고도 불린다.
  • 명령어 레지스터 | IR, Instruction Register
    • 현재 CPU가 해석하고 있는 명령어를 저장한다.
  • 메모리 주소 레지스터 | MAR, Memory Address Register
    • 접근할 메모리의 주소를 임시 저장하는 일종의 "메모리 주소록" 역할을 수행한다.
  • 메모리 버퍼 레지스터 | MBR, Memory Buffer Register
    • 메모리에 저장되기 전 데이터를 임시로 보관한다.
  • 누산기 | AC, Accmulator
    • 연산 결과를 일시적으로 저장한다.

이러한 레지스터들은 CPU가 프로그램을 효율적으로 실행하는데 필수적이며, 프로그램의 실행 흐름을 파악하는 데 중요한 역할을 한다. 레지스터는 컴퓨터 기억장치 중 가장 빠른 접근 속도를 제공하지만, 상대적으로 용량이 작고 비용이 높다.

 

 

 

메모리

다양한 메모리가 있지만 여기서 논하는 메모리는 DRAM으로써의 메인 메모리가 제일 어울린다고 판단되어 메인 메모리에 대해 설명하겠다. 메인 메모리는 컴퓨터의 주된 작업 공간으로, 현재 실행 중인 프로그램과 데이터를 저장한다.

레지스터가 CPU 내부의 고속도로라면 메인 메모리는 조금 더 멀리 위치한 창고이다. 메모리는 각각 주소가 할당된 일련의 바이트들로 구성되어 있으며, CPU가 직접 접근 할 수 있는 범용 저장장치이다. 그러나 메모리 버스를 통해 데이터를 전송하는 과정에서 CPU 클록의 많은 사이클이 소모되어 지연 현상이 발생 할 수 있다.

메인 메모리는 물리적으로 DRAM 칩으로 구성되는데, 이 칩은 메모리 셀의 배열로 이루어져있다.

  • 이 메모리 셀들은 행과 열로 구성된 2차원 그리드 형태로 배치되어 있으며, 각 셀은 트랜지스터와 커패시터 쌍으로 구성된다. 메모리 컨트롤러는 주소 버스를 통해 특정 메모리 위치를 선택하고, 데이터 버스를 통해 해당 위치의 데이터를 읽거나 쓰는 작업을 수행한다.
  • 이러한 물리적 구조는 메모리의 용량, 속도, 그리고 접근 시간에 직접적인 영향을 미친다.

 

 

 

메모리 계층 구조

메모리 계층 구조는 컴퓨터에서 속도, 용량, 비용 간의 균형을 맞추기 위해 설계된 피라미드 형태의 시스템이다. 마치 우리가 자주 쓰는 물건을 손이 닿기 쉬운 곳에 배치하듯, 컴퓨터도 데이터를 효율적으로 관리하려고 한다. 이 구조는 이렇게 구성 되어 있다.. :

  • 레지스터 : CPU 내부에 위치하며 가장 빠르지만 용량이 매우 작고 비용이 높다.
  • 캐시 메모리,L1, L2, L3 : CPU와 메인 메모리 사이의 속도 차이를 줄여주는 중간 저장소로, 자주 사용되는 데이터를 임시 저장한다.
  • 메인 메모리, RAM : 현재 실행 중인 프로그램과 데이터를 저장하는 휘발성 메모리로, 중간 정도의 속도와 용량을 가진다.
  • 하드 디스크, SSD : 전원이 꺼져도 데이터가 유지되는 비휘발성 저장소로, 속도는 느리지만 용량이 크고 가격이 저렴하다.

 

이 계층 구조는 참조 지역성(Locality of reference) 원리를 활용하여, 자주 사용되는 데이터는 빠른 메모리에 배치함으로써 전체 시스템의 성능을 향상시킨다. 게임에서 로딩 화면을 볼 때, 이는 하드디스크에서 RAM으로 데이터를 옮기는 과정인 것이다.