Skip to content

Machine Code

기계어(Machine Language)라고도 불리는 Machine code는 CPU가 직접 이해(decoding)하고 실행할 수 있는 저수준의 프로그래밍 언어임.

사실 프로그래밍 언어라기 보다 CPU가 지원하는 "bit pattern의 명령어의 집합" 이라고도 볼 수 있음.

때문에 binary code라고도 불린다.

  • 1940년대-1950년대의 초기 컴퓨터는 기계어로 프로그래밍되었음.
  • ENIAC, UNIVAC와 같은 초기 컴퓨터들은 플러그보드와 스위치를 사용하여 명령어를 입력하는 방식으로 machine code를 사용함.
  • 초기 기계어는 매우 기본적인 명령어 집합으로 구성되어 있었음.
  • 기계어는 직접적으로 하드웨어와 상호 작용함.

ENIAC와 같은 초기 컴퓨터의 프로그래밍은 현대적인 의미의 기계어 프로그래밍과 다르지만,
본질적으로 기계어 프로그래밍의 원리를 따른다고 볼 수 있음.
당시의 플러그보드와 스위치로 명령어를 입력하는 방식은,
프로그램의 논리와 데이터를 물리적인 하드웨어 설정으로 표현한 것으로, 이는 기계어 프로그래밍의 초기 형태로 볼 수 있음.

하지만 1950년대에 machine code 의 mnemonic 인 assembly language가 개발 (1949년 EDSAC에서 최초로 사용되었다고 알려짐)되면서 사람이 직접 기계어로 프로그램하는 경우는 사리지게 됨.

Machine code는

  1. binary code임
  2. Hardware 종속적 (CPU가 지원하는 명령어집합임)
  3. 가장 빠른 처리 속도를 자랑.
  4. Hardware의 지식이 필수적이고 사람이 읽거나 작성하기가 매우 어려움.