[기본원리] 레지스터의 집합체! 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