반응형

명령어의 구성

Operation Code, 연산자부 모드(Mode)부 Operand, 자료부

연산자부(Operation Code부)

  • OP-Code부, 동작에 맞는 연산자 표시
  • 크기(비트 수)는 명령의 종류 수, n Bit : 2^n 개의 명령어
  • 모드(Mode)부 : 주소부의 유효 주소 결정 방법. 0이면 직접, 1이면 간접

자료부(Operand부) (= 주소부)

  • 실제 데이터 표시
  • 기억 장소 주소, 레지스터 번호, 사용 데이터 표시
  • 메모리 용량과 관계
  • n Bit : 2^n 개 주소

명령어 설계 시 고려사항

  • 연산자의 수와 종류
  • 주소 지정 방식
  • 데이터 구조(워드의 크기)
  • 인스트럭션 세트의 효율성 : 기억 공간, 사용 빈도, 주소지정 방식

연산자의(Operation Code)의 기능

함수
연산
기능
 - 산술 연산

 - 논리 연산
자료
전달
기능
 CPU와 기억장치 사이 정보 교환
 - Load : 기억된 정보를 CPU로 로드
 - Store : CPU 정보를 기억
 - Move : 레지스터 간 자료 전달
 - Push : 스택에 저장
 - Pop : 스택에서 꺼냄
제어
기능
 명령어의 실행 순서 변경
 - 무조건 분기 명령 : GOTO, Jump(JMP) 등
 - 조건 분기 명령 : IF 조건, SPA, SNA, SZA 등
 - Call : 부프로그램 호출
 - Return : 부프로그램에서 메인으로 복귀
입, 출력
기능
 CPU와 I/O장치, 메모리와 I/O장치 사이 자료 전달
 - INPUT : 입출력 자료를 주기억장치로 입력
 - OUTPUT : 주기억장치 자료를 입출력 장치로 출력

피연산자의 수에 따른 연산자의 분류

단항 연산자
(Unary Operator)
 NOT, COMPLEMENT, SHIFT, POTATE, MOVE, CLEAR 등
이항 연산자
(Binary Operator)
사칙 연산, AND, OR, XOR, XNOR

연산

AND
(Masking
Operation)
 - 특정 문자나 비트 삭제(Clear)

 - 삭제 부분 bit를 0와 AND로 삭제, 대응하는 0 bit가 Mask Bit
OR
(Selective
Set)
 - 특정 문자나 비트(1) 삽입

 - 삽입 및 세트 bit에 문자 코드나 1을  OR 연산
XOR
(Compare,
비교)
 - 데이터 비교 및 비트 반전

 - 2개 데이터 XOR 연산으로 결과가 1bit라도 다르면 다른 데이터

 - 반전시킬 비트와 1을 XOR 연산
NOT
(Complement, 
보수)
 각 비트 반전 연산, 보수를 구함
논리 Shift  - 좌우로 1bit 자리 이동, 데이터 직렬 전송(Serial Transfer)에 사용

 - 삽입자리는 무조건 0
Rotate  - Shift로 밀리는 비트 반대편으로 입력

 - 문자 위치 변환
산술 Shift  - 부호(Sign)를 고려해 이동, 2^n 곱셈 나눗셈 시 사용

 - 왼쪽으로 n bit shift : 2^n 곱

 - 오른쪽 n bit shift : 2^n 나눗셈

 - 홀수를 오른쪽으로 Shift 할 시 0.5 오차

연산 - 산술 Shift

정수 표현방식만 가능

Shift 수치
표현법
-43 +43
Shift
Left
부호화
절대치
 - Padding Bit : 0
 10101011 => 11010110
  -43*2 = -86
 양수는 같음
 - Padding Bit : 0
 00101011 => 01010110
 43*2 = 86
1의
보수법
 - Padding Bit : 1
 11010100 => 10101001
  -43*2 = -86
2의 
보수법
 - Padding Bit : 0
 11010101 => 10101010
  -43*2 = -86
Shift
Right
부호화
절대치
 - Padding Bit : 0
 - 오차 발생 : 0.5 증가
 10101011 => 10010101
  -43/2 = -21.5 => -21
 양수는 같음
 - Padding Bit : 0
 00101011 => 00010101
 43/2 = 21
 21.5이지만 오차 발생으로 0.5 감소
1의
보수법
 - Padding Bit : 1
 - 오차 발생 : 0.5 증가
 11010100 => 11101010
  -43/2 = -21.5 => -21
2의
보수법
 - Padding Bit : 1
 - 오차 발생 : 0.5 감소
 11010101 => 11101010
  -43/2 = -21.5 => -22

 

반응형

+ Recent posts