Tuesday, August 3, 2010

Intel CPU 한눈에 보기 (Part 1)

Intel CPU 감잡기
인텔 CPU에 사용된 마이크로아키텍처(Microarchitecture)는 80286, 80386, 80486 이후로 더이상 숫자가 사용되지 않고 Pentium, Core 등의 브랜드 네임으로 불려왔다. 따라서 과거에는 컴퓨터를 잘 모르는 사람들도 486이 386보다 신모델임을 쉽게 알수 있었지만 요즘은 그렇지 못하다.

80386 부터는 Intel 을 뜻하는 i 를 앞에 붙여서 i386, i486 과 같은 이름을 쓰기도 했다. 다만 i586이 될뻔 했던 CPU 부터는 펜티엄이라는 고유명사가 사용되기 시작하였고 그때부터 일반 소비자들은 컴퓨터 구매시 많은 혼란을 겪었다. 이런 문제 때문에 요즈음의 코어 i 시리즈에서는 과거와 같은 숫자 방식으로 되돌아가고 있다.

인텔 CPU의 종류에 감을 잡으려면 숫자로 기억하는게 편하다. Pentium Pro, Pentium 4, Core2, i7 등으로 기억하는 것보다 각각을 686, 786, 886, 986 으로 기억하면 편할 것이다 (공식 명칭은 아니지만...). 실제로 80686, 80786 은 인텔에서도 내부적으로 공공연히 사용되었던 명칭이다. 64비트 CPU부터는 886, 986 이라는 명칭이 사용되지 않게 되었지만 이 글에서는 기억하기 쉬운 별칭으로서 사용하기로 한다.
지금은 986 시대
이 글을 쓰는 시점(2010년 8월)에서는 Nehalem 프로세서인 i7이 가장 high-end CPU 로 팔리고 있는 시점인데 공교롭게도 Nehalem 프로세서에 80x86 식의 이름을 짓는다면 마지막 숫자인 9 가 사용된 80986 이 되었을 것이다.
숫자의 의미는... 마이크로아키텍처의 Generation
과거 80286 하면 하나의 프로세서만을 의미했다. 그러나 이는 시간이 지나면서(특히 Pentium 이후로 오면서) "공통된 설계 구조를 가진 여러 종류의 CPU들 묶는 제품군"의 의미로 쓰이기 시작했다.
예를 들어 i686(공식명칭은 P6)은 Pentium Pro 에서 Pentium III 까지의 제품군에 사용된 기본 구조를 의미한다. 즉 i686은 "마이크로아키텍처"즉 "설계구조"이지 하나의 CPU 만을 의미하는 것은 아닌 것이다.
그러면 인텔 CPU 의 역사를 순서대로 요약해보자. 上記한대로 Nehalem 는 80986(i986) 과 같이 써본다.
1. 16비트 CPU
8086, 80286 으로 이어진 것이 인텔의 16비트 CPU 들이다.
1988년 경에 PC를 산다면 보통 286 이었을 것이다.
이때는 다 DOS 만 썼다. GUI 는 맥에서만 동작했다.
2. 32비트 CPU 초반기
80386 에서 시작하여 80486 으로 이어진 것이 초기의 32비트 CPU 들이었다.
1992년 경에 좀 좋은 PC를 산다면 보통 486 DX 였을 것이다.
(당시는 보통 스펙으로는 386이 쓰이면서 486이 하이엔드였던 시절)

32비트 CPU 초반기는 윈도우가 나왔음에도 불구하고 MS-DOS 가 여전히 많이 쓰이던 시기이다. 즉 OS 면에서 보면 과도기적인 시기라고 볼 수 있다. 마이크로소프트 윈도우가 대중적으로 사용되기 시작한 것이 이 무렵으로, 윈도우 3.1이 처음 나온 것이 1992 년이었지만 이는 어디까지나 도스 위에서 동작하는 것에 불과했다.

펜티엄이 세상에 나온게 93년이고 한국에서는 94년부터 판매되기 시작했지만 486은 95년경까지 "장기집권" 했다고 한다. 10년 전(1996년) 486 DX-66으로 짱먹었던 그시절 그 PC 라는 글 참고.
3. 32비트 CPU 후반기
32비트 CPU 후반기는 인텔이 AMD에게 밀려 고전하던 시기이다. 한편 윈도우95, 윈도우 2000, 윈도우 XP 가 사용되어, 마이크로소프트 윈도우가 시장을 완전히 장악한 시기이기도 하다. 이 무렵 애플은 퍼스컴 시장에서 완전히 밀려나 버렸다.

80586 = i586 = P5 (microarchitecture) (1993) ... 여기서 설명하는 통칭 P5코어는 Pentium 에 구현된 구조이다. (펜티엄은 한차례 floating point 에러로 홍역을 앓고 국내에서는 판매 부진을 겪은바 있다). 펜티엄은 초반에는 조립용으로 잘 안팔렸으나 MMX 유닛 등이 추가된 'P55 코어(이때부터 명칭은 Pentium MMX 가 됨)'가 나오면서부터 많이 사용되기 시작했다. MMX 라는 것은 멀티미디어에서 잘 쓰이는 floating point 처리 등을 병렬처리할 수 있게 한 것으로, 게임을 빠르게 돌아가게 만든 것이라고 보면 이해하기 쉽다.

80686 = i686 = P6 (microarchitecture) (1995년) ... P6 코어는 내부가 RISC 프로세서화 되는 등 P5 와 설계가 완전히 바뀐 구조이다. P6 는 Pentium Pro 에 구현된 후로 Pentium II, Pentium III 까지 사용되었다.

Pentium Pro 는 일반 소비자용은 아니고 워크스테이션이나 서버용이었기 때문에 대중화되지는 않았으나 Xeon 시리즈의 선조라는 점에서 큰 의미가 있다.
Pentium II 는 Pentium Pro 의 약점이었던 16비트 코드 처리 속도를 높였다. (Intel notably improved 16-bit code execution performance on the Pentium II, an area in which the Pentium Pro was at a notable handicap) 당시는 32비트 시대였지만 대부분의 소프트웨어는 16비트 코드를 어느 정도 사용하고 있었기 때문에 이는 그 시기로서는 중요했다. Pentium II 는 L2 cache 가 프로세서와 분리되어 생산비용은 절감되었지만 속도가 느려졌다. 이는 Pentium II 가 펜티엄 프로의 저가형 버전 (consumer-oriented version of the Pentium Pro) 이었기 때문이다. 대신 L1 캐시가 커지고 16비트 연산이 빨라져서 전체적으로는 빨라지면서도 가격은 내렸다.

Pentium III 는 Pentium II 에 비해 floating point 연산과 병렬처리(parallel calculations)를 강화하기 위한 'SSE instruction set'가 추가된 것이 주된 변화였다. 과거 컴퓨터를 썼던 사람들은 어느 순간부터인가 MMX 라는 말이 사라졌던 것을 기억할지도 모르는데, 그것은 펜티엄 III 부터 SSEMMX 를 대체했기 때문이다. MMX 라던가 SSE 같은 것은 쉽게 말하면 프로세서가 여러 데이터를 동시에 처리하는 구조 즉 SIMD (Single Instruction, Multiple Data) 으로, 과거에는 슈퍼컴퓨터에서나 쓰이던 구조이다.

P6 는 그 후 많이 개선되어 laptop(노트북)용인 Pentium M 까지 이어지는데 Pentium M 에 쓰인 P6 구조 즉 코드네임 Yonah 가 바로 Core 아키텍처의 효시이다. 그런 면에서 이 아키텍처는 매우 중요하다. The successor to the Pentium M variant of the P6 microarchitecture is the Core microarchitecture. Pentium M 의 가장 큰 변화는 power efficiency 향상이다 (노트북용이므로 배터리 수명을 늘리기 위해 이는 당연한 변화이다).

사실 이때까지만 해도 i686이라는 명칭은 비공식적으로 사용되곤 했다. 같은 해 Windows 95 가 나옴.

80786 = i786 = NetBurst (microarchitecture) (2000년) ... NetBurst 라는건 Pentium 4 에 구현된 아키텍처로, 소비전력과 발열량이 엄청난데다 성능에서도 AMD의 Athlon 64 계열에 뒤져서 시장에서 고전했다. 그 원인은 속도를 높이는 수단으로서 클락속도 높이는 것에 주력했기 때문인데 결과적으로 당시 인텔 CPU에 대한 소비자들의 불만도 엄청났고 많은 사람들이 AMD 로 돌아서게 되었다(소위 암드빠 라고 불리는 사람들은 대개 이 시기에 생겨난 부류이다.
따라서 이 구조는 인텔의 차기 CPU(코어, 코어2)에서 더이상 계승되지 않았다. 다만 Hyper-threading 등 몇몇 기술이 부분적으로 Core 에 채택되었다. (Nehalem reimplements the Hyper-threading Technology first introduced in the 3.06 GHz Northwood core of Pentium 4. Nehalem also implements an L3 cache in processors based on it.) 펜티엄 4에서는 다소 불완전했던 SSE 의 '완전체'라고 할 수 있는 SSE2 가 도입되어 호평을 받았다. 프로그래머들은 어떤 타입의 데이터도 MMX 나 FPU 를 사용하지 않고 완전히 SSE2 에서만 계산할 수 있게 되었다.

펜티엄 4 의 처음 코어는 Willamette 이라는 코드네임으로 나왔다.
그 다음 나온 것이 코드네임 Northwood 로 여기에는 하이퍼스레딩이 추가되었고
그 다음 나온 것이 코드네임 Prescott 으로 여기에는 SSE3 가 추가되었다.
노스우드, 프레스캇 등은 코드네임이지만 온라인 PC 상점에서도 많이 보았을 것이다.

NetBurst 에는 i786 또는 80786 이라는 명칭 역시 종종 사용되었으나 공식 이름은 아니다. 아무튼 7번째 generation 이라는 것은 위키피디아에서도 "The Pentium 4 microprocessor from Intel is a seventh-generation CPU targeted at the consumer market." 이라고 설명하고 있다.

한편 2000년에는 Windows 2000이 나와 빠른 시간에 상당히 널리 보급되었다.

2001년 Windows XP가 나왔는데 초기에는 XP가 무겁다는 이유로 인기가 없고 윈도우 2000에 안주하는 사람들이 많았음. 그러나 점차 XP가 널리 퍼져 2004~2005년 경에는 대다수의 사람들이 XP를 썼던 것 같다. (통계에 따르면 2007년에 76%의 압도적인 보급률로 피크를 기록했고 이 글을 쓰는 2010년 현재에도 54.6%의 market share를 가짐). 펜티엄 4 즉 i786 을 산 사람들 상당수는 윈도우 2000을 쓰다가 XP로 바꾼 경험이 있을 것이다.
4. 64비트 CPU
오늘날 쓰이는 64비트 CPU 즉 코어2 이후의 것들은 Part 2 에서 더 자세히 정리할 것이므로
여기서는 개략적으로만 정리해보자.

Pentium이 32비트 시대의 후반부를 장식하는 인텔 브랜드였다면
Intel Core 브랜드는 64비트로 넘어오면서 사용되기 시작하여 지금까지 이어져오고 있다.
Core 는 초반의 Core2 와 현재의 Nehalem(i3, i5, i7) 를 통칭하는 브랜드이다.

한편 64비트 시대로 넘어오면서 윈도우 XP가 이를 지원하지 못하여 윈도우 7의 시대로 넘어갔다. 32비트 시대와 64비트 시대의 과도기에 위치했던 윈도우 비스타는 32비트와 64비트 두가지 버전이 있었는데, 인기가 시들하여 빠르게 사라진 실패작이었다.

80886 = i886 = Core (microarchitecture) (2006년) ... 64비트가 처음 도입된 구조로, 64-bit Core microarchitecture 라고 부름. P6(Pentium M 에 적용되었던 i686)의 변형 구조가 계승된 것이 Core. Intel has replaced NetBurst with the Core microarchitecture, released in July 2006, which is more directly derived from 1995's Pentium Pro than it is from NetBurst.

80986 = i986 = Nehalem (microarchitecture) (2009) ... i986 즉 Nehalem은 i886 즉 Core2 와 같은 Core 브랜드를 사용하고 있으나 Core2 에 비해 진일보된 구조이다. The first processor released with the Nehalem architecture was the desktop Core i7,[3] which was released in November 2008. It was followed by several Xeon processors and by the i3 and i5.
이 글을 쓰는 시점에서 가장 고성능의 컴퓨터
2010년 8월에 출시되는 12 Core 신형 맥프로
참고 : Core Processor 의 세부 브랜드 코드네임
블룸필드, 린필드, 클락데일, 걸프타운이 Nehalem 의 세부브랜드의 코드네임들이고
콘로, 켄츠필드, 울프데일, 요크필드 등이 Core2 의 세부브랜드의 코드네임들인데
이는 다음에 잘 나와 있다.
Intel CPU 한눈에 보기 (Part 1)
http://en.wikipedia.org/wiki/Intel_Core#Core_i7
참고 : x86
As the term became common after the introduction of the 80386, it usually implies binary compatibility with the 32-bit instruction set of the 80386. This may sometimes be emphasized as x86-32 to distinguish it either from the original 16-bit "x86-16" or from the 64-bit x86-64.[5] Although most x86 processors used in new personal computers and servers have 64-bit capabilities, to avoid compatibility problems with older computers or systems, the term x86-64 (or x64) is often used to denote 64-bit software, with the term x86 implying only 32-bit.[6][7]
참고 : Celeron
셀러론은 특정 마이크로아키텍처를 뜻하는 것이 아니라 단지 인텔 CPU의 저가형 모델을 마케팅하기 위한 상표이다. Pentium II 부터 시작해서 Pentium III, Pentium 4, Pentium M, Core 2 Duo 까지 Celeron 브랜드가 팔리고 있다.
키워드 : 컴퓨터, PC, 조립, Computer

레퍼런스 :
Intel CPU 한눈에 보기 (Reference)
Intel CPU 한눈에 보기 (draft)
http://ascii.jp/elem/000/000/419/419412/
http://en.wikipedia.org/wiki/X86#Chronology

No comments:

Post a Comment