주소지정방식 (Addressing Mode)의 종류
- 암시적 주소 지정 방식 (Implied Mode)
- 주소를 지정하는 자료 or 피연산자 영역이 없고 스택의 SP가 가리키는 주소부를 암시하여 이용
- 즉시적 주소 지정 방식 (Immediate Mode)
- 명령어 자체에 자료 or 피연산자 (실제 데이터)를 내포하고 있는 방식
- 별도의 기억장소를 액세스 하지 않고 CPU에서 곧바로 자료를 이용하여 실행 속도가 빠름
- 명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적임
- 직접 주소 지정 방식 (Direct Mode)
- 명령의 자료 or 피연산자가 사용할 자료의 주소를 표현하고 있는 방식
- 명령의 자료 or 피연산자에 표현된 주소를 이용하여 실제 데이터가 기억된 기억 장소에 직접 사상시킬 수 있음
- 기억 용량이 2^n개의 워드인 메모리 시스템에서 주소를 표현하려면 n비트의 자료 or 피연산자가 필요
- 간접 주소 지정 방식 (Indirect Mode)
- 명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트 (자료 or 피연산자의 비트) 수로 나타낼 수 없을 때 사용하는 방식
- 명령의 길이가 짧고, 제한되어 있어도 긴 주소에 접근 가능
- 명령어 내의 자료 or 피연산자에 실제 데이터가 저장된 장소의 번지를 가진 기억 장소의 번지를 표현함으로써, 최소한 주기억 장치를 두 번 이상 접근하여 데이터가 있는 기억 장소에 도달
- 레지스터 간접 주소 지정 방식 (Register Indirect Addressing)
- 자료 or 피연산자가 메모리 위치가 기억된 레지스터를 참조
- 장점: 많은 주소 공간을 활용 가능
- 단점: 간접 주소 방식보다는 메모리 참조가 적게 일어나지만, 여분의 메모리 참조가 필요
- 계산에 의한 주소 지정 방식
- 인덱스 주소 지정 방식 (Index Addressing)
- 유효 주소: 명령어의 주소 부분 + Index Register
- 장점: 배열(Array) 구조에 유용
- 단점: 많은 시간이 요구 됨
- 베이스 레지스터 주소 지정 방식 (Base Register Addressing)
- 유효 주소: 명령어의 주소 부분 + 베이스 레지스터
- 프로그램을 재배치(Relocation)할 때 사용
- 베이스 레지스터: 명령이 시작되는 최초의 번지를 기억하고 있는 레지스터
- 상대 주소 지정 방식 (Relative Addressing Mode)
- 유효 주소: 명령어의 주소 부분 + 프로그램 카운터(Program Counter)
- 명령어 자신의 기억 장소를 기준으로 위치를 지정하는 방식
- 인덱스 주소 지정 방식 (Index Addressing)
'컴퓨터' 카테고리의 다른 글
빅 데이터 (Big Data) (0) | 2021.02.05 |
---|---|
가상기억장치 (Virtual Memory) (0) | 2021.02.04 |
클라우드 컴퓨팅 서비스 모델 (0) | 2021.02.02 |
교착상태 (0) | 2021.02.02 |
세마포어와 뮤텍스의 차이 (0) | 2021.01.29 |