I am reading the book Structured Computer Organization
(5th edition) by Tanenbaum and at a certain point, in the second chapter, he talks about data path cycle
and fetch-decode-execute cycle
, and I am not understanding if they are really the same thing.
The data path cycle should be the number of small and minimal steps that a CPU goes through each cycle. On the other hand, the fetch-decode-execute cycle is the number of small steps that could be generalised like this:
- Fetch the instruction from the memory and put it into a register
- Change programming counter to point to the next instruction
- Determine the type of the instruction fetched
- If the instruction uses a word, determine where it is
- Fetch the word, if needed, into a CPU register
- Execute instruction
- Go to step 1.
The fetch-decode-execute cycle is common to all computers
, so each data path cycle should be a fetch-decode-execute cycle, right?