레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령.
산술 연산명령
2의 보수 및 부동소수점 수에 관한 덧셈, 뺄셈, 곱셉 및 나눗셈과 같인 기본적인 산술 연산 명령.
논리 연산명령
데이터의 각 비트들 간에 대한 AND, OR, NOT 및 Exclusive-OR와 같은 논리 연산 명령.
입출력 명령
프로그램 제어명령
명령어의 형식
명령어는 CPU가 한번에 처리할 수 있는 비트 수의 크기(단어: word)로 정의된다.
명령어를 구성하는 비트는 용도에 따라 몇 개의 필드(Field)로 나누어진다.
기본적으로 Op-Code필드와 Operand 필드로 구성된다.
Operand 필드는 컴퓨터의 처리 능력에 따라 여러개의 Operand 필드로 구성된다.
명령어의 기본구성 요소
오퍼레이션 코드 (Op-Code)
CPU에서 실행될 연산 지정. LOAD/STORE, ADD, JUMP, etc...
오퍼랜드 (Operand)
OP 필드의 비트 수 결정
CPU에서 수행될 연산 종류의 수에 따라 비트의 수가 결정된다.
4비트 -> 2^4=16가지의 연산 정의
5비트 -> 2^5=32가지의 연산 정의
비트의 수가 증가할수록 많은 연산의 정의가 가능하지만, 반면에 오퍼랜드 필드의 비트 수가 감소한다.
Operand 필드의 비트 수 결정
오퍼랜드의 종류에 따라 결정된다.
Immediate Value -> 표현 가능한 수의 범위가 결정된다.
Memory Address -> CPU가 직접 주소를 지정할 경우 기억장치 영역의 범위가 결정된다.
Register No. -> 범용 레지스터의 수를 결정한다.
명령어의 형식
ex) 명령어의 길이가 전체 16Bit Op-code: 4비트 범용레지스터: 16개
명령어 형식에 따른 실행 예제 - 명령어의 다양한 오퍼랜드 형식에 따라 실행될 프로그램의 전체 명령어들의 수량이 다르게 나타난다. - 따라서 구성된 명령어의 형식에 따라 프로그램 실행 시간도 그 수에 비례하여 증가한다. - 실행될 프로그램: X=(A+B)*(C-D)
- 프로그램을 실행시키는 명령어의 종류 1. ADD: 덧셈 2. SUB: 뺄셈 3. MUL: 곱셈 4. DIV: 나눗셈 5. MOV: 데이터 이동 6. LOAD: 메모리로부터 데이터를 CPU에 저장. 7. STORE: CPU로부터 메모리에 데이터 저장.