본문 바로가기

High Level Technique/Window System

컴퓨터 구조

컴퓨터 구조


컴퓨터 구조에 대해서 알아보도록 하겠습니다.









기능

CPU


Control Processing Unit (이하 CPU)는 대부분 알고계시는 것처럼 연산을하고 프로그램을 실행하는 곳을 말합니다.

CPU에는 ALU, Contorl Unit, Register Set, Bus InterFace가 존재합니다.



Arithmetic Logic Unit


Arithmetic Logic Unit(이하 ALU)는 간단히 말하자면 연산을 하는 곳입니다. 산술연산, AND, OR과 같은 논리연산을 합니다.



Control Unit


Control Unit은 ALU가 연산하기 전에 어떤 연산을 하는지 해독을 하는 부분입니다. 가령 어떤 프로그램이 CPU에 전달되어서 실행이 되어야 한다면 컴퓨터는 0, 1과 같은 2진수로만 이해를 하기 때문에 10011010 00101010 .... 과 같은 형식으로 전달이 될 것입니다. 이러한 경우 덧셈을 하는 것인지, 뺄셈을 하는 것인지 모르기 때문에 Control Unit에서 이 값을 해석해 줍니다.



Register Set


ALU와 Control Unit에서 연산을 하고 있을 경우 잠시 저장을 해두는 부분입니다.



Bus Interface


CPU가 I/O 통신 방식을 이해하도록 하는 부분입니다. 컴퓨터 내부에는 CPU, RAM, 그래픽카드 등 여러 장치들이 연결되어 함께 작동을 합니다. 서로 데이터를 주고 받으면서 동작을하게 되는데, CPU에서 이러한 통신 방식을 이해를 해야하기 때문에 존재합니다.








I/O BUS


I/O BUS는 입출력을 전달해주는 통로와 같은 역할을 합니다.


앞서 CPU안에 Bus Interface가 존재한다고 했는데 서로 데이터를 주고 받으면서 동작을 하려면 그 사이에 연결 통로가 존재해야 합니다. 바로 이 연결 통로가 I/O BUS 입니다.






Memory


Memory는 흔히 RAM이라고 불리는데 컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역이라고 할 수 있습니다.





















Clock Pulse


Clock Pulse는 Timing을 제공하기 위해서 필요한 것입니다.




위 사양을 보면 2.8Ghz라고 되어있습니다. 이 값은 초당 처리를 할 수 있는 값을 말하는데, 이 값이 크면 클 수록 초당 처리하는 명령어의 개수가 많아지므로 컴퓨터의 성능이 좋아집니다.


클럭 발생기에서 발생하는 클럭신호(Clock Pulse)에 의해서 CPU가 작업을 하게됩니다.


클럭 신호가 발생할 때만 일을 하는데 이러한 이유는 동기화 때문입니다.






동기화



값1과 값2가 연산장치를 통해서 연산이 되고 버퍼에 저장된 후 출력장치를 통해서 출력을 한다고 하죠.


하지만 값1과 값2가 끊임없이 연산장치에 들어오게 된다면 어떻게 될까요? 분명히 에러가 발생하게 될 것입니다.


이유는 연산장치, 버퍼, 출력장치에서 각각 처리하는 속도가 다르기 때문입니다. 그래서 클럭 신호를 발생시켜서 신호에 맞춰 동작을 하게 됩니다.

















BUS


BUS는 이동 통로와 같은 역할을 하는데 BUS에서도 데이터버스, 어드레스버스, 컨트롤버스 3가지로 나뉘게 됩니다.



데이터버스


말 그대로 데이터를 전송하기 위한 버스입니다.



어드레스버스


주소를 전송하기 위한 버스입니다.



컨트롤버스


CPU가 원하는 바를 메모리에 전달할 때 사용합니다. CPU와 Memory간의 사인이라고 생각하면 됩니다.



'High Level Technique > Window System' 카테고리의 다른 글

프로세스  (0) 2016.12.26
명령어, 레지스터의 구성  (0) 2016.09.20
Polymorphic  (0) 2016.09.13
x86 & x64  (1) 2016.09.12
SBCS, MBCS, WBCS  (0) 2016.09.12