하이레벨 언어에서 프로그램 실행까지

SungYeol Bae·2022년 8월 3일
0

CS_CE

목록 보기
2/3

언어 종류

1. 저급언어

  • 기계 중심의 언어
  • 실행 속도가 빠름
  • 상이한 기계마다 다른 코드를 가진다

기계어

  • 컴퓨터가 직접 이해할 수 있는 언어, 0과 1의 2진수 형태로 표현되며 수행시간이 빠름. 전문적인 지식이 없으면 프로그램 작성 및 이해가 어렵다, 기종마다 기계어가 다르므로 언어의 호환성이 없음. 프로그램 유지보수가 어렵다.

어셈블리어

  • 기계어와 1:1로 대응되는 기호로 이루어진 언어, 기호 코드(Mnemonic Code)라고도 함. 기계어와 가장 유사하며, 기계어로 번역하기 위해서는 어셈블러(Assembler)가 필요함

2. 고급언어

  • 사람 중심의 언어
  • 실행을 위해서는 번역하는 과정이 필요함
  • 상이한 기계에서 소스 수정 없이 실행이 가능함

현실에서

ARM VS Intel x86

ISA (Instruction Set Architecture)

  • 사람은 국가마다 사용하는 언어가 다르듯이 CPU도 마찬가지로 제각기 다른 언어를 사용한다. 개발자가 작성한 코드를 해당 CPU에 알맞게 번역을 해주어야 그 코드가 돌아간다.

    이러한 CPU의 언어를 ISA라고 부른다. CPU의 언어는 인간이 이해하기 어려운 기계어의 형태로 프로그래밍 언어와는 완전히 다른 형태이다.

  • ISA의 대표적인 종류는 다음과 같다.

  1. Intel x86, x86-64, etc.
  2. AMD x86-64, etc.
  3. ARM arm v8, etc.

X86

  • 인텔 CPU에서 사용하는 컴퓨터 언어로 CISC 복합 명령어 세트를 사용한다.

CISC
Complex Instruction Set Computer의 약자로 복잡한 명령어 집합을 갖는 CPU아키틱처. 명령어가 복잡하기 때문에 명령어를 해석하는 데 시간이 오래 걸리며, 명령어 해석에 필요한 회로도 복잡하다.

ARM

  • 영국의 컴퓨터 회사 Acorn Computer는 새 컴퓨터에 쓸만한 기성품 CPU를 찾을 수 없자 직접 RISC 기반 CPU 아키텍처를 개발하기로 하는데, 이것이 Acorn RISC Machine, 오늘날의 ARM 이다.

RISC
Reduced Instruction Set Computer의 약자로 CPU명령어의 개수를 줄여 하드웨어 구조를 간단하게 만드는 방식. RISC는 CISC보다 적은 수의 명령어만으로 명령어 집합을 구성하였으르모 보다 더 단순하다.

CISC vs RICS

CISC

  • 복잡한 구조
  • 많은 명령어
  • 다양한 명령어 길이
  • 명령어가 S/W적인 방식
  • 레지스터 적음
  • 느린 속도

RISC

  • 단순한 구조
  • 간단 명령어
  • 고정된 명령어 길이
  • 명령어가 H/W적인 방식
  • 레지스터 많음
  • 빠른 속도

참고 영상
https://youtu.be/G-fJJ-OHLDw

profile
I'm Frontend Web Engineer in Korea

0개의 댓글