Os registros VRAM / são salvos ao hibernar?

7

Quando um computador entra no estado da ACPI S4, ele salva seu conteúdo de RAM no disco e desliga.

Mas o que acontece com registros, VRAM ou memória volátil dentro de placas de extensão ou semelhantes?

    
por Max Ried 11.08.2013 / 11:24

3 respostas

3

A resposta do TL: DR para sua pergunta é: Não como parte da implementação do hardware / BIOS S4, embora não haja nada que impeça que o OS / drivers o faça.

De acordo com a especificação da ACPI , o sistema operacional é responsável por inicializar todos os dispositivos do sistema para um estado utilizável após a restauração de uma hibernação S4.

Página de especificações ACPI 7-142 "System \ _S4 State":

  • Devices states are compatible with the current Power Resource states. In other words, all devices are in the D3 state when the system state is S4

O estado D3 é definido como:

D3 - Off:
Power has been fully removed from the device. The device context is lost when this state is entered, so the OS software will reinitialize the device when powering it back on. Since device context and power are lost, devices in this state do not decode their addresses lines. Devices in this state have the longest restore times.
All classes of devices define this state.

Para que o driver funcione no Windows (ou em qualquer sistema operacional), será necessário alocar todos os buffers necessários e armazenar alguma quantidade de informações de estado. Isso será armazenado no espaço de memória do sistema operacional e, portanto, será armazenado no arquivo de hibernação.

O sistema operacional sabe quais dispositivos inicializar e provavelmente apenas chama o código de inicialização do driver registrado, que verificará se alguma informação de estado foi salva em seus buffers internos e restaurará a placa para um estado utilizável.

Isso apenas reitera que os próprios cartões não sabem como sair do estado de hibernação e chegar ao estado padrão de "ligar" até que o Windows (através dos drivers) diga o contrário. Não há necessidade de armazenar os registradores de cartão fora dos drivers dependentes do sistema operacional, o que fará com que seu espaço de memória seja salvo pelo processo de hibernação.

    
por 17.08.2013 / 20:19
5

Quando a execução do computador é interrompida por dormir, todos os registros de CPU para o (s) thread (s) atual (s) estão salvos na RAM do sistema, como é o procedimento normal com interrompe . Então, eles são salvos com a RAM e podem ser reiniciados na sequência.

A RAM de vídeo ou o VRAM não são salvos e terão que ser gerados novamente pelo SO quando ele for ativado para atualizar a exibição, o que faz automaticamente. Então, uma tela preta pode resultado por um tempo extremamente curto (geralmente imperceptível).

Se um cartão de extensão usado for retirado durante o sono, o processo que o estiver usando falha após o despertar, assim como qualquer software de leitura de CD se o CD for retirado ou qualquer processo usando uma conexão de Internet pendente. O que acontece, então, depende de como esse processo foi programado.

    
por 15.08.2013 / 10:31
0

Eles estão de acordo com wikipedia : S4: Hibernação ou Suspender para o Disco. Todo o conteúdo da memória principal é salvo na memória não volátil, como um disco rígido, e é desligado. Também de acordo com aqui .

Especificamente, é dito :

S3 - "Suspender para a RAM"

Toda a energia para a cpu é desligada, e o conteúdo de seus registros é liberado para a RAM, que permanece ligada. No Microsoft Windows, o comando "Standby" pode ser associado a esse estado, se habilitado no BIOS. Como exige um alto grau de coordenação entre os drivers de dispositivo da CPU, chipset, dispositivos, SO, BIOS e SO, esse estado do sistema é o mais propenso a erros e instabilidade. Pavel Machek criou um pequeno documento com algumas dicas de como resolver problemas com o S3. Você pode encontrá-lo nas fontes do kernel em Documentation / power / tricks.txt. O S3 é atualmente não suportado pela série de kernel 2.4.x no Linux. S4 - "Suspender para o disco"

A energia da CPU é desligada como no S3, mas a RAM é gravada no disco e desligada também. No Microsoft Windows, o comando "Hibernate" está associado a esse estado. Uma variação chamada S4BIOS é mais prevalente, onde a imagem do sistema é armazenada e carregada pelo BIOS em vez do SO. Como o conteúdo da RAM é gravado no disco, o contexto do sistema é mantido. Por exemplo, os arquivos não salvos não seriam perdidos após uma transição S4. O S4 atualmente não é suportado pela série de kernel 2.4.x no Linux, mas você pode ter sorte com o SWSUSP. Algumas máquinas oferecem S4_BIOS cujo suporte é considerado experimental dentro do Linux / ACPI.

    
por 13.08.2013 / 23:16

Tags