Dreaming Deve1oper

명령어 주소 지정 방식 본문

컴퓨터 구조

명령어 주소 지정 방식

주현테크 2022. 3. 26. 18:14
명령어 주소지정(Addressing Mode) 방식
  • 정해진 명령어의 비트들은 그 수에 있어서 매우 제한적이다.
  • 그 안에 오퍼랜드들만으로 메모리를 지정하는 것은 매우 제한적이다.
  • 더 큰 용량의 메모리에 접근하기 위해서는 직접 혹은 간접적으로 다양한 방법이 요구된다.
  • 이미 설계된 CPU의 종류마다 그 수가 매우 다양하고 다르게 제안되어 있다.

 

1. 즉치 [Immediate Addressing Mode]

- 프로그램에서 상수 값으로 사용된다.

- 명령어 내의 오퍼랜드가 실제 데이터가 되는 것을 의미한다.

- CPU는 메모리로부터 데이터를 인출하는 과정이 필요없다. (ea가 필요없음)

 

2. 묵시적 [Implied Addressing Mode]

- 명령어 내에 필요한 데이터의 위치를 지정하지 않는다.

- 쉬프트 연산이나 스택에 관련된 연산이 사용된다.

- Stack Pointer(Sp)가 유효주소(ea)가 된다.

 

3. 직접 [Direct Addressing Mode]

- 절대 주소지정(Absolute addressing mode)라고도 한다.

- 명령어 내에 오퍼랜드가 주소 정보로 사용되어 메모리 내에 필요한 데이터의 위치를 지정한다.

 

4. 간접 [Indirect Addressing Mode]

- 직접주소지정 방식의 단점(주소 범위가 짧다)을 해결한다.

- 메모리 내의 데이터를 또 다른 주소 정보를 사용함으로써 더 큰 영역의 메모리 접근을 확보할 수 있다.

- 단점으로는 메모리 접근의 지연시간이 발생한다는 것이다.

 

5. 레지스터 [Register Addressing Mode]

- 연산에 사용될 데이터가 레지스터에 저장되어 있다.

- 오퍼랜드의 내용은 레지스터 번호로 사용된다.

- 메모리 내의 데이터에 접근할 필요가 없다.

- 메모리 접근의 지연시간이 없다.

 

6. 레지스터 간접 [Register Indirect Addressing Mode]

- 오퍼랜드의 내용은 레지스터 번호로 사용된다.

- 오퍼랜드에서 지정한 레지스터의 내용이 메모리의 주소정보이다.

- 레지스터의 비트 수에 따라 지정할 수 있는 메모리 영역이 결정된다.

 

7. 변위 [Displacement Addressing Mode]

- 두개의 오퍼랜드로 구성되며 하나는 레지스터 다른 하나는 변위(D)로 사용된다.

- 유효주소는 지정된 레지스터의 내용에 변위를 합친것이다. -> ea=Ri(pc, ix, br)+D

- 레지스터는 종류에 따라 상대(pc), 인덱스(index), 베이스 레지스터(base register) 주소지정방식이라고 한다.

 

 

 

Comments