CPU 명령어 문법

(2022-03-26)

Addressing Mode, 주소 지정 방식, Op Code, Opcode


1. CPU 명령어의 구성 (Instruction Structure)CPU 명령어 = 명령코드 + 피연산자
     - 명령코드 (Operation code, Op code)
        . 명령어들은, 1 이상의 피연산자(오퍼랜드)를 갖거나, 갖지 않을 수 있음
        . 종류 : STORE, LOAD, SHIFT, XOR, JUMP 등
     - 피연산자 (Operand, 오퍼랜드)
        . 데이터(리터럴) or 데이터 위치(메모리주소, 어느 레지스터 인가? 등)


2. CPU 명령어의 종류 (연산 종류)데이터 전송 : LOAD, STORE 등
  ㅇ 연산 : ADD, AND, OR, XOR, SHIFT, ROTATE 등
     - 논리 연산 : AND, OR, NOT, XOR
     - 산술 연산 : ADD
        . 뺄셈은, 덧셈과 부호반전(negation)의 조합으로써,  ☞ 1의 보수,2의 보수 참조
        . 곱셈은, 덧셈의 반복으로써,
        . 나눗셈은, 뺄셈의 반복으로써, 구현 가능
     - 회전,자리이동 연산 : SHIFT, ROTATE
  ㅇ 제어 : BRANCH, JUMP, CALL 등


3. CPU 명령어주소 지정 방식프로세서가, 피연산자(오퍼랜드)에 기억장치 내 위치(유효 주소)를 지정 하는 방식
     - 연산에 필요한 오퍼랜드의 주소를 알아내는데 사용
     - 유효 주소 : 주소 지정방식에 의해 결정되는 오퍼랜드의 주소    

  ㅇ 구분  :  (주소필드 저장 형태에 따른 구분)
     - 직접 주소 지정 방식 (Direct or Absolute Addressing Mode)
        . 주소필드에 오퍼랜드의 주소(=유효주소)를 직접 저장
        . (장점) 기억장치 접근이 한번에 이루어짐
        . (단점) 오퍼랜드 필드의 길이에 따라 접근할 수 있는 기억장치주소공간에 한계가 있음

     - 간접 주소 지정 방식 (Indirect Addressing Mode)
        . 주소필드에 유효주소가 저장되어 있는 기억장치 주소를 저장
        . (장점) 접근할 수 있는 기억장치 주소공간중앙처리장치가 한 번에 접근할 수 있는 단어의
                 길이로 결정됨
        . (단점) 두 번의 기억장치 접근이 필요

     - 묵시적 주소지정 방식, 의미 주소 지정 방식 (Implied or Inherent Addressing Mode)
        . 주소 필드가 필요없는 방식
        . 묵시적 오퍼랜드 지정
        . 例) 메모리스택 사용 등

     - 즉시/즉치 주소 지정 방식 (Immediate or Literal Addressing Mode)
        . 주소필드에 실제 사용할 오퍼랜드(피연산자)를 지정
        . 레지스터변수상수값으로 초기화하는데 유용

     - 상대 주소 지정 방식 (Relative Addressing Mode)
        . 유효주소를 계산하기 위해 특정 레지스터의 내용에 명령어 주소필드 값을 더하는 방식
        . 특정 레지스터는, 주로 PC(Program counter)를 사용
        . 유효주소 = 명령어 오퍼랜드 + PC
        . (장점) 적은 비트수로 표현할 수 있기 때문에 간결한 명령어 구성 가능
        . (특징) 분기주소가 명령어 단어와 가까운 위치에 있을 때 분기형 명령어에서 종종 사용

  ㅇ 구분  :  (유효 주소 계산 단계에 따른 구분)
     - 0-단계 주소 지정 방식  :  유효 주소의 확정을 위해 별도의 계산이 필요 없음
        . 즉치 주소 지정 방식 (Immediate Addressing Mode)
        . 묵시 주소 지정 방식 (Implied Addressing Mode)

     - 1-단계 주소 지정 방식  :  유효 주소의 확정을 위해 한 차례의 계산이 필요
        . 직접 주소 지정 (Direct Addressing Mode)
        . 레지스터 직접 주소 지정 (Register-Direct Addressing)

     - 2-단계 주소 지정 방식  :  유효 주소의 확정을 위해 두 차례의 계산이 필요
        . (즉, 두 번의 기억장치 접근이 필요)
        . 간접 주소 지정 방식 (Indirect Addressing Mode)
        . 레지스터 간접 주소 지정 (Register-Indirect Addressing Mode)
        . 상대 주소 지정 방식 (Relative Addressing Mode)
        . 변위 주소 지정 방식 (Displacement Addressing)


4. CPU 명령어의 기타 문법

  ㅇ 줄 (line) : 고급 프로그래밍 언어와 달리, 한 줄에 하나의 명령어 만 씀 
  ㅇ 주석 (comment, ;) : 통상, 줄 끝에 붙이며, 줄이 끝나면 주석도 끝남

  ※ [참고] ☞ 어셈블리 언어 참조



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"