명령어 분류와 지정방식

GGOMG·2022년 10월 6일
0

Computer Science

목록 보기
14/19
post-custom-banner

1. 명령어

명령어는 연산 코드(Operation Code)와 오퍼 랜드(Operand)로 이루어진다.

연산 코드
수행될 연산을 지정해주며, 비트 수가 증가하면 실행 가능한 연산이 증가한다.

오퍼랜드
연산을 수행하는 데 필요한 데이터 혹은 데이터의 주소, 레지스터 번호 등을 표현한다.

2. 명령어의 분류

오퍼랜드의 수에 따라서 명령어를 분류한다.

0-주소 명령어

  • 오퍼랜드 없이 연산자만으로 명령어가 구성
  • 스택구조 컴퓨터에서 사용
  • 연산속도가 빠르다
  • 스택의 PUSH, POP 사용
  • 후위표기법 사용
  • 주소부가 없지만 무조건 스택을 사용하므로 묵시적 주소라 한다.

1-주소 명렁어

  • 모든 데이터 처리가 내장되어있는 누산기(AC)에 의해 이루어짐
  • 누산기로 데이터 전달하는 LOAD, 누산기의 데이터를 주기억장치에 저장하는 STORE

2-주소 명령어

  • 범용 레지스터 구조에서 사용
  • Operand2 주소에서 데이터를 가져와 Operand1 주소에 연산결과를 저장
  • Move 명령어 가장 많이 사용

3-주소 명령어

  • 범용 레지스터 구조에서 사용
  • 프로그램의 길이를 짧게 할 수 있고 연산 후 입력자료 보존
  • Operand2, Operand3 주소에서 데이터를 가져와 Operand1 주소에 연산결과를 저장
  • 하나의 명령을 수행하기 위해 최소 4번의 기억장치 접근이 필요하므로 수행시간이 길어 잘 사용하지 않음

3. 주소지정 방식

즉시 주소지정 방식

Immediate Addressing Mode

  • Operand = 데이터
  • 데이터 인출을 위한 주기억장치 접근이 필요없으므로 실행 사이클이 짧아진다.
  • Operand 크기에 따라 사용 가능한 데이터의 범위가 정해진다

직접 주소지정 방식

Direct Addressing Mode

  • Operand = 유효 주소 -> 데이터
  • 한 번의 기억장치 접근 필요
  • Operand bit 수에 의해 직접 접근할 수 있는 주소 공간이 제한됨

간접 주소지정 방식

Indirect Addressing Mode

  • Operand = 유효 주소의 주소 -> 유효 주소 -> 데이터
  • 두 번의 기억장치 접근 필요
  • 기억장치 단어 길이가 n비트라면 2n2^n 개의 주소 공간을 가질 수 있음

레지스터 주소지정 방식

Register Addressing Mode

  • Operand = 레지스터 번호 -> 데이터
  • Operand bit 수에 의해 접근 가능한 레지스터 개수가 정해짐
  • 레지스터의 크기가 데이터의 범위를 결정
  • 기억장치 접근이 필요 없다

레지스터 간접 주소지정 방식

Register-Indirect Addressing Mode

  • Operand = 레지스터 번호 -> 유효주소 -> 데이터
  • 주소가 지정될 주기억장치 범위는 레지스터의 비트 수에 의해 결정

변위 주소지정 방식

Displacement Addressing Mode

  • Operand = 레지스터 번호 + 변위 -> 유효주소 -> 데이터

1) 상대 주소지정 방식

  • PC(Program Counter)에 담긴 주소와 Operand에 저장된 변위를 더해 유효주소 결정
  • 변위 = PC에 저장된 주소를 기준으로 한 상대적인 값

2) 인덱스 주소지정 방식

  • Operand = 데이터 배열의 시작 주소
  • 인덱스 레지스터(IX) = 인덱스 값을 저장하는 레지스터
post-custom-banner

0개의 댓글