Làm thế nào một CPU có thể thay đổi linh hoạt tần số xung nhịp của nó?


15

CPU Intel của tôi thay đổi tốc độ xung nhịp tùy thuộc vào cách sử dụng, nhưng làm thế nào để quyết định tốc độ xung nhịp sẽ chạy ở mức nào? Là tốc độ xung nhịp được xác định bởi phần mềm HĐH bằng thuật toán, hay nó dựa trên phần cứng? Có phụ thuộc vào # ngắt không? Doanh thu bộ nhớ cache? Liệu CPU có tự thiết lập đồng hồ của riêng mình không? Hoặc một bộ điều khiển riêng biệt đặt nó? Hay phần mềm?


1
Đó là CPU nào? Các hệ thống nhúng thường không hoạt động như vậy.
Leon Heller

Có lẽ nhiều thứ cho SuperUser ?

Một số họ bộ xử lý nhúng, như PIC24F, có tốc độ xung nhịp có thể lập trình và điều này có thể được sử dụng để tiết kiệm năng lượng. Một bộ tạo dao động ngoài có thể được sử dụng để đồng hồ cho các thiết bị ngoại vi nhạy cảm với thời gian vẫn ổn định.
Kaz

Câu trả lời:


18

Đồng hồ lõi của CPU không được nhận trực tiếp từ bo mạch chủ. Đồng hồ đó thường chậm hơn nhiều (thường bằng hệ số 10 trở lên) so với tần số bên trong của CPU. Thay vào đó, tín hiệu đồng hồ từ bo mạch chủ được sử dụng làm tần số tham chiếu cho bộ tạo dao động điều khiển vòng khóa pha tần số cao hơn bên trong CPU. Đồng hồ được tạo chạy ở một số đồng hồ tham chiếu và có thể thay đổi nhiều đồng hồ đó bằng cách đặt các thanh ghi nhất định trong CPU. Thế hệ thực sự của đồng hồ được thực hiện hoàn toàn bằng phần cứng.

Để giảm công suất hơn nữa, CPU cũng báo hiệu cho bộ điều chỉnh điện áp cung cấp điện áp lõi của nó để chạy ở điểm đặt thấp hơn. Ở tần số thấp hơn, CPU có thể chạy ở điện áp thấp hơn mà không gặp trục trặc, và vì mức tiêu thụ điện tỷ lệ với bình phương của điện áp, ngay cả việc giảm điện áp nhỏ cũng có thể tiết kiệm được một lượng điện năng lớn.

Việc chia tỷ lệ điện áp và tần số được thực hiện bằng phần cứng, nhưng quyết định chạy ở chế độ năng lượng thấp được thực hiện bởi phần mềm (HĐH). Làm thế nào hệ điều hành xác định chế độ tối ưu để chạy là một vấn đề riêng biệt, rắc rối hơn, nhưng có khả năng phần lớn thời gian mà hệ thống không hoạt động gần đây. Chủ yếu là nhàn rỗi, tần số thấp hơn. Chủ yếu là bận rộn, tăng tần suất. Khi HĐH quyết định tần số chạy, đó chỉ là vấn đề thiết lập một thanh ghi.

Tham khảo: " Công nghệ Intel SpeedStep cải tiến cho Bộ xử lý Intel Pentium M "


3
Các tính năng như Turbo Boost của Intel không yêu cầu can thiệp phần mềm để khai thác khoảng không nhiệt bằng cách tăng tần số xung nhịp. Rõ ràng, phần cứng cũng có thể theo dõi các tắc nghẽn hiệu suất không tính toán (ví dụ: bằng cách đếm chu kỳ gian hàng do truy cập bộ nhớ) và giảm tần suất khi hiệu suất tính toán không phải là nút cổ chai chính.
Paul A. Clayton

Btw tiết kiệm liên quan đến chuyển đổi freq gần như tuyến tính và không nhiều do dẫn truyền, đó sẽ là 2 mối quan hệ
JonRB

3

Chà, trên các hệ điều hành hiện đại, có một thứ gọi là "lập lịch tác vụ". Nó chạy định kỳ (rất nhanh) và chọn (từ danh sách) sẽ thực hiện tác vụ tiếp theo. Nhiệm vụ có thể ở nhiều trạng thái, như chọn, chặn, ngủ, v.v.

Nếu tất cả các tác vụ đều ở chế độ chọn (chờ một cái gì đó từ hệ điều hành) và không thể được phục vụ, hoặc một số đang ngủ, do đó, bộ xử lý không được sử dụng nhiều, bộ lập lịch tác vụ sẽ gọi một tác vụ đặc biệt gọi là "nhàn rỗi ".

Nếu trình điều khiển CPU kiểm tra bảng lập lịch tác vụ và xác minh rằng tác vụ nhàn rỗi đang chạy hầu hết thời gian của CPU, nó sẽ chỉ gửi một lệnh đến mạch PLL tạo xung nhịp của CPU để giảm xung nhịp. Ngược lại, nếu tác vụ nhàn rỗi mất ít thời gian CPU hơn (có nghĩa là CPU đang được sử dụng nhiều), trình điều khiển CPU sẽ tăng Tốc độ CPU.

Nó không quá khó, nhưng có một giới hạn thấp hơn trong đó CPU không thể được điều tiết thấp hơn vì không phải tất cả các CPU đều hoàn toàn tĩnh (vì vậy chúng cần chu kỳ làm mới). CPus hoàn toàn tĩnh có thể xuống thấp đến 0 (không) MHz vì không có trạng thái bị mất nếu đồng hồ bị dừng.

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.