Tại sao các nhà sản xuất CPU ngừng tăng tốc độ xung nhịp của bộ xử lý của họ? [đóng cửa]


63

Tôi đã đọc được rằng các nhà sản xuất đã ngừng tập trung vào tốc độ xung nhịp cao hơn và hiện đang làm việc trên những thứ khác để cải thiện hiệu suất.

Với

  • một máy tính để bàn cũ với Bộ xử lý Intel® Xeon® E3110 với tốc độ xung nhịp 3.0GHz
  • và một máy chủ mới với Bộ xử lý AMD Opteron (TM) 6272 với tốc độ xung nhịp 2.1GHz

khi thực hiện so sánh mã hóa đơn giản bằng cách sử dụng (luồng đơn)

 openssl aes256c

máy tính để bàn hoạt động tốt hơn nhiều so với máy chủ.

Vì vậy, ngay cả với tối ưu hóa mới nhất, tại sao bộ xử lý với tốc độ xung nhịp tốt hơn sẽ hoạt động tốt hơn?


57
Chip máy tính để bàn là lõi kép; Máy chủ là CPU 16 nhân. Sử dụng một tiêu chuẩn đơn luồng hoàn toàn KHÔNG phù hợp.
MSalters

@learner - Bởi vì tốc độ của bộ xử lý không thể tăng lên khi tăng lượng điện áp mà chúng yêu cầu làm giảm nhiệt. Bằng cách tập trung vào mức tiêu thụ năng lượng, về lý thuyết họ sẽ có thể tăng tốc độ xử lý trong tương lai.
Ramhound

1
Vui lòng trích dẫn các trường hợp thực tế của 'nhà sản xuất' thậm chí giảm tốc độ đồng hồ (không so sánh táo và cam) hoặc giới hạn tiêu đề câu hỏi của bạn là 'không tăng'.
Jan Doggen

8
Tốc độ xung nhịp giữa AMD và Intel không phải là một so sánh công bằng kể từ ngày K6 / Pentium. AMD bán trên thị trường bộ xử lý Athlon là 2500+ hoặc 3000+ khi xung nhịp lõi của chúng có thể tương ứng là 1,8 hoặc 2,1, nhưng chúng thường được đo điểm chuẩn tương ứng với các chip Intel có xung nhịp 2,5 hoặc 3GHz thực sự. Có đơn giản là cách quá nhiều sự khác biệt giữa kiến trúc hiện nay để thực hiện một so sánh đơn giản về tốc độ xung nhịp.
KeithS

Câu trả lời:


72

Lý do các nhà sản xuất đã ngừng tập trung vào việc tăng tốc độ xung nhịp là vì chúng ta không còn có thể làm mát bộ xử lý đủ nhanh để điều này khả thi. Tốc độ xung nhịp càng cao, càng nhiều nhiệt được tạo ra và giờ chúng ta đã đạt đến giai đoạn không còn hiệu quả để tăng tốc độ xử lý do lượng năng lượng đi vào làm mát nó.

Câu trả lời khác đi vào chi tiết về tốc độ xung nhịp cao hơn không có nghĩa là hiệu suất tốt hơn trong tất cả các lĩnh vực.


1
+1 Tôi dường như đã mua máy của mình ngay khi bức tường này bị tấn công, chiếc P4 3,4 ghz 8 tuổi của tôi có lẽ là nhanh nhất về tốc độ đồng hồ, khi nhìn vào phần lớn thị trường (không phải OC).
Karthik T

2
lưu ý rằng tiêu thụ điện năng cũng là một vấn đề. Nếu bạn có 16 nhân 3.0 GHz, điều đó có thể sẽ tiêu thụ hơn 200 watt, mà các bộ nguồn phổ biến nhất hầu như không thể hỗ trợ kết hợp với phần còn lại của hệ thống.
Mixxiphoid

9
@Mixxiphoid Bạn cũng cần phải đưa 200+ W đó vào CPU bằng cách nào đó, ở điện áp mà mạch có thể xử lý. Đó là một nhiệm vụ không hề nhỏ trong chính nó.
một CVn

1
Không chỉ vậy, để tăng Đồng hồ CPU, họ cần tăng đường ống, nhưng mỗi khi bạn cần rẽ nhánh mã, thay đổi ngữ cảnh, nhảy hoặc xóa bộ nhớ bạn xóa toàn bộ đường ống và bạn cần điền lại để cung cấp một kết quả cho hướng dẫn đó, vì vậy tốt hơn là giảm đường ống và tần số CPU, vì vậy mỗi khi bạn cần rẽ nhánh, thay đổi ngữ cảnh, bạn không cần phải đợi lâu để lấp đầy đường ống.
Lefsler

1
@demonofnight: Sẽ là quá nhiều khi nói "mỗi khi bạn cần (...) nhảy". Các nhánh trực tiếp vô điều kiện không gây nguy hiểm kiểm soát nên chúng không tính ra các nhánh có điều kiện ~ 95% -99% được dự đoán bằng các kỹ thuật khác nhau (dữ liệu dựa trên một số giấy dựa trên SPEC). Các chi nhánh trực tiếp đặt ra vấn đề nếu mục tiêu chưa được đăng ký và có sự hiểu sai về nó. Tôi không chắc ý của bạn là gì khi 'fork mã' hoặc 'xóa bộ nhớ' nhưng bối cảnh các công tắc không nên được thực thi thường xuyên (ngắt và có thể là I / O).
Maciej Piechotka

37

Có rất nhiều tốc độ xử lý hơn tốc độ xung nhịp.

  • Các CPU khác nhau có thể thực hiện số lượng khác nhau trong cùng một số chu kỳ xung nhịp, do các biến thể khác nhau trong cách sắp xếp đường ống và có nhiều đơn vị thành phần (bộ cộng và vv) trong mỗi lõi. Mặc dù trong thử nghiệm của bạn không phải như vậy, bạn thường thấy một con chip "chậm hơn" có thể làm được nhiều hơn một con chip nhanh (chỉ tính bằng tốc độ xung nhịp) do có thể làm được nhiều hơn trên mỗi tích tắc.

  • Thử nghiệm bạn thực hiện có thể rất nhạy cảm với sự khác biệt về kiến ​​trúc CPU: nó có thể được tối ưu hóa cho một kiến ​​trúc cụ thể, bạn có thể thấy nó hoạt động khác nhau không chỉ giữa chip Intel và AMD mà giữa các chip Intel (hoặc AMD) của các họ khác nhau. Có khả năng cũng sử dụng một luồng duy nhất nên không tận dụng được nhiều lõi của CPU.

  • Có một động thái để giảm tốc độ xung nhịp vì lý do quản lý năng lượng và nhiệt: tăng tốc độ xung nhịp không có tác động tuyến tính đến việc sử dụng năng lượng và sản lượng nhiệt.

  • Do mối quan hệ phi tuyến tính ở trên, các yêu cầu ngày nay phải có nhiều đơn vị xử lý hiệu quả hơn nhiều so với việc đẩy tốc độ của một đơn vị lên cao hơn bao giờ hết. Điều này cũng cho phép các thủ thuật thông minh để bảo tồn sức mạnh như tắt các lõi riêng lẻ khi không sử dụng và phục hồi chúng khi nhu cầu tăng trở lại. Tất nhiên, nhiều lõi không giúp ích cho thuật toán một luồng tất nhiên, mặc dù điều đó sẽ xảy ra nếu bạn chạy hai hoặc nhiều phiên bản của nó cùng một lúc.


Vậy mối quan hệ giữa tốc độ xung nhịp và sử dụng năng lượng là gì?
dùng84207

$ P = CV ^ 2f $. Bạn cũng có thể muốn đọc này .
zakkak

19

Tại sao bạn nghĩ rằng các nhà sản xuất thực sự đang giảm tốc độ xung nhịp bằng cách chỉ so sánh hai bộ xử lý?

  1. Các 6272 có tốc độ Turbo của 3GHz. Tốc độ cơ bản thấp hơn chỉ là để giảm công suất trung bình và giữ TDP chấp nhận được cho một công việc khi tất cả các lõi đều bị căng thẳng.
  2. Chip hiệu suất cao tiếp theo của AMD dành cho máy tính để bàn, FX-9590 sẽ đạt 5 Ghz.

Ngoài ra tốc độ đồng hồ không giống như hiệu suất trên mỗi chu kỳ đồng hồ. Bạn có thể có P4 3,8 Ghz so với một lõi 3,2 Ghz từ i7-3930K, nhưng điều đó không có nghĩa là lõi P4 nhanh hơn.

Tất cả mọi thứ nói ở đây về mức tiêu thụ năng lượng cũng hoàn toàn hợp lệ và đúng với thiết kế 16 lõi, trong đó bạn tự nhiên phải quan tâm nhiều hơn về các vấn đề TDP.

Ngoài ra phương pháp điểm chuẩn của bạn chỉ cần kiểm tra openssl là một chút đơn giản để đưa ra số thế giới thực. Có lẽ bạn nên thử bất kỳ bộ tiêu chuẩn tiền điện tử.


3
Chỉ cần thêm một sự tương tự với đồng hồ tốc độ = hiệu suất. Hãy tưởng tượng một người thực hiện những bước rất nhỏ nhưng rất nhanh (tốc độ xung nhịp cao), so với người khác thực hiện những bước rất lớn với tốc độ chậm hơn một chút (tần số xung nhịp thấp hơn). Người thực hiện các bước lớn có thể di chuyển nhanh hơn nhiều.
Martin Konecny

@MartinKonecny: Trực quan tuyệt vời!
Zach Latta

2
@MartinKonecny ​​Hiểu biết của tôi là hầu hết các hướng dẫn trình biên dịch chương trình (ADD, MOV, IMUL, v.v.) được thực hiện trong một chu kỳ duy nhất. Vì vậy, với các bộ xử lý mới này, nhiều hướng dẫn có được thực hiện trong một chu kỳ không?
nialsh

4
@nialsh Điều đó hoàn toàn không đúng đối với máy tính CISC (thực tế, một trong những điều xác định của CISC là hướng dẫn mất nhiều chu kỳ), nếu tất cả các hướng dẫn mất một chu kỳ thì lệnh chậm nhất sẽ mất cùng thời gian để thực hiện nhanh nhất chỉ dẫn.
Scott Chamberlain

CPU x86 được sử dụng để yêu cầu nhiều chu kỳ xung nhịp cho mỗi lệnh, nhưng ngày nay chúng có thể chạy nhiều lệnh trên mỗi chu kỳ xung nhịp.
Oskar Skog

13

Trường hợp thử nghiệm của bạn (mã hóa aes-256) rất nhạy cảm với các tối ưu hóa cụ thể của bộ xử lý.

Có nhiều CPU khác nhau có các hướng dẫn đặc biệt nhằm tăng tốc các hoạt động mã hóa / giải mã. Những chỉ dẫn đặc biệt này không chỉ xuất hiện trên máy tính để bàn của bạn - có thể là CPU AMD có các hướng dẫn đặc biệt khác nhau. Ngoài ra, openssl có thể chỉ hỗ trợ các hướng dẫn đặc biệt này cho CPU Intel. Bạn đã kiểm tra xem đó là trường hợp?

Để tìm ra hệ thống nào nhanh hơn, hãy thử sử dụng bộ điểm chuẩn "phù hợp" - hoặc tốt hơn, chỉ cần sử dụng khối lượng công việc thông thường của bạn.


Trường hợp dịch đến hướng dẫn đặc biệt đó xảy ra ở đâu? Tôi không chắc chắn nếu có các trình biên dịch khác nhau cho các tập lệnh khác nhau.
Shubham

Trình biên dịch có các tùy chọn để nhắm mục tiêu các tập lệnh khác nhau và / hoặc "các hàm nội tại" đặc biệt ánh xạ chặt chẽ với các hướng dẫn cụ thể của CPU. Có thể thực thi một lần duy nhất để kiểm tra họ CPU nào đang chạy và chọn một đường dẫn mã khác dựa trên đó.
Russell Borogove

10

Đơn giản: Chip AMD rất xa, nhanh hơn rất nhiều vì đây là chip 16 lõi. Ở mức 115 watt, có nghĩa là mỗi lõi tạo ra ~ 7 watt. Điều này sẽ không thể đạt được nếu mỗi lõi chạy ở tốc độ 3 Ghz. Để đạt được con số 7 watt đó, AMD đã hạ thấp tần số xung nhịp. Giảm 10% tần số xung nhịp sẽ giảm 20% mức tiêu thụ năng lượng, điều này cho phép bạn đặt thêm 25% lõi vào chip.


10

Như những người khác đã nói, chúng ta không còn có thể làm mát CPU một cách hiệu quả nếu chúng ta phải đẩy điện áp cần thiết cho cùng mức tăng xung nhịp tương đối trong quá khứ. Đã có một thời gian (thời đại P4 và trước đó) khi bạn có thể mua CPU mới và thấy mức tăng "ngay lập tức" là tốc độ vì tốc độ xung nhịp đã tăng đáng kể so với thế hệ trước. Bây giờ chúng tôi đã đạt được một bức tường nhiệt, các loại.

Mỗi thế hệ bộ xử lý hiện đại mới đều tăng rất ít về tốc độ xung nhịp, nhưng điều này cũng liên quan đến khả năng làm mát chúng một cách thích hợp. Các nhà sản xuất chip, như Intel, đang liên tục tập trung vào việc thu nhỏ kích thước khuôn của CPU để vừa giúp chúng tiết kiệm năng lượng hơn vừa tạo ra ít nhiệt hơn trong cùng một đồng hồ. Một lưu ý phụ, kích thước khuôn co lại này làm cho các bộ xử lý hiện đại dễ bị chết vì quá tải hơn là quá nóng. Điều này có nghĩa là nó cũng giới hạn tốc độ xung nhịp của bất kỳ CPU thế hệ hiện tại nào mà không có các tối ưu hóa khác được thực hiện bởi nhà sản xuất chip.

Một lĩnh vực khác đang được các nhà sản xuất chip tập trung rất nhiều là tăng số lượng lõi trên chip. Điều này không làm tăng đáng kể sức mạnh tính toán, nhưng chỉ khi sử dụng phần mềm tận dụng nhiều lõi. Lưu ý sự khác biệt giữa sức mạnh tính toán và tốc độ ở đây. Nói một cách đơn giản, tốc độ đề cập đến việc máy tính có thể thực hiện một lệnh nhanh như thế nào, trong khi sức mạnh tính toán đề cập đến số lượng tính toán mà máy tính có thể thực hiện trong một khoảng thời gian nhất định. Các hệ thống hoạt động hiện đại và nhiều phần mềm hiện đại tận dụng nhiều lõi. Vấn đề là lập trình đồng thời / song song khó hơn mô hình lập trình tuyến tính tiêu chuẩn. Điều này làm tăng thời gian để nhiều chương trình trên thị trường tận dụng tối đa sức mạnh của các bộ xử lý mới hơn này vì nhiều nhà phát triển không quen viết chương trình theo cách này. Vẫn còn một số chương trình trên thị trường hiện nay (hiện đại hoặc di sản) không tận dụng được nhiều lõi hoặc đa luồng. Chương trình mã hóa mà bạn đã trích dẫn là một ví dụ như vậy.

Hai lĩnh vực trọng tâm của các nhà sản xuất chip được kết nối thực chất. Bằng cách giảm cả kích thước khuôn và mức tiêu thụ năng lượng của chip, sau đó họ có thể tăng số lượng lõi trên chip nói trên. Cuối cùng, điều này cũng sẽ va vào một bức tường, gây ra sự thay đổi mô hình khác, quyết liệt hơn.

Lý do cho sự thay đổi mô hình này là do chúng ta tiến gần đến giới hạn của silicon làm nguyên liệu cơ bản để sản xuất chip. Đây là điều mà Intel và những người khác đã cố gắng giải quyết trong một thời gian. Intel đã tuyên bố rằng họ có một giải pháp thay thế silicon trong công việc và chúng tôi có thể sẽ bắt đầu thấy nó vào khoảng sau năm 2017. Ngoài vật liệu mới này, Intel cũng đang xem xét các bóng bán dẫn 3D có thể "tăng gấp ba công suất xử lý" một cách hiệu quả. Dưới đây là một bài viết đề cập đến cả hai ý tưởng này: http://apcmag.com/intel-looks-beyond-silicon-for- Processors-past-2017.htmlm


2
  • Các tổn thất nhiệt H bằng 4 độ tần số f.

    H ~ f ^ 4

    Vì vậy, sự gia tăng nhỏ của tần số dẫn đến tổn thất nhiệt cao.

  • Thu nhỏ hơn

    Tần số cao hơn dẫn đến giảm thiểu tinh thể xa hơn. Tại thời điểm này, chúng tôi không có công nghệ nào hoạt động hiệu quả với vật liệu có kích thước nano mét và mét nano là giới hạn.


2
-1 Phần sức mạnh thứ tư là không đúng. Công suất (nhiệt tạo ra mỗi giây) trong CPU là (xấp xỉ) tỷ lệ tuyến tính với tần số xung nhịp như P ~ f CV ^ 2 + P0 ( en.wikipedia.org/wiki/CPU_power_dissestion ). Điện áp được cấp phụ thuộc vào tốc độ xung nhịp (mặc dù không nhất thiết phải tuyến tính). Xem: Phys.stackexchange.com/questions/34766 Điểm mấu chốt , năng lượng do CPU tạo ra gần như tuyến tính đến bậc hai trên tốc độ xung nhịp trong phạm vi 1.6 GHz - 5 GHz. (Không chống đỡ cho f ^ 4).
dr jimbob

2

Như đã nêu trong một vài câu trả lời khác, các nhà sản xuất CPU muốn giảm tốc độ xung nhịp để kiểm soát mức tiêu thụ năng lượng và tản nhiệt. Để thực hiện nhiều công việc hơn với cùng tốc độ đồng hồ, một số chiến lược được sử dụng.

Bộ nhớ cache trên chip lớn có thể giữ nhiều dữ liệu "gần với" CPU hơn, có sẵn để được xử lý với độ trễ tối thiểu, trái với bộ nhớ chính, tốc độ truyền dữ liệu đến CPU chậm hơn nhiều.

Các hướng dẫn CPU khác nhau có số chu kỳ xung nhịp khác nhau để hoàn thành. Trong nhiều trường hợp, bạn có thể sử dụng một mạch đơn giản để thực hiện một thao tác trong một số chu kỳ đồng hồ hoặc một mạch phức tạp hơn để thực hiện trong ít hơn.

Ví dụ ấn tượng nhất về điều này trong quá trình tiến hóa của Intel là trong Pentium 4, một sự vượt trội lớn về tốc độ xung nhịp, nhưng không hoạt động tốt tương xứng. Các hướng dẫn dịch chuyển bit, trong các chip trước có thể dịch chuyển 32 bit trong một chu kỳ, đã sử dụng một mạch đơn giản hơn nhiều trong Pentium 4, yêu cầu một chu kỳ duy nhất cho mỗi lần dịch chuyển bit. Kỳ vọng là kiến ​​trúc Pentium 4 sẽ có thể mở rộng với tốc độ xung nhịp cao hơn nhiều vì tính đơn giản của nó, nhưng nó không hoạt động, và mạch dịch chuyển nhanh, phức tạp trở lại trong Core và các kiến ​​trúc sau này.


2

Từ IEEE:

Vậy tại sao không đẩy đồng hồ nhanh hơn? Bởi vì nó không còn xứng đáng với chi phí về năng lượng tiêu thụ và nhiệt lượng tiêu tan. Intel gọi sự đánh đổi tốc độ / năng lượng là một định lý cơ bản của bộ vi xử lý đa lõi, vì thế, đó là lý do hợp lý khi sử dụng hai hoặc nhiều vùng xử lý hoặc lõi trên một chip.

http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.