The Main Components of a computer are : processor, main memory, buses, registers, and I/O controllers
Processor - handles instructions received from user, hardware, and software
Main memory is made up of RAM and ROM
RAM - stores data not currently being executed
ROM - non volatile memory typically used to store BIOS setting
3 Types of buses are : address, data and control
Address bus carries the memory address of the next instruction to be read from memory
Data - carries to and from memory as program is executed
Control - carriers control signals to the register, data and address buses
I/O Controllers - allows additional devices to be connected
Processor is made from silicone and implanted with millions of transistors, connected with microscopic wires called buses.
Transistors are used to control the flow of electrical pulses that are timed via clock
RAM is temporary storage space can be accessed very quickly, and is volatile. It is a series of chips which store data electronically accessible by their address
ROM is non volatile and the user can't alter the contents. It stores a limited number of instructions relating to the set up of a computer
Addressable Memory is made up of addressable cells which store data, and is organised in a systematic way using the addresses
Buses are groups of parallelmicroscopic wires that connect the processor to various input and output controllers being used by the computer
Address bus carries data from processor to memory, and carries the memory address of the next item. It's used to access anything stored in memory.
Data bus is bi-directional, and has a width measured in bits. It connects registers to each other and the greater the width, the more data can be transmitted.
Control bus is bidirectional and involves the synchronisation of signals and control of access to the data and address buses
Devices are connected to a computer via I/O ports, data buses then carry signals to and from the computer, and an I/O controller is used to communicate with the device
Von Neumann Architecture uses the same bus for data and instructions, where Harvard uses different ones
Harvard architecture executes programs faster and more efficiently, and is used for embedded systems, using digitalsignalprocessing
Digital Signal Processing takes continuous real-world data and compresses it to allow faster processing
A bottleneck is when too much data is sent at once causing a crash
The Stored Program Concept is the idea that instructions and data are stored together in memory
Fetch-execute cycle is a continuous process carried out by the processor when running
Processor
The central processing unit (CPU) of a computer, electronic device, or information processing system
Arithmetic Logic Unit (ALU)
Used to carry out mathematical functions and other processes such as shifting, comparing values, and assigning boolean values
Sent an operation code and the operands
Uses logic operations (e.g. AND, NOT, OR, XOR)
Sometimes a separate arithmetic unit (AU) is used for floating point operations
Control Unit
Supervises fetch-execute cycle
Makes sure data being processed is correctly routed
Clock
Generates a signal that is used to synchronise the operation of the processor and the movement of data
Speed is measured in megahertz (MHz) or gigahertz (GHz)
Average clock speed is 2-3 GHz
Registers
General-purpose registers
Dedicated registers, including: program counter, current instruction register, memory address register, memory buffer register, status register
Fetch-Execute Cycle
1. Fetch: PC holds the address of the next instruction, processor sends this address along the address bus to the mainmemory, then sends contents of memorylocation at that address via the data bus to the CIR, and increments the PC
2. Decode: Processor then takes the instruction from the CIR and decides what to do with it
3. Execute: Processor now carries out the instructions, repeats the cycle so goes back to fetch
Processor Instruction Set
A library of all the things the processor can be asked to do, accompanied by details of what the processor should do when it is received
RISC (ReducedInstruction Set)
A type of processor instruction set
CISC (ComplexInstruction Set)
A type of processor instruction set
Assembly language
Consists of 4 parts: operation code (opcode), operands, comments
Direct Addressing
Tells the CPU which address contains the data you want to access
Immediate Addressing
Loads the data directly, therefore the operand would have the actual number that you wish to use
Types of Operation Codes
Data Transfer Operations (e.g. move, store, load)
Arithmetic Operations (e.g. standard mathematical operations, compare, shifts, increment/decrement)
Branch Operations (e.g. conditional branches)
Data Transfer Operations
LDR Rd, <memory ref> (load the value stored at <memory ref> in register d)
STR Rd, <memory ref> (store value is register d at <memory ref>)