Instruction   명령어

(2020-09-01)

ISA , Instruction Set, 명령어 집합, CPU Instruction, CPU 명령어


1. Instruction (명령어 또는 명령)

  ㅇ [프로그램]  프로그램 상에서의, 최소 실행 단위명령문 (Statement) 참조

  ㅇ [하드웨어]  컴퓨터 하드웨어에서, 이해되고 수행 가능한 단위 
     - 주로, CPU에서의, 작은 작업 수행 단위기계어/어셈블리어 참조
        . 기계어 : 비트들의 집합체
        . 명령어 : 기계어를 구성하는 개개의 요소 단위
     - 이는, 기억장치에 저장되어 있다가, CPU가 이를 인출하여 실행하게 됨


2. CPU 명령어 집합 (Instruction Set) 이란?

  ㅇ 명령어들로 구성된 어휘 집합을 말함
     - 특정 CPU 마다, 특정 명령어 집합 만을 수행할 수 있음
        . 특정한 구조(특히,컴퓨터구조)에 따라 정의된 명령들의 집합

  ㅇ 명령어 집합 구조에 대한 추상화 : ISA (Instruction Set Architecture)
     - 하드웨어와 저수준 소프트웨어인터페이스에 대한 추상화의 일종
        

  ㅇ 결국, 프로그래밍에 관련된 컴퓨터 구조의 일부로써, 상호작용하는 다음 사항들을 반영하게 됨
     - 데이터타입, 명령어, 레지스터, 주소지정방식(Addressing Mode), 메모리 구조,
       인터럽트예외 처리, 외부 I/O 장치3. CPU 명령어 집합설계 관점

  ㅇ 명령어 집합설계CPU 설계 간의 연관성 
     - 명령어 집합설계는, CPU 설계 상의 핵심적인 요소 임
        . 각 명령어 마다 CPU에 특정 회로가 필요하며,
        . 지원 명령어가 많을수록 CPU 복잡도가 증가됨

  ㅇ 명령어 집합설계 상의 `원칙/목표`
     - 컴퓨터 하드웨어 및 컴파일러 제작의 용이성/간결성
     - 최대 성능 보장(처리속도) 등

  ㅇ 명령어 집합CPU 설계 구조 상의 2가지 큰 `방향`
     - 최소한의 명령어 집합 => RISC
     - 많은 수의 다양하고 중복되는 명령어 집합 => CISC

  ㅇ 명령어 집합의 결정 요소
     - 연산 종류
     - 데이터 유형
     - 명령어 형식
     - 주소지정방식


4. CPU 명령어의 문법적 구성

  ※ ☞ CPU 명령어 문법 참조
     - 명령어 구성 : 명령 코드(operation code,op code) + 피연산자(operand,오퍼랜드)
     - 명령(코드) : STORE, LOAD, SHIFT, XOR, JUMP 등
     - 명령어 종류 
        . 데이터 전송 (LOAD,STORE,MOV 등)
        . 연산 (ADD,AND,OR,XOR,SHIFT,ROTATE 등)
        . 제어 (BRANCH,JUMP,CALL 등)
     - 주소 지정 방식 : 직접 주소지정 방식, 간접 주소지정 방식, 묵시적 주소지정 방식5. CPU 명령어의 싸이클 (Machine Cycle, Instruction Cycle)

  ※ ☞ CPU 명령어 싸이클 참조
     - (하나의 명령어를 실행하는데 필요한 전체 과정)



Copyrightⓒ written by 차재복 (Cha Jae Bok)