Hardware reset
A hardware reset or hard reset of a computer system is a hardware operation that re-initializes the core hardware components of the system, thus ending all current software operations in the system. This is typically, but not always, followed by booting of the system into firmware that re-initializes the rest of the system, and restarts the operating system.
Hardware resets are an essential part of the power-on process, but may also be triggered without power cycling the system by direct user intervention via a physical reset button, watchdog timers, or by software intervention that, as its last action, activates the hardware reset line (e.g, in a fatal error where the computer crashes).
User initiated hard resets can be used to reset the device if the software hangs, crashes, or is otherwise unresponsive. However, data may become corrupted if this occurs.[1] Generally, a hard reset is initiated by pressing a dedicated reset button, or holding a combination of buttons on some mobile devices.[2][3] Devices may not have a dedicated Reset button, but have the user hold the power button to cut power, which the user can then turn the computer back on.[4] On some systems (e.g, the PlayStation 2 video game console), pressing and releasing the power button initiates a hard reset, and holding the button turns the system off.
Hardware reset in 80x86 IBM PC
The 8086 microprocessors provide RESET pin that is used to do the hardware reset. When a HIGH is applied to the pin, the CPU immediately stops, and sets the major registers to these values:
Register | Value |
---|---|
CS (Code Segment) | 0xFFFF |
DS (Data Segment) | 0x0000 |
ES (Extra Data Segment) | 0x0000 |
SS (Stack Segment) | 0x0000 |
IP (Instruction Pointer) | 0x0000 |
The CPU uses the values of CS and IP registers to find the location of the next instruction to execute. Location of next instruction is calculated using this simple equation:
Location of next instruction = (CS<<4) + (IP)
This implies that after the hardware reset, the CPU will start execution at the physical address 0xFFFF0. In IBM PC compatible computers, This address maps to BIOS ROM. The memory word at 0xFFFF0 usually contains a JMP instruction that redirects the CPU to execute the initialization code of BIOS. This JMP instruction is absolutely the first instruction executed after the reset.[5]
Hardware reset in later x86 CPUs
Later x86 processors reset the CS and IP registers similarly, refer to Reset vector.[6]
See also
- Power-on reset
- Power-on self test
- Reset vector
- Reboot (computing)
References
- Fredman, Josh. "Can a Forced Shutdown Ruin My Computer?". smallbusiness.chron.com. Retrieved 2019-12-13.
- "How to Hard Reset or Reboot any Android phone or tablet". trendblog.net. 2015-07-20. Retrieved 2019-12-13.
- "How to Force Restart the iPhone X When It's Acting Up". Gadget Hacks. Retrieved 2019-12-13.
- "What is a Reset Button?". www.computerhope.com. Retrieved 2019-12-13.
- The 80x86 IBM PC and Compatible Computers (Volumes I & II (4th Edition)), By Mohamed Ali Mazidi and Janice Gillispie Mazidi, Section 9.1, Page 241.
- "Reset Vector - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2019-12-13.