컴퓨터 공학/혼자 공부하는 컴퓨터 구조 +운영체제

5.명령어의 구조

공부를하자 2023. 6. 22. 01:58

1.명령어

  1)정의

 컴퓨터에게 특정작업을 수행하라고 보내는 메시지

2.명령어의 구조

  1)연산코드(Operation Code): 명령어가 수행할 연산(연산자)

  2)오퍼랜드(Operand): 연산에 사용되는 데이터 또는 데이터의 주소(피연산자)

 

*색칠된 부분을 연산코드 필드

*색칠되지 않는 부분을 오퍼랜드 필드라고 한다.

 

*어셈블리어 예시

 

3.오퍼랜드

  1)정의

   연산에 사용되는 데이터 또는 데이터의 주소

  -숫자나 문자 데이터가 올라오거나 데이터가 저장된 레지스터의 주소나

   메모리주소가 적힌다.

  -그래서 주소필드라고 명명하기도 한다.

  -오퍼랜드의 개수에 따라 명칭이 달라진다.

4.연산코드

1)정의:명령어가 수행할 연산(연산자)

-크게 네가지 유형으로 나눌 있다.

5.주소 지정 방식

1)정의 개요

-메모리나 레지스터에 주소가 담기는 경우가 많은데 이유는 명령어의 길이 때문이다.

-하나의 명령어가 16비트이고 연산코드 필드가 4비트라면 오퍼랜드 필드는 12비트이고

  이것을 n개의 오퍼랜드가 나눠 갖는다. 하지만 데이터를 담기에는 부족하다고 있다.

-만약 오퍼랜드에 주소 값을 하게 된다면 데이터를 사용할 있다.

 예를 들어 사용할 데이터의 주소가 4비트이고 주소로 이동한 곳에는 16비트의 데이터가

 있는 형식이다.

 

 2)유효주소:연산에 대상이 되는 데이터가 저장된 위치를 유효주소(effective address)라고 한다.

 

6.주소 지정방식의 종류

1)즉시 주소 지정방식(immediate addressing mode):

   -연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방식.

   -사용할 데이터가 작다는 단점이 있지만 메모리를 찾는 과정이 없는 만큼 빠르다.

 

2)직접 주소 방식(direct addressing mode):

  -오퍼랜드 필드에 유효주소를 직접적으로 명시하는 방식.

  -연산코드 만큼 명령어의 크기가 줄어 오퍼랜드 필드가 줄어든다.

 

3)간접 주소 방식(indirect addressing mode):

  -유효주소의  주소를 오퍼랜드의 필드에 명식하는 방식.

  -메모리에 접근하는 만큼 느린 방식이다.

 

4)레지스터 주소 방식(register addressing mode):

 -데이터를 저장한 레지스터의 주소를 오퍼랜드에 직접 명시하는 방식

 -레지스터는 CPU 있는 임시 메모리이기에 일반 메모리보다 접근이 빠르다.

  -하지만 직접 주소 방식과 같은 문제로 레지스터 크기에 제한이 생길 있다.

5)레지스터 간접 주소 방식(register indirect addressing mode):

 -연산할 데이터를 메모리에 저장하고 메모리 주소를 레지스터에 저장하고

  레지스터 주소를 오퍼랜드에 저장하는 방식.

 -메모리에 접근하는 간접 주소 방식보다 빠르다.