본문 바로가기

Computer Science

컴퓨터구조론 - 명령어 코드

 

 

 

 

Data와 Code는 각 주소에 대응하여 지시된 명령에 맞는 값을 만들어야 합니다.

이를 위해 각 명령을 의미하는 숫자를 만들고, 각 주소에 코드를 넣습니다.

이를 Instruction Code, 또는 Operation Code (OP Code)라고 합니다.

 

 

 

 

Operation Code (OP Code)

   - 컴퓨터에 대한 일련의 마이크로 연산을 기술한 2진코드입니다.

   - 연산종류와 주소결정 방식, 주소필드 로 구성되어있습니다.

연산(OP Code) 주소 결정 방식(Mode) 주소 필드(Operand)

 

   - 연산 종류

      : 수행할 연산자를 표시합니다.

      : 함수연산, 자료전달, 제어, 입출력 등의 연산작업을 수행합니다.

         1. 함수 연산 : 산술, 논리 연산을 수행합니다.

         2. 자료전달 : Load, Store, Move, Push, Pop 등을 수행합니다.

         3. 제어연산 : 분기별 수행, 호출, 반환등의 작업을 수행합니다.

         4. 입출력연산 : INPUT과 OUTPUT 두가지 연산을 수행합니다.

   

   - opcode 에 적힌대로 연산을 수행하여 주소 결정 방식에 따른 주소 값에 저장합니다.

 

   Ex) LOD A, [1003h] 

      - LOD 는 opcode값인 10h 로 변경할 수 있습니다.

      - A 는 accumulator를 의미합니다.

      - 1003h 는 주소를 의미합니다.

      → 1003h 주소에 있는 데이터를 로드하여 accumulator에 넣으라는 뜻이 됩니다.

 

 

 

 Instruction Set과 코드

   - op 코드로 인해 상태가 어떻게 바뀌는지 정의한 약속이 Instruction Set 입니다.

   - 각 컴퓨터마다 서로 다른 instruction set을 가지고 있습니다.

   - 초창기 컴퓨터는 적은 양의 Instruction set을 가졌었고, 점점 증가하다가

      최근의 컴퓨터는 다시 줄어들고 있는 추세입니다.

 

   - Software = Code + Data

      : Cpu는 Instruction code를 만들어놓고 제공합니다.

      : 프로그램은 opcode로 변경되어 CPU에 전달되며, 이 역할을 하는것이 컴파일러입니다.

 

   - Instruction Set Architecture ( ISA )

      : opcode로 변경하기 위한 Instruction Set을 모아놓은 구조입니다.