Fetch and Decode
Initially, the program counter PC is loaded with the address of the first instruction in the program. The sequence counter SC is cleared to 0, providing a decoded timing signal To. After each clock pulse, SC is incremented by one, so that the timing signals go through a sequence T0, T1, T2, and so on. The rnicrooperations for the fetch and decode phases can be specified by the following register transfer statements.
T0: AR <- PC
T,: IR <-M[AR], PC <- PC + 1
T2: D0, ••• , D7 <-Decode IR(12-14), AR <---IR(0-11), 1 <---IR(lS)
Since only AR is connected to the address inputs of memory, it is necessary to transfer the address from PC to AR during the clock transition associated with timing signal T0• The instruction read from memory is then placed in the instruction register IR with the clock transition associated with timing
signal T1• At the same time, PC is incremented by one to prepare it for the address of the next instruction in the program. At time T2, the operation code in IR is decoded, the indirect bit is transferred to flip-flop I, and the address part of the instruction is transferred to AR . Note that SC is incremented after each clock pulse to produce the sequence To, T1, and T2•
Figure 5-8 shows how the first two register transfer statements are implemented in the bus system. To provide the data path for the transfer of PC to AR we must apply timing signal T0 to achieve the following connection:
1. Place the content of PC onto the bus by making the bus selection inputs 525150 equal to 010. 2. Transfer the content of the bus to AR by enabling the LD input of AR .
The next clock transition initiates the transfer from PC to AR since T0 = 1. In a-d'CY" ,tJ' .it is necessary to use timing signal T1 to provide the following connections in the bus system.
1. Enable the read input of memory.
2. Place the content of memory onto the bus by making 525150 = Ill.
3. Transfer the content of the bus to IR by enabling the LD input of _ JR.
4. Increment PC by enabling the INR input of PC.
The next clock transition initiates the read and increment operations since T, = 1.
Figure 5-8 duplicates a portion of the bus system and shows how T0 and T, are connected to the control inputs of the registers, the memory, and the bus selection inputs. Multiple input OR gates are included in the diagram because there are other control functions that will initiate similar operations.