A “register” is a multi-bit, usually resettable, usually gated and usually edge sensitive D-flipflop. A register usually has the following ports (interfaces):
Though somewhat complex compared to an SR latch and simpler D-flipflops, a register is still considered fairly simple and therefore fast. Registers can keep up with computational circuits like adders and subtractors.
Every component of a processor has a latency, measured as the time between the input signals presented and the output signals reflecting the operation of the component. For instance, a 3-bit carry-lookahead adder has the latency delay that is equivalent to 5 times the latency delay of a simple gate (AND, OR, XOR).
As a result, it is important to have a basic beat to provide a system wide time base for all components in a processor. This time base is often called the system clock or simply the clock.
The clock signal is often a fixed frequency square wave. The edges of a clock signal is like the drum or bass beat of music, providing a timing mechanism for all the component.
Not all components of a processor are “clocked”. A clocked component is one that updates or performs an operation when the clock input transitions (from low to high, or from high to low). For example, an adder or a subtractor is not clocked. Such circuits stars to respond to input changes as soon as the changes occur.
On the other hand, components like registers are clocked. This means that the input signal of a register can change arbitrarily. Unless the clock input has a transition, all changes to the other input ports are ignored and the internal state of a register is not altered.
This is a circuit that increments the value of the register when the clock ticks.