CPU 에 대한 지식
클럭 속도 (MHz) 라고도 하는 클럭 속도는 CPU 의 작동 속도를 나타냅니다. CPU 클럭 속도 = 외부 주파수 × 멀티플라이어 계수. 많은 사람들은 클럭 속도가 CPU 의 작동 속도를 결정한다고 생각하는데, 이는 일방적일 뿐만 아니라 서버에도 편파적이다. 지금까지 클럭 속도와 실제 작동 속도 사이의 수치 관계를 실현할 수 있는 확실한 공식은 없습니다. Intel 과 AMD 의 두 주요 프로세서 공급업체도 이 점에 대해 큰 논란을 갖고 있습니다. 인텔 제품의 발전 추세를 보면 인텔은 자신의 클럭 속도를 높이는 것을 매우 중요하게 생각합니다. 다른 프로세서 공급업체와 마찬가지로 1G 의 전미다를 비교한 적이 있는데, 2G 의 인텔 프로세서와 같은 효율을 발휘하고 있습니다.
따라서 CPU 의 클럭 속도는 CPU 의 실제 연산 능력과 직접적인 관련이 없습니다. 클럭 속도는 CPU 의 디지털 펄스 신호 진동 속도를 나타냅니다. 인텔의 프로세서 제품 중에서도 1 GHz 의 아이테니엄 칩은 거의 2.66 GHz 의 제온/드래곤만큼 빠르거나 1.5 GHz 의 아이테니엄 2 는 약 4 GHz 의 제온/드래곤만큼 빠릅니다. CPU 의 작동 속도는 CPU 라인의 모든 측면에 대한 성능 지표에 따라 달라집니다.
물론 클럭 속도는 실제 작동 속도와 관련이 있습니다. 클럭 속도는 CPU 성능의 한 측면일 뿐 CPU 의 전체 성능을 나타내는 것은 아닙니다.
2. 외부 주파수
외부 주파수는 CPU 의 참조 주파수로, 단위는 MHz 입니다. CPU 의 외부 주파수에 따라 전체 마더보드의 작동 속도가 결정됩니다. 분명히, 바탕 화면에서, 우리가 말하는 오버클러킹은 슈퍼 CPU 의 외부 주파수 (물론, CPU 의 멀티플라이어는 잠김) 입니다. 나는 이것이 이해하기 쉽다고 믿는다. 그러나 서버 CPU 의 경우 오버클럭킹은 절대 허용되지 않습니다. 앞서 언급했듯이 CPU 는 마더보드 실행 속도를 결정하고 둘 다 동시에 실행됩니다. 서버 CPU 를 오버클럭킹하고 외부 주파수를 변경하면 비동기식 실행 (많은 데스크탑 보드의 경우 비동기 실행 지원) 이 발생하여 전체 서버 시스템이 불안정해집니다.
현재 대부분의 컴퓨터 시스템의 외부 주파수도 메모리와 마더보드가 동시에 실행되는 속도다. 이렇게 하면 CPU 의 외부 주파수가 메모리에 직접 연결되어 두 가지를 동시에 실행할 수 있다는 것을 알 수 있습니다. 외부 주파수와 프런트 사이드 버스 (FSB) 주파수는 혼동하기 쉽다. 다음 프런트 사이드 버스는 두 가지의 차이점을 소개합니다.
3.FSB 주파수
FSB (front side bus) 주파수는 CPU 와 메모리 직접 데이터 교환 속도에 직접적인 영향을 미칩니다. 한 가지 공식은 데이터 대역폭 = (버스 주파수 × 데이터 대역폭) /8 이며, 데이터 전송의 최대 대역폭은 동시에 전송되는 모든 데이터의 너비와 전송 빈도에 따라 달라집니다. 예를 들어, 현재 800MHz 프런트 사이드 버스를 갖춘 64 비트 Xeon Nocona 를 지원합니다. 공식에 따르면 최대 데이터 전송 대역폭은 6.4GB/ s 입니다 .....
외부 주파수와 FSB 주파수의 차이: FSB 속도는 데이터 전송 속도이고, 외부 주파수는 CPU 와 마더보드가 동시에 실행되는 속도입니다. 즉, 100MHz 의 외부 주파수는 디지털 펄스 신호가 초당 1000 만 회 진동한다는 것을 의미합니다. 100MHz FSB 는 CPU 가 초당 허용할 수 있는 데이터 전송 능력이100mhz × 64bit ÷ 8 byte/bit = 800mb/s 임을 의미합니다.
사실,' HyperTransport' 아키텍처의 출현은 실제로 FSB 의 주파수를 변화시켰다. 이전에는 IA-32 아키텍처에 메모리 컨트롤러 허브 (MCH), I/O 컨트롤러 허브 및 PCI 허브 (예: 인텔의 전형적인 칩셋 Intel 750 1 및 Intel7505) 의 세 가지 중요한 구성 요소가 있어야 한다는 것을 알고 있었습니다. 여기에는 CPU 에 533MHz 주파수의 프런트 사이드 버스를 제공하는 MCH 가 포함되어 있으며 DDR 메모리와 함께 프런트 사이드 버스 대역폭은 최대 4.3GB/ 에 달할 수 있습니다. 그러나 프로세서 성능이 지속적으로 향상됨에 따라 시스템 아키텍처에 많은 문제가 발생합니다. "HyperTransport" 아키텍처는 문제를 해결할 뿐만 아니라 AMD Opteron 프로세서와 같은 버스 대역폭을 더욱 효율적으로 향상시킵니다. 유연한 HyperTransport I/O 버스 아키텍처를 통해 메모리 컨트롤러를 통합할 수 있으므로 프로세서가 시스템 버스를 통해 칩셋으로 전송하지 않고도 메모리와 직접 데이터를 교환할 수 있습니다. 이 경우 AMD Opteron 프로세서의 FSB (front side bus) 주파수는 어디서부터 시작해야 할지 알 수 없습니다.
4.CPU 의 비트와 글자 길이
비트: 디지털 회로 및 컴퓨터 기술에서 이진 인코딩은' 0' 과' 1' 만 인코딩합니다. 여기서' 0' 과' 1' 은 모두 CPU 중 하나입니다.
글자 길이: 컴퓨터 기술에서 CPU 가 단위 시간 동안 한 번에 처리할 수 있는 이진수의 자릿수를 글자 길이라고 합니다. 따라서 문자 길이가 8 비트인 데이터를 처리할 수 있는 CPU 를 일반적으로 8 비트 CPU 라고 합니다. 마찬가지로 32 비트 CPU 는 단위 시간 동안 32 비트 이진 데이터를 처리할 수 있습니다. 바이트와 글자 길이의 차이: 일반적으로 사용되는 영어 문자는 8 비트 이진수로 표시할 수 있기 때문에 8 비트는 일반적으로 1 바이트라고 합니다. 글자 길이의 길이는 고정되어 있지 않고 CPU 와 글자 길이에 따라 다릅니다. 8 비트 CPU 는 한 번에 1 바이트만 처리할 수 있는 반면 32 비트 CPU 는 한 번에 4 바이트를 처리할 수 있습니다. 마찬가지로 문자 길이가 64 비트인 CPU 는 한 번에 8 바이트를 처리할 수 있습니다.
5. 멀티플라이어 계수
멀티플라이어 계수는 외부 주파수에 대한 CPU 클럭 속도의 상대 비율입니다. 외부 주파수가 같은 경우 멀티플라이어가 높을수록 CPU 주파수가 높아집니다. 그러나 실제로 외부 주파수가 같은 경우 멀티플라이어가 높은 CPU 자체는 의미가 없습니다. CPU 와 시스템 간의 데이터 전송 속도가 제한되어 있기 때문에 고주파 CPU 를 얻기 위해 높은 멀티플라이어를 추구하는 것은 상당한 "병목 현상" 효과를 낼 수 있기 때문입니다. CPU 가 시스템에서 데이터를 가져오는 한계 속도는 CPU 작동 속도를 충족시키지 못하기 때문입니다. 일반 인텔의 CPU 는 엔지니어링 버전을 제외한 멀티플라이어로 잠겨 있지만 AMD 는 이전에는 잠기지 않았습니다.
캐시
캐시 크기도 CPU 의 중요한 지표 중 하나이며 캐시의 구조와 크기는 CPU 속도에 큰 영향을 미칩니다. CPU 의 캐시 작동 주파수는 매우 높으며, 일반적으로 프로세서와 같은 주파수로 시스템 메모리 및 하드 드라이브보다 훨씬 효율적입니다. 실제로 CPU 는 동일한 데이터 블록을 반복적으로 읽어야 하는 경우가 많으며, 캐시 용량이 증가하면 메모리나 하드 드라이브를 찾지 않고도 CPU 내부에서 데이터를 읽는 적중률이 크게 높아져 시스템 성능이 향상됩니다. 그러나 CPU 칩 면적과 비용 요인으로 인해 캐시가 작습니다.
L 1 캐시는 CPU 의 첫 번째 계층 캐시로 데이터 캐시와 명령 캐시로 구분됩니다. 내장형 L 1 캐시의 용량과 패브릭은 CPU 성능에 큰 영향을 미칩니다. 그러나 고속 버퍼 메모리는 정적 RAM 으로 구성되며 구조가 복잡합니다. CPU 의 코어 면적이 너무 클 수 없는 경우 L 1 레벨 캐시의 용량을 너무 크게 할 수 없습니다. 일반 서버 CPU 의 L 1 캐시 용량은 일반적으로 32-256 KB 입니다.
L2 캐시는 CPU 의 보조 캐시로 내부 및 외부 칩으로 구분됩니다. 내부 칩 L2 캐시는 클럭 속도와 동일한 속도로 실행되는 반면 외부 L2 캐시는 클럭 속도의 절반에 불과합니다. L2 캐시 용량도 CPU 성능에 영향을 미칩니다. 원칙은 CPU 가 클수록 좋다는 것이다. 현재 국내 최대 CPU 용량은 5 12KB 이고 서버와 워크스테이션은 최대 256- 1MB 의 CPU L2 캐시를 사용하며, 일부는 최대 2MB 또는 3MB 를 사용합니다.
L3 캐시 (L3 캐시) 는 두 가지 종류로 나뉘는데, 초기의 외부는 현재 내장되어 있습니다. 실제로 L3 캐시 응용 프로그램은 메모리 대기 시간을 더욱 줄이고 대용량 데이터를 계산할 때 프로세서 성능을 향상시킬 수 있습니다. 메모리 대기 시간을 줄이고 대용량 데이터의 컴퓨팅 능력을 높이면 게임에 도움이 됩니다. 그러나 서버 영역에 L3 캐시를 추가하여 성능이 크게 향상되었습니다. 예를 들어 L3 캐시가 큰 구성은 물리적 메모리를 더 효율적으로 사용할 수 있으므로 느린 디스크 I/O 하위 시스템에서 더 많은 데이터 요청을 처리할 수 있습니다. L3 캐시가 더 큰 프로세서는 보다 효율적인 파일 시스템 캐시 동작과 짧은 메시지 및 프로세서 대기열 길이를 제공합니다.
사실 가장 오래된 L3 캐시는 AMD 가 발표한 K6-III 프로세서에 적용되었습니다. 당시 L3 캐시는 칩에 통합되지 않고 제조 공정의 이유로 마더보드에 통합되었다. L3 캐시는 시스템 버스 주파수와만 동기화할 수 있으며 주 메모리와 크게 다르지 않습니다. 이후 L3 캐시는 인텔이 서버 시장을 위해 내놓은 아이테니엄 프로세서입니다. 그런 다음 P4EE 와 제온 MP 가 있습니다. 인텔은 또한 향후 9MB L3 캐시 아이태니엄 2 프로세서와 24MB L3 캐시 듀얼 코어 아이태니엄 2 프로세서를 출시할 계획입니다.
그러나 L3 캐시는 프로세서 성능을 향상시키는 데 별로 중요하지 않습니다. 예를 들어 1MB L3 캐시가 장착된 제온 MP 프로세서는 여전히 용의 상대가 아닙니다. 이는 프런트 사이드 버스 증가가 캐시 증가보다 더 효과적인 성능 향상을 가져올 수 있음을 의미합니다.
7.CPU 확장 명령어 세트
CPU 는 명령을 사용하여 시스템을 계산하고 제어하며, 각 CPU 는 하드웨어 회로와 일치하는 일련의 명령 시스템을 설계합니다. 명령어의 강약도 CPU 의 중요한 지표로, 명령어는 마이크로프로세서의 효율을 높이는 가장 효과적인 도구 중 하나이다. 현재의 주류 아키텍처에서 볼 때, 명령어는 복잡한 명령어 세트와 단순화 명령어의 두 부분으로 나눌 수 있는데, 이는 인텔의 MMX (멀티미디어 확장), SSE, SSE 2 (스트리밍-단일 명령어 멀티 데이터-확장 2), SEE3, AMD 의 3DNow 와 같은 특정 어플리케이션에서 볼 수 있습니다! 이들은 CPU 의 멀티미디어, 그래픽 이미지 및 인터넷의 처리 능력을 향상시키는 CPU 의 확장 명령 세트입니다. 우리는 일반적으로 CPU 의 확장 명령 세트를 "CPU 명령 세트" 라고 부릅니다. SSE3 스크립트도 현재 가장 작은 스크립트입니다. 이전에는 MMX 에 57 개의 명령, SSE 에 50 개의 명령, SSE2 에 144 개의 명령, SSE3 에 13 개의 명령이 포함되었습니다. 현재 SSE3 도 최고급 명령어 세트입니다. 인텔 Prescott 프로세서는 이미 SSE3 명령어를 지원합니다. AMD 는 향후 듀얼 코어 프로세서에 SSE3 명령어에 대한 지원을 추가할 예정이며, America 프로세서도 이를 지원할 예정입니다.
8.CPU 코어 및 I/O 작동 전압
586CPU 부터 CPU 의 작동 전압은 코어 전압과 I/O 전압으로 구분됩니다. 일반적으로 CPU 의 코어 전압은 I/O 전압보다 작거나 같습니다. 여기서 코어 전압의 크기는 CPU 의 생산 공정에 따라 달라집니다. 일반 생산 공정이 작을수록 커널의 작동 전압이 낮아집니다. I/O 전압은 일반적으로 1.6~5V 입니다. 낮은 전압은 전력 소비량이 너무 많고 발열량이 너무 많은 문제를 해결할 수 있다.
9. 제조 공정
제조 공정의 미크론은 집적 회로의 회로 간 거리입니다. 제조 기술의 추세는 더 높은 밀도로 발전하는 것이다. IC 회로 설계의 밀도가 높을수록 크기와 면적이 같은 IC 에서 더 고밀도의 복잡한 기능을 갖춘 회로 설계를 할 수 있다는 뜻입니다. 현재 주요 180nm, 130nm, 90nm 입니다. 최근 당국은 이미 65nm 의 제조 공정이 있다고 밝혔다.
10. 명령어 세트
(1)CISC 스크립트
복잡한 스크립트라고도 하는 CISC 스크립트는 영어를 CISC (complex instruction set computer 의 약어) 라고 합니다. CISC 마이크로프로세서에서 프로그램의 명령은 순차적으로 실행되며 각 명령의 작업도 순차적으로 실행됩니다. 순차 실행의 장점은 제어가 간단하지만 컴퓨터의 각 부분이 활용도가 낮고 실행 속도가 느리다는 것입니다. 실제로 Intel 에서 제조한 x86 시리즈 (예: IA-32 아키텍처) CPU 와 호환되는 CPU (예: AMD 및 VIA) 입니다. 새로운 X86-64 (AMD64 라고도 함) 도 CISC 에 속합니다.
명령 집합이 무엇인지 알기 위해서는 오늘의 X86 아키텍처 CPU 부터 시작해야 한다. X86 명령어는 인텔에서 첫 번째 16 비트 CPU(i8086) 를 위해 특별히 개발했습니다. IBM IBM 198 1+0 이 출시한 세계 최초의 PC 에서 CPU-I 8088(I 8086 의 간소화된 버전) 도 X86 명령을 사용했습니다. 또한 컴퓨터에 X87 칩을 추가하여 부동 소수점 데이터 처리 능력을 높였으며 나중에 X86 명령어와 X87 명령어를 추가했습니다.
CPU 기술이 발전함에 따라 인텔은 과거 PII 제온, PIII 제온, 펜티엄 3 부터 오늘날의 펜티엄 4 시리즈 및 제온 (제온 노코너 제외) 에 이르기까지 새로운 i80386 및 i80486 을 지속적으로 개발하여 과거 개발된 다양한 애플리케이션을 계속 실행하고 풍부한 소프트웨어 리소스를 보호하고 상속할 수 있도록 했습니다. Intel X86 시리즈와 호환되는 CPU (예: AMD Athlon MP 등) 가 있기 때문입니다. ) 모두 X86 명령어를 사용하여 오늘날 방대한 X86 시리즈와 호환 CPU 라인업을 형성했습니다. 현재 x86CPU 에는 주로 Intel 의 서버 CPU 와 AMD 의 서버 CPU 가 포함되어 있습니다.
(2)RISC 명령어 세트
RISC 는 영어 "Reduced Instruction Set Computing" 과 중국어 "Reduced Instruction Set" 의 약자입니다. CISC 명령 시스템을 기반으로 개발되었습니다. CISC 기계에 대한 일부 테스트에 따르면 다양한 명령의 빈도는 상당히 다릅니다. 가장 일반적으로 사용되는 몇 가지 간단한 명령은 전체 명령 수의 20% 에 불과하지만 프로그램에서 발생하는 빈도는 80% 를 차지합니다. 복잡한 명령어 시스템은 마이크로프로세서의 복잡성을 증가시켜 개발 시간이 길고 비용이 많이 들 수밖에 없다. 그리고 복잡한 지시에는 복잡한 연산이 필요하므로 컴퓨터의 속도를 늦출 수밖에 없다. 이러한 이유로 RISC CPU 는 80 년대에 탄생했습니다. RISC CPU 는 CISC CPU 에 비해 명령어 시스템을 단순화할 뿐만 아니라 초과 수량 및 하이퍼라인이라는 구조를 사용하여 병렬 처리 능력을 크게 높였습니다. RISC 명령어 세트는 고성능 CPU 의 발전 방향입니다. 기존 CISC (복합 명령어 세트) 와는 반대입니다. 반면 RISC 는 복잡한 명령어보다 일관된 명령어 형식, 적은 유형, 적은 주소 지정 방식을 갖추고 있습니다. 물론 처리 속도가 훨씬 빨라야 한다. 현재 이 명령어 시스템의 CPU 는 중급형 서버, 특히 하이엔드 서버에서 RISC 명령어 시스템 CPU 를 채택하고 있습니다. RISC 명령어 시스템은 하이엔드 서버의 운영 체제인 UNIX 에 더 적합하며, 현재는 Linux 도 유닉스 운영 체제에 속합니다. RISC CPU 는 소프트웨어 및 하드웨어에서 Intel 및 AMD CPU 와 호환되지 않습니다.
현재 중급형 서버가 RISC 명령을 사용하는 CPU 는 주로 PowerPC 프로세서, SPARC 프로세서, PA-RISC 프로세서, MIPS 프로세서, 알파 프로세서 등 몇 가지 범주로 구성되어 있다.
⑶IA-64
EPIC (명시적 병렬 명령어 컴퓨터) 가 RISC 및 CISC 시스템의 상속자인지 여부에 대해 많은 논쟁이 있었다. Epic 시스템의 경우 인텔 프로세서가 RISC 시스템으로 나아가는 중요한 단계에 더 가깝습니다. 이론적으로 동일한 호스트 구성에서 EPIC 시스템은 Unix 기반 애플리케이션보다 CPU 를 훨씬 더 잘 설계합니다.
인텔 EPIC 기술 기반 서버 CPU 는 아이테니엄 (개발 코드명 Merced) 에 위치한 아이테니엄 (Merced) 입니다. IA-64 비트 프로세서이자 IA-64 시리즈의 첫 번째 프로세서입니다. Microsoft 는 또한 소프트웨어가 지원하는 Win64 라는 운영 체제를 개발했습니다. 인텔은 X86 명령어를 채택함에 따라 더 발전된 64 비트 마이크로프로세서를 찾기 위해 방향을 바꾸었다. 인텔이 이렇게 하는 이유는 방대한 x86 아키텍처에서 벗어나 활기차고 강력한 명령어 세트를 도입하여 EPIC 명령어가 있는 IA-64 아키텍처를 탄생시켰기 때문입니다. IA-64 는 여러 방면에서 x86 보다 큰 발전을 이루었다. 기존 IA32 아키텍처의 많은 한계를 극복하고 데이터 처리 능력, 시스템 안정성, 보안, 가용성 및 관측 가능성 측면에서 획기적인 발전을 이루었습니다.
IA-64 마이크로프로세서의 가장 큰 단점은 x86 과 호환되지 않는다는 것입니다. IA-64 프로세서가 두 왕조 소프트웨어를 더 잘 실행할 수 있도록 인텔은 IA-64 프로세서 (아이테니엄, 아이테니엄 2 ...) 에 x86 명령을 IA-64 명령으로 번역했습니다. 이 디코더는 가장 효율적인 디코더도 아니고 x86 코드를 실행하는 가장 좋은 방법 (가장 좋은 방법은 x86 프로세서에서 직접 x86 코드를 실행하는 것) 도 아니기 때문에 아이태니엄과 아이태니엄 2 는 x86 응용 프로그램을 실행할 때 성능이 좋지 않습니다. 이것은 또한 X86-64 의 근본 원인이되었습니다.
(4)X86-64 (AMD64/EM64T)
HAMD 는 64 비트 정수 연산을 동시에 처리하고 X86-32 아키텍처와 호환되도록 설계되었습니다. 64 비트 논리 주소 지정을 지원하며 32 비트 주소 지정으로 변환할 수 있는 옵션을 제공합니다. 그러나 기본 데이터 조작 지침은 32 비트와 8 비트이며 64 비트와 16 비트로 변환할 수 있는 옵션을 제공합니다. 범용 레지스터를 지원합니다. 32 비트 연산인 경우 결과는 완전한 64 비트로 확장됩니다. 이 지시문에는' 직접 실행' 과' 변환 실행' 의 차이가 있습니다. 지시문 필드는 8 비트 또는 32 비트이므로 필드가 너무 길어지지 않도록 합니다.
X86-64 (AMD64 라고도 함) 의 생성은 공혈이 아니다. X86 프로세서의 32 비트 주소 지정 공간은 4GB 메모리로 제한되며 IA-64 프로세서는 x86 과 호환되지 않습니다. AMD 는 고객의 요구를 충분히 고려하여 x86 명령어 세트의 기능을 강화하여 64 비트 컴퓨팅 모드를 동시에 지원할 수 있도록 합니다. 따라서 AMD 는 해당 구조를 x86-64 라고 합니다. 기술적으로 AMD 는 X86-64 아키텍처에서 64 비트 작업을 수행하기 위해 기존 X86 프로세서 레지스터의 확장으로 R8-R 15 범용 레지스터를 출시했지만 이러한 레지스터는 32 비트 환경에서 충분히 사용되지 않았습니다. EAX 및 EBX 와 같은 원시 레지스터도 32 비트에서 64 비트로 확장되었습니다. SSE 유닛은 SSE2 를 지원하기 위해 8 개의 새로운 레지스터를 추가했습니다. 레지스터 수를 늘리면 성능이 향상됩니다. 또한 32 비트와 64 비트 코드와 레지스터를 모두 지원하기 위해 x86-64 아키텍처는 프로세서가 긴 모드와 레거시 모드, 긴 모드는 두 개의 하위 모드 (64 비트 모드와 호환 모드) 로 작동할 수 있도록 합니다. 이 표준은 AMD 서버 프로세서의 Opteron 프로세서에 도입되었습니다.
올해 64 비트를 지원하는 EM64T 기술이 출시되었습니다. 공식적으로 EM64T 로 명명되기 전에는 IA32E 로, Intel 의 64 비트 확장 기술 이름으로 X86 명령 세트를 구별하는 데 사용되었습니다. 인텔의 EM64T 는 AMD 의 X86-64 기술과 유사한 64 자리 모드를 지원합니다. 64 비트 선형 평면 주소 지정, 새로운 GPRs (Global Registrator) 8 개, SSE 명령을 지원하는 레지스터 8 개가 추가되었습니다. AMD 와 마찬가지로 Intel 의 64 비트 기술은 IA32 및 IA32E 와 호환되며 64 비트 운영 체제를 실행하는 경우에만 IA32E 를 사용합니다. IA32E 는 AMD64 처럼 역호환되는 64 자리 모드와 32 자리 모드의 두 가지 하위 모드로 구성됩니다. 인텔의 EM64T 는 AMD 의 X86-64 기술과 완벽하게 호환됩니다. 이제 노코나 프로세서는 64 비트 기술을 추가하고 인텔의 펜티엄 4E 프로세서는 64 비트 기술을 지원합니다.
둘 다 x86 명령어 세트와 호환되는 64 비트 마이크로프로세서 아키텍처이지만 EM64T 와 AMD64 사이에는 약간의 차이가 있습니다. AMD64 프로세서의 NX 비트는 인텔 프로세서에서 제공되지 않습니다.
1 1. 하이퍼라인 및 초과 수량
수퍼라인과 초과량을 설명하기 전에 먼저 조립 라인을 이해해야 한다. 조립 라인은 최초로 인텔이 486 칩에서 사용한 것이다. 조립 라인은 산업 생산의 조립 라인처럼 작동합니다. CPU 에서 명령 처리 라인은 5-6 개의 기능이 다른 회로 단위로 구성된 다음 X86 명령을 5-6 단계로 나누어 각각 이러한 회로 단위로 실행합니다. 이렇게 하면 하나의 CPU 클럭 주기 내에 명령을 완료할 수 있으므로 CPU 실행 속도가 향상됩니다. 클래식 펜티엄의 각 정수 파이프라인은 명령 프리페치, 디코딩, 실행, 다시 쓰기 결과의 4 단계로 나뉘며 부동 소수점 파이프라인은 8 단계로 나뉩니다.
초과량은 여러 개의 파이프 라인을 구축하여 여러 프로세서를 동시에 실행하는 것으로, 본질적으로 공간을 시간 바꾸는 것이다. 수퍼라인은 파이프라인을 미세 조정하여 클럭 속도를 높임으로써 기계 주기 동안 하나 이상의 작업을 수행할 수 있습니다. 그 본질은 시간과 공간을 교환하는 것입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 시간명언) 예를 들어 펜티엄 4 의 조립 라인은 최대 20 급입니다. 파이프 라인 설계가 길수록 명령 완료 속도가 빨라지므로 작업 빈도가 높은 CPU 에 적응할 수 있습니다. 그러나 긴 조립 라인도 부작용이 있어 주파수가 높은 CPU 의 실제 작동 속도가 느려질 가능성이 높다. 이것은 인텔 펜티엄 4 의 경우입니다. 클럭 속도는 1.4G 까지 올라갈 수 있지만 AMD Athlon 이나 펜티엄 III 보다 성능이 훨씬 떨어집니다.
CPU 캡슐화는 특정 재질을 사용하여 CPU 칩 또는 CPU 모듈을 경화시켜 손상을 방지하는 보호 조치입니다. 일반 CPU 는 포장만 해야 사용자에게 배달할 수 있습니다. CPU 의 패키징 방식은 CPU 의 설치 형태와 부품의 통합 설계에 따라 달라집니다. 큰 분류에서 소켓 소켓에 설치된 CPU 는 일반적으로 PGA (그리드 어레이) 로 캡슐화되는 반면 슬롯 X 슬롯 설치의 CPU 는 모두 SEC (단면 플러그인 박스) 로 캡슐화됩니다. PLGA (플라스틱 그리드 배열) 및 올가 (유기 그리드 배열) 와 같은 패키징 기술이 있습니다. 시장 경쟁이 갈수록 치열해지면서 현재 CPU 패키징 기술의 발전 방향은 주로 비용 절감이다.
13, 멀티스레드
동시 멀티 스레드 동시 멀티 스레드 (SMT). SMT 는 프로세서의 구조 상태를 복제하여 동일한 프로세서의 여러 스레드를 동시에 실행하고, 프로세서의 실행 리소스를 공유하며, 넓은 송신 및 임의 초과 처리를 극대화하고, 프로세서 컴퓨팅 부품의 활용도를 높이고, 데이터 관련 또는 캐시 실패로 인한 액세스 지연을 완화합니다. 멀티 스레딩을 사용할 수 없는 경우 SMT 프로세서는 기존의 와이드 송신 초과 프로세서와 거의 동일합니다. SMT 의 가장 매력적인 점은 프로세서 코어의 디자인을 소규모로 변경하기만 하면 추가 비용을 거의 추가하지 않고도 성능을 크게 향상시킬 수 있다는 것입니다. 멀티 스레드 기술은 고속 컴퓨팅 코어를 위해 더 많은 보류 중인 데이터를 준비하고 컴퓨팅 코어의 유휴 시간을 줄여줍니다. 이것은 데스크탑 로우엔드 시스템에 매우 매력적이다. 3.06GHz 펜티엄 4 부터 모든 인텔 프로세서는 SMT 기술을 지원합니다.
14, 멀티코어
멀티 코어, 칩 멀티 프로세서 (CMP) 라고도 합니다. CMP 는 미국 스탠퍼드 대학에서 제안한 것이다. 대규모 병렬 프로세서의 SMP (대칭 멀티프로세서) 를 동일한 칩에 통합하고 프로세서마다 서로 다른 프로세스를 병렬로 실행한다는 생각입니다. SMT 프로세서 구조의 유연성은 CMP 보다 더 두드러집니다. 그러나 반도체 공정이 0. 18 미크론에 진입할 때 선 지연은 이미 문 지연을 초과했기 때문에 마이크로프로세서의 설계는 더 작고 국부적인 기본 단위 구조를 분할하여 진행해야 한다. 반면, CMP 구조는 여러 개의 프로세서 코어로 나뉘며, 각 코어는 비교적 간단하며 설계를 최적화하는 데 도움이 되므로 발전 가능성이 더 높습니다. 현재 IBM 의 Power 4 칩과 Sun 의 MAJC5200 칩은 모두 CMP 구조를 채택하고 있습니다. 멀티 코어 프로세서는 프로세서 내의 캐시를 공유하고 캐시 활용도를 높이며 멀티 프로세서 시스템 설계의 복잡성을 단순화합니다. --
2005 년 하반기에는 인텔과 AMD 의 새 프로세서도 CMP 구조에 통합될 예정입니다. 새로운 아이테니엄 프로세서의 개발 코드명은 몬테시토 (Montecito) 로 듀얼 코어 설계로 최소 18MB 의 온칩 캐시가 있으며 90nm 공정으로 제조됩니다. 그것의 디자인은 확실히 오늘날의 칩 산업에 대한 도전이다. 각각의 독립 코어에는 약 1, L2 및 L3 캐시가 있으며 약1억 개의 트랜지스터를 포함합니다.
15, SMP
SMP (Symmetric Multi-Processing structure) 는 symmetric multi-processing structure (symmetric multi-processing structure) 의 약어로 한 컴퓨터에 조립된 프로세서 세트 ( 이 기술을 통해 서버 시스템은 여러 프로세서를 동시에 실행할 수 있으며 메모리 및 기타 호스트 리소스를 활용할 수 있습니다. 이중 Xeon, 즉 2 소켓처럼 대칭 프로세서 시스템에서 가장 흔한 유형입니다 (Xeon MP 는 4 방향 지원, AMD Opteron 은 1-8 지원). 몇 개는 16 입니다. 그러나 일반적으로 SMP 구조의 기계 확장성이 부족하여 100 이상의 프로세서를 수행하기가 어렵습니다. 일반적으로 8 ~ 16 개의 프로세서가 있지만 대부분의 사용자에게 충분합니다. 최대 256 개의 CPU 를 지원할 수 있는 시스템의 UNIX 서버와 같이 고성능 서버 및 워크스테이션급 마더보드 아키텍처에서 가장 일반적입니다.
SMP 시스템을 구축하려면 SMP 를 지원하는 하드웨어에는 마더보드 및 CPU; 가 포함됩니다. SMP 를 지원하는 시스템 플랫폼과 SMP 를 지원하는 애플리케이션 소프트웨어.
SMP 시스템을 효율적으로 운영하려면 운영 체제가 WINNT, LINUX, UNIX 등 32 비트 운영 체제를 지원해야 합니다. 즉, 멀티 태스킹 및 멀티 스레딩을 수행할 수 있습니다. 멀티 태스킹이란 운영 체제가 서로 다른 CPU 가 동시에 서로 다른 작업을 수행할 수 있도록 하는 것을 말합니다. 멀티 스레딩이란 운영 체제가 서로 다른 CPU 가 동일한 작업을 동시에 수행할 수 있도록 하는 것을 말합니다.
SMP 시스템을 설정하려면 선택한 CPU 에 대한 요구 사항이 높습니다. 첫째, CPU 에는 내장 APIC (고급 프로그래밍 가능 인터럽트 컨트롤러) 장치가 있어야 합니다. 인텔 멀티프로세싱 사양의 핵심은 고급 프로그래밍 가능한 인터럽트 컨트롤러 (APICS) 를 사용하는 것입니다. 다시 한 번, 동일한 제품 모델, 동일한 유형의 CPU 코어, 동일한 작동 주파수 마지막으로, 두 개의 프로덕션 배치의 CPU 가 이중 프로세서로 실행될 경우 한 CPU 에 과부하가 걸리고 다른 CPU 에 과부하가 가해져 최대 성능을 발휘하지 못하고 더 심각한 경우 작동이 중지될 수 있으므로 동일한 제품 일련 번호를 유지하려고 합니다.
16, NUMA 기술
NUMA 는 비균일 액세스 분산 스토리지 기술로, 각 노드가 단일 CPU 또는 SMP 시스템일 수 있는 고속 전용 네트워크를 통해 여러 개의 개별 노드로 구성된 시스템입니다. NUMA 에는 캐시 일관성을 위한 솔루션이 많이 있으며 운영 체제와 전용 소프트웨어의 지원이 필요합니다. 그림 2 는 Sequent 의 NUMA 시스템의 예입니다. 세 개의 SMP 모듈은 고속 사설망을 통해 하나의 노드로 연결되며 각 노드는 12 개의 CPU 를 가질 수 있습니다. Sequent 와 같은 시스템은 최대 64 개의 CPU 또는 256 개의 CPU 를 지원할 수 있습니다. 분명히 이것은 SMP 와 NUMA 기술의 결합이다.
17, 무순서 실행 기술
Out-of-orderexecution (out-of-order execution) 은 CPU 가 프로그램에 지정된 순서대로 개발되지 않고 처리를 위해 해당 회로 단위로 전송될 수 있도록 하는 기술입니다. 이렇게 미리 실행할 수 있는 명령은 각 회로 단위의 상태와 각 명령을 미리 실행할 수 있는지 여부에 따라 즉시 해당 회로 단위로 전송되어 실행됩니다. 이 기간 동안 명령은 지정된 순서로 실행되지 않으며, 각 실행 단위의 결과는 스케줄 조정 단위에 의해 명령 순서대로 재정렬됩니다. 무순서 실행 기술을 채택하는 목적은 CPU 내부 회로를 전체 부하로 작동시켜 CPU 가 프로그램을 실행하는 속도를 높이는 것입니다. 분기 기술: (분기) 명령이 작동할 때 결과를 기다려야 합니다. 일반적으로 무조건적인 분기는 명령 순서대로 실행하기만 하면 되고, 조건부 분기는 처리된 결과에 따라 원래 순서로 진행되는지 여부를 결정해야 합니다.
18, CPU 용 메모리 컨트롤러
많은 애플리케이션이 보다 복잡한 읽기 모드 (거의 무작위적, 특히 캐시 적중이 예측할 수 없는 경우) 를 갖추고 있으며 대역폭을 효율적으로 활용할 수 없습니다. 일반적인 응용 프로그램은 비즈니스 처리 소프트웨어입니다. 임의 순서 실행과 같은 CPU 특성이 있더라도 메모리 지연에 의해 제한될 수 있습니다. 이렇게 하면 CPU 가 CPU 캐시 또는 주 메모리 시스템에서 데이터를 실행하는지 여부에 관계없이 필요한 데이터의 피제수가 로드될 때까지 CPU 가 명령을 실행할 수 없습니다. 현재 로우 레벨 시스템의 메모리 지연은 약 120- 150 ns 이고 CPU 속도는 3GHz 이상이며 단일 메모리 요청은 200-300 개의 CPU 주기를 낭비할 수 있습니다. 캐시 적중률이 99% 에 달하는 경우에도 CPU 는 메모리 요청이 끝날 때까지 50% 정도 걸릴 수 있습니다 (예: 메모리 지연).
드래곤 통합 메모리 컨트롤러의 지연이 듀얼 채널 DDR 메모리 컨트롤러를 지원하는 칩셋의 지연보다 훨씬 낮다는 것을 알 수 있습니다. 인텔은 또한 계획대로 프로세서 내부에 메모리 컨트롤러를 통합하여 북교 칩을 덜 중요하게 만들었습니다. 그러나 프로세서가 주 메모리에 액세스하는 방식을 변경하여 대역폭을 높이고 메모리 대기 시간을 줄이며 프로세서 성능을 향상시킬 수 있습니다.