Hello fellas!
I would like to ask how actually in the first step aka (IF) I fetch instruction and in the same time increasing the PC by 4? is it well synchronized in a proper way that once I finish the first stage, the PC's value will be added by one(4) and not having any faults? I'm a lil in doubt and looks weird because in the first stage they are two operations in parallel, one is fetching and the second one is adding PC by 4 ..
here's a link for datapath graph :
https://www.researchgate.net/figure/Addition-of-Pipeline-to-MIPS-Datapath_fig5_305724529
I would like to ask how actually in the first step aka (IF) I fetch instruction and in the same time increasing the PC by 4? is it well synchronized in a proper way that once I finish the first stage, the PC's value will be added by one(4) and not having any faults? I'm a lil in doubt and looks weird because in the first stage they are two operations in parallel, one is fetching and the second one is adding PC by 4 ..
here's a link for datapath graph :
https://www.researchgate.net/figure/Addition-of-Pipeline-to-MIPS-Datapath_fig5_305724529