왜 CPU가 더 크지 않습니까? [닫은]


21

CPU는 상대적으로 작으며 엔지니어들은 지속적으로 더 작게 만들고 같은 표면에 더 많은 트랜지스터를 얻기 위해 노력하고 있습니다.

왜 CPU가 더 크지 않습니까? 약 260mm 2 다이가 7 억 7,500 만 트랜지스터 (AMD Phenom II x4 955)를 수용 할 수있는 경우 . 그런 다음 520mm 2 는 두 배의 트랜지스터를 유지하고 기술적으로 클럭 속도 또는 코어를 두 배로 늘릴 수 있어야합니다. 왜 안 되나요?


4
모든 세부 사항을 알지는 못하지만 기본적으로 트랜지스터 등이 칩에 더 가깝게 위치할수록 더 효율적입니다. 따라서 면적을 4 배로 늘리면 칩 속도가 느려집니다.
ChrisF

1
또한 현재의 애플리케이션 상태를 고려할 때 최신 CPU는 아무 것도하지 않는 데 많은 시간을 소비합니다. 우리 사용자들이 우리가하고 싶은 것을 알아내는 동안 그들은 엄지 손가락을 돌리게됩니다.
surfasb

1
@ChrisF 다이 축소 (용량 감소로 인한 속도 게인)의 영향과 트랜지스터 수 감소를 혼동합니다. 스스로에게 물어보십시오 : 듀얼 코어의 개별 코어가 쿼드 코어의 코어보다 빠르게 실행됩니까?
artistoex

2
되는 일 - 인텔의 새로운 LGA2011 플랫폼에서 봐.
획기적인

3
비공개 투표에 동의하지 않습니다. 더 큰 칩을 만드는 것이 최고 답변에 표시된 것처럼 이해되지 않는 이유는 분명합니다. 따라서 그것은 "iOS보다 안드로이드가 낫다"와 같은 의견이없는 질문이 아닙니다. 나는 또한이 질문에 관심이있었습니다!
David Miani

답변:


18

일반적으로 당신이 옳습니다 : 단기적으로, 병렬화를 증가시키는 것은 실행 가능할뿐만 아니라 갈 수 있는 유일한 방법입니다. 실제로 캐시, 파이프 라이닝 및 하이퍼 스레딩뿐만 아니라 멀티 코어는 칩 영역 사용을 증가시켜 속도를 향상시키는 것입니다. 물론, 축소 된 형상은 다이 면적 사용 증가와 충돌하지 않습니다. 그러나 다이 수율 은 큰 제한 요소입니다.

다이 수율은 다이 크기에 반비례하여 증가합니다. 큰 다이는 단순히 웨이퍼 오류를 "잡을"가능성이 높습니다. 웨이퍼 오류가 다이에 부딪 치면 버릴 수 있습니다. 다이 수율은 분명히 다이 비용에 영향을 미칩니다. 따라서 비용 대비 다이 당 이익 측면에서 최적의 다이 크기가 있습니다.

훨씬 더 큰 다이를 생산하는 유일한 방법은 내결함성과 중복 구조를 통합하는 것입니다. 이것이 인텔이 Terra-Scale 프로젝트 에서 수행하려고하는 것입니다 (업데이트 : Dan이 지적한대로 매일 제품에서 이미 실시되고있는 것).


8
현대의 복잡한 CPU / GPU에서 다이 결함은 종종 비닝으로 공급됩니다. 미드 / 어퍼 레벨 GPU에는 일반적으로 전체 다이 부품과 하나 또는 두 개의 하위 구성 요소가 비활성화되어 칩 설계가 적어 가격 / 기능 포인트가 높아집니다. CPU에서도 마찬가지입니다. AMD의 트라이 코어 칩은 쿼드가 비활성화 된 쿼드이며 인텔 LGA2011 칩은 모두 8 개의 핵심 부품입니다. 풀 다이는 제온으로 만 사용됩니다. 4/6 코어 i7-2011은 부품이 비활성화 된 8 개의 코어 다이입니다. 다이 오류가 올바른 위치에 빠지면 더 싼 부품으로 비닝됩니다. 더 많은 모듈 식 GPU 오류율을 위해서는 낮은 빈을 설정하십시오.
Dan Neely

@DanN 감사합니다.이 답변을 내 답변에 추가했습니다
artistoex

23

기술적 인 문제가 많이 있습니다 (경로 길이가 너무 길어지고 효율이 떨어지고 전기적 간섭이 잡음을 유발 함). 주된 이유는 많은 트랜지스터가 너무 뜨거워서 충분히 냉각되지 않기 때문 입니다. 이것이 그들이 다이 크기를 줄이고 싶어하는 모든 이유 때문에 동일한 열 수준에서 성능을 향상시킬 수 있습니다.


물론 표준 데스크탑 / 노트북 컴퓨터의 맥락에서 의미한다고 덧붙여 야합니다.
Shinrai

1
경로 길이가 반드시 증가 할 필요는 없으며 로컬에 있습니다. 칩에 두 개의 코어를 놓아도 코어 내부의 경로 길이가 증가하지 않습니까? 열 분산도 더 넓은 영역에 분산되므로 그렇게 큰 문제는 아닙니다.
artistoex

1
맞아요, 뉘앙스가 많이 있지만, 그것에 들어갔다는 느낌이 들지 않았습니다. (또한 그 질문에 대해 명확하게 설명하지 않았기 때문에 추가 코어의 맥락에서 반드시 의미하는 것은 아닙니다.)
Shinrai

요점은 멀티 코어 프로세서가 OP가 제안한 것과 정확히 일치한다.
artistoex

3
하이퍼 스레딩이 "더 빠른 코어"라는 것을 어떻게 알 수 있습니까? 하이퍼 스레딩은 모든 논리 기반이며 크기와 관련이 없습니다 ... 현재 코어에서 사용 가능한 초과 용량이있는 경우이를 사용합니다. IE : 주어진 코어에서 MMX 장치와 FPU를 사용하는 경우 정수 기반 계산을 수행 할 수 있습니다.
Supercereal

15

여기에 주어진 답변 중 몇 가지는 좋은 답변입니다. CPU 크기를 늘리는 데 기술적 인 문제가 있으며 처리하기 위해 더 많은 열이 발생합니다. 그러나 충분한 인센티브가 주어지면 모두 극복 할 수 있습니다.

제가 생각하는 중심 문제인 경제학 을 추가하고 싶습니다 . CPU는 이와 같은 웨이퍼로 만들어지며 웨이퍼 당 많은 수의 CPU가 있습니다. 실제 제조 비용은 웨이퍼 당이므로 CPU 면적을 두 배로 늘리면 웨이퍼에 절반 만 들어갈 수 있으므로 CPU 당 가격이 두 배가됩니다. 또한 모든 웨이퍼가 항상 완벽하게 나오지는 않지만 오류가 발생할 수 있습니다. 따라서이 영역을 두 배로 늘리면 특정 CPU의 결함 가능성이 두 배가됩니다.

따라서 경제적 인 관점에서 그들이 항상 물건을 작게 만드는 이유는 가격 / 성능의 결정 요소 인 더 나은 성능 / mm ^ 2를 얻는 것입니다.

TL; DR : 언급 된 다른 이유들 외에도 CPU 영역을 두 배 이상 늘리면 비용이 두 배 이상 증가합니다.


이것이 주된 이유입니다. Hennessy and Pattersons의 컴퓨터 아키텍처 교과서 1 장 에서는 제작 과정과 CPU 다이 구동에 필요한 고려 사항에 대해 설명합니다.
Steve Blackwell

3

프로세서에 더 많은 트랜지스터를 추가한다고해서 자동으로 더 빨라지는 것은 아닙니다.

증가 된 경로 길이 == 느린 클럭 속도.
더 많은 트랜지스터를 추가하면 경로 길이가 늘어납니다. 모든 증가는 가치가 있어야합니다. 그렇지 않으면 비용, 열, 에너지는 증가하지만 성능은 저하됩니다.

물론 항상 더 많은 코어를 추가 할 수 있습니다. 왜 이러지 않습니까? 글쎄.


나는 여기서이 주제를 실제로 고려하지는 않습니다 (그러나 거기에 주제가있을지라도).
Shinrai

예, 동의합니다. 나는 그것이 더 잘 대답 될 것이라고 생각합니다. 나는 줄을 제거했다.
user606723

2

일반적인 가정이 잘못되었습니다. 이중 크기의 다이를 가진 CPU가 이중 속도로 작동 할 수있는 것은 아닙니다. 이것은 더 많은 코어 (32 또는 64 코어를 가진 일부 Intel manycore 칩 참조) 또는 더 큰 캐시를 추가하기위한 더 많은 공간을 추가합니다. 그러나 현재 소프트웨어의 대부분은 2 개 이상의 코어를 사용할 수 없습니다.

따라서 증가 된 다이 크기는 동일한 높이의 이득없이 가격을 엄청나게 증가시킵니다. 이것이 CPU가 (간체 화 된) 이유 중 하나입니다.


이것은 사실이 아닙니다. 트랜지스터가 많을수록 전파 깊이를 줄일 수 있으므로 명령을 완료하는 데 걸리는 클록주기가 줄어 듭니다. 그래도 클럭 속도 와는 아무런 관련이 없습니다 .
BlueRaja-대니 Pflughoeft

1

전자 장치에서 SMALLER = FASTER 3GHz는 20MHz보다 훨씬 작아야합니다. 상호 연결이 클수록 ESR이 커지고 속도가 느려집니다.

트랜지스터의 양을 두 배로 늘려도 클럭 속도는 두 배가되지 않습니다.


클럭 속도를 높이는 것은 속도 게인에 대한 유일한 접근 방법입니다. 이중 트랜지스터는 또 다른 트랜지스터입니다. 그 외에도, 상호 연결 축소는 다이 면적 증가와 충돌하지 않습니다.
artistoex

3
@artistoex, 그러나 단순히 트랜지스터를 두 배로 늘려도 더 빠르지는 않습니다. 이러한 트랜지스터를 활용하는 방식으로 설계해야합니다. 더 많은 트랜지스터 (같은 mm)는 일반적으로 더 낮은 클럭을 의미합니다.
user606723


0

공룡처럼 인공이든 아니든 큰 생물 은 느슨합니다. 비율 면적 / 부피 는 생존에 공평하지 않습니다 : 에너지에 대한 너무 많은 제약-모든 형태-안팎.


0

CPU를 연결된 노드 (트랜지스터)의 네트워크로 생각하십시오. 더 많은 기능을 제공하기 위해 노드 수와 노드 사이의 경로는 어느 정도 증가하지만 그 증가는 선형입니다. 따라서 한 세대의 CPU에는 백만 개의 노드가 있고 다음 세대에는 150 만 개의 노드가있을 수 있습니다. 회로의 소형화로 노드와 경로의 수가 작은 설치 공간으로 압축됩니다. 현재 제조 공정은 30 나노 미터까지입니다.

노드 당 5 개의 장치와 두 노드 사이에 5 개의 장치 거리가 필요하다고 가정 해 봅시다. 엔드 투 엔드, 직선으로 1 CM 공간에 22222 노드의 버스를 작성할 수 있습니다. 정사각형 CM에서 493 백만 개의 노드로 구성된 행렬을 만들 수 있습니다. 회로의 설계는 CPU의 논리를 포함합니다. 공간을 두 배로 늘리는 것이 속도를 높이는 것이 아니라 회로가 더 많은 논리 연산자를 가질 수있게합니다. 또는 멀티 코어 CPU의 경우 회로에서 더 많은 작업을 병렬로 처리 할 수 ​​있습니다. 풋 프린트를 늘리면 전자가 회로를 통해 더 먼 거리를 이동해야하기 때문에 실제로 클럭 속도가 감소합니다.

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