CPU ทำงานในโหมดสลีปหรือไม่


39

สมมติว่าในระบบปฏิบัติการ Windows คุณสลับคอมพิวเตอร์เพื่อเข้าสู่โหมดสลีปและวางไว้ เท่าที่ฉันรู้จะไม่มีโปรแกรมหรือกระบวนการใดทำงาน

แต่โปรเซสเซอร์จะยังคงทำงานหรือทำงานในพื้นหลังในบางวิธีและใช้พลังงานหรือไม่?

เนื่องจากเมื่อคุณดำเนินการใด ๆ กับคอมพิวเตอร์สมัยใหม่ที่ใช้ Windows 7 / 8.1 / 10 เช่นเปิดฝาปิดให้กดปุ่มเพียงปุ่มเดียวสัมผัสเมาส์ทันทีที่เปิดเครื่องโดยไม่ต้องกดปุ่มเปิดปิด ดังนั้นเป็นเพราะ CPU กำลังรอเหตุการณ์เหล่านั้นในขณะที่อยู่ในสถานะพลังงานต่ำหรือไม่

คำตอบ:


57

CPU ทำงานในโหมดสลีปหรือไม่

มันขึ้นอยู่กับ. มีสถานะสลีปที่แตกต่างกัน (S1 ถึง S4) และสถานะของ CPU นั้นไม่เหมือนกันในทุกสถานะ

  • CPU หยุดทำงานในสถานะสลีป S1
  • CPU ปิดอยู่ในโหมดสลีป S2 หรือสูงกว่า

โหมดสลีปปกติเป็นสถานะ sleep S3 แต่บางครั้ง BIOS สามารถกำหนดค่าให้ใช้สถานะ sleep S1 แทน (ใช้เมื่อดำเนินการต่อจาก S3 ไม่ทำงานอย่างถูกต้อง)

powercfg -a สามารถใช้เพื่อดูว่าสถานะสลีปใดที่พีซีรองรับ

ตัวอย่างผลลัพธ์:

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.

สถานะระบบการนอนหลับ

สถานะ S1, S2, S3 และ S4 เป็นสถานะสลีป ระบบในสถานะใดสถานะหนึ่งเหล่านี้ไม่ได้ทำงานการคำนวณใด ๆ และดูเหมือนว่าจะปิด แตกต่างจากระบบในสถานะปิดเครื่อง (S5) อย่างไรก็ตามระบบสลีปยังคงสถานะหน่วยความจำไม่ว่าจะเป็นในฮาร์ดแวร์หรือบนดิสก์ ไม่จำเป็นต้องรีบูตระบบปฏิบัติการเพื่อให้คอมพิวเตอร์กลับสู่สถานะการทำงาน

อุปกรณ์บางอย่างสามารถปลุกระบบจากสถานะสลีปเมื่อเกิดเหตุการณ์บางอย่างเช่นการโทรเข้าโมเด็ม นอกจากนี้ในคอมพิวเตอร์บางเครื่องตัวบ่งชี้ภายนอกจะบอกผู้ใช้ว่าระบบกำลังทำงานอยู่

เมื่อสถานะสลีปต่อเนื่องกันตั้งแต่ S1 ถึง S4 คอมพิวเตอร์จะถูกปิดการทำงานมากขึ้น คอมพิวเตอร์ที่ตรงตามข้อกำหนด ACPI ทั้งหมดจะปิดนาฬิกาโปรเซสเซอร์ของพวกเขาที่ S1 และสูญเสียบริบทฮาร์ดแวร์ของระบบที่ S4 (เว้นแต่ว่าไฟล์ hibernate จะถูกเขียนก่อนที่จะปิดเครื่อง) ตามที่แสดงในส่วนด้านล่าง รายละเอียดของสถานะสลีประดับกลางอาจแตกต่างกันไปขึ้นอยู่กับวิธีที่ผู้ผลิตออกแบบเครื่อง ตัวอย่างเช่นในบางเครื่องชิพบางตัวบนเมนบอร์ดอาจสูญเสียพลังงานที่ S3 ในขณะที่ชิพอื่น ๆ นั้นจะยังคงใช้พลังงานจนถึง S4 นอกจากนี้อุปกรณ์บางอย่างอาจสามารถปลุกระบบได้จาก S1 เท่านั้นและไม่ใช่จากสถานะสลีปที่ลึกกว่า

สถานะพลังงานระบบ S1

สถานะพลังงานของระบบ S1 เป็นสถานะสลีปที่มีคุณสมบัติดังต่อไปนี้:

การใช้พลังงาน

  • การบริโภคน้อยกว่าใน S0 และมากกว่าในสถานะสลีปอื่น ๆ นาฬิกาโปรเซสเซอร์หยุดทำงานและนาฬิกาบัสหยุดทำงาน ซอฟต์แวร์เริ่มใหม่

  • การควบคุมจะรีสตาร์ทที่ที่ค้างไว้

เวลาแฝงของฮาร์ดแวร์

  • โดยทั่วไปแล้วไม่เกินสองวินาที

บริบทฮาร์ดแวร์ของระบบ

  • บริบททั้งหมดเก็บรักษาและดูแลรักษาโดยฮาร์ดแวร์

สถานะพลังงานระบบ S2

สถานะพลังงานของระบบ S2 นั้นคล้ายกับ S1 ยกเว้นว่าบริบทของ CPU และเนื้อหาของแคชระบบจะสูญหายไปเนื่องจากตัวประมวลผลสูญเสียพลังงาน สถานะ S2 มีคุณสมบัติดังต่อไปนี้:

การใช้พลังงาน

  • การบริโภคน้อยกว่าในสถานะ S1 และมากกว่าใน S3 โปรเซสเซอร์ปิดอยู่ นาฬิกาบัสหยุด รถเมล์บางแห่งอาจสูญเสียพลังงาน ซอฟต์แวร์เริ่มใหม่

  • หลังจากตื่นขึ้นมาการควบคุมจะเริ่มจากเวกเตอร์รีเซ็ตของโปรเซสเซอร์

เวลาแฝงของฮาร์ดแวร์

  • สองวินาทีหรือมากกว่านั้น มากกว่าหรือเท่ากับเวลาแฝงของ S1

บริบทฮาร์ดแวร์ของระบบ

  • บริบท CPU และเนื้อหาแคชของระบบหายไป

สถานะพลังงานระบบ S3

สถานะพลังงานของระบบ S3 เป็นสถานะสลีปที่มีคุณสมบัติดังต่อไปนี้:

การใช้พลังงาน

  • การบริโภคน้อยกว่าในรัฐ S2 โปรเซสเซอร์ปิดใช้งานและชิปบางตัวบนแผงวงจรหลักอาจปิดอยู่

ซอฟต์แวร์เริ่มใหม่

  • หลังจากเหตุการณ์ปลุกแล้วการควบคุมจะเริ่มจากเวกเตอร์รีเซ็ตของโปรเซสเซอร์

เวลาแฝงของฮาร์ดแวร์

  • เกือบจะแยกไม่ออกจาก S2

บริบทฮาร์ดแวร์ของระบบ

  • หน่วยความจำระบบเท่านั้นที่จะถูกเก็บไว้ บริบท CPU เนื้อหาแคชและบริบทชิปเซ็ตหายไป

สถานะพลังงานระบบ S4

สถานะพลังงานของระบบ S4, สถานะไฮเบอร์เนตเป็นสถานะการนอนหลับที่ใช้พลังงานต่ำที่สุดและมีเวลาแฝงในการปลุกนานที่สุด เพื่อลดการใช้พลังงานให้น้อยที่สุดฮาร์ดแวร์จะปิดอุปกรณ์ทั้งหมด อย่างไรก็ตามบริบทของระบบปฏิบัติการนั้นได้รับการปรับปรุงในไฟล์ hibernate (อิมเมจของหน่วยความจำ) ที่ระบบเขียนลงดิสก์ก่อนที่จะเข้าสู่สถานะ S4 เมื่อรีสตาร์ทโหลดเดอร์จะอ่านไฟล์นี้และข้ามไปยังตำแหน่งที่ห้ามไว้ก่อนหน้าของระบบ

หากคอมพิวเตอร์ที่อยู่ในสถานะ S1, S2 หรือ S3 สูญเสียพลังงาน AC หรือแบตเตอรี่ทั้งหมดระบบจะสูญเสียบริบทฮาร์ดแวร์ของระบบดังนั้นจึงต้องรีบูตเพื่อกลับสู่ S0 อย่างไรก็ตามคอมพิวเตอร์ที่อยู่ในสถานะ S4 สามารถรีสตาร์ทจากตำแหน่งก่อนหน้าแม้ว่าจะสูญเสียพลังงานแบตเตอรี่หรือไฟ AC เพราะบริบทของระบบปฏิบัติการจะยังคงอยู่ในไฟล์ไฮเบอร์เนต คอมพิวเตอร์ที่อยู่ในสถานะไฮเบอร์เนตไม่ใช้พลังงาน (ยกเว้นข้อผิดพลาดที่อาจเกิดขึ้นได้ในปัจจุบัน)

สถานะ S4 มีคุณสมบัติดังต่อไปนี้:

การใช้พลังงาน

  • ปิดยกเว้นกระแสหยดลงที่ปุ่มเปิดปิดและอุปกรณ์ที่คล้ายกัน ซอฟต์แวร์เริ่มใหม่

  • ระบบรีสตาร์ทจากไฟล์ไฮเบอร์เนตที่บันทึกไว้ หากไม่สามารถโหลดไฟล์ hibernate ได้จำเป็นต้องบูตเครื่องใหม่ การกำหนดค่าฮาร์ดแวร์ใหม่ในขณะที่ระบบอยู่ในสถานะ S4 อาจส่งผลให้เกิดการเปลี่ยนแปลงที่ป้องกันไม่ให้ไฟล์จำศีลโหลดอย่างถูกต้อง

เวลาแฝงของฮาร์ดแวร์

  • ยาวและไม่ได้กำหนด การโต้ตอบทางกายภาพเท่านั้นที่ส่งคืนระบบกลับสู่สถานะการทำงาน การโต้ตอบดังกล่าวอาจรวมถึงผู้ใช้ที่กดสวิตช์ ON หรือหากมีฮาร์ดแวร์ที่เหมาะสมและเปิดใช้งานการปลุกจะมีสัญญาณเรียกเข้าสำหรับโมเด็มหรือกิจกรรมบน LAN เครื่องยังสามารถปลุกจากตัวจับเวลาการทำงานต่อหากฮาร์ดแวร์รองรับ บริบทฮาร์ดแวร์ของระบบ

  • ไม่มีเก็บไว้ในฮาร์ดแวร์ ระบบจะเขียนอิมเมจหน่วยความจำในไฟล์ hibernate ก่อนปิดเครื่อง เมื่อโหลดระบบปฏิบัติการแล้วไฟล์จะอ่านไฟล์นี้และข้ามไปยังตำแหน่งก่อนหน้า

ระบบที่มารัฐหลับ


อ่านเพิ่มเติม

  • ดัชนี AZ ของบรรทัดคำสั่ง Windows CMD - การอ้างอิงที่ยอดเยี่ยมสำหรับทุกสิ่งที่เกี่ยวข้องกับบรรทัด Windows cmd
  • powercfg - ควบคุมการตั้งค่าพลังงานกำหนดค่าโหมดไฮเบอร์เนต / สแตนด์บาย

powercfg - a can be used...: มีพื้นที่พิเศษระหว่างและ- a
Ruslan

25

คำตอบที่ดีเยี่ยมของดาวิดถูกต้องสำหรับเครื่องแบบดั้งเดิมและ Windows รุ่นก่อนที่จะ 8. อย่างไรก็ตาม Windows 8 เปิดตัวโหมดสลีปใหม่สำหรับอุปกรณ์ที่ใช้พลังงานต่ำ (แท็บเล็ตที่ใช้ Atom ฯลฯ .. ) นี้เป็นที่รู้จักกันInstantGo / เชื่อมต่อสแตนบาย นี่คือโหมด "สลีป" เริ่มต้นเมื่อคุณปิดหน้าจอบนแท็บเล็ต Windows ด้วยฮาร์ดแวร์ที่รองรับ

Connected Standbyไม่ได้ใช้สถานะ sleep ของ ACPI ดั้งเดิม เป้าหมายคือเพื่อให้อุปกรณ์ต่อพ่วงเชื่อมต่อใช้งานได้ทำให้ระบบปฏิบัติการสามารถตอบสนองต่อการแจ้งเตือนเช่นอีเมลขาเข้าข้อความโต้ตอบแบบทันทีและอื่น ๆ นอกจากนี้เครื่อง "ปลุก" สำหรับสองร้อยมิลลิวินาทีทุก 30 วินาที CPU ควรตอบสนอง (ตื่นขึ้น) เร็วกว่าที่จะมาจากโหมดสลีป S3 แบบดั้งเดิม

[Standby ที่เชื่อมต่อต้องการ] ความสามารถในการสลับระหว่างโหมดว่างและโหมดแอ็คทีฟในเวลาน้อยกว่า 100 มิลลิวินาที โหมดแอ็คทีฟอนุญาตให้โค้ดรันบน CPU แต่ไม่จำเป็นต้องอนุญาตการเข้าถึงอุปกรณ์เก็บข้อมูลหรือตัวควบคุมโฮสต์หรืออุปกรณ์ต่อพ่วงอื่น ๆ โหมดไม่ได้ใช้งานอาจเป็นสถานะที่มีสัญญาณนาฬิกาหรือมีพลังงาน แต่ควรเป็นสถานะที่มีการใช้พลังงานต่ำที่สุดสำหรับ SoC และ DRAM

แหล่ง

โปรดทราบว่านี่เป็นสิ่งที่เร็วกว่ามากถึงสองวินาทีที่ระบุไว้สำหรับ S1 หรือสองวินาทีหรือมากกว่าสำหรับ S2 / S3 เช่นเดียวกับคำตอบของดาวิด

ด้วยเหตุนี้ซีพียูจึงอยู่ในสถานะพิเศษที่ Microsoft เรียกใช้DRIPS (สถานะแพลตฟอร์ม Idle Platform ที่ลึกที่สุด) บนฮาร์ดแวร์ที่รองรับ

บน SoCs ของ Intel (x86) สิ่งนี้ตกอยู่ภายใต้สถานะ S0ix (ไม่ได้มาตรฐาน) รัฐหนึ่งโดยเฉพาะ S0i3 ในสถานะนี้ CPU จะไม่เรียกใช้รหัสใด ๆ แต่ SoC โดยรวมยังคงทำงานอยู่เพียงพอที่จะเชื่อมต่อกับเครือข่ายและตอบสนองต่อเหตุการณ์ใด ๆ


ตราบใดที่ ACPI เกี่ยวข้องนี่ยังถือว่าเป็นสถานะ S0 (ใช้งานอยู่) Windows ใช้การACPI_S0_LOW_POWER_IDLEตั้งค่าสถานะเพื่อตรวจสอบว่าสนับสนุน DRIPS ข้อกำหนด ACPI ( 6.0 ., เมษายน 2015 §5.2.9ตาราง 5-35, หน้า 127) กำหนดธงนี้เป็น:

หนึ่งแจ้ง OSPM ว่าแพลตฟอร์มสามารถบรรลุการประหยัดพลังงานใน S0 คล้ายหรือดีกว่าปกติใน S3 ผลเมื่อตั้งบิตนี้มันบ่งชี้ว่าระบบจะไม่ได้รับประโยชน์ด้านพลังงานโดยทำการเปลี่ยนสถานะสลีปเป็น S3

ตามที่ Microsoft :

ระบบที่รองรับ Modern Standby ไม่ได้ใช้ S1-S3


5

มีโหมดสแตนด์บายหลายประเภทที่จัดการโดย ACPI https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

CPU มักจะทำงานเมื่ออยู่ในโหมดแสตนด์บายแม้ว่าจะมีอัตราสัญญาณนาฬิกาต่ำ แต่จะรับฟังเฉพาะอินพุตที่ระบุเท่านั้นและไม่ได้ใช้กระบวนการอื่นใดในการทำงาน ฉันลองวัดมันเป็นครั้งแรกโดยใช้ procmon และตั้งค่าให้แล็ปท็อปหลับ แต่มันไม่ทำงานเลยในช่วงนี้

มีสถานะทั่วโลก 4 สถานะ G0-G3 ที่ G0 กำลังทำงานและ G3 ปิดทางกลไก ตามบทความที่เชื่อมโยง G1 substate S2 จะปิด CPU และย้ายแคชไปยัง RAM RAM เป็นอุปกรณ์ที่เปิดใช้งานในโหมดสลีปทุกประเภท - ปิดในโหมดไฮเบอร์เนตและในการปิดมาตรฐาน ในสถานะสลีปส่วนใหญ่อุปกรณ์อินพุตภายนอกทั้งหมดจะเปิดทำงานและจะส่งกิจกรรมปลุกไปยังคอมพิวเตอร์ คอมพิวเตอร์ยังสามารถปลุกตัวเองเพื่อประมวลผลกิจวัตรที่ต้องมีการโทรปลุก


2
"ย้ายเป็นแคชไปยัง RAM" เนื่องจากแคชเป็นอย่างดีแคชไม่ใช่เพียงการล้างข้อมูลบรรทัดแคชสกปรกจากนั้นเปิดเครื่องให้เพียงพอ
ζ--

CPU เปิดอยู่ แต่ไม่ทำงาน
ilkhd

0

ฉันไม่มีอะไรเทคนิคที่จะเพิ่มคำตอบที่ยอดเยี่ยมเหล่านี้แล้ว แต่วิธีที่ง่ายที่สุดในการทดสอบเอฟเฟกต์ของโหมดสลีปบนคอมพิวเตอร์ของคุณเอง (ฉันคิดว่าคุณกำลังพูดถึงแล็ปท็อปเนื่องจากคุณบอกว่า "เอามันออกไป") คือการวางแล็ปท็อปเข้าสู่โหมดสลีป ระดับแรก) กลับมาทำงานเครื่องอีกหลายชั่วโมงในภายหลังและดูว่าระดับแบตเตอรี่ของคุณหมดลงหรือไม่ในช่วงเวลานั้น

ฉันพบวิธีที่ยากลำบากที่โหมดสลีปทำให้แบตเตอรี่ของฉันหมดลงอย่างรวดเร็ว ฉันปิดฝาปิดแล็ปท็อปของฉันก่อนการเดินทาง - คิดว่าฉันได้กำหนดค่า "ปิดฝา" เพื่อกระตุ้นการจำศีลในการตั้งค่าพลังงานล่วงหน้า - แต่มันเข้าสู่โหมดสลีปแทน ไม่กี่ชั่วโมงต่อมาเครื่องจะไม่กลับมาทำงานอีกเพราะแบตเตอรี่หมด (แบตเตอรี่เก่าและอ่อนแอ)

ในทางตรงกันข้ามฉันสามารถจำศีลแล็ปท็อปของฉันและถอดปลั๊กออกได้อย่างไม่มีกำหนดและมันจะไม่ทำให้แบตเตอรีหมดเร็วกว่าการไหลหยดตามธรรมชาติที่เกิดขึ้นในช่วงหลายวันที่ผ่านมา

แต่ตามที่โพสต์อื่น ๆ ได้กล่าวว่า: YMMV

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.