본문 바로가기

컴퓨터구조

1.2장 Operand 와 Opcode

728x90
반응형
SMALL

이번에는 operand 와 opcode에 대하여 설명해 보겠습니다

 

먼저, opcode 란? Operation to be performed

 

opcode란? Indicate where data are(address라고도 표현합니다!)

 

그림으로 살펴보시죠!

 

 

 

 

 

 

 

 

 

 

Number of Operands

 

1. Three Operands

 

ADD A, B, C

Destination: A

Source: B, C

 

A<- B+C(B와 C의 합산한 값을 A에 저장)

 

 

2. Two Operands

ADD A,B

Destination:A

Sources: A and B

 

A<- A+B (A+B의 값을 A에 저장)

 

 

 

3. One Operand

operand가 하나인 경우에는

 - special register “AC”(Accumulator), which hold data value

=> AC 에 data value 를 저장해놓는 거죠! 보겠습니다

 

ADD A

Destination: AC

Sources: A and AC

 

AC <- AC+A

 

LD A

Destination: AC

Source: A

AC <- A

 

 

 

 

 

 

이런식으로 operand의 갯수에 표현하는 방법이 많이 다릅니다.

 

그렇다면 operand가 없이 표현하는 건 가능할까요??? 굳이 이야기 하자면 가능 합니다!! 밑에를 보시죠

 

4. Zero Operands

STACK - First In First Out(FIFO)를 사용해서

모든 operand들이 TOS(Top Of Stack)에 들어오게 되는거죠

Data는 push or pop을 통해 움직입니다

예시를 볼까요??

 

Push A

Push B

ADD

Pop C

 

 

위와 같은 instruction은 operand가 필요하지 않으므로 Zero operand instruction이라고 부릅니다!

 

 

Operand 숫자가 늘어나면 수행하는데 있어 더 적은 숫자의 instruction이 필요하게 됩니다!! 예를 들어 볼까요??

 

 

Z = (A+B) /C 를 각각의 operand의 갯수를 통해 문제를 해결해 보겠습니다! 그림을 보시져

 

간단한 연산식이라 Two 와 One의 갯수가 같지만 operand의 숫자가 많아 질 수록 instruction의 갯수는 줄어드는걸 보 실수 있습니다!

 

 

이건 부수적인 이야기 이지만

operand의 숫자가 늘어나게 될 수록 BUS가 더 넓어집니다!

 

그럼 BUS 뭘까요??

왼쪽 원은 CPU 오른 쪽 네모는 Memory 입니다

 

자 그림을 보시면 Load, Fetch, Store가 나와있죠?

Load: Cpu로 data를 가져오는 행위

Fetch: Cpu로 부터 data를 가져오는 행위

store: Cpu가 Memory에 data를 저장하는 행위

 

이러한 행위들은 바로 "전기신호"를 통해 명령하게 되는데 이러한 전기신호가 지나다니는 통로를 "BUS"라고 부릅니다!!

 

다음에는 addressing mode에 대하여 정리해 보겠습니다!

728x90
반응형
LIST

'컴퓨터구조' 카테고리의 다른 글

1.1장 - Instruction Set architecture  (1) 2021.10.24