Computer Science

[컴퓨터구조론] 주소 지정방식(직접, 간접, 즉시, 변위 주소 지정방식)

imsunbow 2024. 1. 4. 17:21

주소 지정 방식이란 명령어 실행에 필요한 오퍼랜드의 주소를 결정하는 방식이다. 이를 위해 다양한 주소지정 방식을 사용하는 이유는 제한된 수의 명령어 비트를 이용하여 사용자가 여러 방법으로 오퍼랜드의 주소를 결정하도록 해주며, 더 큰 용량의 기억장치를 사용할 수 있도록 하기 위함이다.

 

주소 지정방식은 여러 가지가 있다. 이 중 직접, 간접, 즉시, 변위주소 지정방식에 대해 정리해보려고 한다.

 

1) 직접 주소지정 방식

오퍼랜드 필드의 내용이 유효 주소가 되는 방식이다. (EA = A)

데이터 인출을 위해 단 한번의 기억장치 액세스만 필요하다는 장점을 가지지만, 연산코드를 제외하고 남은 비트들만 주소 비트로 사용될 수 있기 때문에 직접 지정할 수 있는 기억장소의 수가 제한된다.

 

2) 간접 주소지정 방식

오퍼랜드 필드에 기억장치 주소가 저장되어 있지만, 그 주소가 가리키는 기억 장소에 데이터의 유효 주소를 저장해두는 방식이다. ( EA = (A) )

최대 기억장치용량이 단어의 길이에 의해 결정되기 때문에 주소지정 가능한 기억장치 용량이 확장된다는 장점을 가지고 있다. 즉 단어 길이가 n비트라면, 최대 2^n 개의 기억 장소에 대한 주소 지정이 가능한 것이다.

다만 실행 사이클 동안에 두번의 기억장치 액세스가 필요하다는 점은 단점으로 작용한다. 첫번째 액세스에서는 주소를 인출하고, 두번째 엑세스에서는 그 주소가 지정하는 기억 장소로부터 실제 데이터를 인출한다.

 

3) 즉시 주소지정 방식

데이터가 명령어에 포함되어 있는 방식이다. 즉 오퍼랜드 필드의 내용이 연산에 사용할 실제 데이터가 된다.프로그램에서 변수나 레지스터의 초기 값을 어떤 상수값으로 설정하는 데에 사용된다.

데이터를 인출하기 위하여 기억장치를 액세스 할 필요가 없다는 점에서 위의 1,2번 주소지정방식보다 우위를 점하지만, 상수값의 크기가 오퍼랜드 필드의 비트 수에 의해 제한된다는 단점을 가지고 있다.

 

4) 변위주소 지정방식

직접 주소지정과 레지스터 간접 주소지정 방식의 조합이다. ( EA =  A + (R) )

사용되는 레지스터에 따라 다양한 변위 주소지정 방식이 가능하다.

 

반응형