Tại sao bộ xử lý làm việc khó sử dụng nhiều năng lượng điện hơn?


16

Quay trở lại thời gian khi tôi bắt đầu viết mã, ít nhất là theo như tôi biết, tất cả các bộ xử lý đều sử dụng một lượng điện năng cố định. Không có thứ gọi là bộ xử lý "nhàn rỗi".

Ngày nay, có tất cả các loại công nghệ để giảm mức sử dụng năng lượng khi bộ xử lý không quá bận rộn, chủ yếu bằng cách giảm động tốc độ xung nhịp.

Câu hỏi của tôi là tại sao chạy ở tốc độ xung nhịp thấp hơn sử dụng ít năng lượng hơn?

Hình ảnh tinh thần của tôi về bộ xử lý là điện áp tham chiếu (giả sử 5V) đại diện cho nhị phân 1 và 0V đại diện cho 0. Do đó tôi có xu hướng nghĩ về một 5V không đổi được áp dụng trên toàn bộ chip, với các cổng logic khác nhau ngắt kết nối điện áp này khi "tắt", có nghĩa là một lượng điện năng không đổi đang được sử dụng. Tốc độ mà các cổng này được bật và tắt dường như không liên quan đến năng lượng được sử dụng.

Tôi không có nghi ngờ đây là một hình ảnh ngây thơ vô vọng, nhưng tôi không phải là kỹ sư điện. Ai đó có thể giải thích những gì thực sự xảy ra với thang đo tần số, và làm thế nào nó tiết kiệm năng lượng. Có cách nào khác mà bộ xử lý sử dụng nhiều hay ít năng lượng tùy thuộc vào trạng thái không? ví dụ: Nó có sử dụng nhiều năng lượng hơn nếu nhiều cổng được mở không?

Làm thế nào là bộ xử lý điện thoại di động / năng lượng thấp khác với anh em họ để bàn của họ? Có phải chúng chỉ đơn giản hơn (ít bóng bán dẫn hơn?), Hoặc có một số khác biệt thiết kế cơ bản khác?


8
Bạn đã sai, bộ xử lý không bao giờ sử dụng cùng một lượng điện theo thời gian, nó luôn luôn thay đổi. Đơn giản hóa mọi thứ một cách đáng kể, người ta có thể cho rằng sức mạnh chỉ được dành cho việc chuyển đổi một giá trị flip-flop duy nhất. Do đó, càng nhiều phép tính được thực hiện mỗi giây, các thanh ghi bên trong càng thay đổi giá trị của chúng, thì càng tiêu tốn nhiều năng lượng.

2
Nếu tôi nhớ chính xác các thiết bị điện tử của mình, hầu hết năng lượng "lãng phí" (hay còn gọi là "nhiệt") là rò rỉ (hay còn gọi là (nhỏ) dòng điện mà không có dòng chảy nào xảy ra). Điều đó xảy ra nhiều hơn khi bạn a.) Sử dụng điện áp cao hơn và b.) Chuyển đổi ở tần số cao hơn. Hầu hết các CPU hiện đại đều giảm cả điện áp tần số ở trạng thái năng lượng thấp (và ngay cả khi chúng chỉ giảm một trong số đó, thì nó vẫn là mức tăng).

3
@ SK-logic: Nhiều bộ xử lý lịch sử sử dụng logic ECL, tiêu thụ cùng một lượng điện năng cho dù tốc độ xung nhịp là bao nhiêu. Seymour Cray đã thiết kế CDC 8600, Cray-1, Cray X-MP, Cray Y-MP, Cray T90 để sử dụng ECL. Bài viết logic Wikipedia ECL liệt kê thêm một vài từ các công ty khác. Bạn đang nói rằng những máy đó không bao giờ tồn tại, hay bạn đang nói rằng chúng không được tính là bộ xử lý?
davidcary

Các bộ xử lý cũng tiết kiệm năng lượng bằng cách sử dụng một lệnh dừng. Nhân hệ điều hành có thể thiết lập bộ hẹn giờ để đánh thức bộ xử lý và thực hiện lệnh đó để làm cho bộ xử lý ngủ.
Oskar Skog

Câu trả lời:


24

Tốc độ mà các cổng này được bật và tắt dường như không liên quan đến năng lượng được sử dụng.

Đây là nơi bạn sai. Về cơ bản, mỗi cổng là một tụ điện có điện dung cực kỳ nhỏ. Bật và tắt bằng cách "kết nối" và "ngắt kết nối" điện áp sẽ di chuyển một điện tích cực kỳ nhỏ vào hoặc ra khỏi cổng - đó là điều khiến nó hoạt động khác đi.

Và một điện tích di chuyển là một dòng điện, sử dụng năng lượng. Tất cả những dòng điện nhỏ từ hàng tỷ cổng được chuyển đổi hàng tỷ lần mỗi giây cộng lại khá nhiều.


Đó là những gì đang xảy ra trong bộ nhớ - Bộ nhớ DRAM. Bộ nhớ từ bộ xử lý (bộ đệm) sử dụng SRAM không được triển khai với các tụ điện ...

7
@ m3th0dman: Tôi không nói về các phần tử dự định là tụ điện. Mỗi bóng bán dẫn, mọi yếu tố bên trong CPU đều có điện dung.

7

Như nhận xét của SK-logic chỉ ra phần lớn sức mạnh thực sự được dành cho việc chuyển đổi flip-flop thay vì trạng thái ổn định.

Để giảm động, có hai điều chính bạn có thể làm IIRC.

  1. nếu toàn bộ các khu vực của chip không được đồng hồ, bạn có khả năng có thể tắt nguồn hoàn toàn cho các khu vực đó

  2. Bản thân cây đồng hồ là một trong những cống năng lượng lớn nhất trong hệ thống, phần lớn là phần chuyển mạch nhanh nhất của hệ thống. Vì vậy, giảm sức mạnh trong cây đồng hồ là rất đáng kể.


Cây đồng hồ là gì?
akaltar

2
@akaltar tổng số tất cả các dòng phân phối tín hiệu đồng hồ đến mọi thành phần của bộ xử lý cần được đồng bộ hóa với đồng hồ.
Michael Borgwardt

6

Năng lượng tiêu thụ bởi một mạch điện tử có hai thành phần:

  • sự rò rỉ, ít nhiều độc lập với hằng số tần số và sẽ phụ thuộc vào công nghệ và điện áp làm việc;
  • công suất chuyển mạch, phụ thuộc vào tần số (đó là do tải và dỡ tải các công suất, bóng bán dẫn và dây khác nhau)

Để giảm mức tiêu thụ, các nhà thiết kế bộ xử lý sử dụng một số kỹ thuật:

  • sửa đổi tần số tùy thuộc vào tải (điều này sẽ chỉ hoạt động trên nguồn chuyển đổi)
  • giảm năng lượng hoặc thậm chí tắt nguồn các bộ phận của mạch khi không cần thiết

Các kỹ thuật này có kết quả là tùy thuộc vào tải của bạn, bạn có thể tốt hơn, từ POV tiêu thụ năng lượng, giảm tần số hoặc thực hiện "chạy nước rút" ở tốc độ tối đa và sau đó cắt ra một tập hợp con của các mạch.


Cũng có thể việc giảm tần số cho phép giảm điện áp hoạt động (vì khi đó các bóng bán dẫn chậm hơn một chút) để giảm rò rỉ.
TEMLIB

0

Chạy ở tốc độ xung nhịp thấp hơn không ảnh hưởng đến năng lượng cần thiết để thực hiện một tác vụ cố định. Nó thậm chí có thể tăng năng lượng cần thiết nếu bạn tính đến sự rò rỉ và có thể tắt hoàn toàn.

Trường hợp tốc độ xung nhịp thấp hơn sẽ tiết kiệm năng lượng cũng có thể giảm điện áp hoạt động. Giảm điện áp thường tiết kiệm đủ năng lượng để bù cho việc cần duy trì hoạt động lâu hơn.


Tôi không đồng ý Sean. Giảm tốc độ xung nhịp làm giảm tất cả các tổn thất chuyển đổi ký sinh liên quan đến toàn bộ chuỗi đồng hồ, vốn rất lớn trong một CPU thông thường. Chiếc netbook Atom của tôi chạy ở tốc độ 1GHz, nếu tôi giảm CPU xuống 500 MHz thì nó chạy mát hơn và rõ ràng sẽ tiêu thụ ít năng lượng hơn từ nguồn cung cấp, và nó sẽ ảnh hưởng đến nhiệm vụ - mất gấp đôi thời gian để hoàn thành.
ndtsc

2
@rdtsc Cẩn thận bây giờ. Sean viết năng lượng , không phải sức mạnh .
ống

@rdtsc Bạn khó hiểu về sức mạnh và năng lượng. Thứ tự đầu tiên, một nhiệm vụ cụ thể sẽ yêu cầu một số chu kỳ đồng hồ cố định. Hãy suy nghĩ về cách pin sẽ đáp ứng với nhiệm vụ của bạn tại hai điểm vận hành khác nhau.
Sean Houlihane

À đúng rồi. Vẫn đang làm việc trên tách cà phê đầu tiên ở đây. :) Tôi phải đo nó, nhưng tôi nghĩ rằng năng lượng được sử dụng sẽ thực sự nhiều hơn một chút với tốc độ xung nhịp thấp hơn, vì một CPU hiện đại có quá nhiều sự kiện định kỳ để xử lý mỗi giây. Sẽ có nhiều hơn những thứ này cho đồng hồ chậm hơn, và nhiều hơn có nghĩa là thời gian hoàn thành nhiệm vụ lâu hơn.
ndtsc

Một số nền tảng liên quan đọc anandtech.com/show/9330/exynos-7420-deep-dive/6
Sean Houlihane
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.