내가 보려고 적는 개발 용어들 - 3탄

hi_rice·2024년 8월 8일
0
post-thumbnail

📌 연산자(Operation Code)부
\rarr 연산자부는 수행해야 할 동작에 맞는 연산자를 표시하며 흔히 OP-Code부라고 한다.

  • 연산자부의 크기(비트 수)는 표현할 수 있는 명령의 종류를 나타내는 것으로, nBit 일 때 최대 2n개의 명령어를 사용할 수 있다.
  • 명령어 형식, 동작코드, 데이터 종류 등을 표시한다.
  • 연산자(Operation Code)의 기능에는 함수 연산, 자료 전달, 제어, 입 \cdot 출력 기능이 있다.

📌 자료(Operand)부
\rarr 자료부는 실제 데이터에 대한 정보를 표시하는 부분이다.

  • 기억장소의 주소, 레지스터 번호, 사용할 데이터, 명령어 순서 등을 표시한다.

📌 AND(Masking Operation)
\rarr AND 연산은 특정 문자 또는 특정 비트를 삭제(Clear)시키는 연산으로, Masking 연산이라고도 한다.

  • AND 연산은 삭제할 부분의 비트를 0과 AND시켜서 삭제하는데, 대응시키는 0인 비트를 Mask Bit라 한다.

📌 OR(Selective-Set)
\rarr OR 연산은 특정 문자를 삽입하거나 특정 비트에 1을 세트시키는 연산으로 Selective Set 연산이라고도 한다.

  • 삽입하거나 세트시킬 비트에 삽입할 문자 코드 또는 1을 OR 연산시킨다.

📌 XOR(Compare, 비교)
\rarr XOR 연산은 두 개의 데이터를 비교하거나 특정 비트를 반전시킬 때 사용한다.

  • 두개의 데이터를 XOR 연산하여 결과에 1Bit라도 1이 있으면 서로 다른 데이터이다.
  • 반전시킬 때는 반전시킬 비트와 1을 XOR시킨다.

📌 NOT(Complement, 보수)
\rarr NOT 연산은 각 비트의 값을 반전시키는 연산으로, 보수를 구할 때 사용한다.

📌 논리 Shift
\rarr 논리 Shift는 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 연산으로, 데이터의 직렬 전송(Serial Transfer)에 사용한다.

  • 삽입되는 자리는 무조건 0이다.

📌 Rotate
\rarr Rotate는 Shift에서 밀려나가는 비트의 값을 반대편 값으로 입력하는 연산이다.

  • 문자 위치를 변환할 때 사용한다.

📌 MOVE
\rarr 레지스터에 기억된 자료를 그대로 다른 레지스터로 옮길 때 사용한다.

📌 3주소 명령어(3 Address Instruction)
\rarr 3주소 명령어는 Operand부가 3개로 구성되는 명령어 형식으로 여러 개의 범용 레지스터(GPR)를 가진 컴퓨터에서 사용한다.

  • 연산 후 입력 자료가 변하지 않고 보존된다.
  • 명령어 한 개의 길이가 길어진다.

📌 2주소 명령어(2 Address Instruction)
\rarr 2주소 명령어는 Operand부가 2개로 구성되는 가장 일반적으로 사용되는 명령어 형식이다.

  • 여러 개의 범용 레지스터를 가진 컴퓨터에서 사용한다.
  • 연산의 결과는 주로 Operand 1에 저장되므로 Operand 1에 있던 원래의 자료가 파괴된다.

📌 1주소 명령어(1 Address Instruction)
\rarr 1주소 명령어는 Operand부가 한 개로 구성되어 있다.

  • 1주소 명령어 형식의 컴퓨터는 누산기(AC; Accumulator)를 이용하여 명령어를 처리한다.

📌 0주소 명령어(0 Address Instruction)
\rarr 0주소 명령어는 Operand부 없이 OP-Code부만으로 구성되어 있다.

  • 0주소 명령어는 주소의 사용 없이 스택에 연산자와 피연산자를 넣었다 꺼내어 연산한 후 결과를 다시 스택에 넣으면서 연산하기 때문에 원래의 자료가 남지 않는다.

📌 스택(Stack)
\rarr 스택은 자료의 삽입 \cdot 삭제 작업이 한쪽 방향에서만 가능할 수 있도록 할당한 메모리의 일부.

  • 가장 나중에 삽입된 자료를 가장 먼저 삭제하는 후입선출(LIFO; Last In First Out) 방식으로 자료를 처리합니다.
  • 스택에 자료를 삽입하는 명령은 Push이고, 스택에서 자료를 삭제하는 명령은 Pop이다.

📌 암시적 주소지정방식(Implied Mode)
\rarr 암시적 주소지정방식은 주소를 지정하는 필드가 없는 0번지 명령어에서 Stack의 Top 포인터가 가리키는 Operand를 암시하여 이용한다.

📌 즉치(즉시)적 주소지정방식(Immediate Mode)
\rarr 즉치적 주소지정방식은 명령어 자체에 오퍼랜드(실제 데이터)를 가지고 있는 방식이다.

  • 별도의 기억장소를 액세스하지 않고 CPU에서 곧바로 자료를 이용할 수 있어서 실행 속도가 빠르다는 장점이 있다.

📌 직접 주소지정방식(Direct Mode)
\rarr 직접 주소지정방식은 명령의 주소부(Operand)에 있는 값이 실제 데이터가 기억된 번지를 지정하는 방식이다.

📌 간접 주소지정방식(Indirect Mode)
\rarr 간접 주소지정방식은 명령어의 주소부(Operand)가 지정하는 곳에 있는 값이 실제 데이터를 기억하는 또 다른 메모리의 번지를 지정하는 방식이다.

  • 최소한 주기억장치를 두 번 이상 접근하여 데이터가 있는 기억장소에 도달한다.

📌 계산에 의한 주소지정방식
\rarr 계산에 의한 주소지정방식은 Operand부와 CPU의 특정 레지스터의 값이 더해져서 유효 주소를 계산하는 방식이다.

  • 계산에 의한 주소지정방식은 대부분 주소의 일부분을 생략하는 약식주소이다.
  • 사용하는 레지스터의 종류에 따라 상대, 베이스, 인덱스 주소지정방식으로 구분한다.
  • 상대주소(Relative Mode)
    \rarr 유효 주소 : 명령어의 주소 부분 + PC
    \rarr 명령어 자신의 기억장소를 기준으로 하여 데이터의 위치를 지정하는 방식.
  • 베이스 레지스터(Base Register Mode)
    \rarr 유효 주소 : 명령어의 주소 부분 + Base Register
    \rarr 프로그램을 재배치(Relocation)할 때 이용함.
  • 인덱스 레지스터(Index Register Mode)
    \rarr 유효 주소 : 명령어의 주소 부분 + Index Register
    \rarr 주소지정에 2개의 레지스터를 사용하는 방식으로 순차적인 주소지정에 유리함.

📌 절대주소(Absolute Address)
\rarr 임의의 기억장소에 대한 실제 주소(유효 주소)로 기억장치의 맨 처음부터 1Byte마다 0, 1, 2, 3 \cdot\cdot\cdot 의 순서로 16진수의 번호가 차례대로 지정된다.

📌 상대주소(Relative Address)
\rarr 기준주소를 기준으로 하여 상대적으로 얼마만큼 떨어져 있는지 변위(Displacement; Offset)로 표현하는 주소로서, 상대주소는 절대주소로 변환해야만 실제 데이터에 접근할 수 있다.

0개의 댓글

관련 채용 정보