[컴퓨터 공학] 레지스터

오늘내일·2023년 9월 21일
0

전에 정리한 메모리 계층 구조에서 최상위에 위치한 레지스터에 대해 알아보자. 레지스터는 CPU 내부에 위치하여 가장 빠른 속도로 접근 가능한 메모리이다. 일반적으로 프로세서 내부에 레지스터 구성은 PC, IR, MAR, MBR, I/O AR, I/O BR이 있따.

PC(Program counter)

다음에 실행될 명령어의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다. 따라서 명령어 포인터라고도 한다. PC는 각 명령 주기에 따라 자동으로 증가하여 메모리에 있는 명령어들이 순차적으로 실행될 수 있도록 한다.

IR(Instruction Register, 명령 레지스터)

IR은 PC가 지정하는 주소에 기억되어 있는 명령어를 호출해서 해독하기 위해 명령어를 잠시 보관해 두는 특수 목적 레지스터이다.

MAR(Memory Address Register)

MAR은 CPU가 데이터를 읽거나 쓰려는 메모리 주소를 일시적으로 저장한다. CPU가 메모리에 일부 데이터를 저장하려고 하거나 메모리에서 데이터를 읽을 때 필요한 메모리 위치의 주소를 MAR에 저장한다.

MBR(Memory Buffer Register)

MBR은 메모리에 읽거나 쓰려는 데이터 또는 명령을 일시적으로 저장한다.(메모리 주소를 일시적으로 저장하는 MAR과 다르다.) MBR에 배치된 명령은 IR로 전송되고, 데이터 내용은 AC 또는 I/O(주소, 버퍼) 레지스터로 전송된다.

간략하게 전체적으로 보면 다음 그림과 같다.(PC가 CPU로 잘 못 기재된 것 같다.)

I/O AR, BR

  • I/O AR은 입출력 장치에 따른 입출력 모듈의 주소를 가지고 있다.
  • I/O BR은 입출력 모듈과 프로세서 간의 데이터 교환을 위해 사용된다.

일반적으로 잘 알려진 레지스터에 대해서 알아봤다. 이 밖에도 여러가지 레지스터가 더 있다. 다음 기회에 언젠가 살펴보자.

참고사이트 :
https://open4tech.com/microprocessor-program-counter/
https://www.sciencedirect.com/topics/engineering/memory-address-register
https://www.geeksforgeeks.org/essential-registers-for-instruction-execution/

profile
다시 시작합니다.

0개의 댓글