3.1 Computer Architecture
What is the role of a CPU in a computer?
- The CPU processes instructions and data that are input into the computer so that the result can be output
What is a microprocessor?
- a type of integrated circuit on a single chip
What is the purpose of a register?
- Register is a high speed storage area
- Used to hold memory location or an instruction
- ..temporarily
- Used within the fetch execute cycle
What is the ALU?
- Carries out calculations
- Carries out logical operations
- Holds temporary values during calculations
- …in a register called the accumulator
What is the function of the control unit?
- Controls operation of memory, processor and input / output
- Instructions are interpreted
- Sends signals to other components telling them “what to do”
Fetch Decode Execute
Registers used in the Fetch Execute Cycle
- Program Counter- holds the address of the next instruction to be executed
- MAR- Holds the address to fetch the data (from the Program counter)
- MDR- Holds the data which has just been read from memory
- CIR- holds the instruction that is to be decoded and executed
- ACC- holds the results temporarily at the end of the fetch execute cycle
Describe the stored program concept when applied to the Von Neumann model (4points)
- The program is stored on a secondary storage device
- Data and instructions are moved to memory / RAM
- Data and instructions are stored in the same memory / RAM
- Data and instructions are moved to registers to be executed
- Instructions are fetched one at a time
Explain how an instruction is fetched in a von Neumann model computer
- PC holds the address of the instruction
- The address held in PC is sent to MAR..
- ..using the address bus
- MAR goes to location in memory where the instruction is stored
- Instruction sent to MDR..
- ..using data bus
- Instruction sent to CIR
- Control unit sends signals to manage the process..
- ..using the control bus
BUSES IN FETCH EXECUTE CYCLE:
Address Bus
- it is UNIDIRECTIONAL
- Carries / transports an address / location ..
- .. of the next item to be fetched
- Data travels one way (unidirectional)
Data (bus)
- it is BIDIRECTIONAL
- Carries / transports data / example of data ...
- .. that is currently being processed // that will be / has been processed
- Data can travel in both directions (bidirectional)
Control (bus)
- it is BIDIRECTIONAL
- Carries / transports signals
- Control / directs the actions of the CPU / processor
- Can be either Unidirectional or Bidirectional
BUSES IN FETCH EXECUTE CYCLE:
Core
- one core is made up of an ALU, a CU and the registers
- used to perform the fetch-execute cycle
- to process/execute an instruction
Cache
- cache is fast access memory (close to the CPU)
- cache stores frequently used instructions / data
- ... more cache means more instructions / data can be transferred faster
Clock/System Clock
- synchronise operations
- ... by creating timing signals
- to keep track of the date and time / timestamp files
- to process operations in the correct order / sequence
Factors affecting performance of a CPU:
Multiple cores(eg dual core instead of single core):
- It can process two instructions simultaneously
- ..increasing the performance
- to process an instruction
- however it doesn't double the speed of execution as the CPU needs to communicate with each core
Increasing cache:
- cache stores frequently used instructions / data
- ... more cache means more instructions / data can be transferred faster
- ... less swapping between RAM and cache
Overclocking/increasing clock speed
- The faster the clock speed the more instructions can be run per second
- ...however, there is a limit on clock speed because the heat generated by higher clock speeds cannot be removed fast enough
Address+Data bus width
- Increasing the address bus width, increases the number of upcoming instruction addresses can be transferred from memory
- Increasing the data bus width increases the number of instructions that can be carried for execution
What is a CPU instruction set?
- A list of all commands that can be processed by a CPU and the commands are machine code
Embeded Systems
What is an embedded system?
- a combination of hardware and software designed to carry out a specific set of instructions
- It is built into a device
- It has a single purpose
- It runs on firmware
- It does not have additional firmware
Pros & cons of embedded systems
- Small in size (fit easily fit in big devices)
- Relatively low cost
- Consume very little power
- May be difficult to upgrade
- - Troubleshooting faults becomes a specialist task
You may need to know how embedded systems is used with a given example