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:

RegisterValue
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]

gollark: JS doesn't support **C** properly, so no.
gollark: It's not an arbitrary number, the backend *actually does* fetch this from the server doing all the streams.
gollark: No, icecast would record this.
gollark: Yes, I suppose so, I could just be faking it, or not wearing headphones, or have the volume set to 0, or whatever.
gollark: And the visualizer is running.

See also

References

  1. Fredman, Josh. "Can a Forced Shutdown Ruin My Computer?". smallbusiness.chron.com. Retrieved 2019-12-13.
  2. "How to Hard Reset or Reboot any Android phone or tablet". trendblog.net. 2015-07-20. Retrieved 2019-12-13.
  3. "How to Force Restart the iPhone X When It's Acting Up". Gadget Hacks. Retrieved 2019-12-13.
  4. "What is a Reset Button?". www.computerhope.com. Retrieved 2019-12-13.
  5. 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.
  6. "Reset Vector - an overview | ScienceDirect Topics". www.sciencedirect.com. Retrieved 2019-12-13.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.