본문 바로가기
컴퓨터개론

[컴퓨터개론] 명령어 코드, OP Code, Mode, Operand

by seung_nari 2022. 6. 3.

컴퓨터 명령어(Instruction)

- 컴퓨텨에 대한 일련의 마이크로 연산을 기술한 2진코드를 나타낸다.

- 연산종류와 주소 결정 방식, 주소 필드로 구성

 

연산 종류(OP Code)

수행할 연산자를 표시하며 Operation Code여서 OP Code라 부릅니다.

함수 연산, 자료 전달 연산, 제어 연산, 입출력 연산으로 나눌 수 있습니다.

함수 연산 ADD, SUB, MUL, DIV, 산술 쉬프트 등의 산술 연산과 AND, OR, NOT, XOR, 논리 쉬프트, 로테이션 쉬프트, Complement, Clear 등의 논리 연산이 있습니다.

자료 전달 연산에는 Load, Store, Move, Push, Pop 이 있습니다.

제어 연산에는 무조건 분기(GOTO, Jump, Jmp), 조건분기(IF, SPA, SNA, SZA), 호출(CALL), 반환(Return)이 있습니다.

*SPA : 양수면 Skip, SNA : 음수면 Skip, SZA : 0이면 스킵

입출력 연산에는 INPUT과 OUTPUT이 있습니다.

 

연산과 마이크로 연산과의 관계

연산(Operation)이란 연산코드(OP Code) 부분으로서 컴퓨터의 메모리에 저장된 명령어의 일부이고, 컴퓨터에게 특수한 명령을 수행하도록 명령하는 이진코드로 구성되어있고 제어장치는 메모리로부터 이러한 명령을 읽어서 연산코드 비트부분을 해석하여 레지스터에 마이크로 연산을 실행하는 일련의 제어함수를 발생시킨다.

각 연산코드에 대하여 특정한 연산의 하드웨어 실행에 필요한 일련의 마이크로 연산을 발생시키게 되므로 하나의 연산코드는 마이크로 연산의 집합으로 볼 수 있다.

 

주소 결정 방식 (Mode)

주소 필드의 주소를 결정하는 방식으로 직접(모든 비트가 0) 모드와 간접 모드(1)가 있습니다.

 

주소 필드(Operand)

컴퓨터 명령어의 피연산자는 주소 필드입니다.

- 처리할 데이터가 저장되어 있는 레지스터나 메모리 워드주소, 또한 연산결과가 저장될 장소의 주소를 나타낸다.

주소 필드의 크기가 n비트면 2의 n승의 메모리 용량을 사용할 수 있습니다.

 

4096 * 16 memory 사용

- 하나의 워드의 크기가 16bit 이고 워드가 4096개 모여있다.

- 주소선 : 2^12 = 4096 로 이진수로 12개의 자리수 (즉 12bit)가 있어야지 4096개 주소를 나타낼 수 있다.

- 데이터입출력선 :16bit이다. 한 워드의 크기가 16bit이기 때문이다.

- 한 워드가 16bit 이기 때문에 명령어 코드는 12bit는 주소에 , 나머지 4비트는 연산코드를 할당한다.

- 제어신호를 통해서 메모리의 명령어 영역에서 특정한 명령어코드를 제어레지스터(명령어 레지스터)로 읽어와서

 명령어 코드의 연산코드 부분을 디코딩(해석)해서 제어함수를 발생시켜 특정 명령어가 실행되게 한다.

- 컴퓨터의 가장 간단한 구성은 단 한 개의 프로세서 레지스터를 가짐으로써 연산코드와 주소 두개의 부분으로 구성된 명령어를 사용하는 것이다. 메모리로부터 읽혀진 피연산자 부분은 레지스터(AC)에 저장된 데이터와 연산을 실행하게 되는 구성이다.

 

간접 주소와 직접 주소

명령어 코드의 피연산자 부분이 직접 피연산자의 내용을 나타내는 경우는 immediate라 하고, 피연산자의 내용이 담겨 있는 메모리 주소를 저장하고 있는 경우는 직접주소(direct address)라 하고, 피연산자의 내용이 담겨 있는 장소의 주소의 주소를 저장하고 있는 경우는 간접주소(in-direct address)라 한다. 보통 한비트를 사용해서 명령어 코드의 주소부분이 직접주소인지 간접 주소 인지 구별한다.

 

 

참고 : http://dreamform.egloos.com/v/2805176

댓글