Components of a Computer and their Uses
This section of computer science covers the key areas for revision on computer systems, focusing on the structure and function of the processor, types of processors, and input/output/storage technologies.
Computer Systems
Structure and Function of the Processor
The Arithmetic and Logic Unit (ALU), Control Unit, and Registers
Arithmetic and Logic Unit (ALU):
Responsible for performing all arithmetic and logical operations, including addition, subtraction, AND, OR, and comparisons.
Control Unit:
Manages the execution of instructions by directing operations within the CPU. It interprets instructions from memory and controls the movement of data between the ALU, registers, and memory.
Registers:
Small, fast storage locations within the CPU used to hold temporary data.
Program Counter (PC): Holds the memory address of the next instruction to be executed.
Accumulator (ACC): Stores intermediate results of calculations performed by the ALU.
Memory Address Register (MAR): Holds the address in memory where the CPU wants to read or write data.
Memory Data Register (MDR): Stores the data being transferred to or from memory.
Current Instruction Register (CIR): Holds the current instruction that is being decoded and executed.
Buses: Data, Address, and Control
Data Bus: Transports actual data between the CPU, memory, and peripherals.
Address Bus: Carries the memory addresses where data is to be read from or written to.
Control Bus: Sends control signals between the CPU and other hardware components to coordinate activities (e.g., read/write operations).
These buses facilitate communication in the execution of assembly language programs, where each instruction corresponds directly to machine-level operations.
The Fetch-Decode-Execute Cycle
Fetch:
The PC points to the next instruction. This address is transferred to the MAR. The instruction is fetched from memory and stored in the MDR, then transferred to the CIR.
Decode:
The control unit decodes the instruction in the CIR to determine the required action.
Execute:
The decoded instruction is executed, which could involve the ALU performing operations or data being transferred.
Effects on Registers:
The PC is incremented after each instruction.
Data is moved between the MAR, MDR, CIR, and ACC during the cycle.
Factors Affecting CPU Performance
Clock Speed:
Measured in GHz (gigahertz), it represents the number of cycles the CPU can perform per second. Higher clock speed = faster CPU.
Number of Cores:
Each core can independently execute instructions. More cores allow for multitasking and parallel execution of programs.
Cache:
A small, high-speed memory within the CPU that stores frequently accessed data. Larger caches reduce the need to access slower main memory, thus improving speed.
The Use of Pipelining
Pipelining:
A technique where multiple instruction stages (fetch, decode, execute) are overlapped. While one instruction is being executed, the next can be decoded, and the one after that can be fetched. This increases CPU efficiency by making better use of the processing resources.
Processor Architectures: Von Neumann, Harvard, and Contemporary Architectures
Von Neumann Architecture:
The same memory and bus are used for both data and instructions, leading to a single path for instruction fetching and data access (the Von Neumann bottleneck).
Harvard Architecture:
Separate memory and buses are used for instructions and data, allowing simultaneous fetching of instructions and data.
Contemporary Architectures:
Modern processors may combine elements of both architectures, using separate caches for instructions and data while sharing the same memory.
Types of Processor
Differences Between and Uses of CISC and RISC Processors
CISC (Complex Instruction Set Computer):
Complex instructions that perform multiple tasks in one instruction. Suitable for systems requiring fewer, more complex operations (e.g., desktops, servers).
RISC (Reduced Instruction Set Computer):
Simple instructions that perform one task each. More instructions are needed, but they execute faster. Used in devices requiring high performance and efficiency (e.g., mobile phones).
GPUs and Their Uses
Graphics Processing Unit (GPU):
Specialised processors designed to handle parallel tasks efficiently, making them ideal for graphics rendering.
Other Uses: GPUs are also used in machine learning, cryptocurrency mining, and scientific simulations, where large amounts of data are processed in parallel.
Multicore and Parallel Systems
Multicore Processors:
Contain multiple processing units (cores) on a single chip, allowing simultaneous execution of multiple instructions or programs.
Parallel Processing:
A computing system that uses multiple processors or cores to work together on a problem, increasing processing speed by dividing the task into smaller parts.
Input, Output, and Storage
Input, Output, and Storage Devices
Input Devices: Convert physical input (e.g., keyboard, mouse, microphone) into data for the computer.
Output Devices: Convert processed data into a readable format (e.g., monitor, printer, speakers).
Storage Devices: Store data permanently or temporarily (e.g., hard drives, SSDs, USBs).
The selection of devices depends on the problem being solved. For example, a graphics designer would require a high-resolution monitor (output) and a graphics tablet (input), while a server would require high-capacity storage.
Uses of Magnetic, Flash, and Optical Storage Devices
Magnetic Storage:
Hard Disk Drives (HDDs) use magnetism to store data. They provide large capacities at a low cost but are slower than SSDs.
Flash Storage:
Solid State Drives (SSDs) use flash memory for faster data access. Ideal for devices requiring speed, like laptops or mobile devices.
Optical Storage:
CDs, DVDs, and Blu-ray discs use lasers to read/write data. They are used for media distribution but are slower and less reliable than modern alternatives.
RAM and ROM
RAM (Random Access Memory):
Volatile memory used to store data and instructions while a program is running. It loses data when power is off.
ROM (Read-Only Memory):
Non-volatile memory containing the system's firmware. Data in ROM is not lost when the system is powered off.
Virtual Storage
Virtual Storage:
A method of using a combination of physical storage devices to appear as a single logical storage unit. Cloud services (e.g., Google Drive) or virtualised hard drives on a network can be used for virtual storage, allowing seamless access to data across devices and locations.