[기본원리] 배열에 쓰이는 레지스터 - 베이스 , 인덱스 레지스터

반응형



CPU 내에 있는 레지스터 종류 중 베이스 레지스터와
인덱스 레지스터에 관한 내용입니다.

이전글에서 CPU 내의 레지스터에는 여러가지가 있다고 했습니다.
대표적으로 프로그램 카운터, 플래그 레지스터, 베이스, 인덱스 레지스터 등이지요.
[Programing/기본원리] - 레지스터의 집합체! CPU!


또한 그전글에서 프로그램 카운터와 플래그 레지스터에 대한 내용은 알아 보았습니다.
[Programing/기본원리] - 프로그램 카운터가 본 프로그램 실행 원리
[Programing/기본원리] - 분기문 에서의 프로그램 카운터 값

그렇다면 베이스 레지스터와 인덱스 레지스터는 무엇일까요?
읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



베이스, 인덱스 레지스터는 배열에 사용할 수 있다.

베이스 레지스터와 인덱스 레지스터 두가지 레지스터를 같이 사용하면
메모리의 특정 영역을 구분한 후 배열처럼 사용 가능합니다.

즉, 특정 메모리의 영역을 구분하고 연속적으로 참조할 때
2개의 레지스터를 사용하는 것입니다.


CPU 는 레지스터의 값을 참조하여 메모리 주소에서 실행하는데요,

< 편의상 3자리만 있다고 가정하겠습니다 >

여기에서 인덱스 레지스터의 값은
배열의 인덱스(첨자)에 대응하는 값이 됩니다.

이것은 베이스 레지스터에 100을 넣어두고 인덱스 레지스터의 값을 변화시켜서 사용한다는 것인데요,
이때 CPU 는 베이스레지스터 + 인덱스레지스터 값을 실제 참조하는 메모리 주소로 실행하게 됩니다.

결국, 배열처럼 특정 부분을 집중적으로 참조 할때 사용되는 것입니다 ^^




반응형

댓글

Designed by JB FACTORY