CPU có hoạt động ở chế độ Ngủ không?


39

Giả sử trên HĐH Windows, bạn chuyển máy tính sang chế độ ngủ và đặt nó đi. Theo như tôi biết thì sẽ không có chương trình hay quy trình nào được chạy.

Nhưng bộ xử lý vẫn đang chạy hoặc hoạt động ở chế độ nền theo một cách nào đó và sử dụng năng lượng?

Bởi vì khi bạn thực hiện bất kỳ hành động nào có thể với các máy tính hiện đại chạy Windows 7 / 8.1 / 10 Tức là mở nắp, nhấn nút, chạm vào chuột, nó sẽ tự bật ngay lập tức mà không cần phải nhấn nút nguồn. Vì vậy, có phải vì CPU đã chủ động chờ đợi những sự kiện đó trong khi ở trạng thái năng lượng thấp?

Câu trả lời:


57

CPU có hoạt động ở chế độ Ngủ không?

Nó phụ thuộc. Có các trạng thái ngủ khác nhau (S1 đến S4) và trạng thái CPU không giống nhau ở tất cả chúng.

  • CPU bị dừng ở trạng thái ngủ S1
  • CPU bị tắt nguồn ở trạng thái ngủ S2 trở lên.

Giấc ngủ thường ở trạng thái ngủ S3 nhưng đôi khi BIOS có thể được cấu hình để sử dụng trạng thái ngủ S1 (được sử dụng khi tiếp tục từ S3 không hoạt động đúng).

powercfg -a có thể được sử dụng để xem trạng thái ngủ mà PC hỗ trợ.

Ví dụ đầu ra:

F:\test>powercfg -a
The following sleep states are available on this system: 
Standby (S3) Hibernate Hybrid Sleep
The following sleep states are not available on this system: 
Standby (S1)
    The system firmware does not support this standby state.
Standby (S2)
    The system firmware does not support this standby state.

Hệ thống ngủ trạng thái

Các trạng thái S1, S2, S3 và S4 là trạng thái ngủ. Một hệ thống ở một trong những trạng thái này không thực hiện bất kỳ nhiệm vụ tính toán nào và dường như bị tắt. Tuy nhiên, không giống như một hệ thống ở trạng thái tắt máy (S5), hệ thống ngủ vẫn giữ trạng thái bộ nhớ, trong phần cứng hoặc trên đĩa. Hệ điều hành không cần phải được khởi động lại để đưa máy tính về trạng thái làm việc.

Một số thiết bị có thể đánh thức hệ thống khỏi trạng thái ngủ khi xảy ra một số sự kiện, chẳng hạn như cuộc gọi đến modem. Ngoài ra, trên một số máy tính, một chỉ báo bên ngoài cho người dùng biết rằng hệ thống chỉ đang ngủ.

Với mỗi trạng thái ngủ liên tiếp, từ S1 đến S4, nhiều máy tính bị tắt. Tất cả các máy tính tuân thủ ACPI đều tắt đồng hồ bộ xử lý của chúng tại S1 và mất bối cảnh phần cứng hệ thống tại S4 (trừ khi tệp ngủ đông được ghi trước khi tắt máy), như được liệt kê trong các phần bên dưới. Chi tiết về trạng thái ngủ trung gian có thể thay đổi tùy thuộc vào cách nhà sản xuất đã thiết kế máy. Ví dụ, trên một số máy, một số chip nhất định trên bo mạch chủ có thể bị mất nguồn ở S3, trong khi trên các máy khác, các chip như vậy vẫn giữ nguồn cho đến S4. Hơn nữa, một số thiết bị có thể chỉ có thể đánh thức hệ thống từ S1 chứ không phải từ trạng thái ngủ sâu hơn.

Trạng thái hệ thống S1

Trạng thái nguồn hệ thống S1 là trạng thái ngủ với các đặc điểm sau:

Sự tiêu thụ năng lượng

  • Tiêu thụ ít hơn so với S0 và lớn hơn trong các trạng thái ngủ khác. Đồng hồ bộ xử lý đã tắt và đồng hồ xe buýt dừng lại. Tiếp tục phần mềm

  • Kiểm soát khởi động lại nơi nó rời đi.

Độ trễ phần cứng

  • Thông thường không quá hai giây.

Bối cảnh phần cứng hệ thống

  • Tất cả bối cảnh được giữ lại và duy trì bởi phần cứng.

Trạng thái hệ thống S2

Trạng thái nguồn hệ thống S2 tương tự S1 ngoại trừ bối cảnh CPU và nội dung của bộ đệm hệ thống bị mất do bộ xử lý mất nguồn. Trạng thái S2 có các đặc điểm sau:

Sự tiêu thụ năng lượng

  • Tiêu thụ ít hơn ở trạng thái S1 và lớn hơn trong S3. Bộ xử lý đã tắt. Đồng hồ xe buýt bị dừng lại; một số xe buýt có thể mất điện. Tiếp tục phần mềm

  • Sau khi thức dậy, điều khiển bắt đầu từ vectơ thiết lập lại của bộ xử lý.

Độ trễ phần cứng

  • Hai giây trở lên; lớn hơn hoặc bằng độ trễ cho S1.

Bối cảnh phần cứng hệ thống

  • Bối cảnh CPU và nội dung bộ đệm hệ thống bị mất.

Trạng thái hệ thống S3

Trạng thái nguồn hệ thống S3 là trạng thái ngủ với các đặc điểm sau:

Sự tiêu thụ năng lượng

  • Tiêu thụ ít hơn ở trạng thái S2. Bộ xử lý đã tắt và một số chip trên bo mạch chủ cũng có thể bị tắt.

Tiếp tục phần mềm

  • Sau sự kiện đánh thức, điều khiển bắt đầu từ vectơ thiết lập lại của bộ xử lý.

Độ trễ phần cứng

  • Hầu như không thể phân biệt được với S2.

Bối cảnh phần cứng hệ thống

  • Chỉ có bộ nhớ hệ thống được giữ lại. Bối cảnh CPU, nội dung bộ đệm và bối cảnh chipset bị mất.

Trạng thái hệ thống S4

Trạng thái năng lượng hệ thống S4, trạng thái ngủ đông, là trạng thái ngủ có công suất thấp nhất và có độ trễ đánh thức lâu nhất. Để giảm mức tiêu thụ năng lượng đến mức tối thiểu, phần cứng sẽ tắt tất cả các thiết bị. Tuy nhiên, bối cảnh hệ điều hành được duy trì trong một tệp ngủ đông (hình ảnh của bộ nhớ) mà hệ thống ghi vào đĩa trước khi vào trạng thái S4. Khi khởi động lại, trình tải sẽ đọc tệp này và nhảy đến vị trí tiền xử lý trước đó của hệ thống.

Nếu một máy tính ở trạng thái S1, S2 hoặc S3 mất toàn bộ nguồn AC hoặc pin, nó sẽ mất bối cảnh phần cứng hệ thống và do đó phải khởi động lại để trở về S0. Tuy nhiên, một máy tính ở trạng thái S4 có thể khởi động lại từ vị trí trước đó ngay cả khi nó bị mất pin hoặc nguồn AC vì bối cảnh hệ điều hành được giữ lại trong tệp ngủ đông. Một máy tính ở trạng thái ngủ đông không sử dụng nguồn điện (ngoại trừ khả năng có dòng điện nhỏ giọt).

Trạng thái S4 có các đặc điểm sau:

Sự tiêu thụ năng lượng

  • Tắt, ngoại trừ dòng nhỏ giọt đến nút nguồn và các thiết bị tương tự. Tiếp tục phần mềm

  • Hệ thống khởi động lại từ tập tin ngủ đông đã lưu. Nếu tập tin ngủ đông không thể được tải, cần phải khởi động lại. Cấu hình lại phần cứng trong khi hệ thống ở trạng thái S4 có thể dẫn đến những thay đổi ngăn tệp tải ngủ đông tải chính xác.

Độ trễ phần cứng

  • Dài và không xác định. Chỉ tương tác vật lý trả hệ thống về trạng thái làm việc. Tương tác như vậy có thể bao gồm người dùng nhấn công tắc BẬT hoặc, nếu có phần cứng phù hợp và đánh thức được bật, một vòng gọi cho modem hoặc hoạt động trên mạng LAN. Máy cũng có thể thức dậy từ bộ đếm thời gian tiếp tục nếu phần cứng hỗ trợ nó. Bối cảnh phần cứng hệ thống

  • Không giữ lại trong phần cứng. Hệ thống ghi một hình ảnh của bộ nhớ trong tệp ngủ đông trước khi tắt nguồn. Khi hệ điều hành được tải, nó sẽ đọc tệp này và nhảy đến vị trí trước đó.

Hệ thống nguồn ngủ


Đọc thêm


powercfg - a can be used...: có thêm một khoảng trống giữa -a.
Ruslan

25

Câu trả lời tuyệt vời của David là chính xác cho các máy truyền thống và các phiên bản Windows trước 8. Tuy nhiên, Windows 8 đã giới thiệu chế độ ngủ mới cho các thiết bị năng lượng thấp (máy tính bảng dựa trên nguyên tử, v.v.) Đây được gọi là Chế độ chờ InstantGo / Connected . Đây là chế độ "ngủ" mặc định khi bạn tắt màn hình trên máy tính bảng Windows có phần cứng được hỗ trợ.

Chế độ chờ được kết nối không sử dụng trạng thái ngủ ACPI truyền thống. Mục tiêu của nó là giữ cho các thiết bị ngoại vi kết nối hoạt động , cho phép HĐH phản hồi các thông báo, ví dụ như email đến, tin nhắn tức thời, v.v. Ngoài ra, máy "thức dậy" trong vài trăm mili giây cứ sau 30 giây. CPU sẽ phản hồi (đánh thức) nhanh hơn so với giấc ngủ S3 truyền thống.

[Chế độ chờ được kết nối yêu cầu] Khả năng chuyển đổi giữa chế độ không hoạt động và chế độ hoạt động trong vòng chưa đến 100 mili giây. Chế độ hoạt động cho phép mã chạy trên (các) CPU, nhưng không nhất thiết cho phép truy cập thiết bị lưu trữ hoặc bộ điều khiển máy chủ hoặc thiết bị ngoại vi khác. Chế độ không tải có thể là trạng thái đo xung nhịp hoặc đồng hồ đo điện, nhưng phải là trạng thái có mức tiêu thụ điện năng thấp nhất cho SoC và DRAM.

nguồn

Lưu ý rằng điều này nhanh hơn nhiều so với tối đa hai giây được chỉ định cho S1 hoặc hai giây trở lên cho S2 / S3, như trong câu trả lời của David.

Cuối cùng, CPU được giữ ở trạng thái đặc biệt Microsoft gọi DRIPS ( Trạng thái nền tảng nhàn rỗi nhất thời gian chạy) trên phần cứng được hỗ trợ.

Trên các SoC của Intel (x86), điều này thuộc một trong các trạng thái S0ix mới (không chuẩn) , cụ thể là S0i3. Ở trạng thái này, CPU không thực thi bất kỳ mã nào, nhưng toàn bộ SoC vẫn hoạt động đủ để duy trì kết nối với mạng và phản hồi bất kỳ sự kiện nào.


Theo như ACPI, đây vẫn được coi là trạng thái S0 (hoạt động). Windows sử dụng ACPI_S0_LOW_POWER_IDLEcờ để xác định xem DRIPS có được hỗ trợ hay không. Đặc tả ACPI ( 6.0 , tháng 4 năm 2015, §5.2.9, bảng 5-35, trang 127) định nghĩa cờ này là:

Một thông báo cho OSPM rằng nền tảng có thể đạt được mức tiết kiệm năng lượng trong S0 tương tự hoặc tốt hơn so với những gì thường đạt được trong S3. Trong thực tế, khi bit này được thiết lập, nó chỉ ra rằng hệ thống sẽ không đạt được lợi ích năng lượng bằng cách thực hiện chuyển đổi giấc ngủ sang S3.

Theo Microsoft :

Các hệ thống hỗ trợ Chế độ chờ hiện đại không sử dụng S1 - S3.


5

Có nhiều loại chế độ chờ được quản lý bởi ACPI https://en.wikipedia.org/wiki/Advified_Configuration_and_Power_Interface

CPU thường chạy khi ở chế độ chờ, mặc dù với tốc độ xung nhịp thấp - nó chỉ nghe các đầu vào cụ thể và không chủ động chạy bất kỳ quá trình nào khác. Tôi đã thử đo nó trước bằng cách chạy procmon và đặt laptop ở chế độ ngủ, nhưng nó hoàn toàn không chạy trong khoảng thời gian này.

Có 4 trạng thái toàn cầu, G0-G3, trong đó G0 đang chạy và G3 tắt Cơ học Theo bài viết được liên kết, G1 thay thế S2 tắt CPU và chuyển bộ đệm của nó sang RAM. RAM là thứ được bật trong tất cả các loại giấc ngủ - nó được tắt trong chế độ ngủ đông và tắt máy tiêu chuẩn. Trong hầu hết các trạng thái ngủ, tất cả các thiết bị đầu vào bên ngoài đều được bật và sẽ gửi các sự kiện đánh thức đến máy tính. Máy tính cũng có thể tự thức dậy để xử lý các thói quen yêu cầu đánh thức cuộc gọi.


2
"di chuyển bộ đệm của nó sang RAM" Vì bộ đệm là bộ đệm, không chỉ xóa các dòng bộ đệm bẩn và sau đó cấp nguồn xuống đủ?
ζ--

CPU đang bật, nhưng không chạy.
ilkhd

0

Tôi không có gì kỹ thuật để thêm vào những câu trả lời đã xuất sắc này. Nhưng cách dễ nhất để kiểm tra hiệu ứng của chế độ ngủ trên máy tính của bạn (tôi giả sử bạn đang nói về máy tính xách tay, vì bạn nói "cất nó đi") là đặt máy tính xách tay vào chế độ ngủ và rút phích cắm điện (lưu ý pin cấp độ đầu tiên). Tiếp tục máy một vài giờ sau đó và xem mức pin của bạn đã cạn kiệt trong thời gian đó.

Tôi phát hiện ra một cách khó khăn là chế độ ngủ làm cạn kiệt pin của tôi với tốc độ hợp lý. Tôi đã đóng nắp máy tính xách tay của mình trước chuyến đi - nghĩ rằng tôi đã định cấu hình "đóng nắp" để kích hoạt chế độ ngủ đông trong cài đặt nguồn trước - nhưng thay vào đó, nó chuyển sang chế độ ngủ. Vài giờ sau, máy sẽ không hoạt động trở lại vì pin đã cạn kiệt (đó là pin cũ, yếu).

Ngược lại, tôi có thể ngủ đông máy tính xách tay của mình và rút phích cắm vô thời hạn, và nó sẽ không làm hết pin nhanh hơn so với việc xả nhỏ giọt tự nhiên xảy ra trong nhiều ngày.

Nhưng như các bài viết khác đã nói: YMMV.

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.