주소 지정 방식이란 명령어 실행에 필요한 오퍼랜드의 주소를 결정하는 방식이다. 이를 위해 다양한 주소지정 방식을 사용하는 이유는 제한된 수의 명령어 비트를 이용하여 사용자가 여러 방법으로 오퍼랜드의 주소를 결정하도록 해주며, 더 큰 용량의 기억장치를 사용할 수 있도록 하기 위함이다.
주소 지정방식은 여러 가지가 있다. 이 중 직접, 간접, 즉시, 변위주소 지정방식에 대해 정리해보려고 한다.
1) 직접 주소지정 방식
오퍼랜드 필드의 내용이 유효 주소가 되는 방식이다. (EA = A)
데이터 인출을 위해 단 한번의 기억장치 액세스만 필요하다는 장점을 가지지만, 연산코드를 제외하고 남은 비트들만 주소 비트로 사용될 수 있기 때문에 직접 지정할 수 있는 기억장소의 수가 제한된다.
2) 간접 주소지정 방식
오퍼랜드 필드에 기억장치 주소가 저장되어 있지만, 그 주소가 가리키는 기억 장소에 데이터의 유효 주소를 저장해두는 방식이다. ( EA = (A) )
최대 기억장치용량이 단어의 길이에 의해 결정되기 때문에 주소지정 가능한 기억장치 용량이 확장된다는 장점을 가지고 있다. 즉 단어 길이가 n비트라면, 최대 2^n 개의 기억 장소에 대한 주소 지정이 가능한 것이다.
다만 실행 사이클 동안에 두번의 기억장치 액세스가 필요하다는 점은 단점으로 작용한다. 첫번째 액세스에서는 주소를 인출하고, 두번째 엑세스에서는 그 주소가 지정하는 기억 장소로부터 실제 데이터를 인출한다.
3) 즉시 주소지정 방식
데이터가 명령어에 포함되어 있는 방식이다. 즉 오퍼랜드 필드의 내용이 연산에 사용할 실제 데이터가 된다.프로그램에서 변수나 레지스터의 초기 값을 어떤 상수값으로 설정하는 데에 사용된다.
데이터를 인출하기 위하여 기억장치를 액세스 할 필요가 없다는 점에서 위의 1,2번 주소지정방식보다 우위를 점하지만, 상수값의 크기가 오퍼랜드 필드의 비트 수에 의해 제한된다는 단점을 가지고 있다.
4) 변위주소 지정방식
직접 주소지정과 레지스터 간접 주소지정 방식의 조합이다. ( EA = A + (R) )
사용되는 레지스터에 따라 다양한 변위 주소지정 방식이 가능하다.
'Computer Science' 카테고리의 다른 글
[컴퓨터구조론] 마이크로프로그래밍의 정의 , 수직적/수평적 마이크로그래밍 개념 (0) | 2024.01.06 |
---|---|
[운영체제] Pipe에 관하여(정의, 일반& 지명 pipe의 구분 및 비교) (0) | 2024.01.05 |
[컴퓨터구조론] 제어 유니트의 기능, 구조 (0) | 2024.01.03 |
[운영체제] 스케줄러에 관하여(의미, long-term, medium-term, short-term) (1) | 2024.01.02 |
[컴퓨터구조론] 논리 연산(and/or/xor/not 연산) (0) | 2024.01.01 |