Instruction Set
- ISA (Instruction Set Architecture)에서의 IS
- 컴퓨터(or 프로세서)에서 지원하는 명령어들의 집합/목록
- 다른 컴퓨터(or 프로세서)는 다른 IS를 갖고있다
- 그렇지만 대부분의 프로세서는 많은 부분을 공통적으로 가지고 있음 = 대부분의 명령어가 비슷함
- 초기 컴퓨터들은 매우 단순한 IS를 갖고있었다.
- 간단한 명령어만 지원
- 이후 Complex Instruction set을 가진 CISC(복잡 명령어 집합 컴퓨터, Complex Instruction Set Computer)로 발전 (예) Intel 프로세서
- 그러나 그 이후 요즘은 현대의 많은 프로세서들은 simple instruction sets를 갖고 있다. ⇒ Reduced Instruction Set Computer(RISC) (예) MIPS
ISA ( Instruction Set Architecture)
ISA, or simply architecture
- the abstract interface between the hardware and the lowest level software(OS)
- instructions, registers, memory access, I/O를 포함하여 machine language program을 작성하는 데 필요한 모든 information을 포함
- 즉, 모든 information은 이를 통해 프로세서로 전달됨
- identical software를 실행할 수 있는 ISA는 cost와 performance를 다양하게 하는 여러 개의 implementations가능.
즉, 고성능으로 만들수도 있고, 저가로 만들 수도 있다.
여러 조합의 cost와 performance의 implements가 가능
- software 는 ISA에서 지원해주는 명령어만 사용한다면 그 하부적으로 hardware가 어떤 implementation이든 상관 없이 그 software를 실행시킬 수 있다.
ABI (Application Binary Interface)
- ISA와 Operating system interface의 결합
- IS의 user portion와 application programmers에 의해 사용되는 operating system interface를 결합한 것
- 컴퓨터 간 binary portability가 가능한지 판단하게 해준다.
= 어떤 application이 있을 때 어떤 컴퓨터에서 실행될 수 있는지 없는지를 판단하기 위해 확인해야 하는 것이 ABI
- (예) 어떤 프로그램이 리눅스 운영체제에서 개발이 되었다. 이 프로그램이 intel processor기반에선 실행이 되는데 ARM 프로세서 에서는 실행이 안 된다. 왜? IS가 다르기 때문!
- 어떤 프로그램이 실행이 되는 컴퓨터A의 ABI와 컴퓨터 B의 ABI가 같으면 컴퓨터 B에서도 이 프로그램은 실행이 된다.
The MIPS Instruction Set
MIPS (Microprocessor without Interlocked Pipeline Stages) : MIPS는 밉스 테크놀로지에서 개발한 RISC ISA이다. MIPS 디자인은 실리콘 그래픽스 사의 컴퓨터 시스템, 많은 임베디드 시스템(가전제품, network/storage 장비, 카메라, 프린터 등)과 윈도 CE 장치, 시스코 시스템즈 라우터에 사용되었다. 위키백과
요즘은 ARM프로세서 많이 사용