-
02. 컴퓨터 구조 두 번째 - 프로그램의 실행과정CS/OS, Computer Structure 2021. 4. 6. 12:58
컴퓨터의 프로그램이 실행되는 과정을 알기위해 조금 더 알아 봤다.
프로그래머가 어떤 프로그램을 짜게 되면, 해당 프로그램은
전처리기 ▷ 컴파일러▷ 어셈블러▷ 링커의 순서를 거쳐 HDD, SSD에 저장된다.
전처리기: C에서 #으로 시작하는 지시자 (#include, #define 등)
*Java에서는 전처리기능을 제공하지 않는다
컴파일러: CPU명령어로 번역
어셈블러: CPU의 명령어를 바이너리 코드로 번역
링커: 라이브러리와 결합
Stored Program Concept
위의 과정을 거쳐 HDD에 저장된 프로그램 실행파일은 다음의 세가지 절차를 통해 CPU에서 연산이 이루어진다.
Fetch
CPU내부로 명령어 이동 (by I/O BUS)
Decode
명령어 해석 (by 컨트롤 유닛)
Execution
연산 진행 (by ALU)
결국 모든 과정을 하나로 정리해보자면,
프로그램 ▷ 전처리기 ▷ 컴파일러▷ 어셈블러 ▷HDD ▷ 메모리 ▷I/O버스 ▷ CPU [버스인터페이스) ▶ 레지스터 ▶ 컨트롤유닛 ▶ ALU]
으로 이루어진다.
그리고 하드웨어 사이의 데이터 이동은 BUS를 통해 이루어지는데 BUS는 역할에 따라 세 가지로 나뉜다.
일반적인 데이터를 전송하는 데이터 버스
데이터를 전송 할 주소를 담는 어드레스 버스
데이터 버스인지 어드레스 버스인지를 구분하는 정보를 담는 컨트롤 버스
'CS > OS, Computer Structure' 카테고리의 다른 글
01. 컴퓨터 구조 첫 번째 - 컴퓨터 구성, CPU의 기본 이해 (0) 2021.04.06