컴퓨터/프로그래밍 관점에서 바라보는 컴퓨터구조

명령어 집합 (2)

문_성 2021. 8. 12. 01:25
반응형

 

(명령어 형식)

 

주소 필드의 개수 에 따라

 

- 단일 누산기 구조

- 범용 레지스터 구조

- 스택 구조

 

로 나뉜다.

 

 

 

(0-주소 명령 형식(스택 구조))

 

연산자 코드(op-code) 만 존재하고 주소가 없는 형식이다.

이 형식은 피연산자(operand) 를 스택(stack) 에 보관한다.

 

D = A + B * C

식을 0-주소 명령 형식으로 나타내면

 

PUSH A

PUSH B

PUSH C

MUL

ADD

POP D

 

위의 명령어가 수행되면서 스택은

위의 사진과 같이 변하게 된다.

 

 

 

(1-주소 명령 형식(단일 누산기 구조))

 

연산자 코드(op-code) 와 피연산자(operand) 1개로만 이루어진 형식이다.

주기억 장치 내의 데이터와 AC 레지스터 내의 데이터로 연산이 이루어진다.

 

D = A + B * C

식을 1-주소 명령 형식 으로 나타내면

 

LOAD B  # AC <- B

MUL C  # AC <- AC * C

ADD A  # AC -< AC + A

STORE D  # D <- AC

 

 

 

(2-주소 명령 형식(범용 레지스터 구조))

 

연산자 코드(op-code) 와 피연산자(operand) 2개로 이루어진 형식이다.

연산 결과를 두 피연산자가 가르키는 주소 중 한 곳에 저장한다.

 

D = A + B * C

식을 2-주소 명령 형식 으로 나타내면

 

LOAD R, B  # R <- B

MUL R, C  # R <- R * C

ADD R, A  # R <- R + A

STORE R, D  # D <- R

 

 

 

(3-주소 명령 형식)

 

연산자 코드(op-code) 와 2개의 피연산자(operand) 와 결과 주소 로 이루어진 형식이다.

인스트럭션을 수행하기 위해 피연산자를 최소 3번이나 접근해야해서 수행 기간이 길어진다.

 

D = A + B * C

식을 3-주소 명령 형식 으로 나타내면

 

MUL R, B, C  # R <- B * C

ADD D, R, A  # D <- R + A

 

 

반응형

'컴퓨터 > 프로그래밍 관점에서 바라보는 컴퓨터구조' 카테고리의 다른 글

책 읽기 끝  (0) 2021.08.12
명령어 집합 (3)  (0) 2021.08.12
명령어 집합  (0) 2021.08.11
기계어와 어셈블리 언어 (4)  (0) 2021.08.11
기계어와 어셈블리 언어 (3)  (0) 2021.08.09