1/49
Unfinished. These only include Year 10 content, sorry.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Modern computer architecture
Von Neumann architecture
Stored program concept - data and instructions in RAM
(Parts of) CPU
Central Processing Unit
Control unit
ALU
Registers
Control unit
Sends and receives signals to / from other hardware components
Program counter register
Instruction register
RAM
Random Access Memory
Primary, volatile storage
Hard disk
Magnetic storage medium
Secondary, non-volatile storage
Registers
Immediate access storage
Examples:
Program counter - holds memory address of the next instruction
Memory address register - holds the address of what is needed to read / write to RAM
Memory data register - holds data fetched from RAM
Instruction register - holds instruction being executed
Accumulator - holds intermediate ALU results
Address
First memory element that stores an instruction / data
Steps to process data
Fetch: get data and instructions from RAM using address / data bus, store in registers
Decode: control unit looks up instruction in the instruction set
Execute: instructions carried out on data
Clock chips
Vibrating crystal that determines the speed of the CPU
Buses
Physical connections between the CPU and other components
Data bus
Bidirectional
Reads and writes data to memory
Control bus
Bidirectional
Carries signals that control CPU components
Address bus
Unidirectional
Carries the address of a location in memory
CPU bandwidth
The number of unique memory addresses that can be accessed
Primary storage
First place of storage
E.g. RAM, ROM, registers, cache
Secondary storage
Second place of storage
E.g. hard disk, various media
Secondary storage benefits
Store data during power off
Retrieve data when power is back on
Read and edit data during power off
Higher storage capacity
Optical media
Flat, reflective surface with pits and lands burned in by lasers - laser is directed at it, straight back up = 0, angled reflection = 1
E.g. DVD, CD, Blu-ray
Low capacity, slow data access, portable
Magnetic media
Magnetise parts as North = 1 and South = 0
E.g. hard disk, tape
High capacity, quick data access, moving parts, defragmentation
Solid state media
Electric current forces electrons into pools - full pool = 0, empty pool = 1
E.g. USB flash drive, SSD cards
Medium capacity (expensive), very quick access, no moving parts, no defragmentation
Cloud storage
Storing data on remote servers
Accessible anywhere
Backups / security managed by the business
Additional storage easily accessed
Requires internet access
Types of software
System: programs that allow a computer to function
Application: programs that the users interact with the most
Operating System
Provides a platform for other software to interact with the computer hardware
Operating system tasks
Process management
File management
User management
Peripheral management
OS file management
Uses a hierarchy called a ‘directory’
Breaks files into blocks and allocates an empty sector on the hard disk for them
Slack space is often left
Required sectors calculation
Ceiling [ file size in bytes / block size in bytes ]
Levels of acces
System administrator has full access - only user who can access the root directories
Read
Write
Execute
Delete
Authentication is used to prove you are the account holder
OS process management
Allocates CPU / hardware time to each process waiting to be executed
Multitasking means making multiple processes available at once
Scheduling algorithms
First In First Out - processes in the order that items arrive
Shortest Job First - processes items that are the closest to completed
Round-robin - process are allocated time slices and if the process is not finished by the end of it, it goes to the back of the queue
High priority tasks are given more time slices
Paging algorithms
Memory is shared between processes as series of addresses called pages
These algorithms manage virtual memory
Virtual memory
RAM may become full when many processes are running
Paging algorithms then move pages to the hard disk temporarily and back to RAM when ready to be executed
Peripheral devices
Input / output devices
Drivers (software) provide an interface between the device and OS
User interface
The point where the user and the sytem interact
UI types
GUI: uses WIMP format, more common, easier to use
CLI: more challenging but run faster and offer more control over a computer / server / network’s function
Utility software types
Adds functionality / improves performance / maintains hardware and software /performs a specific management task
File repair - fixes corrupted / inaccessible files
Backup and recovery - creates and stores file copies
Data compression - reduces file sizes
Disk defragmentation - rearranges data on the disk to be more continuous
File encryption
Anti-malware - detects and removes malware
Low-level programming languages
Sits close to computer hardware
Binary codes or mnemonics that represent binary
e.g. machine code / assembly code
High-level programming languages
Abstracted from hardware- don’t need to understand how the computer works
uses English- like statements
Requires a translator from source code to machine code
e.g. python, java, javascript, c, c++
Low and high level language advantages
Low-level:
Tune code for speed of execution
Hard to learn and read
Need to know CPU architecture
Best for:
Efficiency
No translator
Embedded / real-time systems
Device drivers and parts of OS
High-level:
Easier and quicker to learn / write
More choice of development tools
Don’t need to know architecture
Best for:
Portability
OS
Games / apps / office productivity
Translator
Translates source code into machine code
E.g. assembler, interpreter, compiler
Interpreter
Translator that converts and executes each instruction immediately (one-by-one)
Compiler
Translator that converts and executes the whole program at once
Interpreter and compiler advantages / disadvantages
Interpreter:
Cross-platform
Simpler to test / easier to debug
Better interactivity
Require less memory
Executor requires interpreter
Often slower
Public source code
Compiler:
Ready to run
Often faster / optimised code
Private source code
Not cross platform
Inflexible
Extra step
Require lots of memory
Robust software
Software that can handle many kinds of errors without crashing
Common issues in code
User / logic / syntax / runtime errors
Hardware faults
Missing peripherals
Vulnerability
A flaw in code that introduces security issues
Bad coding practices
Poorly planned design
Quick fixes (may cause future problems and ignore current ones)
Not using industry coding standards
Poorly structured code
Insufficient testing
Fixes to bad coding practice
Code reviews
Can reduce vulnerabilities - check if it fits standards / has no flaws
Audit trails
Check who made changes - restore code to pre-flaw and improve accountability
Embedded systems
Simple computers on a circuit board, usually responsible for a dedicated task
Sensor gets data —> processor processes it —> corresponding output
E.g. switching lights, keeping track of time, receiving button / sensor input
Embedded system characteristics
Single purpose
Battery powered - low power consumption and small physical size
Low cost and maintenance
Real time / environment responsive
Firmware
Very small programs written for embedded systems
Fixed inputs / outputs and do not need to be modified once installed