본문 바로가기
2학년 2학기/컴퓨터 구조

8.4 Instruction formats

by kkkkk1023 2024. 11. 17.

CPU 구조에 따른 명령어 형식

1. Single Accumulator Organization

: 대부분의 연산이 AC와 Memory 사이에서 이루어지는 구조이다. 데이터를 처리할 때 항상 AC에 값을 적재하고 결과를 다시 AC에 저장한다.  

 

ADD X ➡️ AC <- AC + X

 

 

 

2. General Register Organization

: CPU에 여러개의 General 레지스터가 있는 구조이다. 연산은 주로 레지스터 끼리 이루어지며, 메모리 접근이 줄어든다.

ADD R1, R2, R3 ➡️ R1 ← R2 + R3

ADD R1, R2 ➡️ R1 ← R1 + R2

 

 

 

3. Stack Organization

: Stack을 사용해서 데이터를 저장하고 연산을 하는 구조이다. 명령어는 암묵적으로 Stack의 최상위 두 값을 이용해서 연산을 수행한다.

 

PUSH X ➡️ 값을 Stack에 저장
ADD  ➡️ ADD로 상위 두 값을 더하고 결과를 다시 스택에 저장

 

 

 


 

 

Three address instructions 

: 하나의 명령어에 결과와 두 개의 피연산자를 모두 명시적으로 지정할 수 있는 CPU 명령어 형식이다. 즉, ADD이라는 명령어에 결과 R1과 피연산자 두 개 A, B를 명시적으로 지정할 수 있는 CPU 명령어 형식이다.

 

 

 

 

별도의 중간 저장 없이 직접 연산이 가능해서 명령어 개수를 줄일 수 있다는 장점이 있지만, 각 명령어가 세 개의 주소를 포함하기 때문에 명령어 길이가 더 길어진다는 단점이 생긴다.

 

 

 

 

Two address instructions 

: 하나의 명령어에 결과와 한개의 피연산자를 명시적으로 지정할 수 있는 CPU 명령어 형식이다. 즉 ADD라는 명령어에 결과 R1과 피연산자 B를 명시적으로 저장할 수 있는 CPU 명령어 형식이다.

 

 

 

명령어가 두 개의 주소를 포함하기 때문에 명령어 길이가 짧아진다는 장점이 있지만, 중간에 저장이 필요해서 명령어 개수가 늘어난다는 단점이 있다. 

 

 

 

 

One address instructions 

: 하나의 명령어에 결과와 한 개의 피연산자를 모두 명시적으로 지정할 수 있는 CPU 명령어 형식이다. 즉, 주소가 한 개이기 때문에, 암묵적으로 AC를 사용해서 연산이 이루어지는 CPU 형식이다.

 

 

 

명령어가 한 개의 주소를 포함하기 때문에 명령어 길이가 짧아진다는 장점이 있지만중간에 AC 사용이 필요해서 명령어 개수가 늘어난다는 단점이 있다. 

 

 

 

Zero address instructions 

: Stack을 사용해서 데이터를 저장하고 연산을 하는 CPU 형식이다. 

 

TOS: Top Of Stack

 

위의 형식을 말로 풀어서 설명하면 A의 값을 TOS에 넣고 B의 값을 TOS에 넣고 그것을 더한 값을 TOS에 넣는다. 이런식으로 나머지도 수행하고 마지막에 POP은 모든 연산의 결과인 TOS를 X의 주소를 가진 메모리에 저장한다. 

 

명령어가 주소가 없기 때문에 명령어 길이가 짧아진다는 장점이 있지만중간에 Stack 사용이 필요해서 명령어 개수가 늘어난다는 단점이 있다. 

 

 

 

 

RISC instructions 

: 메모리와 CPU 간 데이터 전송은 **LOAD**와 STORE 명령어를 통해서만 수행되고, 나머지 모든 연산은 레지스터애서 수행되는 CPU 형식이다.

 

'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글

8.6 Data transfer and manipulation  (0) 2024.11.17
8.5 Addressing modes  (0) 2024.11.17
8.3 Stack organization  (0) 2024.11.17
8.2 General register organization  (0) 2024.11.17
8.1 Introduction(생략)  (0) 2024.11.17