On the PDP-5/8 and the -7, I am guessing they DON'T incr the
PC an
extra time, they set up for increment through the main
adder, and then
make a carry-in if they want to double-increment the PC.
FWIW, that's basically how it is done on the HP9800 calculator processor,
a bit-serial machine. The program counter is incremented by adding 1 to one bit, then
adding 0 to 15 bits (the register shifting after each add). The 9800 processor hardware
allows a microinstruction (like add 0) to be repeated 1-16 times, obvously a useful
feature on a bit-serial machine. For that to work, the carry flag has to be preserved
between microinstructions, of course.
At the end of the microcode routine for each machine instruction, the microcode jumps
to this increment_P_register routine, which then goes on to fetch and decode the next
machine instruction. If the carry flag is clear at the entry to increment_P_register then
P (the program counter) is incremented by one. But if the carry flag is set, then it
is incremented by 2, skipping the next machine instruction.
-tony