Language Study/C

[C/C++] 01 - C언어 소개와 컴파일의 이해 (2)

지미닝 2022. 10. 2. 00:16

컴퓨터 프로그램과 실행

컴퓨터 프로그램(Program)이란?

Sequence of instructions and related data

② 명령어는 기계어가 직접 해독하고 실행할 수 있는 이진 값으로 표현되는 기계어

③ 실행 파일 (Executable File)의 형태로 보조기억장치에 저장/설치됨

 

컴퓨터의 H/W 구성 요소

  • 중앙 처리 장치 - CPU (Central Processing Unit)
  • 주기억장치 - Main Memory
  • 보조기억장치 - Secondary Storage
  • 입출력 장치 - Input / Output Device

 

프로그램의 실행 과정

  • 보조기억장치에 저장된 프로그램 실행 파일을 Main Memory로 적재(Loading)
  • CPU는 Main Memory로부터 프로그램의 명령어들을 순차적으로 하나씩 읽어 들여 해석하고 수행하는 방식으로 프로그램을 실행(Execution)

Cf. 프로그램과 프로세스의 차이

  • A program is an executable file residing on the disk.
  • An executing instance of a program is called process.

Bit, Byte, Hexa

컴퓨터에서 정보는 2진수로 표현

① Bit - Binary Digit

  • 컴퓨터에서 정보를 표현하는 기본 단위
  • 1 bit는 0 또는 1을 나타낼 수 있음
  • n bits 는 2^n개의 경우의 수를 표현할 수 있음

② 1Byte = 8 bits

  • 알파벳 문자 표현을 위해 8bits가 필요했던 것으로 유래
  • 1 Byte는 256가지의 경우의 수 표현 가능

③Hexa

  • 16진수 (Hexa Decimal)cprP
  • 0,1, ..., A, B, C, D, E, F
  • 긴 2진수를 짧게 표현 가능, 하나의 숫자가 4 bits에 대응
  • Hexa를 표시하기 위해 앞에 0x를 덧붙이는 경우가 많음

Memory Address

Memory란?

  • m bits를 저장할 수 있는 다수의 Memory Cell이 연속적으로 이어져 있는 것
  • 대부분의 현대 컴퓨터는 m = 8, 즉 Memory Cell 이 1 Byte를 저장

Memory Address의 필요성 : 연속된 Memory Cell 중 어떤 Cell 에서 읽거나 쓸지를 표현할 수 있어야 함

Memory Address

  • 컴퓨터에서는 주로 2진수 또는 Hexa로 표현
  • Memory Address 에 쓰이는 bits 수 ->k, 2^k개의 Memory cell 구별
  • k값은 전체 메모리 공간의 크기와 관련

5. Von Neumann Architecture - History