MBR(Memory Buffer Register)이 무엇일까?

박승우·2024년 6월 23일
post-thumbnail

자 쉰 세 번째 키워드인 'MBR'을 알아 보았다.

이전키워드에 나온 캐시메모를 알아봤다면 메모리 구조를 알아보며 이번 키워드를 알아보았다.

MBR이 뭐에요?

Memory Buffer Register (MBR)는 컴퓨터의 중앙 처리 장치(CPU)와 주기억장치(Main Memory) 사이에서 데이터를 주고받을 때 사용되는 레지스터이다. MBR은 데이터 레지스터(Data Register)라고도 불린다.

MBR의 역할 및 작동 원리

  1. CPU와 메모리 간 데이터 전송

MBR은 주기억장치와 CPU 사이의 데이터 전송을 중계하는 역할을 한다.

  1. 메모리 읽기 과정
  • 주소 지정: CPU는 읽고자 하는 데이터의 메모리 주소를 메모리 주소 레지스터(Memory Address Register, MAR)에 저장한다.
  • 메모리 접근: 메모리 컨트롤러는 MAR에 저장된 주소로 접근하여 해당 위치의 데이터를 읽어온다.
  • 데이터 버퍼링: 읽어온 데이터는 MBR에 저장됩니다. MBR은 이 데이터를 임시로 저장하여 CPU로 전달할 준비를 한다.
  • 데이터 전달: MBR에 저장된 데이터는 CPU의 데이터 레지스터로 전송되어 CPU가 사용할 수 있게 된다.
  1. 메모리 쓰기 과정
  • 데이터 준비: CPU는 쓰고자 하는 데이터를 MBR에 저장한다.
  • 주소 지정: CPU는 데이터를 쓰고자 하는 메모리 주소를 MAR에 저장한다.
  • 데이터 전송: 메모리 컨트롤러는 MAR에 저장된 주소로 접근하여 해당 위치에 MBR에 저장된 데이터를 쓴다.

MBR의 중요성

  1. 속도 차이 완화: CPU와 메모리의 속도 차이를 완화합니다. CPU는 매우 빠르게 작동하지만, 메모리는 상대적으로 느리기 때문에 MBR이 데이터를 임시로 저장하여 속도 차이를 보완한다.
  2. 데이터 무결성 유지: 메모리에서 데이터를 읽거나 쓸 때 발생할 수 있는 데이터 손상을 방지한다. MBR이 데이터의 중간 저장소 역할을 하여 데이터 전송의 무결성을 유지한다.
  3. 효율적인 데이터 전송: MBR을 통해 데이터를 일시적으로 저장하고 필요할 때 CPU로 전달하거나 메모리로 전송함으로써 데이터 전송을 효율적으로 수행한다.

MBR의 구조

MBR은 기본적으로 데이터를 일시적으로 저장하는 작은 크기의 저장 공간이다.

  1. 데이터 필드: 저장할 데이터를 저장하는 공간이다. 데이터는 보통 8비트, 16비트, 32비트 등 CPU의 데이터 버스 크기에 따라 달라질 수 있다.
  2. 제어 신호: 데이터의 읽기/쓰기를 제어하는 신호이다. 제어 신호는 CPU와 메모리 간의 데이터 전송을 조절한다.
  3. 상태 플래그: 현재 MBR의 상태를 나타내는 플래그이다. 예를 들어, 데이터가 유효한지, 읽기 중인지, 쓰기 중인지 등을 나타낼 수 있다.

MBR의 예시

메모리 읽기 예시

  1. CPU가 주소 0x1000에서 데이터를 읽고자 함.
  2. 주소 0x1000을 MAR에 저장.
  3. 메모리 컨트롤러가 주소 0x1000의 데이터를 읽어 MBR에 저장.
  4. MBR에 저장된 데이터를 CPU로 전송.

메모리 쓰기 예시

  1. CPU가 주소 0x2000에 데이터를 쓰고자 함.
  2. 쓰고자 하는 데이터를 MBR에 저장.
  3. 주소 0x2000을 MAR에 저장.
  4. 메모리 컨트롤러가 MBR의 데이터를 주소 0x2000으로 전송하여 저장.

결론 - 느낀 점

역시 자격증을 공부하고 나니 접근이 쉽다는게 장점이다. 더욱 지식을 넓혀가는 과정이 험난하다.

profile
게임을 좋아하는 사람 입니다!

0개의 댓글