본문 바로가기
about COMPUTER/컴퓨터 시스템

# 01. Instruction + ISA (Instruction Set Architecture)

by saniii 2020. 10. 9.

 

 

# Instruction?

instruction이란 기계어로 컴퓨터가 이해가능한 유일한 단어이며

01의 조합으로 이루어진다.

 

 

# ISA

: 하드웨어와 시스템 소프트웨어의 규약

 

* CPU애서 사용되는 기계어 하나하나가 ISA에 정의되어있어

  CPU01의 조합을 정의된 기계어로 해석하여 연산을 실행한다.

 

* 컴파일러는 프로그래머가 작성한 소스코드를 주어진 ISA에 맞게 기계어로 변환한다.

 

+ 기계어의 정의에는 연산자와 피연산자 그리고 연산결과 출력 위치가 포함되어야 한다.

+ 기계어 처리 방법이나 캐시 메모리, I.O디바이스는 정의할 필요 없다.

+ pipelining 사용여부는 포함되지 않는다. 

 

 

Instruction의 수행 순서

1: Instructionmemory에서 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

 

 

 

댓글