본문 바로가기
CS

[CS] 다양한 주소 지정 방식

by seonggu 2023. 1. 19.

지난 포스팅에 이어서 여러 가지 주소 지정 방식에 대해 알아보자.

 

✅ 주소 지정 방식

주소 지정 방식은 주 기억장치에 데이터가 저장된 위치(=주소)를 피연산자 필드(=오퍼랜드 필드)를 사용하여 제공한다.

담을 수 있는 비트 수에 제한이 있기 때문에 효과적으로 명령어를 처리할 수 있는 다양한 주소 지정 방식이 사용된다.

 

유효 주소 : 연산의 대상이 되는 데이터가 저장된 위치

 

 

1️⃣ 즉시 주소 지정 방식

즉시 주소 지정 방식immediate addressing mode은 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식이다. 가장 간단한 형태의 주소 지정 방식이다. 

이런 방식은 표현할 수 있는 데이터의 크기가 작아지는 단점이 있지만, 연산에 사용할 데이터를 메모리나 레지스터로부터 찾는 과정이 없기 때문에 이하 설명할 주소 지정 방식들보다 빠르다.

 

 

2️⃣ 직접 주소 지정 방식

직접  주소 지정 방식direct addressing mode은 오퍼랜드 필드에 유효 주소를 직접적으로 명시하는 방식이다. 오퍼랜드 필드에서 표현할 수 있는 데이터의 크기는 즉시 주소 지정 방식보다 커졌지만, 여전히 유효 주소를 표현할 수 있는 범위가 연산 코드의 비트 수만큼 줄었다. 다시 말해서 표현할 수 있는 오퍼랜드 필드의 길이가 연산 코드의 길이만큼 짧아져 표현할 수 있는 유효 주소에 제한이 생길 수 있다.

 

 

3️⃣ 간접 주소 지정 방식

간접 주소 지정 방식indirect addsressing mode은 유효 주소의 주소를 오퍼랜드 필드에 명시한다. 직접 주소 지정 방식보다 표현할 수 있는 유효 주소의 범위가 더 넓어졌다. 다만 두 번의 메모리 접근이 필요하기 때문에 앞서 설명한 주소 지정 방식들보다 일반적으로 느린 방식이다.

때때로 연산에 사용할 데이터가 레지스터에 저장된 경우도 있다. 이 경우 레지스터 주소 지정 방식 또는 레지스터 간접 주소 지정 방식을 사용할 수 있다.

 

4️⃣ 레지스터 주소 지정 방식

레지스터 주소 지정 방식register addressing mode은 직접 주소 방식과 비슷하게 연산에 사용할 데이터를 저장한 레지스터를 오퍼랜드 필드에 직접 명시하는 방법이다.

일반적으로 CPU 외부에 있는 메모리에 접근하는 것보다 CPU 내부에 있는 레지스터에 접근하는 것이 더 빠르다. 그러므로 레지스터 주소 지정 방식은 직접 주소 지정 방식보다 빠르게 데이터에 접근할 수 있다. 다만, 레지스터 주소 지정 방식은 비슷한 문제를 공유한다. 표현할 수 있는 레지스터 크기에 제한이 생길 수 있다는 점이다.

5️⃣ 레지스터 간접 주소 지정 방식

레지스터 간접 주소 지정 방식register indirect addressing mode은 연산에 사용할 데이터를 메모리에 저장하고, 그 주소(유효주소)를 저장한 레지스터를 오퍼랜드 필드에 명시하는 방법이다.

 

유효 주소를 찾는 과정이 간접 주소 지정 방식과 비슷하지만 메모리에 접근하는 횟수가 한 번으로 줄어든다는 차이이자 장점이 있다. 메모리에 접근하는 것이 레지스터에 접근하는 것보다 더 느리다고 했었다. 그래서 레지스터 간접 주소 지정 방식은 간접 주소 지정 방식보다 빠르다.

 

✅ 정리

주소 지정 방식 : 연산에 사용할 데이터를 찾는 방법 
유효 주소 : 연산에 사용할 데이터가 저장된 위치

🔅다음은 오퍼랜드 필드에 명시하는 값을 정리
즉시 주소 지정 방식 : 연산에 사용할 데이터
직접 주소 지정 방식 : 유효 주소(메모리 주소)
간접 주소 지정 방식 : 유효 주소의 주소
레지스터 주소 지정 방식 : 유효 주소(레지스터 이름)
레지스터 간접 주소 지정 방식 : 유효 주소를 저장한 레지스터

 

 

참고자료 -

'CS' 카테고리의 다른 글

[CS] 레지스터  (0) 2023.02.02
[CS] ALU와 제어장치  (0) 2023.01.31
[CS] 명령어의 구조  (0) 2023.01.17
[CS] 소스코드와 명령어  (0) 2023.01.14
[CS] 0과 1로 문자를 표현하는 방법  (0) 2023.01.12