8. Computer Architecture Flashcards
RAM
Main Memory
- Stores instructions and data for programs. Program must be in RAM in order to run.
- Memory is volatile.
- Each memory location is addressable.
Operating System
A software meant to link application software and hardware.
Handles:
- Resource Management
- Provides a User Interface
I/O Controllers and I/O devices
I/O Device - Hardware such as: keyboards, harddisks, mouse, monitors, printers.
I/O Controller - Interfaces between processor and I/O device e.g. keyboard controller.
CPU sends a command to it which will then send specific signals to the device it controls.
Buses
A set of parallel wires that connect independent components of a computer
Data Bus - Bidirectional carries between components
Address Bus - Mono directional, from the processor
Control Bus - Bidirectional, carries control signals e.g. write/read signals.
Bus width: Number of lines allocated to a bus. 8 Lines means 8 bit words can be transferred along the bus.
The Processor
Its main function is to execute instructions that are fetched from the RAM.
Has millions of transistors and are mostly made up from semi-conductible silicon.
Moore’s Law
Number of transistors in a dense integrated circuit should double every two years.
Name the components of the CPU
Control Unit
Arithmetic and Logic Unit
System Clock
Registers
Stored Program Concept
- Proposed by Alan Turing and John von Neumann.
- Program must be in main memory to be executed.
- Machine code are fetched from main memory then executed one after another.
- Program instructions can be replaced any time by other programs.
Components of the CPU: CU & System Clock
Control Unit: Fetches, decodes and executes instructions one at a time. It co-ordinates all activities on the processor.
System Clock: A signal alternating between 1 & 0 millions of times a second. Each operation on the processor starts with a clock pulse. Some operations take many clock cycles.
Components of the CPU: ALU & Registers
Arithmetic Logic Unit: Performs mathematical operations (add, mul etc) also has boolean operations such as AND, OR, XOR, NOT.
Registers: Fast memory locations on the processor or I/O controllers. Can be general purpose for use by the programmer or special purpose.
Dedicated Registers: PC, ACC, CIR
Program Counter: Stores the address of the next instruction to be fetched.
Accumulator: Stores the results of instructions.
Current Instruction Register: Holds the current instruction that is to be decoded and executed.
Dedicated Registers: MAR, MBR, Status Register
Memory Address Register: Holds the memory address to be read or written to.
Memory Buffer Register: Holds the data item to be transferred to or from a memory location.
Status Register: Contains bits which are set or cleared depending on the result of an instruction.
i.e. Zero flag is set to 1 when the result of an instruction is 0.
System Clock and Clock Speed
Every computer has a clock that supplies timing signals. All other timing signals are derived from this.
- Measured in MHz or GHz
- CPUs are designed to be executes at a given frequency.
- The higher the clock speed, the more instructions can be executed in the same time period.
Word Length
Word Length (in bits): The higher the word length, the more bits can be processed in one operation. CPUs with 64 bit word size can process 64 bits using one machine code. This is twice as many as a 32 bit. CPU.
Allows bigger memory addresses to be accessed so more RAM can be used.
CPU Performance 1
Increasing the clock speed will reduce the time it takes to execute an instruction. However it also increases heat generation and power consumption.
Each core is a processor and multi-core processors can run at lower frequencies than a single core, meaning it is cooler. A dual core does not necessarily mean it will run twice as fast.