중앙처리장치(CPU)

중앙처리장치(CPU)

  • 중앙처리장치 (Central Processing Unit)
  • 컴퓨터의 각 장치들을 동작시키고, 정상적인 동작을 위한 제어 역할을 수행하는 제어장치를 내장하고 있다.
  • 각종 연산 데이터를 처리하는 연상장치를 내장하고 있다.
  • 일시적인 자료의 저장을 위한 레지스터를 내장하고 있다.
  • 산술 논리 연산장치를 내장하여 연산기능을 수행한다.
  • 컴퓨터의 성능을 좌우하고 기종을 결정짓는 요소이다.
    • 컴퓨터의 기종을 결정짓는다.
    • 컴퓨터의 성능을 결정짓는다.

실행 유닛(Eu: Execution Unit)
실행 유닛은 마이크로프로세서의 각 명령어를 수행하는 유닛이다. 실행 유닛에는 ALU(Arithmetic Logic Unit)와 제어 유닛(CU:Control Unit), 레지스터로 구성된다. ALU에서는 덧셈이나 비교 연산과 같은 산술 연산, 논리연산을 수행한 후 중간 결과를 레지스터에 보관한다.

명령어 유닛(Instruction Unit)
명령어 유닛(Instruction Unit)은 메모리에서 가져온 명령어를 실행유닛에서 정확 히 수행할 수 있도록 제어하는 유닛이다. 이때 제어 유닛은 ALU나 레지스터들이 잘 동작되도록 한다.

어드레싱 유닛(Addressing Unit)
어드레싱 유닛은 CPU가 메모리나 입출력 장치에서 데이터를 읽거나 쓸 때, 메모리나 입출력 어드레스를 만들어 주는 유닛이다.

버스 인터페이스 유닛(Bus Interface Unit)
버스 인터페이스 유닛은 어드레스, 데이터, 컨트롤 버스를 통해서 마이크로프로세 서 외부와 연결시켜 주는 유닛이다.

캐시 메모리

캐시 메모리는 CPU 내부에서 임시로 사용하는 버퍼(Buffer) 메모리 중 하나이다.

Cache 메모리에 대한 이해

캐시란 속도가 다른 두 장치 사이에 위치하는 임시 기억장치로서 장치간의 데이 터 액세스 속도를 향상시키는 구실을 한다.반복적인 액세스에서 처리 속도를 향상시킨다.

캐시가 적용되지 않은 경우

  1. TEST.EXE라는 프로그램을 실행한다.
  2. (1) 보조기억장치(하드디스크)로부터 (3) 주기억장치로 TEST.EXE라는 프로그램을 불러들인다.
  3. 프로그램을 종료하면 (3)에 로드된 프로그램은 사라진다.
  4. 다시 같은 프로그램을 실행한다.
  5. 그러면 또 다시 (1)에서 (3)으로 프로그램을 불러들인다. 이 경우 사용자는 매번 실행 할 때마다 (1)로 부터 프로그램이 읽어지는 시간동 안 기다려야한다.

캐시가 적용된 경우

  1. TEST.EXE를 실행한다.
  2. (1)에서 (3)으로 프로그램을 불러들이면서 동시에 (2)에도 기록된다.
  3. 프로그램을 종료하면 (3)에 로드된 프로그램은 사라진다. 그러나 (2)에 저장된것은 지워지지 않는다.
  4. 다시 같은 프로그램을 실행한다.
  5. 이번에는 (1)로 부터 프로그램을 불러들이는 것이 아니라 (2)로부터 프로그램을 불러들인다. (3)의 입장에서 같은 프로그램을 불러들이는 것이지만 처음에는 속도 가 느린 보조기억장치로부터 불러들인 것이다. 두 번째부터 반복해서 불러들이 는 경우는 속도가 빠른 캐시 메모리로부터 불러들이는 것임으로 속도 개선의 효과를 준다.

클럭 (동작 주파수)

클럭(clock)이란 CPU의 속도를 나타내는 단위이다. 클럭은 1초 동안 파장이 한 번 움직이는 시간을 의미하는데, 이 시간 동안 처리하는 데이터 양에 따라 CPU의 속도가 달라지게 된다. 단위로 Hz로 표기한다. 클럭 수치가 높을 수록 성능이 빠르다고 할 수 있다. 하지만, 성능을 높이려고 클럭만 높이다 보면 전력소모가 심해서 발열이 심해질 수 있기 때문에 그 점도 고려해야 해야 한다.

Clock (클럭)과 FSB

클럭이란 CPU 및 기타 장치들을 동작시키기 위하여 메인보드의 클럭 발생 장치 로부터 만들어지는 일정한 주기로 진동하는 전기적인 리듬이다. MHz(메가헤르쯔)로 표시한다.

1Hz란 1초에 1주기를 진동하는 클럭이며 CPU는 기본적으로 1번의 클럭에 1개 명령 처리를 하고 있다.

CPU 및 시스템의 속도를 표시하는 단위로 사용된다.

FSB(Front Side Bus)는 메인보드의 클럭 발생장치에서 만들어져서 각 장치로 공급되는 클럭을 부르는 또 다른 이름이며 외부 클럭이라고도 한다. CPU 및 컴퓨터 내의 장치들은 클럭 발생 장치로부터 공급되는 클럭 속도에 따라 동작을 한다. 그러나 CPU는 이렇게 공급된 클럭을 그대로 이용하지 않고 “클럭 더블링"을 이용하여 여러 배로 그 속도를 증가시켜 사용한다.

코어

코어는 중앙처리장치에 내장된 처리회로의 핵심부분으로 컴퓨터가 많지 않았던 예전에는 1개당 1개의 코어가 당연했다. 그런데, 2005년 2개의 코어를 갖춘 듀얼코어가 등장하면서 일반 PC에서 다중 코어가 대중화됐고 이후 4개, 6개 등의 코어를 갖춘 옥타코어가 등장하게 되었다.

듀얼 코어는 기존의 단일코어가 2번에 걸쳐서 처리할 수 있는 작업을 1번으로 줄일 수 있다. 그렇기 때문에 전반적인 처리 효율을 높일 수 있다는 장점이 있다.

가상화 지원

가상화 지원은 간단히 말해서, 운영체제 안에 또 다른 운영체제를 구동하는 것이다. 예를 들어, 윈도우 구동 후 그 안에 프로그램을 실행하듯 리눅스나 다른 운영체제를 구동할 수 있는 기술을 의미한다. Intel CPU는 ‘VT-x’, AMD CPU는 ‘AMD-v’라는 이름으로 가상화를 지원하고 있다. 서버로 클라우드 환경을 구축하려면 필수적으로 CPU가 가상화를 지원하는지 확인해보아야 한다.

CPU의 종류

데이터 처리용량에 따른 CPU의 종류

  • 동시 처리 가능한 데이터의 처리 용량에 따른 분류
  • 데이터를 전달하는 통로인 버스의 폭
  • 8bit는 컴퓨터가 처리하는 데이터 최소단위
  • 8088(8bit) => 80286(16bit) => 80386(32bit) => Pentium(64bit)로 발전

ARM

  • 애플과 삼성 등의 라이센스 제품
  • ARM 칩은 크기가 작고 열도 덜 나고 전력 소모도 작다. 냉각 팬도 필요 없다. 하지만 대신 특화된 특정 용도에 한정된다는 느낌이 있었다.