GCSE Computer Science
Unit 1: Hardware - Key Terminology and CPU Architecture
Central Processing Unit (CPU): The main component in a computer for processing data and instructions.
Control Unit: Directs the flow of instructions and/or data and coordinates the other parts of the CPU. It is responsible for generating clock ticks and controlling the clock.
Arithmetic Logic Unit (ALU): Performs all mathematical calculations and logical operations within the CPU.
Registers: Fast access storage locations found on the CPU where data or control information is temporarily stored.
Program Counter (PC): A counter that keeps track of the memory address of the instruction to be executed next.
Memory Address Register (MAR): Stores the address in the main memory that is currently being read from or written to.
Current Instruction Register (CIR): A temporary holding area for the instruction that has just been fetched from memory.
Memory: Used for the temporary storage of currently running programs and data.
Cache: Incredibly fast, but very expensive volatile memory used inside the CPU.
Clock Speed: The number of Fetch-Decode-Execute (FDE) cycles that a CPU can carry out per second.
Cores: Some processors have multiple processors (cores) which can work in parallel, sequentially, or can multitask.
Volatile: A characteristic of memory where stored data is lost when the power is interrupted or switched off.
Permanent: A characteristic of storage where data is kept even when the power is interrupted or switched off.
The Fetch-Decode-Execute (FDE) Cycle and Performance
Architecture: The typical Von Neumann architecture consists of: - Input - CPU: Containing the Control Unit, ALU, and Registers. - Memory - Output
The FDE Cycle Phases: - Fetch: The cycle takes the address required from memory, stores it in the Current Instruction Register (CIR), and increments the Program Counter (PC) by one so that it points at the next instruction. - Decode: The Control Unit authenticates the instruction in the CIR. The instruction is decoded to determine the specific actions that need to be carried out. - Execute: The actions that occur during the execution cycle depend entirely on the instruction itself.
Factors Affecting Performance: - Cache Size: A larger cache can store more data and instructions. It provides instructions and data to the CPU at a much faster rate than other system memory like RAM. - Clock Speed: A higher clock speed allows the FDE cycle to run faster, resulting in more instructions being processed per second. - Number of Cores: More cores allow more instructions to be processed at the same time. However, performance may be limited if one core must wait for the result of another, preventing it from carrying out further instructions.
Processor Types: RISC vs. CISC
RISC (Reduced Instruction Set Computer): - Function: Carries out more complex commands by breaking the problem down into simpler instructions. - Advantages: - Processes simpler instructions very quickly. - Requires less circuitry to decode and execute instructions. - Results in lower power consumption and less heat generation.
CISC (Complex Instruction Set Computer): - Function: Can process a large number of complex instructions. This allows the processor to carry out complex tasks with only a few instructions. - Advantages: - Processes complex instructions directly without breaking them down into many simpler ones. - Disadvantages: - Requires more circuitry to decode and execute complex instructions. - Higher power consumption and more heat generation.
Input, Output, and Storage Devices
Input Devices: Send data to the computer system. Examples include: - Keyboard, Mouse, Scanner, Graphics tablet, Microphone, Touch screen, Webcam.
Output Devices: Receive data from the computer system. Examples include: - Speakers, Headphones, Printers, Projectors, Plotters, Video cards, Sound cards.
Primary Storage Summary: - Cache Memory: Volatile; Data can be changed; Relative Speed: (Highest); Used for temporary storage of frequently accessed data/instructions. - Read-only Memory (ROM): Permanent; Data cannot be changed (indicated by cross in transcript logic); Relative Speed: ; Used for storing programs like the system BIOS. - Random Access Memory (RAM): Volatile; Data can be changed; Relative Speed: ; Used for storing currently running programs and data. - Flash Memory: Permanent; Data can be changed; Relative Speed: ; Used for storing programs like the system BIOS.
Secondary Storage Technologies: - Optical: Laser beams are projected onto a disc. Reflected light is read as a ; no reflection is read as a . - Magnetic: Data is stored and read using a read-write head and a magnetic platter. - Solid State: No moving parts. Known for low power consumption and high-speed access.
Functional Characteristics of Secondary Storage Media
Flash Drive: - Suitability: Moving small files between locations. - Capacity: – . - Durability: . - Portability: Yes. - Speed: .
External Hard Drive: - Suitability: Backing up home computer systems. - Capacity: – . - Durability: . - Portability: Yes. - Speed: .
CD / DVD / Blu-ray Disc: - Suitability: Storing multimedia files. - Capacity: (CD), (DVD), (Blu-ray). - Durability: . - Portability: Yes. - Speed: .
Magnetic Tape: - Suitability: Backing up large commercial servers. - Capacity: – . - Durability: . - Portability: Yes. - Speed: .
Data Storage Units
Bit (b):
Nybble:
Byte (B):
Kilobyte (kB):
Megabyte (MB):
Gigabyte (GB):
Terabyte (TB):
Petabyte (PB):
Exabyte (EB):
Zettabyte (ZB):
Yottabyte (YB):
Other Hardware Components
Graphics Processing Unit (GPU): - Integrated GPU: Uses computer RAM; cheaper; less heat/power; suitable for general processing (videos, word processing). - Dedicated GPU: Has its own video memory; best visual experience; used by professional designers and gamers; high power/cooling requirements.
Sound Cards: Converts analogue input signals into digital data and reverses the process for output.
Motherboards: The main circuit board of the computer.
Embedded Systems: A combination of software and hardware designed for a specific task (unlike general-purpose computers). - Examples: MP3 players, mobile phones, video game consoles, digital cameras, DVD players, GPS, and household appliances (microwaves, washing machines, dishwashers).
Organisation and Structure of Data: Number Representation
Denary: Base 10 system using digits through .
Binary: Base 2 system using digits and only.
Hexadecimal: Base 16 system using digits and characters . Used as shorthand for binary to avoid errors.
Conversion Example ( to Binary and Denary): - Hexadecimal: and - Binary Split (): () and () - Denary Weighting: - Calculation: - Result:
Arithmetic Shift Functions: - Shift Left: Doubles () the value for each shift. (e.g., [48] becomes [96]). - Shift Right: Halves () the value for each shift. (e.g., [48] becomes [24]).
Binary Addition and Overflow: - Addition rules: (binary for 2), (binary for 3). - Overflow: Occurs when a number is too large to be stored by the register; the left-most carry bit cannot be stored and is lost.
Representation of Graphics and Sound
Graphics Terminology: - Pixel: A small coloured dot on a display (Picture Element). - Bitmap: Images stored as an array of pixels. - Vector: Images stored as a set of instructions for drawing geometric shapes rather than pixels. - Metadata: Data that describes other data (e.g., Genre, Date Created, Location, File Size, Dimensions).
Digital Storage of Images: - Black and White: for black, for white. An grid would use (). - Colour Bitmap: Uses binary numbers to represent RGB (Red, Green, Blue) levels per pixel. - Colour Depth: - : - : - : - :
Sound Representation: - Sampling: Hardware like a microphone measures sound levels many times per second and records them as binary digits. - Sample Rate: Number of audio samples captured every second. - Bit Depth: Number of bits available for each clip. - Bit Rate: Number of bits used per second of audio (). - Note: Higher sampling rates improve quality but increase file size.
Data Types, Characters, and Structures
Character Set: A table mapping a character (letter, digit, symbol) to a unique binary number (e.g., ASCII, Unicode). - ASCII Examples: -
@: Denary , Hex , Binary -A: Denary , Hex , BinaryData Types: - Integer: Whole numbers (e.g., ). - Real: Numbers with decimals (e.g., ). - Boolean: True or False ( or ). - Character: Single letter/symbol (e.g.,
'A', '?'). - String: Sequence of characters (e.g.,'Computer science').Data Structures: - Record: Related data of different types (e.g., ID, Name, Gender, DOB). Includes a Primary Key (unique identifier). - Array: Fixed number of items of the same data type. - 1D Array: Index starts at . Access via
myArray[index]. - 2D Array: Indexed by row and column[y, x]. A array has . - Array Operations: - Traversing:for i = 0 to 7: output myArray[i]. - Insertion:myArray[4] = 67. - Deletion:myArray[6] = "".
Validation and Verification
Data Validation (Ensures reasonableness): - Presence Check: Ensures a field is not blank. - Format Check: Ensures data matches a pattern (e.g., Postcode
LL00 0LL). - Length Check: Ensures a specific number of characters (e.g., for phone numbers). - Type Check: Ensures correct data type (e.g., integer for quantity). - Range Check: Ensures data is within bounds (e.g., hours >0 and <15).Data Verification (Ensures consistency): - Double-entry: Comparing two identical inputs (e.g., password re-entry). - Screen-based / Visual Check: User confirms displayed data is correct. - Check Digit: Algorithms apply calculations to data (like barcodes) to produce a verifying digit.
Software Engineering and IDEs
Key Terms: - Editor: For entering and formatting source code. - Compiler: Converts source code into executable machine code once. - Interpreter: Converts and executes source code line-by-line each time it runs. - Linker: Links previously compiled library code. - Loader: Loads compiled code into memory. - Debugger: Locates and helps rectify errors. - Trace: Displays line execution order and variable values. - Break point: Interrupts program at a specific line. - Variable Watch: Displays current value of a variable during execution. - Memory Inspector: Displays sections of memory. - Error Diagnostics: Displays messages when compilation or execution fails.
Integrated Development Environment (IDE) Components: Includes automatic formatting, automatic colour coding, variable watch, threading, output window, and break points.
Ethical, Legal, and Environmental Impacts
Ethical Issues: Drones (privacy), Self-driving cars (life/death decisions), AI (potential harm to humans).
Code of Conduct: Formal and informal standards of behavior within an organization, reflecting its ethos.
Legislation: - Computer Misuse Act (CMA) 1990: Offence to access data without permission (hacking) or alter data (viruses). - Freedom of Information Act 2000: Public right to access information held by public authorities. - Regulation of Investigatory Powers Act (RIPA) 2000: Regulates surveillance, investigation, and interception of communications by public bodies. - Data Protection Act (DPA) 2018: Protects personal data relating to identifiable individuals.
Environmental Impacts: - Increased carbon emissions from delivery lorries and air conditioning for servers. - Consumption of paper affecting rainforests. - Toxic substances from dumped electronics in landfills leaking into water supplies. - Wasted electricity from computers on standby. - Pollution from mining rare earth elements and global transportation.
Programming Languages: HTML and Assembly
Markup (HTML) Tags: -
<html>: Root of document. -<title>: Document title. -<body>: Document body. -<h1>to<h6>: Headings. -<p>: Paragraph. -<i>: Italics;<b>: Bold. -<center>: Centered text. -<a href="...">: Hyperlink URL;<a href="mailto:...">: Email link. -<ul>: Unordered list;<li>: List item. -<blockquote>: Quoted section. -<hr>: Thematic change/horizontal rule. -<img src="...">: Defines an image.Assembly Language (Mnemonics): - INP: Input value to accumulator. - OUT: Display accumulator contents. - STA: Accumulator to RAM. - LDA: RAM to accumulator. - ADD / SUB: Mathematical operations using RAM address and accumulator. - BRA: Jump to RAM location (loops). - HLT: Stop processor. - DAT: Declare variables.
Benefits of Assembly: Less memory/execution time; direct hardware interaction (device drivers); suitable for time-critical processes.