1.1.1a ALU, CU, Registers and Buses
Program counter
Controls what happens next, hold the next instruction to be executed.
Closer relationship to MAR – address held here is copied to MAR at the start of each cycle
Memory Address Register
Holds the address of the to be fetched or written to
Sends the address to memory down the address bus
Memory Data Register
Temporarily stores data that has travelled from memory through the data bus
Like a bus stop
Current Instruction Register
Holds the current instruction, contains the opcode and operands of the current instruction
Decodes the instruction - Opcode is what you are doing, Operand is what you are doing it to
Arithmetic and logic unit
Performs arithmetic and logical operations
Bitwise shift operations, Boolean logic.
Uses the Accumulator to temporarily store instructions
Accumulator
General purpose register to store data temporarily,
The more general purpose registers, the more calculations and data the CPU can process efficiently
Assembly code mnemonics:
ADD: add
SUB: subtract
STA: store
LDA: load
BRA: branch always
BRZ: branch if zero
BRP: branch if positive
INP: input
OUT: output
HLT: end program
DAT: data location