Que mecanismo de firmware / hardware permite o desligamento forçado?

41

Embora eu não tenha certeza disso, tenho certeza de que segurar o botão liga / desliga em todos os computadores irá forçá-los a desligar após vários períodos de tempo. Isso é particularmente útil se o computador congela ou algum outro erro exigir uma reinicialização total.

O que me interessa é saber se este mecanismo de encerramento forçado está codificado nos computadores subjacentes ao firmware? Ou se isso está embutido no computador em um nível de hardware. Se o mecanismo era firmware, então é lógico supor que um erro no nível da CPU impediria que esse mecanismo disparasse corretamente, o que me leva a acreditar que essa é uma função de hardware.

Para resumir: O mecanismo de desligamento forçado universal (eu suponho) está embutido em um nível de hardware ou firmware? E alguém pode elaborar sobre a natureza dos mecanismos, variantes e história geral.

    
por user4493605 02.04.2017 / 10:38

2 respostas

45

O mecanismo universal de desligamento forçado está instalado em um nível de hardware ou firmware?

Tanto a placa-mãe (hardware) quanto o BIOS (firmware) estão envolvidos no processo.

The actual switching of the power (on and off) is done by circuits on the motherboard. The circuits are triggered to change state by a momentary short circuit of two points in the circuit. That is done by the front panel push button. A short-term connection of that button is enough. The motherboard circuit also has a second and third function it can do.

The BIOS usually is set so that, if the circuit is already on the ON state and the momentary contact is kept closed for at least 4 seconds, one of two actions will be carried out. Either the system will shut down right away (like turning off a switch), or the motherboard will enter the "sleep" state and wait to be re-awakened. Which of these two options is done is something you set in the BIOS Setup screens.**

This is the reason that the motherboard is never entirely "Off" in most operating situations. Even when it is "Off", there is a small portion of it devoted to checking for inputs from a few sources (like the front push button, some USB devices and maybe a modem) so that it can respond by turning power on to the entire system. The way to really shut down all power is either to pull out the power cord, or to use the physical switch mounted on the back of the PSU to switch it off.

Fonte Como (funciona) o botão liga / desliga?

The modern switches don't contain any magic. In fact, they are less complicated and expensive than real physical on/off switches.

These switches are just inputs to a micro-controller. The micro controller can tell when you push the button, and the rest is policy encoded in the firmware to decide what to do about it. The power is usually switched with transistors. This means the button itself doesn't have to handle high voltage or high current, so there are a lot more options to make it and for it to be small. It could be a membrane switch, for example, which you'd never use to switch wall power.

This does mean that a little bit of the device is usually on, at least enough to power the micro-controller. However, modern micro-controllers can take such tiny amounts of power when doing nothing but waiting for a switch signal that this power is irrelevant in most cases.

In some cases, the button actually causes the micro to get powered up when pressed, which then turns on some transistors or a relay or something to keep the power on. When you press the button to turn the device off, the micro shuts down everything, including itself.

Fonte Como esses botões de energia modernos em dispositivos trabalho responda por Olin Lathrop

    
por 02.04.2017 / 11:03
6

Is the universal (I assume) force-shutdown mechanism built in at a hardware or firmware level?

Sem procurar referências, há uma lógica bem simples aqui: elas devem funcionar no nível do hardware, porque funcionam sem CPU no soquete.

Claro, o PC não fará tanto assim, mas você ainda pode tecnicamente ligá-lo; Se a sua placa-mãe tiver a capacidade de fornecer mensagens (por bipes ou um código pequeno de 2 dígitos), você provavelmente obterá o código "CPU ruim / sem CPU". Você também poderá desligá-lo com uma longa pressão, que é a parte importante aqui.

Além disso, tenha em mente que em todos os casos em que o sistema está em um estado profundamente insano (ou seja, no modo single-user / kernel kernel panic / BSOD etc.) e para todos os efeitos em um beco sem saída , o botão de energia ainda funciona (pelo menos a longa imprensa).

Note que "nível de hardware" já é um termo bastante amplo; ou seja, poderia haver facilmente desde alguns transistores até um pequeno µC dedicado com alguns bits de NVRAM (o que manteria os valores configurados pelo BIOS, por exemplo, no comportamento do curto-circuito), que a maioria das pessoas ainda chamaria de "hardware".

    
por 03.04.2017 / 14:37