※ 아래는 윤성우 뇌를 자극하는 윈도우즈 프로그래밍 한빛미디어(주) 2022년
Chapter01(p.27 ~ 47)을 읽고 정리한 내용입니다.
컴퓨터 시스템을 동작시키는 프로그램을 구현하는 것
| CPU 구성 | 설명 |
|---|---|
| ALU(Arithmetic Logic Unit) | 연산 담당 (산술 연산, 논리 연산) |
| 컨트롤 유닛(Control Unit) | 명령어 해석 |
| 레지스터들(Register Set) | 임시적으로 데이터를 저장하기 위한 작은 메모리 공간 |
| 버스 인터페이스(Bus Interface) | I/O 버스의 통신방식을 이해하고 있는 인터페이스로 데이터 송수신 담당 - Address Bus : 주소값을 이동하기 위해 필요한 버스 - Data Bus : 데이터(명령어, 피연산자)를 이동하기 위해 필요한 버스 - Control Bus : CPU가 원하는 바를 메모리에 전달할 때 사용 (예) "데이터 보낼게", "데이터 보내줘" |
클럭 발생기에 의해 발생되는 신호로 해당 신호에 맞춰 CPU 요소들이 작동함 (동기화)
프로그램이 컴퓨터 내부에 저장되는 구조를 생각해 냄
| 실행파일의 생성과정 | 설명 |
|---|---|
| 전처리기 | '#'으로 시작하는 지시자의 지시에 따라 소스코드를 변경 |
| 컴파일러 | 어셈블리 언어로 변역 |
| 어셈블러 | 바이너리 코드(0과 1로만 구성된 코드) 생성 |
| 링커 | 프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는 작업 |
| Stored Program Concept 실행단계 | 설명 |
|---|---|
| Fetch | 메모리상에 존재하는 명령어를 CPU로 가져오는 작업 |
| Decode | 명령어를 CPU가 해석하는 단계 |
| Execution | 해석된대로 실행하는 단계 |
