프로그램이 메모리에 로드되어 명령어들을 순차적으로 CPU가 처리.

_

단계 1. 전처리기에 의한 치환작업

;#include, #define 같이 #으로 시작하는 지시자의 지시에 따라서 소스코드를 적절히 변경하는 작업.

단계 2. 컴파일러에 의한 번역

;소스코드는 컴파일러에 의해서 어셈블리 코드로 변역됨.

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

;1과 0으로만 구성되는 코드.

단계 4. 링커에 의한 연결과 결합

;프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는(혹은 연결시켜 주는)작업을 함. 실행파일 생성.

 

프로그램 실행 과정

메인 메모리에 저장되어 있는 명령어를 CPU 내부로 가져오고(Fetch),

컨트롤 유닛에 의해 분석된 다음(Decode),

ALU에 의해 연산이 이뤄진다(Execution).

 

단계 1. Fetch

; 메모리상에 존재하는 명령어를 CPU로 가져오는 작업.

단계 2. Decode

;가져다 놓은 명령어를 CPU가 해석하는 단계. 무슨 일을 하라는 명령인지 분석하는 단계.

단계 3. Execution

;해석된 명령어의 명령대로 CPU가 실행하는 단계.

 

CPU와 메모리를 연결해주는 버스 시스템. 데이터 이동.

데이터 버스(Data Bus)

;데이터를 이동하기 위해 필요한 버스.

어드레스 버스(Address Bus)

;주소값을 이동하기 위해 필요한 버스.

컨트롤 버스(Control Bus)

;CPU가 원하는 바를 메모리에 전달할 때 사용. CPU와 메모리가 서로 특별한 사인을 주고받는 용도로 사용되는 버스.

'::public > 윈도우즈 시스템' 카테고리의 다른 글

문자셋(Character Sets)의 종류와 특성  (0) 2019.09.19
컴퓨터 하드웨어의 구성  (0) 2019.09.10

+ Recent posts