Trong CPU, tốc độ tính toán có ảnh hưởng đến nhiệt sinh ra không?


9

Lấy một ví dụ về một CPU có khả năng thay đổi tốc độ xung nhịp của nó, giống như CPU ​​máy tính hiện đại (Intel, AMD, bất cứ điều gì). Khi thực hiện một phép tính nhất định ở một tốc độ xung nhịp cụ thể, liệu nó có tạo ra cùng một lượng nhiệt như khi nó thực hiện phép tính giống hệt nhau ở tốc độ xung nhịp chậm hơn không? Tôi biết rằng tản nhiệt và tích tụ nhiệt là những vấn đề khác nhau, vì vậy hãy nói về nhiệt lượng thô sinh ra.


Một phép tính được thực hiện với tốc độ cao hơn sẽ mất một thời gian ngắn hơn.
Eugene Sh.

4
Trong một máy tính lý tưởng theo nghĩa Landauer , tôi nghĩ phép tính sẽ tạo ra cùng một lượng năng lượng nhiệt. Nhưng trong các máy tính trong thế giới thực, nó có thể sẽ khác. Đặc biệt bởi vì lượng nhiệt đã được tạo ra và chưa tiêu tan (tức là nhiệt độ của chất bán dẫn) sẽ ảnh hưởng đến các tính chất của nó và do đó nhiệt mà nó tạo ra.
Nghe

Tất nhiên là nó, tôi đã thiết kế một số thiết kế đồ họa và chúng tôi cần nó có công suất thấp. Do đó, chúng tôi đã sử dụng nguồn xung nhịp 10kHz thay vì nguồn 1 MHz vì chúng tôi không cần nhiều sức mạnh xử lý như vậy.
lucas92

2
Mức tiêu thụ năng lượng tỷ lệ thuận với bình phương tần số xung nhịp trong ckts đồng bộ. Vì vậy, nhiệt nên tăng quá.
Mitu Raj

1
@MITURAJ, mức tiêu thụ năng lượng tỷ lệ thuận với tốc độ xung nhịp. Không vuông của tốc độ đồng hồ. Tỉ lệ với bình phương điện áp.
mkeith

Câu trả lời:


14

Bên cạnh tốc độ xung nhịp, hãy nhớ rằng trong một CPU "lớn" thực sự (một bộ nhớ cache, MMU, TLB, thực thi đường ống, SIMD, v.v.) một yếu tố quan trọng khác của việc tạo ra lượng nhiệt sẽ như thế nào tài nguyên CPU có sẵn. Nếu bạn chạy một chương trình sử dụng nhiều bộ nhớ, phần lớn thời gian CPU sẽ chỉ đói dữ liệu, không làm gì cả, do đó nhiệt sinh ra sẽ tương đối thấp. Một mã tính toán hoàn toàn với các vòng lặp chặt chẽ sẽ nóng hơn. Thậm chí nhiều nhiệt hơn có thể được tạo ra với mã được tối ưu hóa chặt chẽ mà hầu như không phát sinh sai chi nhánh, sử dụng các đơn vị SIMD mạnh mẽ, sử dụng tối ưu các bộ đệm và vv.

Có những chương trình được thiết kế đặc biệt để vận hành CPU ở chế độ này - nhấn mạnh nó càng nhiều càng tốt, Prime95 là một ví dụ nổi bật cho PC.

Trên thực tế, nếu một PC đã chạy Prime95 trên tất cả các lõi CPU có sẵn, và sau đó bạn đồng thời khởi động một ứng dụng sử dụng nhiều CPU khác (ví dụ: kết xuất 3D), bạn sẽ nhận thấy rằng CPU nguội đi . Điều này là do nó phải định thời gian mã Prime95 rất nặng ( "làm sáng tất cả các bóng bán dẫn" ) với mã kết xuất có nhu cầu tương đối thấp hơn (có thể có rất nhiều lỗi bộ nhớ cache và dự đoán sai nhánh - những điều này cho phép CPU dừng lại một lúc và hạ nhiệt).

Một điều nữa bạn nên tính đến là thông thường mỗi CPU có một bảng với tốc độ xung nhịp cho phép và điện áp lõi liên quan đến từng tốc độ. Đồng hồ thấp hơn cũng được kết hợp với điện áp thấp hơn, vì nhà sản xuất đã xác định rằng CPU sẽ ổn định ở điện áp đó. Điện năng tiêu thụ thay đổi gần như tuyến tính với tốc độ xung nhịp, nhưng theo phương trình bậc hai với điện áp.


1
Công suất thay đổi bậc hai so với điện áp cho một tốc độ xung nhịp nhất định . Thông thường bạn sử dụng điện áp để thay đổi tuyến tính tốc độ xung nhịp. Kết quả là, năng lượng là khối so với điện áp, trong khi tốc độ xung nhịp là tuyến tính. Vì vậy, tiêu thụ năng lượng là bậc hai so với tốc độ đồng hồ.
MooseBoys

SIMD có thể tạo ra nhiều nhiệt đến mức một số CPU bị quá nóng khi sử dụng rộng rãi AVX512. +1 để chỉ ra rằng việc tăng điện áp cũng có liên quan.
rừng

1
@MooseBoys, đúng, điểm rất tốt. Nhưng đó là giá trị chỉ ra rằng trên thực tế, nếu một CPU tốc độ đầy đủ có Vcore = 1.2V, giảm một nửa tốc độ đồng hồ sẽ không cho phép Vcore = 0.6, nó chỉ sẽ không làm việc :)
anrieff

@anreiff Tôi có thể đang đánh giá sai, nhưng tôi nghĩ rằng một số chip Intel hiện đại sẽ giảm xuống còn 0,8V hoặc không hoạt động. Tuy nhiên, chúng chỉ ở mức ~ 700 MHz vào thời điểm đó và bộ nhớ cache có thể bị tắt.
mbrig

Vấn đề là họ không đến gần 0V, như người ta có thể mong đợi nếu tốc độ xung nhịp CPU và Vcore tỷ lệ thuận. Nó giống như 3,5GHz@1.2V và 0.7GHz@0.8V. Việc giảm tốc độ có tác dụng tiêu hao năng lượng nhiều hơn điện áp, ngay cả khi trước đây ảnh hưởng đến nó "chỉ" theo tuyến tính.
anrieff

5

Công suất tiêu thụ tỷ lệ thuận với tốc độ chuyển đổi của đồng hồ và tổn thất dẫn khi chuyển đổi các cổng tụ điện hiệu quả. Tuy nhiên, nhiệt độ tăng tỷ lệ thuận với thời gian tiêu thụ điện năng hiệu quả, tính bằng độ C trên mỗi watt và do đó không phụ thuộc vào năng lượng, hoặc có thể chạy mát hơn hoặc nóng hơn tùy thuộc vào mức tiêu thụ năng lượng và không lan truyền năng lượng đó trong một khoảng thời gian dài hơn. Có thể có một công thức cho thấy rằng sự gia tăng nhiệt độ với tốc độ đồng hồ là một số công suất phân đoạn lớn hơn một.


4
  • Công suất sẽ thấp hơn ở tần số hoạt động thấp hơn.

  • Ở cùng điện áp lõi, tổng năng lượng sẽ cao hơn ở tần số xung nhịp thấp hơn.

  • Nhưng nếu điện áp lõi được điều chỉnh xuống theo tần số thì tổng năng lượng có thể ít hơn.

  • Đối với các thuật toán dành phần lớn thời gian chờ đợi cho các hoạt động I / O, thời gian thực hiện sẽ xấp xỉ không đổi bất kể tần số xung nhịp lõi. Do đó, tổng năng lượng cần thiết cho việc tính toán sẽ tăng tỷ lệ thuận với tần số xung nhịp.


    Tiêu thụ năng lượng của CPU bao gồm hai phần.

1) Vẽ hiện tại tĩnh (I_static). Đối với một số điện áp và nhiệt độ cung cấp cụ thể, mức vẽ hiện tại là không đổi bất kể CPU đang làm gì.

Một CPU được tạo bằng công nghệ CMOS bao gồm hàng ngàn hoặc hàng triệu bóng bán dẫn MOSFET. Sự rút dòng tĩnh chủ yếu là do dòng rò trạng thái kết hợp của hàng triệu bóng bán dẫn MOSFET.

  • Vẽ dòng tĩnh thường tăng khi điện áp cung cấp tăng.

  • Vẽ dòng tĩnh thường tăng khi nhiệt độ CPU tăng.

  • Bản vẽ dòng tĩnh dành cho nhiều thiết bị nhỏ hơn nhiều so với bản vẽ dòng động.

2) Vẽ hiện tại động. Đối với bộ xử lý được xây dựng bằng quy trình CMOS, dòng động xảy ra khi các bóng bán dẫn chuyển đổi giữa các trạng thái bật / tắt.

  • Đối với điện áp cung cấp được chỉ định, mức vẽ dòng động thường tỷ lệ thuận với tần số.

  • Vẽ hiện tại động tăng khi điện áp cung cấp tăng.

Lý do là như sau. Mỗi bóng bán dẫn MOSFET trong CPU có một lượng điện dung nhất định liên quan đến nó. Mỗi lần chuyển mạch MOSFET; một điện tích Q = C * V là cần thiết để sạc / xả điện dung đó.

Bản vẽ dòng động cho mỗi bóng bán dẫn là I_dynamic = C * V * f.

Bất kể tần số được thực hiện ở tần số nào, một tập hợp hoạt động cụ thể trên một CPU cụ thể (giả sử hành vi giống hệt nhau từ bộ đệm và bộ nhớ) tiêu thụ một lượng tổng phí nhất định (Q_program) do rút ra dòng động, bất kể tần số rằng các hướng dẫn được thực hiện tại.

Nhưng nếu các hướng dẫn được thực hiện chậm hơn thì tổng phí do vẽ dòng tĩnh sẽ cao hơn vì thời gian đã trôi qua nhiều hơn.

Về mặt toán học người ta có thể viết ...

W = (I_dynamic + I_static) * V_supply

E = W * time = Q_program * V_supply + I_static * V_supply * time

Chúng ta có thể thấy rằng khi tần số xung nhịp đạt 0, công suất sẽ đạt đến một giá trị cố định, nhưng năng lượng cần thiết để tính toán chương trình tiến đến vô cùng.

Vì vậy, nếu (dựa trên công suất của các bóng bán dẫn CPU) Q_program được cố định cho một điện áp cung cấp cụ thể và tập hợp các hoạt động, làm thế nào các CPU hiện đại tiết kiệm năng lượng bằng cách giảm tần số xung nhịp của chúng? Câu trả lời là hầu hết các CPU hiện đại đều bao gồm trên bo mạch (hoặc trong chip đồng hành) một bộ điều chỉnh điện áp lõi có thể điều chỉnh. Khi họ giảm tần số xung nhịp, họ cũng có thể hạ thấp điện áp lõi. Q_program (và E_program) sau đó giảm tỷ lệ thuận với điện áp cung cấp.

Lưu ý rằng CPU không thể sử dụng điện áp thấp hơn ở tần số cao hơn vì ở điện áp thấp hơn thời gian chuyển mạch bóng bán dẫn tăng.

Công suất tỷ lệ thuận với cả điện áp (bình phương) và vẽ hiện tại. Vì vậy, nếu điện áp được giảm đồng thời với tần số thì công suất giảm theo khối của tần số.


1

Các bóng bán dẫn sử dụng năng lượng, bị lãng phí như nhiệt. Có hai cơ chế, năng lượng tĩnh và động. Năng lượng tĩnh là không đổi và năng lượng động (chuyển đổi) xảy ra bất cứ khi nào nó thay đổi trạng thái (0-> 1 hoặc 1-> 0). Năng lượng động (chuyển đổi) thường là nguồn nhiệt lớn hơn tĩnh. Việc tính toán bạn muốn thực hiện sẽ có cùng số chu kỳ xung nhịp và khiến cùng một số bit bóng bán dẫn bị lật bất kể tốc độ xung nhịp. Do đó nhiệt động là như nhau cho cả hai tình huống. Nhiệt tĩnh là ... tĩnh. Vì vậy, tóm lại, giả sử CPU CHỈ thực hiện phép tính 1 này thì mức tiêu thụ năng lượng / nhiệt là hoàn toàn giống nhau khi tính trung bình trong một khoảng thời gian nhất định.


Bạn đang đi trên rìa của sự thật, nhưng tôi sẽ để nó đi qua. Mức năng lượng cho CMOS tăng gần như theo một đường thẳng với tần số hoạt động, nhưng tăng gấp đôi điện áp và tăng gấp bốn lần năng lượng. Phương trình I2R khó chịu, không bao gồm tốc độ.
Sparky256

OP hỏi hoàn toàn về tốc độ xung nhịp, không đề cập đến điện áp giảm.
TopCat

Một câu trả lời ở trên đề cập đến hình phạt cho điện áp lõi. Tôi không ngụ ý bạn cần trả lời cho vấn đề đó. Tôi chỉ đưa ra một nhận xét - trong một hộp bình luận.
Sparky256

Câu hỏi là về HEAT (được đo bằng Joules), không phải sức mạnh hay nhiệt độ. Nhiệt là một dạng năng lượng. Ngoại trừ lượng năng lượng nhỏ nhận được từ các nguồn đầu vào và được cung cấp cho tải đầu ra, tất cả năng lượng tiêu thụ trong thiết bị sẽ trở thành nhiệt và cuối cùng sẽ bị tiêu tan. Trong logic CMOS, mức tiêu thụ năng lượng tạo ra nhiệt khi trạng thái máy thay đổi - thông thường một lần trên mỗi chu kỳ đồng hồ trong thời điểm đó khi các cổng nằm giữa 0 và 1. Vì vậy, HEAT cho một tác vụ nhất định phải độc lập với tốc độ xung nhịp và hoàn toàn phụ thuộc vào số chu kỳ đồng hồ.
richard1941

1

Trong kịch bản bạn mô tả, năng lượng cần thiết cho tính toán không phụ thuộc vào tốc độ đồng hồ. Nhưng nhiệt có thể là một thuật ngữ "yếu đuối". Giả sử phép tính mất 1 Joule. Nếu bạn làm điều đó trong 1 giây, tức là 1 Joule / giây = 1 watt. Nhưng nếu mất 2 giây, tức là 1 Joule / 2 giây = 0,5 Joule / giây = 0,5 watt.

Bộ xử lý chắc chắn sẽ đạt đến nhiệt độ cao hơn nếu việc tính toán được thực hiện nhanh hơn, vì năng lượng được giải phóng nhanh hơn. Tôi không nghĩ có quá nhiều điểm trong tôi nói nhiều hơn thế.

Ồ, ngoại trừ những con số tôi đã đưa cho bạn không có nghĩa là thực tế. Nó chỉ là khái niệm.

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.