completeness
- 정의: 어떤 기능에 대하여 구현할 모든 명령어 set을 가져야함
- 다루어야할 부분
- 연산, 논리
- integer operation
- add/subtract
- incement / decrement --> 1증가 / 1감소
- logical operation
- bitwise and
- bitwise or
- shift instruction
- logic shift
- (오른쪽)한 칸씩 이동 -> 비는 부분 0으로 채움
- arithmetic shift
- 2's complement로 보고 맨 끝 부호 유지
- rotate
- 없어지는 비트가 빈 곳에 들어감
- 데이터 이동
- Load
- memory -> register
- store
1, register -> memory
- move
- register -> register(copy)
- i/o device 명령 방식
- special i/o intruction
- block transfer
- 메모리에서 cpu를 거치지 않고 block transfer를 거쳐 효율적으로 실행됨
- memory 와 memory
- momory 와 io device
- memory mapped i/o
- 메모리와 i/o가 하나의 연속된 address 영역에 할당
- 프로그램 컨트롤(조건부)
- 프로그램을 자유자재로 제어하기 위해 필요
- 종류
- 조건부 branch instructions
- unconditional branch instructions
- 함수 call, return
- software interrupt
orthogonality(독립적)
- 명령어들이 겹치지 않는 것