C.S.S#3 Stored Program Concept (폰노이만 아키텍쳐)

김종하·2020년 2월 23일
1

안녕하세요! C.S.S 세번째 주제는 바로, Stored Program Concept 입니다!!
비전공자인 저는 프로그램이 실행되는 과정을 전혀 알고있지 못했습니다. 컴퓨터를 살때 메모리와 cpu, 그래픽카드와 같은 장치들의 중요성은 인지하고 있었지만, 내부적으로 어떤 방식으로 프로그램이 실행되는지는 전혀 알고 있지 못했었죠. 그래서 준비해봤습니다! 프로그램의 실행과정을 말이죠!

현재 대부분의 컴퓨터는 폰노이만이 설계한 Stored Program Concept 방식을 이용해서 프로그램을 실행하게 됩니다.
프로그램이 실행되는 과정을 가장 간략하게 설명하기위해 A라는 프로그램을 가정하겠습니다.
우선 실행파일이 생성되는 과정은 다음과 같습니다.
(C언어로 작성된 프로그램이 가정하겠습니다.)

C언어로 작성된 A프로그램 -> 전처리기 -> 컴파일러(C언어를 어셈블리어로) -> 어셈블러(어셈블리어를 바이너리코드로) -> 링커 -> 실행파일로 생성

생성된 실행파일을 실행기키면 다음과 같은 과정을 거치게됩니다.

  1. 실행파일이 RAM에 Load 됩니다.
  2. load된 실행파일의 명령어중 1순위 명령어가 CPU로 fetch 됩니다.
    *fetch 과정은 입출력BUS(I/O BUS)를 통해 fetch됩니다.
  3. CPU 내부의 Control Unit에 의해 명령어는 Decode(해석) 됩니다.
  4. 해석된 명령어는 ALU(Arithmetic Logic Unit)을 통해 실행됩니다.

다음과 같은 과정이 반복되어 load된 프로그램이 명령어들을 순서대로 실행함으로써
프로그램이 돌아가게 되는것입니다.

0개의 댓글