자 쉰 세 번째 키워드인 'MBR'을 알아 보았다.
이전키워드에 나온 캐시메모를 알아봤다면 메모리 구조를 알아보며 이번 키워드를 알아보았다.
MBR이 뭐에요?

Memory Buffer Register (MBR)는 컴퓨터의 중앙 처리 장치(CPU)와 주기억장치(Main Memory) 사이에서 데이터를 주고받을 때 사용되는 레지스터이다. MBR은 데이터 레지스터(Data Register)라고도 불린다.
MBR의 역할 및 작동 원리
- CPU와 메모리 간 데이터 전송
MBR은 주기억장치와 CPU 사이의 데이터 전송을 중계하는 역할을 한다.
- 메모리 읽기 과정
- 주소 지정: CPU는 읽고자 하는 데이터의 메모리 주소를 메모리 주소 레지스터(Memory Address Register, MAR)에 저장한다.
- 메모리 접근: 메모리 컨트롤러는 MAR에 저장된 주소로 접근하여 해당 위치의 데이터를 읽어온다.
- 데이터 버퍼링: 읽어온 데이터는 MBR에 저장됩니다. MBR은 이 데이터를 임시로 저장하여 CPU로 전달할 준비를 한다.
- 데이터 전달: MBR에 저장된 데이터는 CPU의 데이터 레지스터로 전송되어 CPU가 사용할 수 있게 된다.
- 메모리 쓰기 과정
- 데이터 준비: CPU는 쓰고자 하는 데이터를 MBR에 저장한다.
- 주소 지정: CPU는 데이터를 쓰고자 하는 메모리 주소를 MAR에 저장한다.
- 데이터 전송: 메모리 컨트롤러는 MAR에 저장된 주소로 접근하여 해당 위치에 MBR에 저장된 데이터를 쓴다.
MBR의 중요성
- 속도 차이 완화: CPU와 메모리의 속도 차이를 완화합니다. CPU는 매우 빠르게 작동하지만, 메모리는 상대적으로 느리기 때문에 MBR이 데이터를 임시로 저장하여 속도 차이를 보완한다.
- 데이터 무결성 유지: 메모리에서 데이터를 읽거나 쓸 때 발생할 수 있는 데이터 손상을 방지한다. MBR이 데이터의 중간 저장소 역할을 하여 데이터 전송의 무결성을 유지한다.
- 효율적인 데이터 전송: MBR을 통해 데이터를 일시적으로 저장하고 필요할 때 CPU로 전달하거나 메모리로 전송함으로써 데이터 전송을 효율적으로 수행한다.
MBR의 구조
MBR은 기본적으로 데이터를 일시적으로 저장하는 작은 크기의 저장 공간이다.
- 데이터 필드: 저장할 데이터를 저장하는 공간이다. 데이터는 보통 8비트, 16비트, 32비트 등 CPU의 데이터 버스 크기에 따라 달라질 수 있다.
- 제어 신호: 데이터의 읽기/쓰기를 제어하는 신호이다. 제어 신호는 CPU와 메모리 간의 데이터 전송을 조절한다.
- 상태 플래그: 현재 MBR의 상태를 나타내는 플래그이다. 예를 들어, 데이터가 유효한지, 읽기 중인지, 쓰기 중인지 등을 나타낼 수 있다.
MBR의 예시
메모리 읽기 예시
- CPU가 주소 0x1000에서 데이터를 읽고자 함.
- 주소 0x1000을 MAR에 저장.
- 메모리 컨트롤러가 주소 0x1000의 데이터를 읽어 MBR에 저장.
- MBR에 저장된 데이터를 CPU로 전송.
메모리 쓰기 예시
- CPU가 주소 0x2000에 데이터를 쓰고자 함.
- 쓰고자 하는 데이터를 MBR에 저장.
- 주소 0x2000을 MAR에 저장.
- 메모리 컨트롤러가 MBR의 데이터를 주소 0x2000으로 전송하여 저장.
결론 - 느낀 점
역시 자격증을 공부하고 나니 접근이 쉽다는게 장점이다. 더욱 지식을 넓혀가는 과정이 험난하다.