0. 시작하기 전에
- 이전 포스팅에서 CPU의 내부 구조와 동작 방식에 대해서 알아보았다.
- CPU의 동작 방식을 알기 위해서, 명령어를 처리하는 과정을 예시로 알아 보았는데,
- 이번 포스팅에서는 CPU의 명령어가 어떻게 구성되어 있는지 알아 볼 예정이다.
1. 명령어(Instruction) 형식의 이해
- 이전 포스팅에서 CPU의 내부 동작에 대해서 알아보았다.
- 그 과정에서 여러가지 레지스터를 통해, 주기억장치에 있는 명령어를 가져와서 실행했다.
- 주기억장치에 올라와 있던 그 명령어의 형식에 대해서 알아보자.
a) 명령어의 구성
- 명령어는 연산자(operation 또는 op-code)와 피연산자(operand)로 구성되어 있다.
▶ operation - 어떤 행위를 가리키는 역할이다.
▶ operand - 주기억 장치에서 기억하고있는 데이터의 주소값이며, 이 주소값에 이름을 붙이면 변수명이라고 한다.
- 즉, 행위와 대상으로 구성되어 있다.
b) 비트 할당에 명령어의 개수
- operation이 몇 비트를 할당 받았냐에 따라서 표현할 수 있는 연산의 개수가 달라진다.
ex) 1비트(= 2의 1승) → 0 과 1 → 2가지
ex) 2비트(= 2의 2승) → 00, 01, 10, 11 → 4가지
ex) 7비트(= 2의 7승) → 128가지
- 즉, operation이 많은 비트를 할당받을 수록 더 많은 종류의 명령어(=연산)를 가질 수 있다.
c) CPU 에서 명령어를 이해하는 방법
- Decoder에게 전달되기 전에, 명령어는 IR에게 전달된다.
- IR은 명령어의 op-code를 읽고 해당하는 명령어를 찾는다.
- IR은 명령어의 OPRD(피연산자)를 확인한 후 MAR에게 요청한다.
d) 명령어의 기능 (= operation의 기능)
▶ 전달 기능(Transfer) - operand를 전달해라
▶ 함수 연산(Function) - operand를 연산해라
▶ 제어 기능(Control) - operand를 어떻게 다루어라
▶ 입출력 기능(I/O) - operand를 입출력 해라
- 이와같은 행위의 대상(= 피연산자)은 주기억장치에 있는 데이터다.
e) 명령어에는 operand(= 피연산자)가 없을 수도 있다.
- 명령어의 기능이나 목적에 따라 명령어에 operan가 없을 수도, 3개까지 있을 수 도 있다.
- 오퍼랜드의 개수에 따라서 0 주소 명령 형식 ~ 3주소 명령 형식이 있다.
'컴퓨터공학기초 개념 > 컴퓨터구조' 카테고리의 다른 글
17. CPU 내부구조 - 마이크로 연산과 ALU (0) | 2021.08.12 |
---|---|
16. CPU 내부구조 - CPU 설계방식 (0) | 2021.08.11 |
--- 여기까지! 컴퓨터 구조, 번쩍! 복습하기! --- (0) | 2021.08.10 |
14. CPU 내부구조 - 레지스터 (0) | 2021.08.10 |
13. 논리회로 - 플립플롭(Flip-Flop) (2) | 2021.08.09 |
댓글