$\require{cancel}$
A Program Counter
- The program counter is more than a register.
- It needs a simple adder to increment by 1.
- It needs to be able to send data to the bus (fetch)
- It needs to be able to load data from the bus (jump, branch)
- I see three control lines
- PC to Bus when high allows the value of the pc to be transfered to the bus.
- PC source selects the data to load into the pc.
- This is completely arbitrary.
-
PC Src | RTN |
0 | PC ← PC + 1 |
1 | PC ← BUS |
- Constructing this from DIGITAL components
- A 4 bit register
- A 4 bit adder
- A mux
-
- Digital File