[기본원리] 레지스터의 집합체! CPU!

반응형



프로그래밍 에서의 CPU , 그리고 레지스터에 대한 내용입니다.

현재 프로그래밍 에서의 기본적인 CPU 와 레지스터에 관해 포스팅 하고 있습니다.
관련글
2010/07/02 - [Programing/기본원리] - 프로그래밍 에서의 CPU .


이전 글에서 CPU 내의 레지스터가 명령어와 데이터를 처리한다고 했습니다.
따라서 이번에는 레지스터에 대해 포스팅 해보겠습니다.

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



레지스터(register)

프로그램은 결국 레지스터를 이용하여 데이터를 처리합니다.
그렇기 때문에 프로그래밍에서의 CPU는 레지스터의 집합체 라고 할 수 있는데요,

레지스터와 CPU 내부에 대하여 모두 외울 필요는 없겠죠,,
지금 하려는건 CPU 가 프로그램을 어떻게 처리하는가 이니까요.
이 말은 고급언어로 작성한 프로그램이 컴파일을 거쳐서 CPU 에서 최종적으로 레지스터를 통해 처리되는 일련의 과정을 말합니다.


레지스터의 구성

레지스터는 명령어(instruction) 과 데이터(data) 두 종류의 값을 저장하고,
데이터에는 연산에 사용되는 오퍼랜드(operand) 와 메모리 주소를 나타내는 것 두 종류가 있습니다.




레지스터의 종류와 역할

CPU 안에 있는 레지스터에도 많은 종류가 있습니다.
또 이 종류만큼이나 역할이 다른데요.


  • 어큐물레이터 : 연산 하려는 데이터가 저장됩니다.
  • 프로그램 카운터 : 다음에 실행할 명령어가 보관된 주소가 저장됩니다.
  • 플래그 레지스터 : 연산 처리 후 CPU 의 상태를 저장합니다.
  • 범용 레지스터 : 임시 데이터를 저장합니다.
  • 인덱스 레지스터 : 베이스 레지스터의 상대주소를 저장합니다.
  • 베이스 레지스터 : 데이터 메모리 영역의 첫 메모리 주소를 저장합니다.
  • 명령어 레지스터 : 명령어를 저장합니다. CPU 내부적으로 사용되기 때문에 이 레지스터의 값을 변경하여 처리하는 것은 불가능 합니다.


이처럼 다양한 레지스터가 CPU 내에 존재합니다. 일반적으로 프로그램 카운터(PC : Program Counter), 어큐물레이터 ( accummulator ), 플래그 레지스터하나씩만 있고, 다른 레지스터는 여러개가 있습니다.

연산 데이터는 어큐물레이터에 저장되고 메모리 주소는 베이스 레지스터와 인덱스 레지스터에 저장이 됩니다.







반응형

댓글

작가 남시언님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY