Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Functionality  





2 Register varieties  





3 Standards  





4 See also  





5 References  














Hardware register






Azərbaycanca

Català
Español
فارسی

Italiano
Latviešu
Oʻzbekcha / ўзбекча
Polski
Português
Русский

Тоҷикӣ
Türkçe
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Indigital electronics, especially computing, hardware registers are circuits typically composed of flip-flops, often with many characteristics similar to memory, such as:[citation needed]

Their distinguishing characteristic, however, is that they also have special hardware-related functions beyond those of ordinary memory. So, depending on the point of view, hardware registers are like memory with additional hardware-related functions; or, memory circuits are like hardware registers that just store data.[citation needed]

Hardware registers are used in the interface between software and peripherals. Software writes them to send information to the device, and reads them to get information from the device. Some hardware devices also include registers that are not visible to software, for their internal use.

Depending on their complexity, modern hardware devices can have many registers. Standard integrated circuits typically document their externally-exposed registers as part of their electronic component datasheet.

Functionality[edit]

Typical uses of hardware registers include:

Reading a hardware register in "peripheral units" — computer hardware outside the CPU — involves accessing its memory-mapped I/O address or port-mapped I/O address with a "load" or "store" instruction, issued by the processor. Hardware registers are addressed in words, but sometimes only use a few bits of the word read in to, or written out to the register.

Commercial design tools simplify and automate memory-mapped register specification and code generation for hardware, firmware, hardware verification, testing and documentation.

Registers can be read/write, read-only or write-only.

Write-only registers are generally avoided. They are suitable for registers that cause a transient action when written but store no persistent data to be read, such as a "reset a peripheral" register. They may be the only option in designs that cannot afford gates for the relatively large logic circuit and signal routing needed for register data readback, such as the Atari 2600 games console's TIA chip. However, write-only registers make debugging more difficult[2] and lead to the read-modify-write problem so read/write registers are preferred. On PCs, write-only registers made it difficult for the Advanced Configuration and Power Interface (ACPI) to determine the device's state when entering sleep mode in order to restore that state when exiting sleep mode.[3]

Register varieties[edit]

The hardware registers inside a central processing unit (CPU) are called processor registers.

Strobe registers have the same interface as normal hardware registers, but instead of storing data, they trigger an action each time they are written to (or, in rare cases, read from). They are a means of signaling.

Registers are normally measured by the number of bits they can hold, for example, an "8-bit register" or a "32-bit register".

Designers can implement registers in a wide variety of ways, including:

In addition to the "programmer-visible" registers that can be read and written with software, many chips have internal registers that are used for state machines and pipelining; for example, registered memory.

Standards[edit]

SPIRIT IP-XACT and DITA SIDSC XML define standard XML formats for memory-mapped registers.[4][5][6]

See also[edit]

References[edit]

  1. ^ Bose, Sanjay K. (2007). Hardware And Software Of Personal Computers. New Age International. p. 54. ISBN 9788122403039. Retrieved 2012-09-10. Once the INS 8250 has been properly initialized, we should make proper use of the Modem Status register (MSR), Line Status register (LSR) and the Interrupt Identification register (IIR) for controlling the device during actual operation.
  • ^ http://www.microsoft.com/whdc/resources/MVP/xtremeMVP_hw.mspx#ETB Microsoft MVP: If every hardware engineer just understood that... …write-only registers make debugging almost impossible]
  • ^ Microsoft "Guidelines for Bus and Device Specifications"
  • ^ "blog entry on IP-XACT format". Archived from the original on 2009-03-09. Retrieved 2009-03-17.
  • ^ IP-XACT Schema... see component XSD
  • ^ DITA Semiconductor register spec

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Hardware_register&oldid=1212837647"

    Categories: 
    Control flow
    Central processing unit
    Digital registers
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Use American English from April 2019
    All Wikipedia articles written in American English
    All articles with unsourced statements
    Articles with unsourced statements from March 2023
    Articles needing additional references from August 2016
    All articles needing additional references
     



    This page was last edited on 9 March 2024, at 20:23 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki