# Instruction?
instruction이란 기계어로 컴퓨터가 이해가능한 유일한 단어이며
0과 1의 조합으로 이루어진다.
# ISA
: 하드웨어와 시스템 소프트웨어의 규약
* CPU애서 사용되는 기계어 하나하나가 ISA에 정의되어있어
CPU는 0과 1의 조합을 정의된 기계어로 해석하여 연산을 실행한다.
* 컴파일러는 프로그래머가 작성한 소스코드를 주어진 ISA에 맞게 기계어로 변환한다.
+ 기계어의 정의에는 연산자와 피연산자 그리고 연산결과 출력 위치가 포함되어야 한다.
+ 기계어 처리 방법이나 캐시 메모리, I.O디바이스는 정의할 필요 없다.
+ pipelining 사용여부는 포함되지 않는다.
Instruction의 수행 순서
1: Instruction을 memory에서 CPU로 가져간다
2: 의미해석
3:연산을 수행하고 (이때 필요한 데이터를 Memory나 register에서 가져온다.)
4: 결과를 저장한다.
+ 아키텍쳐마다 설정이 다르며 동일한 아키텍쳐라도 구현이 다르므로 여러 가지 다양한 ISA가 있다.
+ 아키텍쳐? : 컴퓨터를 기능면에서 본 구성 방식. 기억 장치의 번지 방식,
입출력 장치의 구성 방식 등을 가리킴.
즉, 프로세스와 전체적인 구조나 논리적 요소들 그리고
컴퓨터와 운영체계, 네트워크 등 여러 개념간의 관계를 정의
ex) IA-32, IA-64, ALPHA
# ISA의 분류
+ CISC (complex instruction set computer)
- 다양한 길이의 기계어가 존재하여 기계어 해석이 복잡
ex) x86
+ RISC (reduced instruction set computer)
- 소수의 고정길이 기계어로 구성
- 하나의 고급언어 문장이 많은 수의 기계어로 변환
- 기계어 구조가 간단하여 하드웨어 설계가 간결
- 파이프 라이닝에 효과적이다.
ex) MIPS, ARM
'about COMPUTER > 컴퓨터 시스템' 카테고리의 다른 글
# 05. 운영체제 OS (0) | 2020.10.15 |
---|---|
# 04. 프로그램 컴파일 과정 (고급언어가 실행되기 까지) (0) | 2020.10.15 |
# 03. Procedure Call in MIPS (0) | 2020.10.09 |
# 02. MIPS의 ISA (0) | 2020.10.09 |
# 00. 컴퓨터 시스템 (0) | 2020.10.09 |
댓글