กลไกเฟิร์มแวร์ / ฮาร์ดแวร์ใดที่ทำให้สามารถบังคับให้ปิดเครื่องได้


41

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

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

เพื่อสรุป: มีกลไก Universal-shutdown บังคับในตัวที่ระดับฮาร์ดแวร์หรือเฟิร์มแวร์หรือไม่? และใครบางคนสามารถอธิบายรายละเอียดเกี่ยวกับกลไกธรรมชาติสายพันธุ์และประวัติศาสตร์ทั่วไป


7
@EJP ผิด ดูคำตอบของฉัน :)
DavidPostill

2
ในอุปกรณ์ที่กำหนดเองที่ฉันได้ทำงานด้วยซึ่งมีปุ่มเปิดปิดนุ่มนวลและใช้พลังงานจากแบตเตอรี่ (ทำให้วงจรพลังงานยากสำหรับผู้ใช้) เราเพิ่มไมโครคอนโทรลเลอร์หรือตัวจับเวลา + วงจรลอจิกแยกต่างหาก (หรือส่วนเฉพาะ) บน FPGA) เพื่อจัดการพลังงานเมื่อเฟิร์มแวร์มีความซับซ้อนเพียงพอที่จะอนุญาตให้ปิดฮาร์ดหากมีข้อผิดพลาดของเฟิร์มแวร์ที่ล็อคมัน
Jason C

4
ข้อความส่วนใหญ่ที่มี "ทั้งหมด" ผิด
Paŭlo Ebermann

2
หากสิ่งอื่นล้มเหลวจะมีวิธีแก้ไขปัญหาการสำรองข้อมูลฮาร์ดแวร์เพิ่มเติมที่เกี่ยวข้องกับสายไฟสีดำหนาที่ด้านหลังพร้อมด้วยตัวเชื่อมต่อ 3 พินการลบสิ่งนี้จะเป็นการบังคับให้ปิดเครื่อง
Darren H

3
@DarrenH ไม่ได้อยู่ในแล็ปท็อปที่มีแบตเตอรี่ที่ไม่สามารถถอดออกได้ การใช้แบตเตอรีที่เบาบางอาจใช้งานได้ แต่ของฉันมีอายุการใช้งานนานกว่า 10 ชั่วโมง (ตัวอย่าง)
Chris H

คำตอบ:


45

มีกลไกบังคับปิดเครื่องอเนกประสงค์ที่ระดับฮาร์ดแวร์หรือเฟิร์มแวร์หรือไม่?

ทั้งเมนบอร์ด (ฮาร์ดแวร์) และ BIOS (เฟิร์มแวร์) มีส่วนร่วมในกระบวนการ

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

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

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

แหล่งที่มาปุ่มเพาเวอร์ทำงานอย่างไร


สวิตช์ที่ทันสมัยไม่มีความวิเศษใด ๆ ที่จริงแล้วมันมี ความซับซ้อนน้อยกว่าและแพงกว่าสวิตช์เปิด / ปิดจริง

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

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

ในบางกรณีปุ่มจะทำให้ไมโครเพิ่มพลังเมื่อกดซึ่งจะเปิดทรานซิสเตอร์หรือรีเลย์หรืออะไรบางอย่างเพื่อเปิดเครื่อง เมื่อคุณกดปุ่มเพื่อปิดอุปกรณ์ไมโครจะปิดทุกอย่างรวมถึงตัวมันเอง

แหล่งสัญญาณปุ่มเปิดปิดที่ทันสมัยเหล่านี้บนอุปกรณ์ทำงานอย่างไรตอบโดยOlin Lathrop


1
เพื่ออธิบายอย่างชัดเจนปุ่มเปิดปิดถูกจัดการโดยตรงโดย CPU หลักเช่นรหัส BIOS ส่วนใหญ่หรือเฟิร์มแวร์ที่จัดการกับปุ่มเปิดปิดทำงานบนไมโครคอนโทรลเลอร์เหมือนกับส่วนที่สองของคำตอบของคุณหรือไม่
slebetman

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

6

กลไกสากล (ฉันสมมติว่า) บังคับให้ปิดเครื่องในตัวในระดับฮาร์ดแวร์หรือเฟิร์มแวร์หรือไม่?

มีตรรกะง่ายๆที่นี่: พวกเขาจะต้องทำงานในระดับฮาร์ดแวร์เพราะพวกเขาทำงานโดยไม่มี CPU ในซ็อกเก็ต

แน่นอนว่าพีซีจะไม่ทำสิ่งนั้นมากนัก แต่คุณยังสามารถเปิดเครื่องได้ในทางเทคนิค หากเมนบอร์ดของคุณมีความสามารถในการส่งข้อความถึงคุณ (โดยส่งเสียงบี๊บหรือรหัส 2 หลักเล็ก ๆ ) คุณอาจจะได้รับรหัส "CPU ไม่ดี / ไม่มี CPU" คุณจะสามารถปิดเครื่องได้ด้วยการกดแบบยาวซึ่งเป็นส่วนสำคัญในที่นี้

นอกจากนี้โปรดทราบว่าในทุกกรณีที่ระบบอยู่ในสถานะที่ไม่ใช้สติ (เช่นในโหมดผู้ใช้คนเดียว / เคอร์เนลลินุกซ์ตื่นตระหนก / BSOD ฯลฯ ) และสำหรับเจตนาและวัตถุประสงค์ทั้งหมดในตอนท้าย ปุ่มยังคงใช้งานได้ (อย่างน้อยกดแบบยาว)

โปรดทราบว่า "ระดับฮาร์ดแวร์" เป็นคำที่ค่อนข้างกว้างอยู่แล้ว กล่าวคืออาจมีอะไรก็ได้จากทรานซิสเตอร์ไม่กี่ตัวไปจนถึงขนาดเล็กโดยเฉพาะ withC ที่มี NVRAM อยู่สองสามบิต (ซึ่งจะเก็บค่าที่กำหนดโดย BIOS ตัวอย่างเช่นพฤติกรรมของการกดสั้น ๆ ) ซึ่งคนส่วนใหญ่ จะยังคงเรียกว่า "ฮาร์ดแวร์"

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