본문 바로가기
개발과 기술

[컴퓨터 구조] 컴퓨터 명령어

by growd 2018. 9. 5.

  컴퓨터 명렁어 (instuction)


- 컴퓨터가 수행해야 하는 일을 나타내기 위한 비트들의 집합



  명령어 집합 (instruction set)


- 모든 컴퓨터는 자신의 명령어 집합을 가지고 있음


- 동일 계열의 컴퓨터는 같은 명령어 집합을 사용


- A타입의 CPU와 B타입의 CPU는 다른 명령어 형식을 가짐


- 명령어 집합을 이용하여 컴퓨터 시스템의 구조를 살펴볼 수 있음



  컴퓨터 명령어 수행기능


- 함수연산 기능: 덧셈, 뺄셈, 시프트, 보수 등의 산술 연산과 AND OR NOT등의 논리연산


- 정보전달 기능: 레지스터들 사이의 정보 전달, CPU와 메모리 사이의 정보전달


- 순서제어 기능: 조건분기, 무조건 분기 등의 명령어 수행순서 제어


- 입출력 기능: 메모리와 입출력 장치 사시의 정보 이동 기능



  명령어는 필드


- 연산코드 필드(OP Code): 처리해야 할 연산의 종류


- 오퍼랜드 필드(operand): 처리할 대상 데이터 또는 데이터의 주소


연산코드 

OP code

 오퍼랜드 

operand


예) ADD X;

연산코드: ADD

오퍼랜드: X


  기억장소에 따른 명령어 형식


- 누산기


- 다중 레지스터


- 스택구조



  누산기를 이용하는 명령어 형식


ADD X;

AC <- AC + M[X]

누산기안의 내용과 기억장치 주소 X의 내용을 더하여 누산기로 전송


LOAD X;

AC <- M[X]

기억장치 주소 X의 내용을 누산기에 적재


STORE X;

M[X] <- AC

누산기의 내용을 기억장치 X에 저장



  다중 레지스터를 이용하는 명령어 형식


ADD R1,R2,R3;

R3 <- R1 + R2

레지스터 R1, R2의 내용을 더하여 R3로 전송


ADD R1,R2;

레지스터 R1의 내용과 레지스터 R2를 더하여 R2로 전송


MOVE R1, R2;

R2 <- R1

레지스터 R1의 내용을 레지스터 R2로 전송


LOAD X,R1 ;

R1 <- M[X]

기억장치 주소 X의 내용을 R1에 적재


STORE R1, X;

M[X] <- R1

레지스터 R1의 내용을 기억장치 주소 X에 저장



  스택구조를 이용하는 명령어 형식


ADD;

TOS <- TOS + TOS -1

기억장치 제일 위의 내용과 그 아래의 내용을 더해서 제일 위로 전송


PUSH X;

TOS <- M[X]

기억장치 주소 X의 내용을 기억장치 스택의 제일 위로 전송


POP X;

M[X] <- TOS 

기억장치 스택의 제일 위의 내용을 기억장치 주소 X로 전송


* TOPS: Top Of Stack, 스택의 제일 위





댓글