본문 바로가기
CS 공부/컴퓨터 구조

주소지정방식

by 학습하는 청년 2025. 1. 1.

최종 수정 : 24.12.31

주소지정방식

처리할 데이터가 주기억장치의 특정한 번지에 기억되어 있을 때 번지를 지정하기 위해 번지부(오퍼랜드)에 표현하는 형식을 번지지정방식이라 한다. 명령어의 길이가 짧으면 번지부에 표현하는 비트 수가 적기 때문에 기억장치 용량에 제한을 받는다. 따라서 큰 용량의 기억장치를 사용하려면 번지부를 세분하여 그 요소의 값들을 계산하거나 특정 위치에 기억된 내용을 사용한다.


1. 직접주소지정방식(direct addressing mode)

명령어의 주소필드에 피연산자의 유효주소가 들어 있는 주소지정방식이다.


2. 간접주소지정방식(indirect addressing mode)

명령어의 주소필드에 유효주소가 들어 있는 것이 아니고 주소필드에 유효주소가 기억되어 있는 주소지정방식이다. 유효 데이터를 구분하기 위해서는 두 번 기억장치를 참조해야 한다. 한 번은 유효주소를 가져오는 것이고 다른 한 번은 유효주소로부터 실제 데이터를 가져오는 것이다.


3. 즉치주소지정방식(immediate addressing mode)

명령어 자체 내에 데이터가 포함되어 있는 방식이다. 즉, 명령어의 주소필드의 값이 주소를 나타내는 것이 아니라 데이터 그 자체이다.

연산자 유효 데이터

4. 묵시적 주소지정방식(implied addressing mode)

피연선자가 묵시적으로 명령어의 정의에 따라 정해져 있는 방식이다. 누산기를 사용하거나 0 - 주소방식의 명령어인 PUSH, POP 등은 묵시적 모드 명령어이다.


5. 레지스터 주소지정방식(register addressing mode)

CPU 내의 레지스터에 피연자가 있는 명령어이다. 명령어의 레지스터 필드에 선택된 레지스터가 있다. 이 방식은 기억장치에 접근이 필요치 않아서 수행시간이 단축된다. CPU 내의 레지스터 수는 제한되어 있으므로 제한이 있는 방식이다. 주로 범용 레지스터를 사용한다.


6. 레지스터 간접주소지정방식(register indirect addressing mode)

명령어의 주소필드에 유효주소를 가지고 있는 레지스터를 지정한다. 레지스터는 유효 데이터가 아니고 실제 데이터가 기억되어 있는 유효주소를 포함하는 레지스터이다.


7. 변위주소지정방식

1) 상대주소지정방식(relative addressing mode)

명령어의 주소필드에 프로그램 카운터(PC) 값이 더해져서 유효주소가 결정되는 방식이다. 기준 주소는 명령어의 주소가 되고 변위(displacement)는 프로그램 카운터이다. 이 방식을 이용하면, 전체 주소를 지정하는 것보다 적은 비트를 사용할 수 있어서 주소필드가 짧아지는 장점이 있다.

 

2) 베이스 레지스터 주소지정방식(base register addressing mode)

베이스 레지스터에 기준 주소가 있고 명령어의 주소필드는 기준 주소의 변위이다. 베이스 레지스터의 내용과 주소필드의 내용이 더해져서 유효주소가 결정된다.

 

3) 인덱스 주소지정방식(indexed addressing mode)

베이스 레지스터 주소지정방식과 반대로 명령어의 주소필드가 기준 주소이고 인덱스 레지스터가 변위이다. 인덱스 레지스터의 내용과 주소필드의 내용이 더해져서 유효주소가 결정된다.


참고

독학사 교재

'CS 공부 > 컴퓨터 구조' 카테고리의 다른 글

중앙처리장치 구성요소  (0) 2025.01.01
명령어 종류  (0) 2025.01.01
명령어 구성과 형식  (0) 2024.12.31
수의 표현  (0) 2024.12.31
보수  (0) 2024.12.31

댓글