This circuit is a 4-bit synchronous counter.
Ripple counters have the disadvantage that not all the bits are updated at the same time; the flip-flops are all using different clocks. Also, a ripple counter cannot run as fast because it takes extra time for the carry to be propagated down the chain of counters.
A synchronous counter solves these problems by using a single clock for all flip-flops, as shown above. Each flip-flop ANDs together the previous bits to determine whether to update.
Next: Decimal Counter
Previous: 8-Bit Ripple Counter