dongdorodongdong
OP Code (연산자부) 본문
OP Code (연산자부)
- 함수 연산 기능
- 산술 연산 (ADD, SUB, MUL, DIV, 산술SHIFT 등)
- 논리 연산 (NOT, AND, OR, XOR, 논리SHIFT, ROTATE, COMPLEMENT, CLEAR 등) - 자료 전달 기능
- LOAD
"기억장치에 있는 정보를 CPU로 꺼내오는 명령"
- STORE
"CPU에 있는 정보를 기억장치에 기억시키는 명령"
- MOVE
"레지스터 간에 자료를 전달하는 명령"
- PUSH
"자료를 스택에 저장하는 명령"
- POP
"자료를 스택에서 꺼내오는 명령" - 제어 기능
- 무조건 분기 명령 (GOTO, JMP 등)
- 조건 분기 명령 (IF, SPA, SNA, SZA 등)
- CALL
"부 프로그램 호출"
- RETURN
"부 프로그램에서 메인 프로그램 복귀" - 입출력 기능
- INPUT
"입출력장치의 자료를 주기억장치로 입력하는 명령"
- OUTPUT
"주기억장치의 자료를 입출력장치로 출력하는 명령" - 연산자의 분류
- 단항 연산자
"피연산자가 1개만 필요"
"NOT, COMPLEMENT, SHIFT, ROTATE, MOVE, CLEAR 등"
- 이항 연산자
"피연산자가 2개 필요"
"사칙연산, AND, OR, XOR, XNOR 등"
* 연산
- AND
- 특정 문자, 특정 Bit를 Clear시키는 명령
- Masking 명령이라고도 함
- 삭제할 부분의 Bit를 0과 AND시켜서 삭제
- 대응시키는 0인 Bit를 Mask Bit라고 함 - OR
- 특정 문자를 삽입하거나 특정 Bit에 1을 Set 시키는 명령으로 Selective Set 연산이라고도 함
- 삽입하거나 Set 시키는 Bit에 삽입할 문자, 코드 또는 1을 OR 연산 - XOR
- 2개의 데이터를 비교하거나 특정 비트를 반전시킬 때 사용
- 2개의 데이터를 XOR 연산하여 결과에 한 비트라도 1이 있으면 서로 다른 데이터임
- 반전 시킬때는 반전시킬 비트와 1을 XOR - NOT
- 각 비트의 값을 반전시키는 연산으로 보수를 구할 때 사용 - 논리 SHIFT
- 왼쪽, 오른쪽으로 1Bit씩 자리를 이동시키는 연산
- 데이터의 직렬 전송에 사용
- 삽입되는 자리는 무조건 0 - ROTATE
- SHIFT에서 밀려 나가는 비트의 값을 반대편 값으로 입력하는 연산
- 문자 위치를 변환할 때 이용 - 산술 SHIFT
- 부호(Sign)를 고려하여 자리를 이동시키는 연산
- 2의 배수 값으로 곱하거나 나눌 때 사용
- 왼쪽으로 SHIFT하면 원래 값에 2의 배수 값으로 곱함
- 오른쪽으로 SHIFT하면 원래 값에 2의 배수 값으로 나눔
'Electronic Calculator Architecture' 카테고리의 다른 글
Micro Operation (마이크로 오퍼레이션) (0) | 2020.07.12 |
---|---|
Operand (자료부) (0) | 2020.07.01 |
CPU 구성 요소 (0) | 2020.06.21 |
자료 표현 코드 (0) | 2020.06.21 |
보수, 2진 연산, 부동 소수점 표현 (0) | 2020.06.20 |