Jakie oprogramowanie sprzętowe / mechanizm sprzętowy umożliwia wymuszone wyłączenie?

41

Chociaż nie wiem tego na pewno, jestem całkiem pewien, że przytrzymanie przycisku zasilania na wszystkich komputerach zmusi ich do zamknięcia się po różnych okresach czasu. Jest to szczególnie przydatne, gdy komputer zawiesza się lub jakiś inny błąd wymaga całkowitego ponownego uruchomienia.

Interesuje mnie to, czy ten mechanizm wymuszonego zamykania jest na stałe zakodowany w komputerach stanowiących oprogramowanie wewnętrzne? Lub czy jest to wbudowane w komputer na poziomie sprzętowym. Jeśli mechanizm był oprogramowaniem układowym, logiczne jest założenie, że błąd na poziomie procesora uniemożliwiłby prawidłowe uruchomienie tego mechanizmu, co prowadzi mnie do wniosku, że jest to funkcja sprzętowa.

Podsumowując: Czy uniwersalny (zakładam) mechanizm wymuszonego wyłączania jest wbudowany na poziomie sprzętowym lub oprogramowania układowego? I może ktoś rozwinąć mechanizmy natury, wariantów i ogólnej historii.

użytkownik4493605
źródło
7
@EJP Wrong. Zobacz moją odpowiedź :)
DavidPostill
2
Na niektórych niestandardowych urządzeniach, z którymi współpracowałem, mają również miękki przycisk zasilania i są zasilane z baterii (co utrudnia użytkownikowi trudny cykl zasilania), wyraźnie dodajemy osobny mikrokontroler lub zegar + obwody logiczne (lub wydzieloną sekcję w układzie FPGA) do obsługi zasilania, gdy oprogramowanie układowe jest wystarczająco złożone, aby umożliwić wyłączenie zasilania, jeśli wystąpi błąd oprogramowania układowego, który go blokuje.
Jason C
4
Większość stwierdzeń zawierających „wszystkie” jest błędna.
Paŭlo Ebermann
2
Jeśli wszystko inne zawiedzie, istnieje inne w pełni sprzętowe rozwiązanie do tworzenia kopii zapasowych obejmujące gruby czarny przewód z tyłu z 3-stykowym złączem, usunięcie go również wymusi wyłączenie.
Darren H
3
@DarrenH nie na laptopie z niewymienną baterią. Spłaszczanie baterii działałoby, ale moja ma ponad 10 godzin życia (na przykład)
Chris H

Odpowiedzi:

45

Czy uniwersalny mechanizm wyłączania wymuszonego jest wbudowany na poziomie sprzętowym lub oprogramowania układowego?

W proces zaangażowana jest zarówno płyta główna (sprzęt), jak i BIOS (oprogramowanie układowe).

Rzeczywiste przełączanie zasilania (włączanie i wyłączanie) odbywa się za pomocą obwodów na płycie głównej. Obwody są wyzwalane do zmiany stanu przez chwilowe zwarcie dwóch punktów w obwodzie. Odbywa się to za pomocą przycisku na panelu przednim. Wystarczy krótkotrwałe połączenie tego przycisku. Obwód płyty głównej ma również drugą i trzecią funkcję, jaką może wykonać.

BIOS jest zwykle ustawiony w taki sposób, że jeśli obwód jest już w stanie WŁĄCZENIA, a chwilowy kontakt jest utrzymywany zamknięty przez co najmniej 4 sekundy, zostanie wykonana jedna z dwóch czynności. Albo system natychmiast się wyłączy (jak wyłączenie przełącznika), albo płyta główna przejdzie w stan „uśpienia” i zaczeka na przebudzenie. Która z tych dwóch opcji jest wykonywana, należy ustawić na ekranach konfiguracji systemu BIOS. **

To jest powód, dla którego płyta główna nigdy nie jest całkowicie wyłączona w większości sytuacji operacyjnych. Nawet gdy jest on wyłączony, jego niewielka część jest poświęcona sprawdzaniu wejść z kilku źródeł (takich jak przedni przycisk, niektóre urządzenia USB i może modem), aby mógł zareagować poprzez włączenie zasilania cały system. Sposobem na całkowite odcięcie zasilania jest wyciągnięcie przewodu zasilającego lub użycie fizycznego przełącznika zamontowanego z tyłu zasilacza, aby go wyłączyć.

Źródło Jak działa przycisk zasilania?


Nowoczesne przełączniki nie zawierają żadnej magii. W rzeczywistości są one mniej skomplikowane i droższe niż rzeczywiste fizyczne włączniki / wyłączniki.

Przełączniki te są tylko wejściami do mikrokontrolera. Mikrokontroler może stwierdzić, kiedy naciśniesz przycisk, a reszta jest zakodowana w oprogramowaniu układowym, aby zdecydować, co z tym zrobić. Moc jest zwykle przełączana za pomocą tranzystorów. Oznacza to, że sam przycisk nie musi radzić sobie z wysokim napięciem lub wysokim prądem, więc jest o wiele więcej opcji, aby go zrobić i aby był mały. Może to być na przykład przełącznik membranowy, którego nigdy nie użyłbyś do przełączania zasilania ściennego.

Oznacza to, że trochę urządzenia jest zwykle włączone, przynajmniej na tyle, aby zasilić mikrokontroler. Jednak współczesne mikrokontrolery mogą pobierać tak małe ilości energii, gdy robią tylko czekając na sygnał przełączający, że ta moc jest nieistotna w większości przypadków.

W niektórych przypadkach przycisk faktycznie powoduje włączenie mikro po naciśnięciu, co następnie włącza niektóre tranzystory lub przekaźnik lub coś, co pozwala utrzymać zasilanie. Po naciśnięciu przycisku, aby wyłączyć urządzenie, mikro wyłącza wszystko, w tym siebie.

Źródło W jaki sposób te nowoczesne przyciski zasilania na urządzeniach działają w odpowiedzi Olin Lathrop

DavidPostill
źródło
1
Aby wyjaśnić, czy przycisk zasilania jest obsługiwany bezpośrednio przez główny procesor, podobnie jak większość kodu BIOS-u, czy oprogramowanie układowe obsługujące przycisk zasilania działa na mikrokontrolerze, jak druga część twojej odpowiedzi?
slebetman,
3
Uważam, że to jedno i drugie: naciśnięcie przycisku generuje zdarzenie ACPI dla procesora, ale jest też monitor inny niż główny procesor monitorujący go w celu wdrożenia prawdziwego wymuszonego wyłączenia, jeśli zostanie przytrzymany bez odpowiedzi procesora. W przeciwnym razie może dojść do sytuacji, w której przerwania są wyłączone, a interfejs ACPI jest wyłączony i nie można wymusić zamknięcia.
pjc50
6

Czy uniwersalny (zakładam) mechanizm wymuszonego wyłączania jest wbudowany na poziomie sprzętowym lub oprogramowania układowego?

Bez szukania odniesień, tutaj jest dość prosta logika: muszą działać na poziomie sprzętowym, ponieważ działają bez procesora w gnieździe.

Jasne, komputer nie zrobi tyle, ale nadal możesz go technicznie włączyć; jeśli twoja płyta główna ma możliwość przekazywania ci wiadomości (za pomocą sygnałów dźwiękowych lub małego dwucyfrowego kodu), prawdopodobnie otrzymasz kod „zły procesor / brak procesora”. Będziesz także mógł go wyłączyć długim naciśnięciem, co jest tutaj ważną częścią.

Należy również pamiętać, że we wszystkich przypadkach, w których system znajduje się w stanie głębokiego braku rozsądku (tj. W trybie pojedynczego użytkownika / panika jądra Linux / BSOD itp.) I dla wszystkich celów i celów w ślepy zaułek, moc przycisk nadal działa (przynajmniej długie naciśnięcie).

Zauważ, że „poziom sprzętu” jest już dość szerokim pojęciem; tzn. z łatwością może istnieć coś, od kilku tranzystorów po małe dedykowane µC z kilkoma bitami NVRAM wokół (co utrzyma wartości skonfigurowane przez BIOS, na przykład zachowanie krótkiego naciśnięcia), co większość ludzi nadal nazywa się „sprzętem”.

AnoE
źródło