PC Hardware Codexery

Hardware reset

A hardware reset brings a system to its startup state.

Hardware reset

A hardware reset (or hard reset) is a mechanism that brings a computer or electronic device to a startup state by asserting a dedicated reset line. It is typically used when software hangs, crashes, or becomes unresponsive, and it places less stress on the hardware than power cycling because power is not removed. Many computers have a user-accessible reset button that asserts this line to facilitate a system reboot in a way that cannot be prevented by the operating system.

Reset line effect
In x86 architecture, asserting the RESET line halts the CPU
Post reset execution address
0xFFFF0
First instruction after reset
JMP instruction that redirects CPU to BIOS initialization code
Register values after reset
CS=0xF000, IP=0xFFF0
Reset compared to power cycling
Places less stress on hardware as power is not removed

Lore & Background

In the x86 architecture, the 8086 microprocessor provides a RESET pin. When a HIGH signal is applied to this pin, the CPU immediately stops and sets major registers to predetermined values: CS=0xF000 and IP=0xFFF0. The CPU then calculates the location of the next instruction using the equation (CS<<4) + IP, resulting in physical address 0xFFFF0. In IBM PC compatible computers, this address maps to the BIOS ROM, where a JMP instruction redirects the CPU to execute the initialization code of the BIOS. This JMP instruction is absolutely the first instruction executed after the reset. Later x86 processors reset the CS and IP registers similarly, referring to the reset vector.

Reader's Guide

The hardware reset is a fundamental aspect of computer design, providing a reliable way to recover from error conditions when software recovery mechanisms fail. The article notes that after a hard reset, the register states of many hardware components are cleared, and the ability for an electronic device to reset itself in case of error or abnormal power loss is an important aspect of embedded system design. This capability is observable in everyday electronics such as televisions, audio equipment, and car electronics, which can function as intended again after a sudden power loss. User-initiated hard resets can be used when software hangs or crashes, though data may become corrupted if this occurs. On some systems, such as the PlayStation 2 video game console, pressing and releasing the power button initiates a hard reset, while holding the button turns the system off. Out-of-band management frequently provides the possibility to reset a remote system in this way. The lack of a proper reset ability could otherwise render a device useless after a power loss or malfunction.

Did You Know?

Frequently Asked Questions

What is a hardware reset in PC hardware?

A hardware reset is a mechanism that forces a computer back to its initial startup state by asserting a dedicated reset signal line. It is most commonly used when the system has hung, crashed, or stopped responding to normal software commands.

How does a hardware reset differ from simply power cycling the machine?

Unlike power cycling, a hardware reset does not cut electrical power to the system, so it places noticeably less physical stress on the hardware. The machine is returned to its startup state purely through the reset line being asserted while power remains connected.

What happens to the CPU the instant a hardware reset is triggered on an x86 system?

Asserting the RESET line immediately halts all CPU execution. The processor then resumes at the fixed address 0xFFFF0 with preset register values (CS=0xF000, IP=0xFFF0), which points to a JMP instruction that redirects the CPU into the BIOS initialization code.

Why would I hit the physical reset button instead of restarting through the operating system?

A user-accessible reset button asserts the reset line directly at the hardware level, making it impossible for the OS to intercept or block the reboot. This is the go-to option when the operating system itself has frozen and normal shutdown or restart commands no longer work.

What is the very first instruction the CPU executes after a hardware reset?

The CPU begins execution at address 0xFFFF0, where it encounters a single JMP instruction. That jump redirects the processor to the BIOS initialization code, kicking off the standard boot sequence from there.

More in PC Hardware 1-24

Spotted an error? Know more?

Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced

Comments

Loading…
Open in the interactive codex →