시스템 프로그래밍

1-2. 프로그램의 실행과정/하드웨어 구성의 재접근

CalebHong 2022. 5. 4. 10:43

프로그램 실행과정

[전처리기] => [컴파일러] => [어셈블러] => [링커]

 

1) 전처리기에 의한 치환작업

- #으로 시작하는 지시자

 

2) 컴파일러에 의한 번역

- CPU의 명령어로 번역

 

3) 어셈블러에 의한 바이너리 코드 생성

 - CPU의 명령어를 바이너리 코드로 번역

 ex) ADD: 0011, MIN: 0010, MUL: 0100, DIV: 0101 

 

4) 링커에 의한 연결과 결합

 - 라이브러리와의 결합

 - 실행파일을 만듦

 

Stored Program Concept

: 명령어는 메모리에 저장이 되어 CPU에 의해 Fetch->Decode->Execution 되어야 한다.

 

1) Fetch

 - CPU 내부로 (버스 인터페이스를 통해) 명령어 이동

 

2) Decode

 - 컨트롤 유닛에 의해 명령어 해석

 

3) Execution

 - 연산을 진행

 - ALU가 중심이 되어 요소들에 협력에 의해 연산이 됨 

 

 

데이터 이동의 기반 버스 시스템

* 데이터 버스(Data Bus)

 - 데이터 이동

 

* 어드레스 버스(Address Bus)

 - 주소 이동

 

* 컨트롤 버스(Control Bus)

 - 컨트롤 신호 이동

 - 데이터 이동의 순서를 정해줌