1. Registers
1.1. General Purpose
1.1.1. Small, temporary blocks of storage
1.2. Special Purpopse (used during processing)
1.2.1. FDE Cycle
1.2.1.1. Memory Data Register (MDR)
1.2.1.1.1. Stores the data / instruction fetched from Main Memory during 'Fetch'
1.2.1.2. Program Counter (PC)
1.2.1.2.1. Points to the first or next instruction in a program
1.2.1.3. Memory Address Register (MAR)
1.2.1.3.1. Stored the address of the location in Main Memory to fetch from
1.2.1.4. Current Instruction Register (CIR)
1.2.1.4.1. Stores the instruction to be decoded and executed during the FDE Cycle
1.2.1.5. Accumulator (ACC)
1.2.1.5.1. Stores the results of any calculations executed during the FDE Cycle
2. Input Devices
2.1. Used to enter data into a computer system
2.2. Could be manual or automatic
2.2.1. Manual - peripheral devices e.g. keyboard
2.2.2. Automatic - senors e.g. light sensor
2.2.3. Used to output information from a computer system
3. Output Devices
4. Storage
4.1. Main Memory / Primary Storage
4.1.1. RAM
4.1.1.1. Random Access Memory
4.1.1.1.1. Used to store currently executing programs and their data
4.1.1.1.2. Volatile - data lost when power is removed
4.1.2. ROM
4.1.2.1. Read Only Memory
4.1.2.1.1. Used to store BIOS
4.1.2.1.2. Non-volatile - data is retained when power is removed
4.1.3. Cache
4.1.3.1. Cache Memory
4.1.3.1.1. Used to store frequently accessed data and instructions
4.1.3.1.2. Volatile - data lost when power is removed
4.2. Secondary Storage
4.2.1. Optical
4.2.2. Magnetic
4.2.3. Flash
4.2.4. Cloud