Don't Look Back In Anger

탑스팟 컴퓨터일반 15. 주소지정 방식 본문

IT/탑스팟 컴퓨터일반

탑스팟 컴퓨터일반 15. 주소지정 방식

버로나 2022. 2. 18. 16:31

<주소지정방식의 종류>

  • 묵시적 주소(Implied Address, 암시적)지정방식
  • 자료 자신 주소(Immediate Address, 즉시적, 즉치적)지정방식
  • 직접 주소(Direct Address)지정방식
  • 간접 주소(Indirect Address)지정방식
  • 계산에 의한 주소지정방식
    • 상대주소 (Relative Mode)
    • 베이스 레지스터 (Base Register Mode)
    • 인덱스 레지스터 (Index Register Mode)

<주소지정 방식>

(1) 묵시적(=암시적) 주소지정방식

- 주소를 지정하는 필드가 없는 0번지 명령어에서 Stack의 Top 포인터가 가리키는 Operand를 암시하여 이용함

- 주소를 따로 지정하지 않아도 묵시적으로 알고 있는 주소를 암시

 

(2) 자료 자신(= 즉시적) 주소 지정 방식

- 명령어 자체에 오퍼랜드(실제 데이터)를 가지고 있는 방식

명령 실제 데이터

- 별도의 기억장소를 엑세스하지 않고 CPU에서 곧바로 자료를 이용할 수 있어서 실행 속도가 빠르다는 장점이 있음

- 명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적임

 

(3) 직접 주소 지정 방식

- 명령의 주소부(Operand)가 사용할 자료의 번지를 표현하고 있는 방식

- 명령의 Operand부에 표현된 주소를 이용하여 실제 데이터가 기억된 기억장소에 직접 사상시킬 수 있음

- 주소 부분에 실제 사용할 데이터의 유효 주소를 적기에 주소 길이에 제약을 받음

- 기억 용량이 2ⁿ개의 Word인 메모리 시스템에서 주소를 표현하려면 nBit의 Operand부가 필요함

- 명령의 Operand부에 데이터를 가지고 있는 레지스터의 번호를 지정하면 레지스터 모드라고 함

 

* 유효주소 : 실제 사용할 데이터가 들어있는 곳의 주소

 

(4) 간접 주소 지정 방식

- 명령어 내의 Operand부에 실제 데이터의 주소가 저장된 곳의 주소를 표현하므로, 최소한 주기억장치를 두 번 이상 접근하여 데이터가 있는 기억장소에 도달함

- 명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트(Operand 부의 비트) 수로 나타낼 수 없을 때 사용함

- 명령어의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능한 방식

- 명령의 Operand부에 데이터의 주소를 가진 레지스터 번호를 지정하면 레지스터 간접 모드라고 함

 

(5) 계산에 의한 주소지정방식

- 계산에 의한 주소지정방식은 Operand부와 CPU의 특정 레지스터의 값이 더해져서 유효주소를 계산하는 방식

상대주소 (Relative Mode) - 유효주소 : 명령어의 주소 부분 + PC
- 명령어 자신의 기억장소를 기준으로 하여 데이터의 위치를 지정하는 방식
베이스 레지스터 (Base Register Mode) - 유효주소 : 명령어의 주소 부분 + Base Register
- 프로그램을 재배치(Relocation)할 때 이용함
인덱스 레지스터 (Index Register Mode) - 명령어의 주소 부분 + Index Register

 

https://youtu.be/En2txj5DHaE