$\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