"중앙처리장치"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(같이 보기)
73번째 줄: 73번째 줄:
 
* [[FPGA]]
 
* [[FPGA]]
 
* [[반도체]]
 
* [[반도체]]
 
+
* [[인텔]]
 +
* [[AMD]]
  
  
 
[[분류:반도체]]
 
[[분류:반도체]]

2019년 6월 24일 (월) 17:51 판

개요

중앙처리장치(中央處理裝置) 또는 CPU(Central Processing Unit, 씨피유)란 컴퓨터의 중앙처리장치를 말한다. 제어장치, 연산장치, 저장 장치(register)의 3부분으로 구성되어 있다. CPU는 버스(bus)를 통해 메모리, 하드디스크, 모니터, 마우스, 키보드, 프린터 등 다양한 입출력(I/O) 장치를 제어한다.

과거의 CPU는 진공관이나 트랜지스터를 이용해 구현했으나, 1971년 미국 인텔(Intel)이 세계 최초로 마이크로프로세서를 개발한 후, PC, 노트북, 서버 등에 사용되는 거의 모든 CPU는 마이크로프로세서를 사용하여 만들고 있다. 주요 CPU 제조 업체는 인텔AMD이다.

배경

고대로부터 주판을 비롯해 계산을 돕는 많은 도구가 있었다. 중세에 들어와서는 유럽과 서남아시아 지역에서 천체의 움직임을 예측하거나 낮과 밤의 길이를 계산하기 위한 정밀한 기계식 계산기가 발명되었으나, 천체 관측 외의 계산에는 사용할 수 없었다.

역사

  • 1623년
독일의 학자 빌헬름 시카르트가 6자리 숫자의 덧셈과 뺄셈을 수행할 수 있는 최초의 기계식 계산기를 발명하였다. 최초의 기계식 계산기 모델은 제작 도중 화재로 소실되었으나, 두 번째 모델은 사용법을 담은 편지와 함께 시카르트의 친구였던 천문학자 요하네스 케플러에게 보냈다. 시카르트의 기계식 계산기는 천체운동을 당시 천문학 수준보다 훨씬 정확하게 계산하는 데 도움을 준 것으로 추정된다.
  • 1642년
당시 19세였던 블레즈 파스칼이 10진수의 덧셈과 뺄셈을 계산할 수 있는 기계식 계산기를 발명[1]하여 약 20대를 제작하였고, 1672년 고트프리트 빌헬름 라이프니츠는 이 계산기를 곱셈과 나눗셈이 가능한 기계로 개선하였다. 라이프니츠는 또한 현대 디지털 컴퓨터의 핵심적인 부분이 된 이진법을 고안하였다.
  • 1822년
영국 수학자 찰스 배비지는 다항 함수와 로그 함수, 삼각함수 등을 계산할 수 있는 기계식 계산기인 차분기관을 설계하였으나, 당시의 기술로는 비용이 너무 비싸 이 기계의 실물은 1855년에 이르러서야 제작되었다. 한편 배비지는 1835년에 그의 차분기관을 보다 발전시킨 해석기관을 설계하였으나, 당시 기술로는 기계의 제작이 너무 복잡하고 부품을 제작하기가 어려워 이 기계의 실물은 만들어지지 않았다. 비록 설계뿐이지만 많은 학자는 해석기관을 최초의 프로그래밍 가능한 컴퓨터로 인정하고 있다.
  • 1936년
현대 컴퓨터 과학의 아버지라 불리는 영국의 수학자 앨런 튜링은 튜링 기계라는 수학적 개념을 고안하여 알고리즘과 계산에 관한 이론적 기초를 정립하였다. 그는 알려진 모든 수학적 개념과 계산 과정을 튜링 기계를 통해 나타낼 수 있음을 증명하였다. 인간에게 알려진 모든 계산 기계는 계산 속도의 차이가 있을 뿐 모두 튜링 기계와 같거나 약한 계산 능력을 갖춘다.
  • 1937년
벨 연구소에서 일하고 있던 미국의 수학자이자 물리학자 조지 스티비츠는 이진법을 사용하는 최초의 전자식 디지털 계산기를 개발하였다. 1939년에는 선형대수학의 문제를 풀기 위해 개발된 전자식 디지털 컴퓨터인 아타나소프-베리 컴퓨터가 개발되었으나 다른 용도로 프로그래밍할 수 없었으므로 다른 목적으로 사용할 수는 없었다.
  • 1941년
독일의 공학자 콘라드 주제는 천공 카드로 프로그래밍할 수 있는 최초의 전자/기계식 컴퓨터인 Z3를 개발하였다. 그러나 콘라드 주제는 당시 적국이었던 미국이나 영국 과학자들과 거의 교류가 없었고 Z3의 실물 또한 2년 후 연합군의 폭격으로 파괴되었기 때문에 그의 업적은 독일 바깥에는 오랫동안 알려지지 않았다. 프로그래밍이 가능한 최초의 전자식 디지털 컴퓨터는 2차 대전 당시 독일의 암호를 해독하기 위해 설계된 영국의 콜로서스였다. 그러나 이 컴퓨터의 존재는 1급 비밀이었으므로 1970년대까지 일반인에게는 알려지지 않았다. 이러한 이유로 1946년에 미국에서 개발된 에니악(ENIAC)은 오랫동안 최초의 프로그래밍 가능한 범용 컴퓨터로 알려져 있었다. 에니악은 18,000개의 진공관을 이용하여 무게가 30t에 이르렀고, 가격은 50만 달러(최근 대한민국 물가로 약 70억원)에 달했기 때문에, 포탄의 궤적을 계산하거나 수소폭탄의 폭발을 예측하는 등 주로 정부에서 군사적 목적으로 이용되었다. 한편 1945년 미국의 컴퓨터 과학자 존 폰 노이만은 프로그램을 기억장치에 내장하는 방식의 컴퓨터를 제안하였고 그의 제안을 바탕으로 EDVAC가 설계되었으나 특허권 문제로 개발이 늦어졌다. 그리하여 1949년 EDVAC의 설계를 발전시킨 EDSAC가 최초로 프로그램 내장방식과 이진법을 채택한 디지털 컴퓨터가 되었다.
  • 1970년
말부터 개인용 컴퓨터(PC)가 보편화하기 시작했다.
  • 1990년
1998년 이후로18개월에서 24개월을 주기로 성능이 두 배씩 향상되는 폭발적인 발전이 있었다.

대한민국의 컴퓨터 도입 역사

대한민국은 1967년 경제기획원이 IBM 1401 컴퓨터를 도입하여 인구조사 결과를 컴퓨터로 처리한 것을 시작으로 컴퓨터를 다방면에 널리 사용되게 되었다.

종류

1970년대 초 단일 칩이라는 형태로 CPU가 발명된 이후 CPU의 기술은 아래와 같은 궤적을 따라 여러 방면으로 방산-발전하여 오늘날 다종다양한 산업체를 구성하게 되었으며 PC용 프로세서의 경우 2012년 기준 한해 2억 unit, MCU(Micro Controller Unit)의 경우 190억 unit을 생산하는 규모까지 성장하였다.


크기에 따른 분류

  • 4bit
컴퓨터 구조에서 4bit 정수, 메모리 주소, 다른 데이터 장치들은 4비트 너비의 영역을 갖는다. 최초의 상용 단일 칩 CPU, 즉 '마이크로프로세서'로 인정받는 인텔의 4004와 그 후속작 4040이 4bit CPU이다.
  • 8bit
컴퓨터 구조에서 8bit 정수, 메모리 주소, 다른 데이터 장치들은 8비트 너비의 영역을 갖는다. PC 시대의 서막을 연 세대이다. 최초의 개인용 컴퓨터인 MITS 알테어 8800에 채용된 인텔 8080과 그 호환칩을 말한다.
  • 16bit
컴퓨터 구조에서 16bit 정수, 메모리 주소, 다른 데이터 장치들은 16비트 너비의 영역을 갖는다. 오늘날의 PC 산업을 있게 한 IBM PC에 들어가는 인텔 8088과 매킨토시의 CPU이자 오락실 기판을 제패한 68000 모델이 대표적이다. 현재는 32bit 아키텍처에 밀려 잘 쓰지 않는다.
  • 32bit
컴퓨터 구조에서 32bit 정수, 메모리 주소, 다른 데이터 장치들은 32bit 너비의 영역을 갖는다. 잘 알려진 32bit 프로세서는 인텔 80386, 인텔 80486, 펜티엄 시리즈, 모토로라 68000시리즈가 있다. 모토로라 68000은 외부적으로 16bit지만 32bit 일반 목적의 레지스터, 산술 장치를 가지고 있으며 모든 32bit 소프트웨어와 상위 호환이 가능하다.
  • 64bit
컴퓨터 구조에서 64bit 정수, 메모리 주소, 다른 데이터 장치들은 64비트 너비의 영역을 갖는다. CPU는 1960년대 이후부터 슈퍼컴퓨:터에 존재해왔으며 1990년대 초부터 RISC 기반 워크스테이션과 서버에 쓰이게 되었다. 2003년에 이전에 32bit가 주류였던 개인용 컴퓨터가 x86-64 및 64bit 파워PC 프로세서로 진입하게 되었다.
  • 32bit와의 차이
가장 큰 차이점은 가용 메모리의 크기 제한이다. 윈도10 기준으로 32bit 버전 윈도 OS에서는 최대 4GB의 메모리 사용이 가능하지만 64bit 버전 윈도 OS 에서는 최대 192GB 메모리 사용이 가능하다.

연산 장치의 개수에 따른 분류

  • 싱글 코어(single core)
연산 장치가 하나인 CPU. 과거에는 매우 많이 사용되었으나, 2000년대 중엽부터 멀티코어 프로세서가 대중화되면서, 이제는 저가형 인터넷 공유기 등 특수 목적용으로만 쓰인다.
  • 멀티코어(multicore)
동일한 성능으로 작동하는 CPU 여러 개를 1개의 칩 속에 집적해 놓은 것이다.
  • SMT (Simultaneous multithreading, SMT)
하이퍼스레딩으로 일컫는, 단일코어를 멀티코어로 간주하고 처리하는 방식.

같이 보기