토픽 12 / 111·CPU (Central Processing Unit)
주소 지정 방식 (Addressing Mode)
주소 지정 방식 (Addressing Mode)
명령어에서 피연산자의 실제 위치(유효 주소, EA)를 지정하는 방법
특징: ISA별 상이, CISC가 더 다양, 주소를 Tag/Index/Offset으로 분할
주요 방식
- •즉시(Immediate): 명령어 내 상수 포함, 메모리 접근 0회, 최고속
- •직접(Direct): EA = 명령어 주소 필드, 메모리 접근 1회, 단순
- •간접(Indirect): EA = M[주소필드], 메모리 접근 2회, 포인터 구현
- •레지스터(Register): 피연산자가 레지스터, 메모리 접근 0회, 최고속
- •레지스터 간접(Register Indirect): EA = Register[r], 메모리 접근 1회
- •인덱스(Indexed): EA = Base + Index x Scale + Disp, 배열 접근 최적
- •베이스(Base): EA = Base + Disp, 프로그램 재배치 용이
- •상대(Relative): EA = PC + Offset, 분기 명령 사용, PIC 구현
- •스택(Stack): SP 기반 암묵적, 0-주소 명령어, 함수 호출/후위 표기법
메모리 접근 횟수: 0회(즉시, 레지스터) / 1회(직접, 레지스터간접, 인덱스, 베이스, 상대, 스택) / 2회(간접)
비교: 즉시(상수/0회/최고속) vs 직접(단순/1회/주소제한) vs 간접(유연/2회/느림) vs 레지스터(0회/최고속/개수제한) vs 인덱스(배열최적/1회/복잡)
연관: ISA, CISC, RISC, 명령어 형식, 유효 주소