|
01. 인텔 펜티엄(Pentium) 시리즈
【名品】 벗♡ 쉼터 幸福 사랑
1993년에 발매한 인텔의 CPU 브랜드 이름. 10년 이상의 기간 동안 인텔의 주력 플래그십 CPU 브랜드로 군림하였다.
2006년 인텔 코어 2 시리즈의 출시 이후 보급형 포지션으로 변경되었다.
2023년 에센셜 제품군인 "인텔 펜티엄"과 "인텔 셀러론" 브랜드는 폐기되었다. 이로서 30년 째 이어져 왔던 인텔의 역사를 대표하는 펜티엄, 셀러론 브랜드가 2023년을 기점으로 막을 내리게 됐다. 기존의 펜티엄과 셀러론의 자리는 "인텔 프로세서", "인텔 프로세서 N-시리즈" 브랜드로 대체되었다.
펜티엄이 보급형으로 격하된 이후에는 별도 TV광고는 방영되지 않았다.
1993년 3월 22일, 인텔 펜티엄 시리즈에 최초로 이용된 마이크로아키텍처로, x86 최초의 슈퍼스칼라 마이크로프로세서이다.
후속 아키텍처는 인텔 P6 마이크로아키텍처.
대표적인 특징은 486에 비해 개선된 사항들로, 다음과 같다.
코어 레벨 (486 대비)
프론트 엔드/백 엔드 공통
두 개의 정수 파이프라인으로 구성된 슈퍼스칼라 아키텍처
프론트 엔드
분기 예측 도입 및 분기 대상 버퍼(BTB) 추가
명령어 인출 대역폭이 사이클당 16 바이트 → 32바이트로 증가 (2배)
정렬되지 않은 경우의 명령어 인출 성능 개선 (split fetching 도입)
백 엔드
간단한 명령어를 처리할 수 있는 정수 파이프라인 (V-Pipe) 추가 (총 1개→2개)
하드웨어 곱셈 유닛 추가
빨라진 부동 소수점 연산 장치(FPU)
FPU의 파이프라인화
명령어 실행 latency, throughput 개선
간단한 부동소수점 명령어와 뒤따르는 FXCH 명령어를 병렬로 실행 가능
마이크로코드 개선
메모리 서브 시스템
코드 캐시와 데이터 캐시의 분리
캐시 구성이 8 KB, 4-way → (I) 8 KB, 2-way + (D) 8 KB, 2-way 로 변화
데이터 캐시를 2개의 뱅크로 나누어 동시에 접근할 수 있도록 함
캐시 라인 크기가 16B → 32B로 증가
4M 페이지 지원 추가 (Page Size Extension)
4M DTLB 추가
기타
파이프라인은 80486과 동일하게 5단계(PF-D1-D2-EX-WB)로 구성
CMPXCHG8B, CPUID, RDTSC 등의 명령어 추가
프로세서 레벨 (486 대비)
32비트에서 64비트로 넓어진 외부 데이터 버스폭
슈퍼스칼라 구조의 도입 및 부동소수점 유닛의 개선으로 으로 486 대비 클럭당 성능이 크게 향상되었다. 다만 순차적 실행 방식 등의 한계로 인해 P5에 최적화된 컴파일러로 재컴파일하지 않은 경우 최적화된 바이너리 대비 정수 연산에서 30%, 부동소수점 연산에서 50% 가량 낮은 성능을 보였다고 한다. P5와 P54 모델 중, 초기형 저클럭 모델에는 FDIV 버그가 존재한다. 또한 잘못된 CMPXCHG8B 명령어가 LOCK 접두사와 사용된 경우 시스템이 정지하는 F00F 버그도 존재하였으나 해당 버그의 경우 운영체제 차원에서 해결 가능하여 FDIV 버그와 달리 크게 이슈화되지는 않았다.
3. 상세
P5 마이크로아키텍처는 U-pipe와 V-pipe 2개의 파이프라인을 두어 특정한 명령어 조합에 대해 클럭당 2개의 명령어를 실행할 수 있도록 하였다. (이때 첫번째 명령어는 U-pipe에서, 두번째 명령어는 V-pipe에서 실행된다.) 한 사이클당 하나의 명령어가 실행되는 경우 U-pipe에서 실행되며, U-pipe는 모든 명령어를, V-pipe는 일부 명령어만을 실행할 수 있다.
동시에 실행할 수 있는 명령어의 조합은 다음과 같다:
대부분의 ALU 명령어 (mov, add, sub, and, or, xor)
비교 명령어 (cmp, test)
스택 조작 명령어 (push, pop)
Carry 및 borrow 명령어(adc, sbb 등)는 U pipe에서만 실행될 수 있다.
접두사가 사용된 명령어의 경우 U pipe에서만 실행될 수 있다. 단, Pentium MMX에서는 0Fh, 66h, 67h 접두사가 사용된 명령어가 V pipe에서 실행될 수 있음
shift imm 명령어는 U pipe에서만 실행될 수 있다.
fadd, fmul, fld 등 일부 부동소수점 명령어는 U pipe에서만 실행될 수 있다.
call near, jmp near, jcc 등 단순한 control transfer 명령어 및 fxch 명령어가 U pipe에서 실행되는 경우 V pipe를 사용할 수 없다. (이러한 명령어가 V pipe에서 실행되는 경우 동시에 U pipe를 사용할 수 있다.)
동시에 실행할 수 없는 명령어의 조합은 다음과 같다:
CL 레지스터를 shift count로 사용하는 shift 및 rotate 명령어
mul, div 등 여러 사이클에 걸쳐 실행되는 사칙연산 명령어
ret, enter, pusha, movs, stos, loopnz 등의 확장된 명령어
fscale, fldcw, fst 등 일부 부동소수점 명령어
push, sreg, call far 등 inter-segment 명령어
레지스터 의존성(RAW, WAW)이 존재하는 경우. 이때 al, ah 등 8비트 및 16비트 레지스터는 해당하는 32비트 레지스터에 대한 참조로 간주되므로 한 명령어가 al에 값을 쓰고 그 다음 명령어가 ah에 값을 쓰는 경우 eax에 대한 WAW hazard 때문에 동시에 실행될 수 없다. (단, EFLAGS에 대한 WAW 의존성 및 스택 포인터, 조건 코드에 대한 의존성은 예외)
두 명령어가 동일한 데이터 캐시 뱅크에 접근하는 경우
(접두사를 제외한) 두 명령어 중 하나가 7바이트를 초과하는 경우. Pentium MMX의 경우 첫 번째 명령어에 대한 제한이 11바이트까지로 완화되었다.
1993년 3월에 출시된 인텔 펜티엄 시리즈의 기념비적인 첫 모델이자 인텔 80486의 정식 후속 모델이다.
2. 역대 모델
2.1. P5 (1세대 펜티엄)
1993년 3월 출시된 첫 펜티엄 모델. 처음에 60MHz와 66MHz 두 가지 버전으로 출시했다. 기존의 80486보다 세 배 많은 310만 개의 트랜지스터를 포함하고 있었다. 연산 성능은 60MHz 모델을 기준으로 100MIPS에 달하며 이는 80486DX2 66MHz의 두 배에 달하는 수치이다.
본래 펜티엄은 i586 또는 80586이라는 이름으로 출시될 예정이었는데, 486에 대한 인텔의 상표권 침해 소송에 AMD와 Cyrix, IBM을 비롯한 호환 CPU 제작 회사들이 '숫자에 상표권을 주장할 수 없다'는 주장을 법원에서 인정해 패소하면서 펜티엄이라는 상표로 출시했다. Penta + Premium 식의 합성어이며 Penta는 5라는 접두사이다. 이 때문에 초기에는 586으로도 불렸으나 인텔의 대대적인 광고로 이내 사장되었다.
펜티엄은 명령어 파이프라인(Instruction Pipelines)을 개선했고, 명령어 캐시 메모리 8KB + 데이터 캐시 메모리 8KB로 캐시 메모리(Cache Memory)가 더 커졌을 뿐 아니라, 최초로 슈퍼스칼라 아키텍처를 도입하여 i486 프로세서에 비해 클럭당 정수 처리 효율이 (이론상) 두 배로 상승하였다. 이로 인해 초기 펜티엄도 상대적으로 높은 클럭의 486 최상위 CPU인 i486DX4와 비슷한 성능을 발휘할 수 있었다.
특히 컴퓨터 시장에서 1995년 Windows 95의 출시와 맞물려 빠른 속도로 퍼져 나가서 이후 개발되는 모델도 '펜티엄'의 이름을 달고 나오게 되었다. 특히 컴퓨터 메이커가 펜티엄 로고와 로고음을 광고에 넣으면 직접 광고비를 지원해주는 인텔의 홍보 전략으로 사람들의 머리에 확실히 각인되며 인지도 면에서 엄청난 효과를 거둔다. 1995년 초, 국내 소매가격은 약 50만원 정도였다.
하지만, 1995년 펜티엄이 FDIV 버그로 전량 리콜되는 사태가 벌어졌다. 이 버그는 1994년에 버지니아 주 린치버그 대학의 수학과 교수인 토마스 나이슬리(Thomas R. Nicely)가 소수의 역수의 합을 계산하는 프로그램을 실행하던 중 특정 수에서 이상한 결과가 나온 것을 분석하다가 발견된 것으로, 어떤 특정한 수의 부동 소수점 나눗셈을 수행할 경우 잘못된 결과가 나오는 것인데, 랜덤한 두 수를 무작위로 나눗셈 연산한다고 치면 90억 번 중 1번꼴로 발생될 만큼 희귀한 경우라서 발견하지 못한 채 출시된 것이다. 예를 들어 4195835.0/3145727.0의 경우 1.333 820 449 136 241 002 라는 결과값이 정상이다. 하지만, 당시 FDIV 버그를 가지고 있는 펜티엄의 경우 4195835.0/3145727.0 = 1.333 739 068 902 037 589로 잘못 계산했다. 인텔은 펜티엄에 장착한 FPU의 나눗셈 연산 성능을 올리기 위해 SRT 알고리즘(radix-4 구성)을 사용했는데, SRT 알고리즘이 작동하기 위해서 필요한 1066개의 항목의 참조표(Lookup table)을 작성하던 중 실수로 5개의 항목을 빼먹었기 때문에 발생한 버그다. 하지만 일반 사용자에게는 대부분의 경우 문제가 되지 않았고 여러 소프트웨어에서 FDIV 버그를 감지하여 소프트웨어적으로 우회하는 패치를 적용하였기 때문에, 실제로 리콜된 것은 얼마 되지 않지만 당시 인텔이 소비한 비용은 4억 7천 5백만 달러나 되었다.
또한 1997년 바이트 코드가 F0 0F C7 C8에서 CF(lock cmpxchg8b eax...edi)인 명령어가 들어오는 경우 뻗어 버리는 F00F 버그도 발견되었다. 그러나, 운영 체제가 업데이트 되면서 해결되었고, B2 스테핑부터 하드웨어로 해결되었다.
펜티엄 모바일이라는 노트북 시장을 위한 CPU도 있다.
80486에서 펜티엄으로 업그레이드 하려면 메인보드까지 새로 구매해야 했기에 비용 문제로 망설이는 사람들을 위해 인텔은 펜티엄 CPU를 기존의 80486용 소켓에 사용할 수 있도록 개조했다. 이것이 '펜티엄 오버드라이브 프로세서'이다. 전압, 버스 등 호환성에 대해 고려해야 할 점은 많았지만 인텔은 하위 호환성을 가진 제품을 만들어 냈다. 물론 펜티엄 컴퓨터에 비해 약간 성능이 떨어지긴 했지만, CPU만 교체하는 것으로 성능 향상이 컸기 때문에 나름 인기 있었다.
일부 메인보드에는 CPU를 납땜해 붙여 놓은 경우도 있는데, 이런 경우를 위해서 처음부터 오버드라이브용 예비 슬롯을 미리 준비한 경우도 있다. 위의 이미지가 바로 온보드 CPU (486 SX) + 오버드라이브 소켓이 탑재된 경우.
참고로 이런 경우 오버드라이브 프로세서의 동작이 특이한데, 오버드라이브 프로세서를 꽂으면 CPU가 2개가 되지만, 2개가 모두 동작하는 것이 아니라 오버드라이브 프로세서가 온보드 된 CPU를 꺼버리고 혼자 동작한다.
나중에는 펜티엄 보드용 오버드라이브 프로세서인 펜티엄 MMX 오버드라이브, 펜티엄 프로 보드용 펜티엄 II 오버드라이브가 출시됐다. 펜티엄에서 본격적으로 이 용어가 쓰이기 시작했지만, 최초로 등장한 것은 486 오버드라이브 프로세서였다. 그러나 486 오버드라이브는 80486 시스템을 업그레이드하는 용도로 쓰여 그다지 인기가 있지 않았다.
그러나 결국 인텔은 펜티엄 II 이후로는 더이상 오버드라이브 프로세서를 만들지 않았다. PC 완제품을 만들어 팔던 OEM 회사들이 반대했기 때문이었다. 새로운 CPU가 출시되면 사람들이 새 컴퓨터를 사야 하는데, 오버드라이브 프로세서만 사서 업그레이드하였기에 PC가 팔리지 않는다고 주장했기 때문이었다. 지금의 인텔의 소켓 장난을 생각하면 아이러니한 일.
P54C, P54CQS (2세대 펜티엄)
1994년 3월 기존 P5 기반에서 600nm 공정으로 개선된 P54C 펜티엄이 출시되었다. 이 무렵까진 FDIV 버그가 있는 모델이 여전히 있었다. 이때 80486 DX2, DX4시리즈처럼 CPU에 클럭 배수기(Clock Multiplier)를 탑재해 클럭이 크게 증가했다. 75, 90, 100MHz로 출시했으며 각 클럭별로 메인보드 딥스위치와 메인보드 클럭발진기 교체로 FSB 오버클럭이 가능했기에 90, 120, 150MHz까지 끌어올릴수 있었다
P54CS (3세대 펜티엄)
1995년 3월 0.35 μm(350 nm) 공정으로 또 개선하면서 동작 클럭을 높인 P54CQS 또는 P54CS 펜티엄 모델이 연달아 출시되었다. 120, 133, 150, 166, 200MHz로 출시했다. P54CQS는 기존 패키징 공정을 재활용하여 120 MHz 제품을 빠르게 출시하기 위해 기존 P54C 칩의 C2 스테핑에서 코어 부분만 미세화한 채로 주변 회로의 크기는 유지하여 기존 P54C와 다이 크기가 동일하다. P54CS는 새로운 패키징 설비에 맞게 주변부 또한 미세화한 칩이다.
1997년 1월 캐시 용량을 16+16KB로 늘리고 57개로 구성된 MMX 명령어 세트가 추가된 P55C 기반의 펜티엄 MMX가 출시되었다. 그런 만큼 아키텍처 자체는 초창기 펜티엄과 동일한 P5 아키텍처이지만 벤치마크에서 MMX 166이 일반 200보다 더 나은 성능을 보여주는 결과도 나왔다. 이 CPU의 상위 모델 격으로 1년 이상 먼저 나온 펜티엄 프로는 16비트 에뮬레이션 성능 상의 문제로 일반 사용자들한테 환영받지 못했고 4개월 뒤에 나온 펜티엄 II도 출시 초기의 가격 문제 때문에 시장에 자리잡는데 시간이 걸리면서 그 대체재로서 꽤나 장수하게 된다.
클럭 모델별로 133, 166, 200, 233MHz로 출시되었다.
다만 그 성능을 제대로 끌어내려면 MMX 명령어를 사용하는 전용 소프트웨어의 지원이 필요했다. 그러나 이로 인한 이득은 생각보다 크지 않았는데, 첫 번째 이유로 MMX 명령어는 정수 연산만 지원했다. 32비트 2개, 16비트 4개, 8비트 8개 정수 연산을 지원했다. 그리고 MMX가 쓰는 레지스터는 이름만 다를 뿐(MM0~MM7, ST0~ST7) FPU의 스택 레지스터와 같았기 때문에 MMX를 쓰면 FPU를 쓸 수 없었다는 치명적인 문제가 있었다. 게다가 MMX 모드와 FPU 모드의 레지스터 동작도 서로 달랐다. 그렇기 때문에 응용 프로그램이 MMX와 부동 소수점 연산 둘 다 필요하면 운영 체제를 통해 콘텍스트 스위치 기능으로 FPU 모드와 MMX 모드를 전환해야 했고, 그러면 느려질 수 밖에 없었다. 그래서 MMX 지원 소프트웨어가 그렇게 많지 않았다. 하지만 MMX에 최적화 된 소프트웨어에 한해서는 확실한 성능 향상을 보장했다. 그 예가 모토 레이서와 전뇌전기 버추얼 온 윈도판. 윈도판 버추얼 온은 MMX 전용이었으며, 모토 레이서는 일반 펜티엄에서도 구동되지만 MMX 모드와의 그래픽 품질이 하늘과 땅 차이였다. 그 뒤에 사이릭스, AMD 역시 인텔에서 MMX 라이선스를 구입해서 자사의 CPU에 적용시켰다.(AMD K6 시리즈 등) 여담으로 당시 메인보드에서 MMX 펜티엄을 쓸 수 있는가 없는가는 전압 설정을 2.8V로 할 수 있는가에 달려 있었다.
DOSBox SVN빌드에서 펜티엄 프로세서를 에뮬레이션할 수 있지만 어째서 클럭이 Dxdiag에선 66MHz라고 표기된다.
2023년 기준으로 리눅스 커널이 지원하는 가장 오래된 CPU이다. 2022년 발표된 6.1 커널부터 80486, 펜티엄 지원이 중단되어 이 커널을 사용하는 Tinycore Linux 14.0 버전이 펜티엄 MMX부터 구동 가능하기 때문이다.
초창기 펜티엄 시리즈에 사용된 P5 마이크로아키텍처의 후속 마이크로아키텍처이자, 1995년 인텔 펜티엄프로 시리즈에 최초로 이용된 마이크로아키텍처로 발표되었다.
본래 펜티엄이 5번째 의미가 담겨진 합성어였듯이, 그 다음 시리즈를 6번째 의미가 담겨진 합성어인 헥시엄(Hexium)으로 사용하려고 했었다. 그런데 워낙 펜티엄 네이밍이 성공적으로 굳어지는 바람에 그냥 펜티엄 파생형 네이밍인 펜티엄 프로, 펜티엄 II로 이어졌던 것. 본래 부동소수점 실수 연산 유닛의 설계를 담당했던 이스라엘의 하이파 연구소가 주도적으로 맡은 첫 마이크로아키텍처이기도 하다.
오리지널 P6 마이크로아키텍처
마이크로옵(micro operation, uop) 도입
- P6의 마이크로옵은 RISC와 비슷하게 load/store 방식을 사용한다.
- 레지스터 사이의 단순한 연산은 하나의 마이크로옵으로 처리된다.
- load는 하나의 마이크로옵으로 처리된다.
- store는 address 및 data로 나뉘어 2개의 마이크로옵으로 처리된다.
- 인텔에 따르면 x86 명령어당 평균적으로 1.5-2.0 uops로 변환된다고 한다.
분기 대상 버퍼(Branch Target Buffer, BTB)가 256 → 512 엔트리로 증가 (2배)
명령어 캐시의 associativity가 2-way → 4-way로 증가
전작인 P5와 달리 split fetching을 지원하지 않고 정렬된 16바이트 단위로만 명령어를 인출한다.
디코더가 2개 → 3개로 증가
- 첫 번째 디코더는 모든 명령어를 지원하며 사이클당 최대 4개의 마이크로옵을 생성할 수 있다.
- 첫번째 디코더를 제외한 나머지 디코더는 '단순'(simple) 디코더로, 지원하는 명령어가 제한되며 사이클당 1개의 마이크로옵만 생성할 수 있다.
백 엔드
비순차적 실행(Out-of-Order Execution)과 추측 실행(Speculative Execution) 방식 도입.
- 이로 인해 성능이 크게 향상됐다. 하지만 이로 인해 인텔 CPU에 멜트다운 보안 취약점이 있다는 것이 2018년 드러나게 된다.
40 엔트리 크기의 재정렬 버퍼(reorder buffer, ROB) 추가
- uop의 실행 결과는 ROB에 저장되며 retire 단계에서 실제 레지스터 파일(real register file, RRF)에 기록된다.
20 uops 크기의 예약소(reservation system, RS) 추가
- 사이클당 최대 5개의 uop을 실행 유닛에 전송 가능
정수 곱셈 및 나눗셈 연산의 레이턴시 및 처리량 개선
메모리 서브 시스템
비순차적 메모리 접근, nonblocking data cache
데이터 캐시의 크기는 8KB로 동일, 레이턴시는 3사이클로 증가
데이터 캐시를 4개의 뱅크로 나누어 동시에 접근할 수 있도록 함 (사이클당 최대 1 load+1 store, 동일 사이클에 동일 뱅크에 load와 store를 동시에 수행할 수 없음)
물리 주소 확장(Physical Address Extension, PAE) 기능 도입.
- 물리 주소가 36비트로 확장되어 최대 64GB의 메모리를 사용 할 수 있게 되었다.
- 이 기능을 사용하기 위해서는 메인보드 칩셋과 운영 체제도 지원해야 한다.
- 이는 저가형 프로세서인 셀러론에는 적용되지 않음
기타
명령어 파이프라인이 기존의 5단계에서 12단계로 크게 증가하였다.
CMOV, FCMOV, FCOMI/FCOMIP/FUCOMI/FUCOMIP, RDPMC, UD2 명령어 추가
펜티엄 프로에서는 32비트 실행 성능만 고려하여 기존 16비트 코드의 세그멘테이션, partial register, 정렬되지 않은(unaligned) 메모리 접근 등에 대해 별도의 최적화를 하지 않았기 때문에 레거시 16비트 코드 실행 시 성능상의 문제가 존재하였다.
- 세그먼트 레지스터를 변경하는 명령어는 마이크로코드를 통해 실행되었고 추측 실행을 지원하지 않아 직렬화를 동반하였기 때문에 수십 사이클이 소요되었는데, 세그먼트당 메모리 크기의 제약 및 x86의 적은 레지스터 수 등으로 인해 세그먼트 레지스터를 변경하는 명령어가 사용되는 경우가 많았다.
- 8080의 영향으로 8086의 16비트 레지스터는 8비트 레지스터 2개로 나눌 수 있었는데, 이 점을 이용한 일부 어셈블리 코드에서는 레지스터의 일부분(예: AL, AH)이 ROB 상에 쪼개져 있을 때 전체 레지스터(예: AX)의 값을 읽는 경우도 있었다. 이러한 상황에서는 레지스터의 각 부분이 RRF에서 합쳐질 때까지 대기하였기 때문에(partial register stall) 성능 저하가 발생하였다.
- 정렬되지 않은 로드의 경우 2개의 캐시 라인에 걸쳐있기 때문에 스토어 버퍼에 존재하는 메모리 주소를 확인하는 작업이 복잡해지는데 이러한 경우 단순하게 이전의 모든 명령어의 실행이 완료될 때까지 대기하였기 때문에 상당한 페널티를 수반하였다.
2-way → 3-way로의 확장과 비순차적 실행의 도입으로 SPECint92 기준 P5 대비 클럭당 성능이 40% 향상되었다. 그러나 1995년 처음 채택된 펜티엄 프로는 레거시 16비트 프로그램들의 실행 성능이 형편없었던 탓에 일반 사용자 시장에선 거의 묻혀져, 1997년 5월에 16비트 실행 성능이 보강된 펜티엄II부터 일반 시장에 알려지게 되었다.
Pentium II/III: 코어 레벨 (Pentium Pro 대비)
프론트 엔드
명령어 캐시의 용량이 8 KB → 16 KB로 증가
백 엔드
SIMD 유닛 추가 (MMX: 펜티엄 II, SSE: 펜티엄 III)
16비트 실행 성능 향상
- 세그먼트 레지스터를 변경하는 명령어에 대한 추측 실행 지원
- partial register에 대한 일부 경우 최적화
메모리 서브 시스템
데이터 캐시의 용량이 8 KB → 16 KB로 증가
데이터 캐시의 associativity가 2-way → 4-way로 증가
기타
MMX 명령어 추가 (펜티엄 II 클라매스부터)
FXSAVE, FXRSTOR 명령어 추가 (펜티엄 II 데슈츠부터)
SSE 명령어 추가 (펜티엄 III 카트마이부터)
1999년 2월 펜티엄III부터 SSE를 도입하고, 10월에 180nm로 공정 미세화 되면서 클럭을 본격적으로 끌어 올렸다.
하지만 당시 AMD가 K7 마이크로아키텍처를 내놓고 2000년 3월에 1 GHz를 먼저 돌파하게 되자, 인텔도 덩달아 1 GHz 제품을 발매하면서 1 GHz를 돌파한 인텔의 첫 마이크로아키텍처가 되었다. 1 GHz만으로는 만족할 수 없었는지 클럭을 무리하게 더 끌어 올려 1133 MHz인 펜티엄 3 1133까지 내놓았으나, 치명적인 불안정성 문제로 리콜되는 등 P6의 말년은 초라해졌다.
위기 의식을 느낀 인텔은 P6가 더 이상 클럭을 올릴 수 없는 한계에 도달했음을 깨닫게 되고 넷버스트 마이크로아키텍처를 개발해 펜티엄 4를 출시하기에 이르렀다.
개량판 P6 마이크로아키텍처
인텔이 P6 마이크로아키텍처의 한계를 극복하기 위해 힐즈버로 연구소가 클럭을 올리기 쉬운 넷버스트 마이크로아키텍처를 내놓은 상태였는데, 취지는 나쁘지 않았을지 몰라도 소비 전력과 발열이 너무 심했다. 저전력과 낮은 발열이 요구되는 노트북 환경에서 도저히 써먹을 수 없는 부적합한 마이크로아키텍처였다.
이런 상황을 해결하기 위해 소비 전력과 발열이 그나마 나은 P6 마이크로아키텍처를 개발했던 이스라엘 하이파 연구소가 2003년에 P6 마이크로아키텍처를 개선해 노트북용 프로세서로 내놓았다. 브랜드 이름을 따온 펜티엄M 마이크로아키텍처로 더 많이 알려져 있다.
Pentium M: 코어 레벨 (P6 대비)
프론트 엔드/백 엔드
마이크로옵 퓨전(Micro-ops fusion) 도입
- 기존 P6의 스토어 주소 및 데이터 마이크로옵 쌍은 스토어 마이크로옵 하나로 융합된다.
- SSE를 제외한 로드 마이크로옵과 이어지는 연산 마이크로옵 쌍은 하나의 마이크로옵으로 융합된다.
프론트 엔드
분기 예측기(Branch Predictor)가 개선되었다.
- 루프 감지기 및 간접 분기 예측기 추가
명령어 캐시의 용량이 16 KB → 32 KB로 증가
명령어 변환 색인 버퍼(Instuction Translation Lookaside Buffer, I-TLB)가 32에서 128 엔트리로, 데이터 변환 색인 버퍼(Data Translation Lookaside Buffer, D-TLB)가 64에서 128 엔트리로 증가했다.
명령어 인출 버퍼(Instruction Fetch Buffer)가 16에서 32바이트로 증가했다.
백 엔드
스택 전용 엔진(Dedicated Stack Engine) 도입
- 스택 포인터 계산을 위한 전용 덧셈기를 추가하여 스택 명령어(push/pop)를 실행할 때마다 스택 포인터 계산을 위해 사용하던 추가적인 ALU uop을 절약
재정렬 버퍼(Reorder Buffer, ROB)가 40에서 80 엔트리로 증가했다.
비순차 실행용 레지스터 파일이 있는 통합 예약 스테이션(Unified Reservation Station)과 통합 스케줄러가 20에서 24 엔트리로 증가했다.
메모리 서브시스템
L1 데이터 캐시의 용량이 16 KB → 32 KB로 증가
L2 캐시 메모리가 512 KiB에서 1 MiB(배니아스) 또는 2 MiB(도선)까지 용량이 증가했다.
기타
명령어 파이프라인이 10에서 12단계로 증가했다.
SSE2 명령어 집합을 추가했다.
Enhanced Intel SpeedStep Technology(EIST)를 개선해 전압과 클럭을 여러 단계로 조절해 소비 전력을 절약할 수 있게 됐다.
소비 전력 절약 기술인 C-State의 Deeper Sleep 단계인 C4 state를 추가했다.
XD bit 메모리 보호 기술을 도입했다.(펜티엄 M 도선)
프로세서 레벨
쿼드펌핑 FSB 기술을 도입해 CPU와 노스 브릿지간 대역폭이 133에서 533 MT/s로 증가했다.
개량판 P6는 2003년 3월 펜티엄 M에 사용된 개발 코드 이름, 배니아스부터 적용되었다. 펜티엄 3의 마지막 세대이자 펜티엄 4 팀킬 CPU였던 투알라틴과 같은 130nm 공정이었다.
태생이 노트북용 CPU임에도 데스크탑용 투알라틴의 최고 클럭이었던 1.4 GHz보다 더 높은 1.8 GHz까지 도달했고, 보드 제조사들은 펜티엄 M과 조합되는 칩셋이 탑재된 메인보드를 데스크탑용에 맞는 보드로도 내놓아 이를 구하기 위해 알아보려는 사람들이 생겨났을 정도였다.
2004년 5월에는 90nm 공정으로 개선하면서 L2 캐시 메모리 용량을 2 MB로 더 증설하고 XD bit 메모리 보호 기술을 적용한 개발 코드 이름, 도선을 출시했다. CPU 클럭도 2.1GHz부터 2.27 GHz까지 끌어올렸고 FSB 전송률도 533 MT/s으로 올리면서 하이퍼스레딩을 지원하지 않는 펜티엄 4 중에서 최고 클럭 모델인 펜티엄 4 519J (3.06 GHz)과 동급 혹은 그 이상의 성능을 보여주기도 했다. 심지어 K8 마이크로아키텍처가 사용된 경쟁사의 애슬론 64 시리즈와 동클럭 대비 큰 차이 없는 수준이었다. 다만 태생이 P6라서 64비트 명령어 집합을 지원하지 않는 점은 있었다.
2차 개량판 P6 마이크로아키텍처
2005년에 일반 가정용에도 멀티코어 프로세서가 도입됨에 따라 노트북용 제품군에서 듀얼코어가 적용된 첫 마이크로아키텍처로, 펜티엄M에 사용된 1차 개량판 P6에서 변경된 부분은 별로 없지만 펜티엄M에 해결되지 못 한 단점이 보강되었다. 이러한 특성 때문에 인핸스드 펜티엄M 마이크로아키텍처로 많이 알려져 있다.
65nm 공정으로 개선했다.
듀얼 코어를 도입했으며, 넷버스트 마이크로아키텍처의 듀얼 코어 프로세서와 달리 L2 캐시 메모리를 공유할 수 있게 만들었다.
◎ 따뜻한 댓글은 【名品】 벗♡ 쉼터 幸福 사랑 울님께 힘이 되는 소중한 글입니다 ◎
최대 FSB 전송률을 533에서 667 MT/s로 개선했다
SSE3 명령어 집합을 추가했다.
전력 절약 기술인 C-State의 Deeper Sleep 단계인 C4 state를 C4E state(Enhanced Deeper Sleep)로 개선해 캐시 메모리를 끌 수 있게 됐다.
가상화 기술인 VT-x를 도입했다.
2006년 1월에 인텔은 펜티엄 M에 사용된 개량판 P6를 기반으로 코어 시리즈에 사용된 요나를 내놓았다. 최대 클럭은 2.33GHz로 클럭 향상이 크지 않았음에도 불구하고, 성능 향상이 매우 컸다.
2.5. 현대 인텔 CPU 마이크로아키텍처의 초석
◎ 따뜻한 댓글은 【名品】 벗♡ 쉼터 幸福 사랑 울님께 힘이 되는 소중한 글입니다 ◎
펜티엄 프로부터 도입되었지만 직접적으로 펜티엄 2는 물론 펜티엄 3까지 이어졌고, 이후에 펜티엄 4에 사용된 넷버스트 마이크로아키텍처가 개발되었지만, 워낙에 문제투성이였던 탓에 그 이후에 등장한 펜티엄M, 코어 시리즈에서는 P6 마이크로아키텍처를 마개조한 라인으로 다시 선회하게 되면서 1995년부터 2006년까지 10년 넘게 사용된 장수 마이크로아키텍처가 되었다. 또한, P6 설계 사상을 계승하여 모든 면에서 확장되고 새로운 기능이 추가된 코어 마이크로아키텍처의 근간이 되었다. P6의 후속 마이크로아키텍처는 명목상 2000년에 발표된 넷버스트 마이크로아키텍처였지만, 이를 묻어버릴 카드로 사용한 것도 P6라는 것을 생각하면 약간 복잡하다.
10년 넘게 지난 현재까지도 현대 인텔 CPU 마이크로아키텍처의 초석으로써 쓰이고 있는데 AMD를 앞지르고 완전한 독주를 시작하게 된 계기인 코어2 시리즈에 사용된 코어 마이크로아키텍처 역시 P6 마이크로아키텍처의 설계 사상 및 철학이 계승된 것이니 말 다한 셈. 사실상 인텔이 20년 이상의 장기간 CPU 업계의 정점에 설 수 있게 해준 기반이 됐으며, 인텔의 영광의 시작이라 할 수 있었던 CPU 마이크로아키텍처였다. 하지만 2018년 인텔 CPU들이 멜트다운 보안 취약점에 노출되어 있다는 사실이 알려지면서 큰 문제가 되기도 했다.
01. 인텔 펜티엄(Pentium) 시리즈
|
첫댓글 안녕하세요.
공감 정보 ㄳ 를 드려요.
환절기 건강하세요^^
새해 복 많이 받으세요.
파이팅~ ~ ~ http://cafe.daum.net/gf52esr
비타민님 방가요^^
켬퓨터 관련 (추천) 게시물 ㄳ 합니다.
유용하게 사용 합니다.
2024년도 새해 새봄 2월 첫 주말 즐겁고 행복한 하루 되세요^^