일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- MuchineRunning
- MLAgent
- 인터럽트
- 보안
- 던파
- 아두이노함수
- 네트워크보안
- 유니티에러
- 머신러닝
- neople
- 유니티
- 게임기획
- 에러
- 레지스터
- 네트워크
- Unity
- 네오플
- 반도체
- 메모리
- 던전앤파이터
- 반도체 취업
- 메타마스크
- 컴퓨터구조
- 이더리움
- 아두이노
- memory
- 아두이노우노
- 면접
- 암호화
- 반도체 엔지니어
- Today
- Total
Dreaming Deve1oper
명령어 주소 지정 방식 본문
명령어 주소지정(Addressing Mode) 방식
- 정해진 명령어의 비트들은 그 수에 있어서 매우 제한적이다.
- 그 안에 오퍼랜드들만으로 메모리를 지정하는 것은 매우 제한적이다.
- 더 큰 용량의 메모리에 접근하기 위해서는 직접 혹은 간접적으로 다양한 방법이 요구된다.
- 이미 설계된 CPU의 종류마다 그 수가 매우 다양하고 다르게 제안되어 있다.
1. 즉치 [Immediate Addressing Mode]
- 프로그램에서 상수 값으로 사용된다.
- 명령어 내의 오퍼랜드가 실제 데이터가 되는 것을 의미한다.
- CPU는 메모리로부터 데이터를 인출하는 과정이 필요없다. (ea가 필요없음)
2. 묵시적 [Implied Addressing Mode]
- 명령어 내에 필요한 데이터의 위치를 지정하지 않는다.
- 쉬프트 연산이나 스택에 관련된 연산이 사용된다.
- Stack Pointer(Sp)가 유효주소(ea)가 된다.
3. 직접 [Direct Addressing Mode]
- 절대 주소지정(Absolute addressing mode)라고도 한다.
- 명령어 내에 오퍼랜드가 주소 정보로 사용되어 메모리 내에 필요한 데이터의 위치를 지정한다.
4. 간접 [Indirect Addressing Mode]
- 직접주소지정 방식의 단점(주소 범위가 짧다)을 해결한다.
- 메모리 내의 데이터를 또 다른 주소 정보를 사용함으로써 더 큰 영역의 메모리 접근을 확보할 수 있다.
- 단점으로는 메모리 접근의 지연시간이 발생한다는 것이다.
5. 레지스터 [Register Addressing Mode]
- 연산에 사용될 데이터가 레지스터에 저장되어 있다.
- 오퍼랜드의 내용은 레지스터 번호로 사용된다.
- 메모리 내의 데이터에 접근할 필요가 없다.
- 메모리 접근의 지연시간이 없다.
6. 레지스터 간접 [Register Indirect Addressing Mode]
- 오퍼랜드의 내용은 레지스터 번호로 사용된다.
- 오퍼랜드에서 지정한 레지스터의 내용이 메모리의 주소정보이다.
- 레지스터의 비트 수에 따라 지정할 수 있는 메모리 영역이 결정된다.
7. 변위 [Displacement Addressing Mode]
- 두개의 오퍼랜드로 구성되며 하나는 레지스터 다른 하나는 변위(D)로 사용된다.
- 유효주소는 지정된 레지스터의 내용에 변위를 합친것이다. -> ea=Ri(pc, ix, br)+D
- 레지스터는 종류에 따라 상대(pc), 인덱스(index), 베이스 레지스터(base register) 주소지정방식이라고 한다.
'컴퓨터 구조' 카테고리의 다른 글
인터럽트 / 서브루틴 / 명령어 파이프 라이닝 (0) | 2022.04.16 |
---|---|
명령어 사이클 종류 / 간접 사이클 (0) | 2022.04.15 |
명렁어 세트 (0) | 2022.03.26 |
CPU의 구조와 구성 요소 (0) | 2022.03.26 |
ALU: Arithmetic Operations (0) | 2022.03.20 |