CPU 속도를 제한하는 것은 무엇입니까?


102

최근에 LaTeX 컴파일에 대해 친구와 이야기했습니다. LaTeX는 하나의 코어 만 사용하여 컴파일 할 수 있습니다. LaTeX 컴파일 속도의 경우 CPU의 클럭 속도가 가장 중요합니다 ( 최고의 LaTeX 컴파일 성능을 위해 하드웨어 선택 팁 참조 )

호기심으로 클럭 속도가 가장 높은 CPU를 찾았습니다. 클럭 속도가 가장 높은 4.4GHz ( 소스 )의 Intel Xeon X5698이라고 생각합니다 .

그러나이 질문은 판매되는 CPU에 관한 것이 아닙니다. 가격에 신경 쓰지 않으면 얼마나 빨리 얻을 수 있는지 알고 싶습니다.

따라서 한 가지 질문은 : CPU 속도에 물리적 제한이 있습니까? 얼마나 높습니까?

그리고 다른 질문은 : 지금까지 도달 한 최고 CPU 속도는 얼마입니까?

나는 항상 냉각 ( )이 어려워 CPU 속도가 제한적이라고 생각했습니다 . 그러나 내 친구는 이것이 이유라고 의심합니다 (예를 들어 과학 실험에서 전통적이고 저렴한 냉각 시스템을 사용할 필요가없는 경우).

[2]에서는 전송 지연으로 인해 CPU 속도가 또 다른 제한을 받는다는 것을 읽었습니다 . 그러나 그들은 얼마나 빨리 얻을 수 있는지 언급하지 않습니다.

내가 찾은 것

나에 대해서

저는 컴퓨터 과학 학생입니다. CPU에 대해 알고 있지만 너무 많지는 않습니다. 그리고이 질문에 중요한 물리학은 더 적습니다. 가능하다면 대답을 명심하십시오.


10
귀하의 질문은 좋은 것입니다. 아주 훌륭하고 교육받은 답변을 기대하십시오. 내 두 센트 : "하나의 코어에서만 실행됩니다"-> "시계가 가장 중요하다"는 의미는 사실이 아닙니다.
Vladimir Cravero

12
오버 클럭 된 CPU의 현재 레코드는 8.4GHz에서 실행 되는 AMD 불도저 입니다. 액체 질소를 사용하여 냉각시켰다.
tcrosley

2
질문 제목은 "CPU 속도를 제한하는 것은 무엇입니까?"입니다. "LaTeX는 하나의 코어 만 사용하여 컴파일 할 수 있습니다. 따라서 LaTeX 컴파일 속도를 위해서는 CPU의 클럭 속도가 가장 중요합니다." CPU 캐시도 차이를 만들 수 있습니다. 최신 CPU가 작동하는 방식과 주파수는 동일하지만 캐시 크기가 다른 CPU가 다르고 소프트웨어가 작성되고 사용되는 방식이 다르기 때문에 CPU 캐시가 실행 속도에 더 큰 영향을 줄 수 있습니다. CPU 주파수.
Shivan Dragon

2
단일 스레드 성능은 클럭 속도에 정비례하지 않습니다. 관계가 더 복잡합니다. 이것은 최근 인텔 x86 마이크로 아키텍처와 주파수 증가에 따른 비용의 일부를 보상하는 마이크로 아키텍처 개선과의 유사성에 의해 부분적으로 가려 질 수 있습니다.
Paul A. Clayton

9
2004 2GHz 프로세서와 2014 2GHz 프로세서를 비교하는 것이 좋습니다. 단일 스레드 작업에서도 동일한 야구장에 있지 않으며 둘 다 동일한 명령어 세트를 구현할 때도 마찬가지입니다. 공급되는 CISC 명령어는 한 가지이지만 미세 조작은 세분화됩니다. 다른 꽤 있습니다.
찰스 더피

답변:


76

실제로 CPU 속도를 제한하는 것은 생성 된 열과 게이트 지연 모두이지만, 일반적으로 후자가 시작되기 전에 열이 훨씬 더 큰 문제가됩니다.

최신 프로세서는 CMOS 기술을 사용하여 제조됩니다. 클럭 사이클이있을 때마다 전력이 소비됩니다. 따라서 프로세서 속도가 높을수록 더 많은 열이 방출됩니다.

http://en.wikipedia.org/wiki/CMOS

다음은 몇 가지 수치입니다.

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

여기에 이미지 설명을 입력하십시오

CPU 전이 전력이 (지수 적으로) 어떻게 증가하는지 실제로 볼 수 있습니다.

또한 트랜지스터의 크기가 줄어들면서 일부 양자 효과가 발생합니다. 나노 미터 수준에서 트랜지스터 게이트는 실제로 "누설"됩니다.

http://computer.howstuffworks.com/small-cpu2.htm

이 기술의 작동 방식에 대해서는 다루지 않겠지 만 Google을 사용하여 이러한 주제를 찾아 볼 수 있습니다.

이제 전송 지연에 대해 알아 보겠습니다.

CPU 내부의 각 "와이어"는 작은 커패시터 역할을합니다. 또한, 트랜지스터의베이스 또는 MOSFET의 게이트는 작은 커패시터로서 작용한다. 연결의 전압을 변경하려면 와이어를 충전하거나 충전을 제거해야합니다. 트랜지스터가 줄어들면 그렇게하기가 더 어려워집니다. 이것이 실제로 메모리 어레이 트랜지스터가 너무 작고 약하기 때문에 SRAM이 증폭 트랜지스터를 필요로하는 이유이다.

밀도가 매우 중요한 일반적인 IC 설계에서 비트 셀은 트랜지스터가 매우 작습니다. 또한 이들은 일반적으로 매우 큰 비트 라인 커패시턴스를 갖는 대형 어레이에 내장되어 있습니다. 이는 비트 셀에 의한 비트 라인의 방출을 매우 느리게 (상대적으로) 방출시킨다.

From : SRAM 감지 증폭기를 구현하는 방법?

기본적으로 요점은 작은 트랜지스터가 상호 연결을 구동하기가 더 어렵다는 것입니다.

또한 게이트 지연이 있습니다. 최신 CPU에는 파이프 라인 단계가 10 개 이상, 아마도 최대 20 개가 있습니다.

파이프 라이닝의 성능 문제

유도 효과도 있습니다. 마이크로파 주파수에서는 상당히 중요해집니다. 누화와 그런 것들을 찾아 볼 수 있습니다.

이제 3265810 THz 프로세서를 작동 시키더라도 시스템의 나머지 부분이 얼마나 빨리 지원할 수 있는지에 대한 또 다른 실질적인 한계가 있습니다. RAM, 스토리지, 글루 로직 및 기타 빠른 상호 연결 성능을 갖추거나 거대한 캐시가 필요합니다.

도움이 되었기를 바랍니다.


1
클럭 속도와 전력 소비의 관계에 대한 훌륭한 참고 자료를 위해이 토론에 대한 링크를 포함하고 싶을 수도 있습니다. physics.stackexchange.com/questions/34766/…
Emiswelt

2
전송 지연에 대해 이야기 할 때 고려해야 할 전기 속도도 있습니다. en.wikipedia.org/wiki/Speed_of_electricity
ryantm

실제로 기하 급수적으로 증가합니까 아니면 2 차적으로 증가합니까? 사실,이 비디오 는 말합니다 Power = Frequency ^ 1.74.
Paul Manta

2
그러나 CPU 설계에서 가장 큰 어려움 중 하나는 상호 연결입니다. 물리적으로 큰 칩이 가능할 수 있지만 기가 헤르츠 범위에서 작동하고 있음을 기억하십시오. 전선을 짧게 유지하려고합니다.
fuzzyhair2

2
문제는 이론적이므로 갈륨 비소와 같은 다른 반도체는 더 높은 주파수를 허용한다고 덧붙일 수 있습니다.
Iacopo

32

열 문제는 퍼지 헤어로 잘 덮여 있습니다. 전송 지연을 요약하려면 다음 사항을 고려하십시오. 전기 신호가 마더 보드를 통과하는 데 필요한 시간은 현재 최신 CPU의 클럭주기보다 두 배 이상 입니다. 따라서 더 빠른 CPU를 만드는 것은 큰 성과를 거두지 못할 것입니다.

초고속 프로세서는 실제로 엄청난 수의 크 런칭 프로세스에만 유용하며 코드가 칩 내부에서 작동하도록 신중하게 최적화 된 경우에만 유용합니다. 데이터를 위해 다른 곳으로 자주 가야하는 경우, 그 추가 속도가 모두 낭비됩니다. 오늘날의 시스템에서는 대부분의 작업을 병렬로 실행할 수 있으며 큰 문제는 여러 코어로 나뉩니다.

라텍스 컴파일 프로세스가 다음과 같이 향상되는 것처럼 들립니다.

  • 더 빠른 IO. RAMdisk를 시도하십시오.
  • 다른 코어에서 다른 문서 실행
  • 200 초짜리 이미지 집약적 인 작업이 2 초 안에 완료 될 것으로 예상하지 않음

2
너무 나쁘다 나는 단 하나의 공감 만 허용된다. 귀하의 답변은 클록 속도가 OP 문제의 병목 현상이 아닐 수 있음을 지적해야합니다.
Solomon Slow

17

물리적 한계에는 열, 게이트 지연 및 전기 전송 속도가 있습니다.

지금까지 최고 클럭 속도에서 세계 기록은 8722.78 MHz 입니다 ( 링크에 따름).

전기 전송 속도 (광 속도와 거의 동일)는 매체보다 데이터를 더 빨리 전송할 수 없으므로 절대 물리적 한계입니다. 동시에이 한계는 매우 높으므로 일반적으로 제한 요소가 아닙니다.

CPU는 방대한 양의 게이트로 구성되며, 그중 상당수가 직렬로 연결됩니다. 높은 상태 (예 : 1)에서 낮은 상태 (예 : 0)로 또는 그 반대로 전환하는 데 시간이 걸립니다. 이것이 게이트 지연입니다. 따라서 100 개의 게이트가 직렬로 연결되어 있고 1 개의 스위치가 전환되는 데 1ns가 걸리는 경우, 모든 것이 유효한 출력을 제공 할 때까지 최소 100ns를 기다려야합니다.

이 스위치는 CPU를 가장 많이 사용하는 것입니다. 즉, 클럭 속도를 높이면 더 많은 스위치를 얻을 수 있으므로 더 많은 전력을 사용하므로 열 출력이 증가합니다.

과전압 (=> 더 많은 전력을 제공)은 게이트 지연을 조금 줄이지 만 열 출력을 다시 증가시킵니다.

약 3 GHz 어딘가에 클럭 속도를 높이기위한 전력 사용이 크게 증가합니다. 이것이 1.5GHz CPU가 스마트 폰에서 실행될 수있는 반면 대부분의 3-4GHz CPU는 랩톱에서도 실행될 수없는 것입니다.

그러나 클럭 속도 만이 CPU 속도를 높일 수있는 것은 아니며 파이프 라인 또는 마이크로 코드 아키텍처에서의 최적화로 인해 상당한 속도 향상이 발생할 수 있습니다. 그렇기 때문에 3GHz Intel i5 (Dualcore)가 3GHz Intel Pentium D (Dualcore)보다 몇 배 빠릅니다.


1
오버 클럭킹만으로도 CPU 전력 사용량이 선형 적으로 증가합니다. 따라서 클럭 속도의 두 배는 두 배의 전력 사용을 의미합니다. 그러나 더 높은 클럭 속도에서는 게이트가 해당 클럭 속도로 작동하기에 너무 느려져 계산 오류-> 임의 충돌이 발생하기 시작합니다. 따라서 게이트 속도를 높이려면 전압을 높여야합니다. 전력 사용은 전압에 비해 제곱입니다. 따라서 두 배의 전압은 전력 사용의 4 배를 의미합니다. 시계를 두 배로 늘리면 전력 사용이 8 배가됩니다. 또한 필요한 전압은 클럭 속도에 따라 기하 급수적으로 증가합니다. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron

1
여기서 또 다른 문제는 과전압이 CPU를 튀길 수 있고 그것에 대해 할 수있는 일은 없다는 것입니다. CPU가 3.3V로 지정된 경우 최대 3.7V 또는 4V까지 올라갈 수 있지만 높으면 칩이 손상됩니다. 읽을 가치가있는 또 다른 링크 : en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron

3
전송 속도 문제입니다. 3Ghz에서는 사이클 당 10cm 만 얻습니다. 전형적인 프로세서 다이는 현재 300m²를 가지고 있기 때문에, 10Ghz 이후에는 칩의 모든 부분이 한 사이클에 도달 할 수 없기 때문에 프로세서 설계를 재고해야 할 것이라고 생각합니다.
Martin Schröder

1
@ MartinSchröder : (a) 10GHz에 도달하기 전에 열과 게이트 지연으로 인해 CPU가 죽고 (b) 각 세대마다 프로세서가 작아지기 때문에 그다지 큰 문제는 아닙니다. 예를 들어, 하이퍼 스레딩 기능이있는 6 코어 i7은 단일 코어 Pentium 4와 크기가 거의 같습니다. 그러나 i7에는 하이퍼 스레딩을위한 6 개의 풀 코어와 6 개의 "하프 코어"가 있습니다. 또한 캐시가 있습니다. 또한 이러한 코어는 파이프 라인 단계로 분할됩니다. 한 사이클에서 한 코어 및 하나의 파이프 라인 단계 (및 L1- 캐시)의 CPU 부분에만 도달하면됩니다.
Dakkaron

1
@ com.prehensible 여러분이 링크 한 게시물은 실제로이 500GHz 트랜지스터는 아날로그 RF 프로세서에 사용되는 아날로그 트랜지스터에 불과하다는 사실에 대해 구체적으로 이야기합니다. 결코 컴퓨터 프로세서가 아닙니다.
Dakkaron

5

귀하의 질문에 대한 답변은 다음과 같습니다. 그렇습니다 . CPU 속도 에는 물리적 한계가 있습니다. 이론상 최대 한계는 "스위치"가 상태를 얼마나 빨리 전환 할 수 있는지에 의해 설정됩니다. 전자를 스위치의 기초로 사용한다면, 보어 반경 과 가능한 가장 빠른 속도 을 사용하여 주파수 를 계산합니다 상기 현재 기술의 상태는, 실제의 제한은 약 c = 3 × 10 8 , F = 1

r=5.291×1011
c=3×108,
8×109Hz
F=1t=c2πr=9.03×1017Hz
8×109Hz

LaTeX를 약간 수정했습니다. 빈도 수정이 올바른지 확인해 주시겠습니까?
Martin Thoma

현재의 기술 한계를 어떻게 생각 해냈습니까?
Martin Thoma

전류 제한이 "8x 10 ^ 9 Hz"라고 기록합니다. x 란 무엇입니까? 결국 곱셈 점을 쓰려고 했습니까?
Martin Thoma

1
또한 블랙홀의 Schwarzschild 반경에 최대한 빠른 컴퓨터를 구축하여 효과를 극대화 할 수 있습니다. 보어 반경은 고속으로 작업하기에 큰 방법입니다. :)
Goswin von Brederlow

3

따라서 한 가지 질문은 : CPU 속도에 물리적 제한이 있습니까?

그것은 CPU 자체에 크게 의존합니다. 제조 공차는 물리적 한계가 동일한 웨이퍼에서도 칩마다 조금씩 다르다는 사실을 초래합니다.

전송 지연으로 인해 CPU 속도에 또 다른 제한이 있습니다. 그러나 그들은 얼마나 빨리 얻을 수 있는지 언급하지 않습니다.

그것은 칩 디자이너가 만들 transmission delay거나 speed path length선택 했기 때문 입니다. 간단히 말해서, 단일 클럭 사이클에서 로직이 얼마나 많은 작업을 수행하는지 입니다. 논리가 복잡할수록 최대 클럭 속도가 느려지지만 전력 소비도 줄어 듭니다.

이것이 벤치 마크를 사용하여 CPU를 비교하려는 이유입니다. 사이클 당 작업 수는 크게 다르므로 원시 MHz를 비교하면 잘못된 아이디어를 얻을 수 있습니다.


2

실제로, 그것은 전압의 제곱에 대략 비례하는 화력을 결정 짓는 것입니다 : http://en.wikipedia.org/wiki/Thermal_design_power#Overview 모든 재료는 냉각 효율을 제한하는 비열 용량을 가지고 있습니다.
냉각 및 전송 지연에 대한 기술적 문제를 고려하지 않으면 신호가 초당 CPU 내에서 이동할 수있는 거리를 제한하는 빛의 속도를 알 수 있습니다. 따라서 CPU는 더 빨리 작동하도록 samller를 가져와야합니다. 마지막으로, 그것은 특정 주파수 이상으로 작동하고 있으며, cpu는 전자파 기능 (Scheedinger의 방정식에 따라 파동 함수로 모델링 된 전자)에 대해 투명해질 수 있습니다.
2007 년 일부 물리학 자들은 작동 속도의 기본 한계를 계산했습니다.http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502


0

다른 모든 대답뿐만 아니라 CPU 속도에 직접 영향을 미치지 않지만 CPU 주위에 무언가를 구축하는 것을 상당히 어렵게 만드는 몇 가지 다른 고려 사항도 있습니다.

요컨대, DC 이상에서는 무선 주파수가 문제가됩니다. 빨리 갈수록 모든 것이 거대한 라디오 역할을하는 경향이 있습니다. 이는 PCB 트레이스에 크로스 토크, 인접한 트랙 / 접지면, 노이즈 등과 같은 고유 커패시턴스 / 인덕턴스의 영향 등이 있음을 의미합니다.

더 빨리 갈수록이 모든 것이 더 나빠집니다 . 예를 들어 컴포넌트 레그 가 허용 할 수없는 인덕턴스를 유발할 수 있습니다.

DDR RAM이있는 Raspberry Pi 레벨의 "기본"PCB 레이아웃 지침을 살펴보면 데이터 버스 등의 모든 트레이스 길이가 동일해야하고 올바른 종료 등이 있어야합니다. 1GHz 미만으로 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.