1/134
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
ALU (Arithmetic Logic Unit)
performs all arithmetic calculations (eg. addition, subtraction) and logical operations (eg. AND, OR, NOT, comparisons) on data.
Control Unit
directs the operation of the processor; decodes instructions and sends control signals to coordinate the flow of data between the CPU, memory and I/O devices.
Program Counter (PC)
holds the memory address of the next instruction to be fetched; incremented after each fetch.
Accumulator (ACC)
stores the result of the most recent ALU operation.
Memory Address Register (MAR)
holds the address of the memory location currently being read from or written to.
Memory Data Register (MDR)
holds the data that has just been fetched from, or is about to be written to, memory; acts as a buffer between the CPU and RAM.
Current Instruction Register (CIR)
holds the current instruction that is being decoded and executed.
Data bus
carries the actual data or instructions between components; bidirectional.
Address bus
carries memory addresses from the CPU to memory or I/O devices; unidirectional (CPU outward only).
Control bus
carries control signals (eg. read/write signals, clock pulses, interrupts) between the CPU and other components; bidirectional.
Fetch
the address in the PC is copied to the MAR; the instruction at that memory address is fetched and placed in the MDR; the instruction is then copied to the CIR; the PC is incremented to point to the next instruction.
Decode
the Control Unit decodes the instruction held in the CIR, determining what operation is required and what data/addresses are involved.
Execute
the decoded instruction is carried out, eg. the ALU performs a calculation, data is written to memory, or a jump address is loaded into the PC.
Clock speed
the number of fetch-decode-execute cycles per second (measured in GHz); a higher clock speed means more instructions processed per second.
Number of cores
each core can process its own fetch-decode-execute cycle simultaneously; more cores allow more instructions to be processed at the same time (parallel processing).
Cache
a small, very fast memory store on or near the CPU; frequently used instructions and data are stored here so they can be accessed faster than from RAM; more/larger cache reduces the time spent waiting for data.
Von Neumann
a single memory stores both data and instructions; a single bus connects the CPU and memory; simple and cheap but can cause a bottleneck (the Von Neumann bottleneck) as data and instructions share the same bus.
Harvard
separate memories and buses for data and instructions; allows both to be fetched simultaneously, improving speed; commonly used in embedded systems and DSPs.
Contemporary processors
use features of both architectures, eg. separate cache for instructions and data (modified Harvard) within an overall Von Neumann structure.
CISC (Complex Instruction Set Computer)
large set of complex instructions, each of which may take multiple clock cycles to execute; eg. x86 processors; reduces the number of lines of assembly code needed.
RISC (Reduced Instruction Set Computer)
small set of simple instructions, each completing in a single clock cycle; relies on the compiler to combine simple instructions; faster execution per instruction; eg. ARM processors used in mobile devices.
Multicore
multiple independent processors (cores) on a single chip; each core can execute instructions simultaneously, improving performance for parallel tasks.
Parallel systems
multiple processors work together on different parts of a problem simultaneously; used in high-performance computing eg. weather modelling, graphics rendering.
Input devices
eg. keyboard (text entry), microphone (voice recognition), barcode scanner (retail), sensors (embedded systems); chosen based on the type of data needed and the context.
Output devices
eg. monitor (visual display), printer (hard copy), speakers (audio); chosen based on how the result needs to be presented.
Magnetic storage
eg. hard disk drives (HDD); data stored using magnetic fields on spinning platters; high capacity and cheap per GB but slower than flash and vulnerable to physical damage.
Flash storage
eg. SSDs, USB drives; data stored electrically in NAND cells; fast, silent, portable and shock-resistant but more expensive per GB than magnetic storage.
Optical storage
eg. CDs, DVDs, Blu-ray; data stored as pits and lands read by a laser; used for distributing software/media; slower and lower capacity than magnetic or flash but cheap and portable.
RAM (Random Access Memory)
volatile, temporary memory that stores currently running programs and data; lost when power is removed; fast access speed.
ROM (Read Only Memory)
non-volatile, permanent memory that retains data without power; used to store the BIOS/boot instructions; cannot be easily modified.
Virtual storage
storage that appears to the user to be larger than the physical storage available, eg. cloud storage or virtual memory (using part of the hard drive as an extension of RAM).
Purpose
manages hardware resources, provides a user interface, allows multiple programs to run, handles errors and security; acts as an intermediary between user and hardware.
Memory management
the OS allocates memory to programs and ensures they do not interfere with each other; techniques include:
Paging
memory divided into fixed-size blocks (pages); programs split into pages which can be stored non-contiguously in RAM.
Segmentation
memory divided into variable-size segments based on logical divisions of the program (eg. code, data, stack).
Virtual memory
uses part of secondary storage as an extension of RAM when RAM is full; pages are swapped in and out (paging); slower than RAM.
Interrupts
a signal sent to the CPU by hardware or software indicating an event needs immediate attention (eg. I/O completion, error, keyboard input); the CPU suspends its current task, saves its state, and runs the Interrupt Service Routine (ISR) to handle the interrupt, before resuming the original task.
Scheduling
determines the order in which processes access the CPU:
Round robin
each process given a fixed time slice in turn; fair but may be slow for long jobs.
First come first served (FCFS)
processes handled in the order they arrive; simple but long jobs can block short ones.
Shortest job first (SJF)
process with the shortest estimated time runs next; minimises average waiting time but can starve long jobs.
Shortest remaining time (SRT)
preemptive version of SJF; if a new shorter job arrives, it immediately takes over.
Multi-level feedback queues
multiple queues with different priorities; processes move between queues based on behaviour; balances responsiveness and throughput.
Types of OS
Distributed, Embedded, Multi-tasking, Multi-user, Real-time
Distributed OS
runs across multiple networked computers, sharing resources and processing.
Embedded OS
dedicated OS within a device for a specific purpose, eg. a washing machine controller; minimal interface.
Multi-tasking OS
allows multiple processes to run apparently simultaneously by rapidly switching between them.
Multi-user OS
allows multiple users to access the system simultaneously, eg. a server OS.
Real-time OS
guarantees a response within a fixed time; used in safety-critical systems eg. aircraft control, pacemakers.
BIOS (Basic Input/Output System)
stored in ROM; the first program run on startup; initialises hardware and loads the OS from secondary storage (bootstrap process).
Device drivers
software that allows the OS to communicate with a specific hardware device; translates OS commands into device-specific instructions.
Virtual machines
software that emulates a physical computer; allows one machine to run multiple operating systems simultaneously, or to execute intermediate/bytecode (eg. the Java Virtual Machine).
Applications
software designed for a specific user purpose (eg. word processor, web browser); must be chosen or designed to suit the task.
Utilities
software that maintains or improves the system, eg. antivirus, disk defragmenter, file compression tools.
Open source
source code is publicly available; anyone can view, modify and distribute it; eg. Linux; encourages collaboration but may have less commercial support.
Closed source
source code is kept private by the developer; users pay for a licence; eg. Microsoft Windows; usually has dedicated support but limits user modification.
Compiler
translates entire high-level source code into machine code before execution; produces a standalone executable; errors reported after full compilation; faster execution.
Interpreter
translates and executes source code line by line; stops at the first error; slower execution but easier to debug; no standalone executable produced.
Assembler
translates assembly language (low-level, human-readable mnemonics) into machine code (binary).
Program flow
sequence (instructions run in order), selection (if/else branching), iteration (loops
Variables and constants
variables store values that can change during execution; constants store fixed values that cannot be changed.
Procedures and functions
named blocks of reusable code; functions return a value, procedures do not; reduce repetition and improve readability.
Operators
arithmetic (+ − × ÷ MOD DIV), Boolean (AND, OR, NOT), assignment (=, ←), comparison (>, <, =, ≠).
String handling
operations such as concatenation, finding the length, extracting substrings, converting case.
File handling
opening, reading from, writing to and closing files; important for persistent data storage.
Assembly language / Little Man Computer (LMC)
a simplified model of a computer used to demonstrate assembly language; uses mnemonics such as LDA (load), STA (store), ADD, SUB, BRP (branch if positive), BRZ (branch if zero), OUT, INP, HLT.
Flat file
a single table storing all data; leads to data redundancy and update anomalies.
Relational database
data organised into multiple related tables to reduce redundancy; tables linked by keys.
Primary key
a unique identifier for each record in a table; cannot be null.
Foreign key
a field in one table that references the primary key of another table, creating a relationship between them.
Secondary key
a non-unique field used for searching/indexing (eg. surname).
Entity relationship (ER) modelling
diagrams showing entities (things/objects) and the relationships between them (one-to-one, one-to-many, many-to-many).
Protocols
agreed rules/standards that allow devices to communicate; without them, different systems could not exchange data reliably.
TCP/IP stack
a four-layer model for internet communication: Application layer (eg. HTTP, FTP), Transport layer (TCP
HTTP - hypertext transfer protocol
Used to make a request for a web page
HTTPS - hypertext transfer protocol secure
Sends an encrypted request for a web page
FTP - file transfer protocol
Used to upload or download a file
SMTP - simple mail transfer protocol
Used to send an email to an email server
POP - post office protocol
to contact an email service & download from it any new emails to a computer or device
IMAP - internet message access protocol
To retrieve emails when a user is using multiple devices to access their emails
DHCP - dynamic host configuration protocol
Used to assign IP addresses & other configuration options to devices in a network
DNS (Domain Name System)
translates human-readable domain names (eg. www.google.com) into IP addresses so data can be routed correctly.
Protocol layering
each layer handles a specific aspect of communication and passes data to the layer above/below; allows different hardware/software to work together as long as each layer follows the protocol.
LAN (Local Area Network)
a network covering a small geographic area (eg. a building); typically high speed and privately owned.
WAN (Wide Area Network)
a network covering a large geographic area (eg. the internet); connects multiple LANs; uses public infrastructure.
Packet switching
data split into packets, each routed independently across the network and reassembled at the destination; efficient and resilient to failure.
Circuit switching
a dedicated communication path is established for the duration of the connection (eg. traditional phone calls); reliable but inefficient as the path is reserved even when not in use.
Client-server
clients request services/resources from a central server; centralised control and easier to manage security; server can become a bottleneck.
Peer-to-peer
all devices have equal status and share resources directly with each other; no central server; more resilient but harder to manage and secure.
HTML
defines the structure and content of web pages using tags (eg.
, ).
CSS
controls the visual styling and layout of HTML pages (eg. colours, fonts, positioning).
JavaScript
a client-side scripting language that adds interactivity and dynamic behaviour to web pages (eg. form validation, animations).
Lossy compression
permanently removes some data to reduce file size; quality is reduced and cannot be recovered; eg. JPEG, MP3; suitable where exact reproduction is not essential.
Lossless compression
reduces file size without losing any data; original file can be perfectly reconstructed; eg. PNG, FLAC, ZIP; used where accuracy is essential.