Instruction   명령어

(2020-04-03)

ISA, Instruction Set, 명령어 집합, CPU Instruction, CPU 명령어, 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 명령어의 구성, 종류, 문법 例)

  ㅇ 명령어 구성 (Instruction Structure)
     - 구성 : 명령 코드(operation code,op code) + 피연산자(operand)
     - 명령(코드) : STORE, LOAD, SHIFT, XOR, JUMP 등
     - 피연산자 : 데이터 위치 (메모리 셀 위치, 어느 레지스터 인가? 등) 또는 실제 데이터

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

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


5. CPU 명령어 싸이클 (Machine Cycle, Instruction Cycle)

  ※ (하나의 명령어를 실행하는데 필요한 전체 과정)

  ㅇ 2단계 구조 : 명령어 인출(fetch) -> 명령어 실행(execute)
  ㅇ 3단계 구조 : 명령어 인출 -> 명령어 해석(decode) -> 명령어 실행
  ㅇ 4단계 구조 : 명령어 인출 -> 간접(indirect) -> 명령어 실행 -> 인터럽트(interrupt) 싸이클


[중앙처리장치 (CPU)] 1. CPU 2. MPU,MCU,FPU,GPU 3. RISC,CISC 4. ALU 5. 제어 장치 6. 내부 레지스터 7. 파이프라인 8. 명령어 9. 80x86
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
          1. 컴퓨터
          2. 컴퓨터 구조
      1.   중앙처리장치 (CPU)
        1.   1. CPU
            2. MPU,MCU,FPU,GPU
            3. RISC,CISC
            4. ALU
            5. 제어 장치
            6. 내부 레지스터
            7. 파이프라인
            8. 명령어
            9. 80x86
      2.   기억장치 (메모리)
      3.   버스구조
      4.   대용량 저장장치
      5.   I/O 장치 (주변장치)
      6.   병렬처리
    3.   프로그래밍
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공학일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌