Hardware register
Encyclopedia
In digital electronics, especially computing
, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously.
The hardware registers inside a central processing unit
(CPU) are called processor register
s.
Signals from a state machine to the register control when registers transmit to or accept information from other registers.
Sometimes the state machine routes information from one register through a functional transform, such as an adder unit
, and then to another register that stores the results.
Typical uses of hardware registers include configuration and start-up of certain features, especially during initialization, buffer storage e.g. video memory for graphics cards, input/output
(I/O) of different kinds, and status reporting such as whether a certain event has occurred in the hardware unit.
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 bit
s of the word read in to, or written out to the register.
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".
Registers can be implemented in a wide variety of ways, including register file
s, standard SRAM, individual flip-flop
s, or high speed core memory.
In addition to the "programmer-visible" registers that can be read and written with software, many chips have internal microarchitectural registers that are used for state machines and pipelining; for example, registered memory
.
Commercial design tools such as Socrates Bitwise by Duolog Technologies, simplify and automate memory-mapped register specification and code generation for hardware
, firmware
, hardware verification
, testing and documentation.,,
Using IP-XACT IEEE 1685, commercial design tools, such as Socrates Bitwise by Duolog Technologies and MRV Magillem Register View by MAGILLEM, provide a real synchronization between the register description and the RTL hardware platform description, then collaborative work in the design flow can be addressed.
http://www.duolog.com/products/bitwise/
http://www.magillem.com/eda/index.php?option=com_content&view=article&id=75&Itemid=90
This hardware registers alignment becomes critical when multiple levels of abstraction are used when switching from TLM to RTL during IP integration.
http://www.design-reuse.com/articles/18558/ip-xact-rtl-tlm-switching.html
SPIRIT IP-XACT and DITA SIDSC XML define standard XML formats for memory-mapped registers.,,
Because write-only registers make debugging almost impossible,
lead to the read-modify-write
problem, and also make it unnecessarily 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,
many programmers tell hardware designers to make sure that all writable registers are also readable. However, there are some cases when reading certain types of hardware registers is useless. For example, a strobe register bit that generates a one cycle pulse into specialized hardware will always read logic 0.
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously.
The hardware registers inside a central processing unit
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
(CPU) are called processor register
Processor register
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are addressed by mechanisms other than main memory and can be accessed more quickly...
s.
Signals from a state machine to the register control when registers transmit to or accept information from other registers.
Sometimes the state machine routes information from one register through a functional transform, such as an adder unit
Adder (electronics)
In electronics, an adder or summer is a digital circuit that performs addition of numbers.In many computers and other kinds of processors, adders are used not only in the arithmetic logic unit, but also in other parts of the processor, where they are used to calculate addresses, table indices, and...
, and then to another register that stores the results.
Typical uses of hardware registers include configuration and start-up of certain features, especially during initialization, buffer storage e.g. video memory for graphics cards, input/output
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
(I/O) of different kinds, and status reporting such as whether a certain event has occurred in the hardware unit.
Reading a hardware register in "peripheral units" -- computer hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
outside the CPU—involves accessing its memory-mapped I/O
Memory-mapped I/O
Memory-mapped I/O and port I/O are two complementary methods of performing input/output between the CPU and peripheral devices in a computer...
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 bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...
s of the word read in to, or written out to the register.
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
8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...
register" or a "32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
register".
Registers can be implemented in a wide variety of ways, including register file
Register file
A register file is an array of processor registers in a central processing unit . Modern integrated circuit-based register files are usually implemented by way of fast static RAMs with multiple ports...
s, standard SRAM, individual flip-flop
Flip-flop (electronics)
In electronics, a flip-flop or latch is a circuit that has two stable states and can be used to store state information. The circuit can be made to change state by signals applied to one or more control inputs and will have one or two outputs. It is the basic storage element in sequential logic...
s, or high speed core memory.
In addition to the "programmer-visible" registers that can be read and written with software, many chips have internal microarchitectural registers that are used for state machines and pipelining; for example, registered memory
Registered memory
Registered memory modules have a register between the DRAM modules and the system's memory controller. They place less electrical load on the memory controller and allow single systems to remain stable with more memory modules than they would have otherwise...
.
Commercial design tools such as Socrates Bitwise by Duolog Technologies, simplify and automate memory-mapped register specification and code generation for hardware
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...
, firmware
Firmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...
, hardware verification
Hardware verification language
A Hardware Verification Language, or HVL, is a programming language used to verify the designs of electronic circuits written in a hardware description language. HVLs typically include features of a high-level programming language like C++ or Java as well as features for easy bit-level...
, testing and documentation.,,
Using IP-XACT IEEE 1685, commercial design tools, such as Socrates Bitwise by Duolog Technologies and MRV Magillem Register View by MAGILLEM, provide a real synchronization between the register description and the RTL hardware platform description, then collaborative work in the design flow can be addressed.
http://www.duolog.com/products/bitwise/
http://www.magillem.com/eda/index.php?option=com_content&view=article&id=75&Itemid=90
This hardware registers alignment becomes critical when multiple levels of abstraction are used when switching from TLM to RTL during IP integration.
http://www.design-reuse.com/articles/18558/ip-xact-rtl-tlm-switching.html
SPIRIT IP-XACT and DITA SIDSC XML define standard XML formats for memory-mapped registers.,,
Because write-only registers make debugging almost impossible,
lead to the read-modify-write
Read-modify-write
In computer science, read-modify-write is a class of atomic operations such as test-and-set, fetch-and-add, and compare-and-swap which both read a memory location and write a new value into it simultaneously, either with a completely new value or some function of the previous value. These...
problem, and also make it unnecessarily difficult for the Advanced Configuration and Power Interface
Advanced Configuration and Power Interface
In computing, the Advanced Configuration and Power Interface specification provides an open standard for device configuration and power management by the operating system....
(ACPI) to determine the device's state when entering sleep mode
Sleep mode
Sleep mode refers to a low power mode for electronic devices such as computers, televisions, and remote controlled devices. These modes save significant electrical consumption compared to leaving a device fully on and idle, but allow the user to avoid having to reset programming codes or wait for a...
in order to restore that state when exiting sleep mode,
many programmers tell hardware designers to make sure that all writable registers are also readable. However, there are some cases when reading certain types of hardware registers is useless. For example, a strobe register bit that generates a one cycle pulse into specialized hardware will always read logic 0.