Сегодняшняя сессия вопросов и ответов приходит к нам, любезно предоставленной SuperUser - подразделением Stack Exchange, группировкой сайтов Q & A на уровне сообщества.
Вопрос
Читатель SuperUser Сет Карнеги задается вопросом об управлении питанием компьютера:
How can a computer restart itself? After it’s off, how does it tell itself to come back on again? What kind of software is it that can do this?
Как действительно? Какая комбинация программной / аппаратной магии делает это?
Ответ
Слишком долго, не прочитал ответ: Состояние питания на вашем компьютере контролируется реализацией ACPI (расширенный интерфейс конфигурации и мощности). В конце процесса выключения ваша операционная система устанавливает команду ACPI, указывающую, что компьютер должен перезагрузиться. В ответ материнская плата сбрасывает все компоненты с помощью соответствующих команд или строк сброса, а затем выполняет процесс начальной загрузки. Материнская плата никогда не отключается, она только сбрасывает различные компоненты, а затем ведет себя так, как будто нажата кнопка питания.
Длинный и бессвязный, но (на мой взгляд) более интересный ответ:
Мягкая сила и как это работает
В старые времена (ну, ладно, к студенту колледжа, подобному мне 90-х годов, было много лет назад), у нас были материнские платы AT (Advanced Technology) с Мощность AT управление. Система питания AT была очень простой. Кнопка питания на вашем компьютере была аппаратным переключателем (возможно, в задней части корпуса), и ваш вход 120vac прошел через него. Он физически включил питание и отключил питание, и когда этот переключатель находился в положении «Выкл», все на вашем компьютере было полностью мертвым (это сделало батарею CMOS очень важной, потому что без нее не было источника питания для хранения аппаратного обеспечения тикание часов). Поскольку выключатель питания был физическим механизмом, не было программного обеспечения для включения и выключения питания. Windows продемонстрировала бы известное сообщение «Это теперь безопасно отключить компьютер», потому что, хотя все было припарковано и готово к отключению, ОС не смогло фактически переключить выключатель питания. Эта конфигурация иногда называлась жесткая сила, потому что это все аппаратное обеспечение.
В наши дни все по-другому, из-за чудес материнских плат ATX и Мощность ATX (это продвинутая технология eXtended, если вы отслеживаете). Наряду с рядом других достижений (mini-DIN PS / 2, кто-нибудь?), ATX принес мягкая сила, Мягкая мощность означает, что питание компьютера может контролироваться программным обеспечением. Это привело к нескольким импортным изменениям:
- Питание в режиме ожидания: вы, возможно, видели разъем «5v SB» или «5v standby», обозначенный в контактах питания. резервный источник питания это 5-вольтовая линия на вашей материнской плате, которая всегда включена, даже когда компьютер выключен. Вот почему при обслуживании современных компьютеров важно отключить или отключить жесткий диск PSU (если он имеется), потому что даже когда он выключен, вы можете сократить 5V SB и повредить материнскую плату. Это также почему батареи CMOS больше не так важны - 5v SB используется для замены батареи CMOS всякий раз, когда источник питания питается от сети, поэтому батарея CMOS используется только при полностью отключении компьютера. Строка 5v SB важна для компонентов вашего компьютера (и, самое главное, BIOS и сетевых адаптеров), чтобы поддерживать некоторое простое программное обеспечение, даже когда компьютер выключен.
- Интеллектуальное управление питанием. Если вы посмотрите на вырез для разъема материнской платы вашего источника питания (P1), вы заметите, что два контакта, как правило, помечены PS_ON а также PS_RDY, Это означает, что «питание включено» и «источник питания готов». Если вам нравится экспериментировать, возьмите блок питания не в компьютер, подключите его и аккуратно закройте линию заземления (один из черных проводов) в линию PS_ON (зеленый провод). Блок питания будет заметно включаться, когда вентилятор вращается. Компоненты материнской платы, работающей от + 5v SB, фактически включают и выключают ваш источник питания, подключая питание к выходу PS_ON. Поскольку в блоке питания есть некоторые конденсаторы и другие компоненты, на которые требуется зарядка, напряжения от основных выходов источника питания могут быть не стабильными сразу после включения блока питания. Это то, на что рассчитан вывод PS_RDY, он возникает, когда внутренняя логика источника питания определяет, что источник питания «готов» и обеспечит стабильную мощность. Материнская плата ждет, пока PS_RDY продолжит загрузку.
Таким образом, ваш выключатель питания больше не «включает» компьютер. Вместо этого он подключен к основным контроллерам вашей материнской платы, которые обнаруживают, что кнопка нажата, и выполните несколько шагов, чтобы подготовить систему, включая освещение PS_ON, чтобы мощность была доступна. Кнопка питания не является единственным способом запуска процесса запуска, устройства на шине расширения также могут это сделать.Это важно, потому что ваши сетевые сетевые адаптеры на самом деле остаются включенными, когда ваш компьютер выключен, и найдите очень специфический пакет, который часто называют «пакет Magic». Если они обнаруживают этот пакет, адресованный их MAC-адресу, они инициируют процесс запуска, Так работает «Wake-on-LAN» (WoL). Часы также могут инициировать загрузку (большинство BIOS позволяют установить время, которое компьютер должен загружать каждый день), а устройства USB и FireWire могут запускать загрузку, хотя я не знаю о какой-либо реализации этого.
Понимание управления питанием
Ну, я объясняю идею Soft Power, потому что я думаю, что это интересно (всегда ключевая причина, по которой я объясняю вещи), и потому что она позволяет вам понять, как управление питанием и запуском / выключением вашего компьютера контролируется программным обеспечением. В большинстве современных компьютеров эта программная система представляет собой реализацию Расширенный интерфейс конфигурации и питания или ACPI, ACPI - стандартизированная унифицированная система, позволяющая программному обеспечению управлять энергосистемой вашего компьютера. Возможно, вы слышали о Силовые состояния ACPI, Основным механизмом управления мощностью являются эти «состояния мощности», ваша операционная система переключается через режимы питания, готовясь к переключению (процессы выключения / спящего режима, которые происходят до фактического отключения питания), а затем командуя материнской плате переключать состояния питания, Силовые состояния выглядят так:
- G0: Работа (состояние вашего компьютера «включено»)
-
G1: Спящий режим (состояние ожидания вашего компьютера, разделенное на S-подстанции)
- S1: питание процессора и ОЗУ остается включенным, но CPU не выполняет инструкции. Периферийные устройства отключены.
- S2: питание процессора выключено, ОЗУ поддерживается
- S3: все компоненты отключены, за исключением ОЗУ и устройств, которые будут запускать возобновление (клавиатура). Когда вы укажете ОС на «Сон», он остановит процессы, а затем войдет в этот режим.
- S4: Гибернация. Абсолютно все выключено. Когда вы сообщаете операционной системе Hibernate, она останавливает процессы, сохраняет содержимое ОЗУ на диск и затем переходит в этот режим.
- G2: мягкое выключение. это состояние «выключено» вашего компьютера. Питание отключается от всех, кроме устройств, которые могут запускать загрузку.
- G3: Отключено.
Как происходит сброс
Вы заметите, что перезагрузка не является одним из этих состояний. Итак, что на самом деле происходит, когда ваш компьютер при перезагрузке? Ответ может быть неожиданным, поскольку с точки зрения управления энергопотреблением это почти ничего, Есть команда сброса ACPI, Когда вы сообщаете операционной системе о перезагрузке, она следует за его нормальным процессом останова (останавливает все процессы, выполняет некоторое обслуживание, отключает ваши файловые системы и т. Д.), А затем в качестве последнего шага вместо отправки машины в состояние питания G2 (как если бы вы просто сказали ему «Завершить работу»), он устанавливает команду «Сброс». Обычно это называется «регистр сброса», поскольку, как и большинство интерфейсов ACPI, это просто адрес, для которого необходимо записать определенное значение, чтобы запросить сброс. Я приведу спецификацию 2.0 о том, что она делает:
The optional ACPI reset mechanism specifies a standard mechanism that provides a complete system reset. When implemented, this mechanism must reset the entire system. This includes processors, core logic, all buses, and all peripherals. From an OSPM perspective, asserting the reset mechanism is the logical equivalent to power cycling the machine. Upon gaining control after a reset, OSPM will perform actions in like manner to a cold boot.
Итак, когда установлен регистр сброса, несколько вещей происходят последовательно.
- Вся логика сбрасывается. Это означает отправку соответствующих команд сброса на различные биты аппаратного обеспечения, включая процессор, контроллер памяти, периферийные контроллеры и т. Д. В большинстве случаев это просто означает включение физического провода RST, как показало AndrejaKo выше.
- Затем компьютер загрузится. Это «выполнять действия подобным образом на холодную загрузку». Материнская плата выполняет те же шаги, что и в случае, если источник питания только что был готов после нажатия кнопки питания.
Конечный результат этих двух шагов (которые на самом деле разбиваются на гораздо большее количество шагов) заключается в том, что он смотрит на все так же, как только что загруженный компьютер, но сила на самом деле была на все время. Это означает, что требуется меньше времени на остановку и запуск (так как вам не нужно ждать, пока источник питания будет готов), и это очень важно, чтобы перезагрузка была инициирована отключением операционной системы. Это означает, что другой триггер запуска не нужно использовать (WoL и т. Д.) И позволяет использовать Reboot как эффективный способ сброса системы удаленно, когда у вас нет способа запуска загрузки.
Это был длинный ответ. Но, надеюсь, теперь вы знаете больше об управлении питанием компьютера. Я, конечно, узнал кое-что об этом.
Есть что добавить к объяснению? Звучит в комментариях. Хотите узнать больше ответов от других пользователей Windows? Посмотрите здесь полную дискуссионную тему.