주소 지정 방식(Memory Addressing Modes)
- 프로그램 수행을 위해 연산에 사용하는 명령어의 구조와 데이터가 기억장치 주소를 지정하는 방식
주소 지정 방식 종류
- 직접 주소 지정(Direct Addressing)
- 간접 주소 지정(Indirect Addressing)
- 계산에 의한 주소 지정(Calculated Addressing)
- 즉시 주소 지정(Immediate Addressing)
- 묵시적 주소 지정(Implied Addressing)
직접 주소 지정(Direct Addressing)
- Operand의 내용으로 실제 데이터의 주소가 들어 있는 방식이다.
- 주소 부분에 실제 사용할 데이터의 유효 주소를 적기 때문에 주소 길이에 제약을 받는다.
- 실제 데이터에 접근하기 위해 주기억장치를 참조해야 하는 횟수는 1번뿐이다.
간접 주소 지정(Indirect Addressing)
- Operand의 내용이 실제 데이터의 주소를 가진 포인터의 주소인 방식이다.
- 명령의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능하다.
- 실제 데이터에 접근하기 위해서는 주기억장치를 최소한 2번이상 참조해야 한다.
계산에 의한 주소 지정(Calculated Addressing)
- Operand부와 특정 레지스터의 값이 더해져서 유효주소를 계산하는 방식이다.
상대 주소 지정 방식 : 명령어의 주소 부분 + 프로그램 카운터
Base Register Mode : 명령어의 주소 부분 + Base Register
- 명령이 시작되는 최초의 번지를 기억하는 레지스터이다.
Index Register Mode : 명령어의 주소 부분 + Index Register
- 주소변경, 서브루틴 연결, 반복 연산 수행 등의 역할을 하는 레지스터이다.
즉시 주소 지정(Immediate Addressing)
- Operand에 실제 데이터가 기록되어 있는 방식이다.
- 데이터를 참조하기 위해 주기억장치에 접근할 필요가 없다.
- 별도의 기억장치에 액세스하지 않고 CPU에서 바로 자료를 이용할 수 있어서 실행속도가 빠르다.
- 명령어 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적이다.
묵시적 주소 지정(Implied Addressing)
- 명령 실행에 필요한 데이터의 위치를 지정하지 않고 누산기나 스택의 데이터를 묵시적으로 지정하여 사용한다.
- 0-주 명령의 경우 Operand 없이 Stack을 사용하며, 1-주소 명령의 경우 사용되는 하나의 Operand가 누산기이다.
'<Certificate> > <정보처리산업기사>' 카테고리의 다른 글
플립플롭(flip-flop) (0) | 2020.08.20 |
---|