Quale meccanismo firmware / hardware consente l'arresto forzato?


41

Anche se non lo so per certo, sono abbastanza sicuro che tenere premuto il pulsante di accensione su tutti i computer li costringerà a spegnersi dopo vari periodi di tempo. Ciò è particolarmente utile se il computer si blocca o se qualche altro errore richiede un riavvio totale.

Quello che mi interessa è se questo meccanismo di spegnimento forzato è codificato nel computer alla base del firmware? O se questo è integrato nel computer a livello hardware. Se il meccanismo era firmware, è logico supporre che un errore a livello di CPU impedirebbe l'attivazione corretta di questo meccanismo, il che mi porta a credere che si tratti di una funzione hardware.

Riassumendo: il meccanismo di spegnimento forzato universale (presumo) è integrato a livello di hardware o firmware? E qualcuno può approfondire la natura dei meccanismi, le varianti e la storia generale.


7
@EJP Wrong. Vedi la mia risposta :)
DavidPostill

2
Su alcuni dei dispositivi personalizzati con cui ho lavorato che hanno anche un pulsante di accensione soft e sono alimentati a batteria (rendendo difficile un ciclo di alimentazione difficile per un utente), aggiungiamo esplicitamente un microcontrollore separato o timer + circuiti logici (o una sezione dedicata su un FPGA) per gestire l'alimentazione quando il firmware è sufficientemente complesso da consentire uno spegnimento intenso se c'è un bug del firmware che lo blocca.
Jason C

4
La maggior parte delle affermazioni con "tutto" sono errate.
Paŭlo Ebermann,

2
Se tutto il resto fallisce, c'è un'ulteriore soluzione di backup completamente hardware che coinvolge un grosso cavo nero sul retro con un connettore a 3 pin, rimuovendo questo forzerà anche l'arresto.
Darren H,

3
@DarrenH non su un laptop con una batteria non rimovibile. L'appiattimento della batteria funzionerebbe, ma il mio ha una durata di oltre 10 ore (ad esempio)
Chris H,

Risposte:


45

Il meccanismo universale di spegnimento forzato è integrato a livello di hardware o firmware?

Sia la scheda madre (hardware) che il BIOS (firmware) sono coinvolti nel processo.

L'effettiva commutazione dell'alimentazione (on e off) viene effettuata dai circuiti sulla scheda madre. I circuiti vengono attivati ​​per cambiare stato da un corto circuito momentaneo di due punti nel circuito. Questo è fatto dal pulsante del pannello frontale. È sufficiente una connessione a breve termine di quel pulsante. Il circuito della scheda madre ha anche una seconda e terza funzione che può svolgere.

Il BIOS di solito è impostato in modo tale che, se il circuito è già nello stato ON e il contatto momentaneo viene mantenuto chiuso per almeno 4 secondi, verrà eseguita una delle due azioni. O il sistema si spegnerà immediatamente (come spegnere un interruttore) o la scheda madre entrerà nello stato di "sospensione" e attenderà di essere risvegliata. Quale di queste due opzioni viene eseguita è qualcosa che hai impostato nelle schermate di configurazione del BIOS. **

Questo è il motivo per cui la scheda madre non è mai completamente "Off" nella maggior parte delle situazioni operative. Anche quando è "Off", c'è una piccola parte dedicata al controllo degli input da alcune fonti (come il pulsante frontale, alcuni dispositivi USB e forse un modem) in modo che possa rispondere accendendo il intero sistema. Il modo per interrompere veramente tutta l'alimentazione è quello di estrarre il cavo di alimentazione o utilizzare l'interruttore fisico montato sul retro dell'alimentatore per spegnerlo.

Fonte Come funziona il pulsante di accensione?


I moderni interruttori non contengono alcuna magia. In effetti, sono meno complicati e costosi degli interruttori on / off fisici reali.

Questi interruttori sono solo ingressi per un microcontrollore. Il microcontrollore può dire quando si preme il pulsante e il resto è codificato nel firmware per decidere cosa fare al riguardo. L'alimentazione viene normalmente commutata con transistor. Ciò significa che il pulsante stesso non deve gestire alta tensione o alta corrente, quindi ci sono molte più opzioni per farlo e per essere piccolo. Potrebbe essere un interruttore a membrana, ad esempio, che non avresti mai usato per cambiare l'alimentazione a parete.

Ciò significa che un po 'del dispositivo è di solito acceso, almeno abbastanza per alimentare il microcontrollore. Tuttavia, i moderni microcontrollori possono consumare così piccole quantità di energia quando non fanno altro che aspettare un segnale di commutazione che questa potenza è irrilevante nella maggior parte dei casi.

In alcuni casi, il pulsante fa sì che il micro si accenda quando viene premuto, che quindi accende alcuni transistor o un relè o qualcosa per mantenere l'alimentazione. Quando si preme il pulsante per spegnere il dispositivo, il micro spegne tutto, incluso se stesso.

Fonte Come funzionano questi moderni pulsanti di accensione sui dispositivi di Olin Lathrop


1
Per chiarire, il pulsante di accensione è gestito direttamente dalla CPU principale come la maggior parte del codice BIOS o il firmware che gestisce il pulsante di accensione funziona su un microcontrollore come la seconda parte della risposta?
slebetman,

3
Credo sia entrambi: premendo il pulsante si genera un evento ACPI per la CPU, ma c'è anche una CPU non principale che lo monitora per implementare il vero spegnimento forzato se viene tenuto premuto senza risposta dalla CPU. Altrimenti potresti finire in una situazione in cui gli interrupt sono disattivati ​​e ACPI è disabilitato e non puoi forzare l'arresto.
pjc50,

6

Il meccanismo universale (presumo) di spegnimento forzato è integrato a livello di hardware o firmware?

Senza cercare riferimenti, c'è una logica piuttosto semplice qui: devono funzionare a livello hardware perché funzionano senza CPU nel socket.

Certo, il PC allora non farà molto, ma puoi ancora accenderlo tecnicamente; se la scheda madre ha la capacità di fornire messaggi (tramite segnali acustici o un piccolo codice a 2 cifre) probabilmente otterrai il codice "CPU non funzionante / nessuna CPU". Sarai anche in grado di spegnerlo con una pressione prolungata, che è la parte importante qui.

Inoltre, tieni presente che in tutti i casi in cui il sistema è in uno stato profondamente non sano (cioè in modalità utente singolo / panico del kernel linux / BSOD ecc.) E per tutti gli effetti in un vicolo cieco, il potere il pulsante funziona ancora (almeno la pressione prolungata).

Si noti che "livello hardware" è già un termine piuttosto ampio; cioè, potrebbe facilmente esserci qualsiasi cosa, da pochi transistor fino a un piccolo µC dedicato con alcuni bit di NVRAM intorno (che manterrebbero i valori configurati dal BIOS, ad esempio sul comportamento della pressione breve), che la maggior parte delle persone chiamerebbe ancora "hardware".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.