컴퓨터는 수많은 요청을 받고, 응답하는 기계입니다.
그것들을 수행하기 위해서는 명령어(인스트럭션 (Instruction)이라고도 불립니다.)가 필요합니다.
컴퓨터 명령어는 연산자(Opcode)와 주소(Operand, Address)로 이루어져 있습니다.
이때, 주소 부분은 있을 수도 있고, 없을 수도 있습니다.
만약 주소가 없다면 0주소 명령어라 하고, '스택' 이라 하기도 합니다.
만약 주소가 1개라면 1주소 명령어라 하고, '누산기' 라 하기도 합니다.
만약 주소가 2개라면 2주소 명령어라 하고, 보존이 안되고, 가장 많이 사용되고 있다는 특징이 있습니다.
만약 주소가 3개라면 3주소 명령어라 하고, 보존된다는 특징이 있습니다.
이렇게 주소 부분에 있는것이 주소가 아니라, 연산될 실제 데이터가 기록되어 있으면 이를 즉시(Immediate) 주소라고 부릅니다. 실제 데이터를 기록했으니, 즉시 처리할 수 있겠죠?
주소 부분이 실제 데이터의 주소를 가리킨다면, 이를 직접(Direct) 주소라 부릅니다. 딱 1번만 참조하면 데이터에 접근할 수 있습니다.
주소 부분에 지정된 위치의 값이 실제 데이터의 주소를 가리킨다면, 이를 간접(Indirect) 주소라 부릅니다. 2회 이상 참조해야 데이터에 접근할 수 있습니다.
그림과 같이 메모리를 16진수로 순서대로 매긴 것을 절대(Absolute) 주소라 부릅니다.
주소 부분의 값과 인덱스 레지스터의 값을 더해서 구하는 방식을 인덱스(Index) 주소라 부릅니다.
주소를 지정하는 필드가 없는 0번지 명령어에서 스택의 Top 포인터가 가리키는 오퍼랜드를 암시하여 이용하는 묵시적(Implied) 주소도 있습니다.
'🛠️ 컴퓨터공학' 카테고리의 다른 글
플립플롭(순차논리회로) 정리 (0) | 2022.08.15 |
---|---|
FTP 정리 보고서 (0) | 2022.07.20 |