주소지정 방식은 총 세 가지가 있다. 접근 방식, 계산 방식, 실제 기억공간 주소 지정 방식이다.
■ 접근 방식
종류 | 설명 |
암시적 주소 지정 (Implied Mode) |
0번지 명령어에서 Stack의 Top 포인터가 가리키는 오퍼랜드(Operand)를 암시하여 이용 |
즉시 주소 지정 (Immediate Mode) |
오퍼랜드 (Operand) 부분에 실제 데이터를 기억한다. - 오퍼랜드 자체가 연산 대상 - 속도가 가장 빠르지만 데이터 값의 범위가 제한된다. - 메모리 참조 횟수 0 회 ![]() |
직접 주소 지정 (Direct Mode) |
(★) 명령의 주소부가 사용할 자료의 번지(Address)를 직접 표현 - 메모리 참조 횟수 1회 ![]() |
간접 주소 지정 (InDirect Mode) |
(★) 명령문 내 번지는 실제 데이터의 위치를 찾을 수 있는 또 다른 번지가 들어있는 주소를 표시한다. - 명령어(Instruction)의 길이가 짧고 제한되어 있어도 이것을 이용하여 긴 주소를 찾아갈 수 있다. - 메모리 참조 횟수 최소 2회 이상 ![]() |
■ 계산 방식
Operand부와 CPU의 특정 레지스터 값이 더해져서 유효 주소[실제 주소]를 계산하는 방식
* 대부분 주소의 일부분을 생략하기 때문에 '약식주소'라고 불린다.
종류 | 특성 |
상대 주소 지정 (Relative Mode) |
기억장소의 위치 = 명령어 주소부에 있는 주소 값 + PC(Program Counter) |
인덱스 주소 지정 [색인 Addressing] (Index Mode) |
순차적인 주소지정에 유리한 방식이다. 기억장소의 위치 = 명령어 주소부에 있는 주소 값 + Index Register |
베이스 레지스터 주소 지정 (Base Register Mode) |
프로그램의 재배치가 용이한 방식이다. 기억장소의 위치 = 명령어 주소부에 있는 주소 값 + BR(Base Register) |
■ 실제 기억공간 주소지정 방식
주소를 실제 기억공간과 연관 시키는 방법이다.
종류 | 특성 |
절대 주소 (Absolute Address) |
실제 주소[유효주소] - 기억 장치의 맨 처음부터 1Byte마다 16진수로 0, 1, 2, 3 같이 순서대로 지정된다. ![]() |
상대 주소 (Relative Address) |
기준 주소를 기준으로 하여 상대적으로 얼만큼 떨어져 있는지 변위(Offset)로 표현하는 주소. - 절대 주소로 변환이 필요하다. ![]() (ex) 기준 주소 (20)에서 40 만큼 떨어져 있는 절대 주소 60을 지정한다. |
■ 명령어 사이클 (Instruction Cycle)
하나의 명령어를 중앙처리장치에서 처리하는데 포함된 일련의 동작들 [1개 이상의 머신 사이클 (Machine Cycle)]로 구성이 된다.
종류 | 설명 |
인출 사이클 (Fetch Cycle) |
필요한 명령어를 주기억장치에서 읽어 들여 해석 |
간접 사이클 (Indirect Cycle) |
해석된 명령어의 주소가 간접주소인 경우에만 수행 - 실제 주소 [유효 주소]를 계산하기 위해 주기억 장치에 한 번 더 접근한다. (메모리 참조 발생) |
실행 사이클 (Execute Cycle) |
해석한 명령어를 실행한다. |
인터럽트 사이클 (Interrupt Cycle) |
인터럽트 발생 시 수행한다. - 복귀 주소를 저장하고, 제어 순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮긴다. (ex) 100번째 주소의 명령어를 처리하고 있을 때 인터럽트 발생 시 현재 100번째 명령어 까지는 처리를 하고 다음 순서인 101번째 주소(이를 '복귀주소'라고한다)를 저장하고 인터럽트를 처리한다. |
* 명령어 동작 단계 (★) Fetch Cycle (인출) -> Instruction Decoding Cycle (해독) -> 명령어 실행 단계 (실행) -> Write-Back 작업 (결과 저장) |
'자격증 및 시험 > 정보처리' 카테고리의 다른 글
[컴퓨터] 기억 장치 (0) | 2023.05.07 |
---|---|
[연산자] 연산자 구분 (0) | 2023.05.03 |
[컴퓨터] 명령어 형식 (0) | 2023.05.01 |
[컴퓨터] 명령어 처리 과정 (0) | 2023.05.01 |
[컴퓨터] 컴퓨터 시스템 구성 (0) | 2023.05.01 |