본문 바로가기

공부공간/System programming

[시스템프로그래밍 강의정리] ISA와 추상화 (abstraction)

반응형

ISA란?

Instruction Set Architecture 의 준말

간단히 말해서 SW와 HW의 interface라고 생각하면 된다.

interface를 더 쉽게 이해하면? SW와 HW의 접점. 둘이 맞닿아서 돌아갈 수 있게 기능하는것을 말한다.

 

그림으로써 이해하면 다음과 같다

즉, 사용자는 소프트웨어를 다루고(프로그램을 돌린다. 게임을 하거나 코딩을 하거나) 프로그램은 똑바로 돌아가기 위해서 CPU연산과 조작이 필요하다. 이 때, 중간에서 ISA가 CPU를 조작할 수 있도록 중간다리 역할을 한다.

 

ISA 이해를 위한 추가설명

따라서 System software 개발자는 ISA를 당연히 알고있어야 한다.

OS제작자는 해당 OS와 잘 매칭되는 ISA를 알아야 한다.

컴파일러 제작자는 해당 컴파일러가 사용할 ISA를 알아야 한다. 고급언어로 작성한 프로그램은 ISA에 맞게 변환되는데 이 때 ISA에 맞게 변환시켜주는게 컴파일러다.

 

추상화란?

불필요한 정보를 줄이거나 숨기는 것

복잡한 CPU 시스템을 Compilation system이라는 추상화작업을 통해서 사용자에게는 cpu를 다루는 법을 몰라도 컴퓨터를 사용할 수 있도록 함.

 

bit 연산을 직접 다루는것은 매우 어려우니 추상화작업을 통해서 사용자가 char, int, float 형과 같은 자료형을 통해 친숙하게 사용할 수 있도록 함.

 

 

 

반응형