A datapath stores and transforms values using registers, arithmetic units and multiplexers. A controller decides when those operations happen using state and status inputs. The controller sends signals such as load, select and enable; the datapath returns conditions such as zero or complete.
Worked example
To sum several input words, a datapath can contain an accumulator and adder. In LOAD, the controller clears the accumulator. In ADD, it enables a new sum for each accepted word. When a remaining-count status reaches zero, it enters DONE and asserts a completion output.
What to watch for
A handshake determines when a word is actually accepted. The controller must not decrement a count or add data merely because a source has not yet produced a valid transfer.
Try it yourself
Which side typically computes whether an arithmetic result is zero?
Answer: The datapath computes the zero condition; the controller uses that status to choose its next action.
How to study this topic
Begin with named states and a complete transition table. Then choose encodings and derive the logic. Trace inputs over several cycles, checking outputs as well as next states, including reset and unexpected encodings.
Explore related programmes
These recorded programmes are upcoming. This article is general educational content, not a syllabus or course sample.
Digital Electronics