# Machine Level Architecture: Functional characteristics of a processor

 ← Internal and external hardware components of a computer Functional characteristics of a processor Structure and role of the processor →

A computer must be able to access main memory for reading and writing, they do this by using addressable memory. Main memory is a little like a set of school lockers, each with a different number. Each locker contains a block of data and if you fill up one locker you can use the next locker to expand into.

Looking at the example above you can see locker '0' contains '8975', whilst lockers 1 to 6 contain the sentence "The Cat sat on the dog!". Locker '7' is empty, locker '8' contains a boolean value and locker '9' contains the number 48. As you can see if we only used one character for the locker number then we could only ever have 10 lockers. If you limit the number of addresses you can use then you limit the amount of memory you can talk to. If you have a small address bus then you won't be able to have much main memory.

The way that data is stored in a computer is very similar:

## Stored program concept

stored program concept - a program must be in main memory in order for it to be executed. The instructions are fetched, decoded and executed one at a time

Building on the Von Neumann architecture we get the idea of how the stored program concept works. If you have ever loaded a game on a console you might notice that:

1. you need to insert a disc
2. the disc spins
 Exercise: Characteristics of a processor How many different addresses can a 8 line address bus address? Answer: ${\displaystyle 2^{8}=256}$ How does the address bus affect main memory? Answer: If you have a small address bus then you will be limited in the number of addresses you can talk to and therefore how much main memory you can directly address. How wide would the address bus have to be to talk to 1024 addresses? Answer: 10 lines wide since ${\displaystyle 2^{10}=1024}$ What is wrong with using a 9 bit address bus but having 700 memory locations in main memory? Answer: We can only address ${\displaystyle 2^{9}=512}$ different locations. It wouldn't be able to talk to address locations ${\displaystyle 513-700}$. Define the stored program concept: Answer: A program must be (resident) in main memory in order for it to be executed. The instructions are fetched from main memory, then decoded and executed in the CPU.