LISTORY

[윈도우즈 시스템 프로그래밍] 1부 정리 본문

IT/윈도우 프로그래밍

[윈도우즈 시스템 프로그래밍] 1부 정리

LiStoryTeller 2018. 8. 19. 16:37


오늘은 뇌를 자극하는 윈도우즈 시스템 프로그래밍 책의 유투브 강의 1부를 전체 정리해보겠다.


1부은 목차는 다음과 같았다.


1부. 컴퓨터 구조와 프로그래밍 모델

1장. 컴퓨터 구조에 대한 첫 번째 이야기

2장. 아스키코드 vs 유니코드

3장. 64비트 기반 프로그래밍


이를 차례대로 정리해보겠다.



1장. 컴퓨터 구조에 대한 첫 번째 이야기



⊙ 컴퓨터 구조


일반적으로 시스템을 생각할 때, 하드웨어만 생각하는 경향이 존재한다. 하지만 실제로 시스템이란 하드웨어와 운영체제를 합친 것이라 할 수 있다. 


컴퓨터 시스템 또한 마찬가지이다. 컴퓨터 시스템은 크게 CPU, 캐시, 메인 메모리, 하드디스크로 구성되어 있다.


여기서 CPU와 캐시를 크게 묶어 컴퓨터 구조라 하고, 메인 메모리와 하드디스크를 크게 묶어 운영체제라 한다.



⊙ 하드웨어 구성


하드웨어는 크게 CPU, 메인 메모리, 입출력 버스로 분류할 수 있다.


간단히 말하자면 CPU는 실행을 위한 계산을 하는 곳, 메인 메모리는 RAM, 입출력 버스는 데이터 송수신이 이루어 지는 곳이다.


이중에서 CPU를 더 자세히 설명해 보겟다.


⊙ CPU 


CPU는 실제 실행을 위해 연산이 이루어 지는 곳으로, ALU, 컨트롤 유닛, 레지스터, 버스 인터페이스 등으로 이루어져 있다.


연산을 위한 데이터는 버스를 통해 이동하며, 통신 규약에 맞는 데이터인지 확인하는 장치가 버스 인터페이스이다.


실제로 연산을 수행하는 것은 ALU이다. 하지만 명령어를 이해하는 것은 컨트롤 유닛에서 시행한다.


즉, 컨트롤 유닛은 명령어를 해석하여 ALU에 알려주고, 그 명령어에 따라 CPU가 계산한다. 


근데 CPU는 항상 일을 하고 있기 때문에 명령어가 들어오자마자 바로 처리하지 않는다.


이러한 일을 저장하기 위한 장치가 레지스터 이다.


Comments