01. 컴퓨터 구조

Programming/Windows system 2016. 1. 18. 20:17

System Programming

: 컴퓨터 시스템을 동작시키는 프로그램...

 

 

컴퓨터 시스템의 주요 구성요소

CPU                    -  컴퓨터 구조

Cache                 -  컴퓨터 구조

Main Memory       -  운영체제

Hard Disk             -  운영체제

 

 

 

CPU (Central Processing Unit)

- 중앙처리장치..

 

 

Main Memory

- RAM이라는 저장장치로 구성되는 메인 메모리는 "컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역"이라고 정의할 수 있다.

 

 

 

Input/Output Bus

- 입출력 버스는 컴퓨터를 구성하는 구성요소 사이에서 테이터를 주고 받기 위해 사용되는 경로이다.

- 버스의 종류는 Address Bus, Data Bus, Control Bus 3가지로 구분된다.

 

 

CPU의 구성 요소

ALU (Arithmetic Logic Unit)

- CPU 내부에는 실제로 연산을 담당하는 ALU라는 블록이 있다.

- ALU는 산술연산이나 논리연산을 처리한다.

- 시프트 레지스터 : 비트들을 왼쪽 또는 오른쪽으로 이동시키는 기능을 수행하는 레지스터

- 보수기 : 이진 데이터의 보수를 취하는 회로

상태 레지스터 : 연산 결과의 상태를 나타내는 플래그들을 저장

 

 

Control Unit

- 컴파일을 하면 실행파일이 만들어진다. 이 실행파일에는 CPU에게 일을 시키기 위한 명령어들이 저장되어 있다.

- 어떤 경로를 거치던 간에 이 명령어가 CPU 내부로 흘러 들어가야 CPU에게 일을 시킬 수 있다.

- ALU를 대신해서 누군가가 명령어를 해석해야 하는데 그 역할을 하는 것이 Control Unit이다.

- 명령어를 해석하고 그 결과에 따라 적절한 신호를 CPU의 다른 블록에 보내는 일을 한다.

 

 

Register Set

- CPU에는 임시적으로 데이터를 저장할 수 있는 공간이 필요하다. 그것이 바로 Registe이다.

- 레지스터는 CPU 내부에 존재하는 Birnary Data 저장을 위한 저장장치이다.

- CPU에 따라서 크기가 구성된다.

 

 

Bus Interface

- 컴퓨터에는 CPU, Hard Disk, RAM등이 있다. 이들은 서로 독립적으로 동작하는 것이 아니라, 서로 데이터를 주고 받으면서 동작한다

- CPU에는 I/O 버스의 통신방식을 알고 있는 Bus Interface가 있다.

- Bus Interface를 알지 못한다면 데이터를 전송, 입력 받을 수 없다.

 

Clock Pulse

- 클럭 신호는 타이밍을 제공하기 위해서 필요하다.'

- CPU에 1.5Mhz 라고 써있는데 이것의 클럭발생기는 1초에 1500000번의 클럭을 발생시키게 설정된다.  또한 CPU는 그 신호에 맞춰서 일을 하게 된다.

 

 

프로그램 실행과정

전처리기 -> 컴파일러 -> 어셈블러 -> 링커

 

1. 전처리기

2. 컴파일러

- 소스코드가 컴파일에 의해서 어셈블러로 번역된다.

3. 어셈블러

- 컴파일러에 의해서 번역된 어셈블리 코드는 컴퓨터에 실행되기 앞서 바이너리 코드로 번역되어야 한다.

4. 링커

- 프로그램 내의 참조하는 함수나 라이브러리들을 하나로 묶는과정

 

링커의 역할

1. Loader : 로드모듈을 수행하기 위해서 메모리에 적재시켜주는 기능을 수행

2. Debugger : 번역된 프로그램의 실행오류를 찾기 위한 프로그램

3. Interpreter : 목적프로그램을 생성하지 않고 필요할 때마다 기계어로 번역해 주는 번역기

4. Preprocessor : 컴파일러가 시작하기 전에 컴파일러에 의해 호출되는 별개의 프로그램

 

 

프로그램의 기본 실행 단계

1단계 : Fetch : 메모리상에 존재하는 명령어를 가져오는 작업 (Bus System)

2단계 : Decode : 가져다 놓은 명령어를 CPU가 해석하는 단계 (Control Unit)

3단계 : Execution : 해석된 명령어의 명령대로 CPU가 실행하는 단계이다. (ALU)

 

 

Data Bus : 데이터를 이동하기 위해 필요한 Bus

Adress Bus :  주소값을 이동하기 위해 필요한 Bus

Control Bus : CPU가 원하는 바를 메모리에 전달할 때 사용됨

 

 

 

 

 

 

 

admin