OCR H046 AS-Level Computer Science
1.1.1 Architecture of the CPU
1.1.2 Types of processor
1.1.3 Input, output, and storage
1.2.1 Operating system
1.2.2 Applications generation
1.2.3 Introduction to programming
1.3.1 Databases
1.3.2 Networks
1.4.1 Data types
2.2.2 Software development cycle
1.1.1 Architecture of the CPU
Parts of the CPU
- Control Unit
- ALU
- Registers
Registers within the CPU
- Accumulator
- Memory Data Register
- Memory Address Register
- Program Counter
- Current Instruction Register
Fetch-Decode-Execute cycle
- Registers involved
- Fetch, decode, execute cycle
CPU performance factors
- Clock speed
- Multi-core
- Cache
- RAM size
- GPU
- Pipelining
System performance factors
- Faster CPU
- Improved RAM
- Graphics card
- Upgraded Drive
- Upgraded OS
Architecture of the CPU
- Von Neumann architecture
- Harvard architecture
1.1.2 Types of processor
CISC and RISC
- Complex Instruction Cycle
- Reduced Instruction Cycle
Multicore and Parallel processing
- Pipelining
- Array processor
- Multi-core
- GPU
1.1.3 Input, output, and storage
Types of storage
- Magnetic
- Optical
- Solid state
Main memory
- Random access memory (RAM)
- Read-only memory (ROM)
- Virtual memory
1.2.1 Operating system
Purpose of an operating system
- Kernel
- Device Drivers
- Utilities
- User Interface
Memory management
- Segmentation
- Pagination
- Virtual memory
- Memory issues
Scheduling
- Round Robin
- First Come First Serve
- Shortest Job
- Shortest time
- Multi-level
CPU priority changes
- Interrupts
- Polling
Types of operating system
- Multi Tasking
- Multi User
- Distributed
- Real Time
BIOS
- Booting
- BIOS
- POST
- System start
- Operating system boot
Virtual machines
- Virtual machines
- With operating systems
- With bytecode
1.2.2 Software
Types of software
- Applications
- Utilities
- Generic software
- Bespoke & Custom software
- Closed source
- Open source
From code to software
- Translators
- Interpreters
- Compilers
- Assemblers
1.2.3 Introduction to programming
Procedural language techniques
- What is a procedural language
- Procedures
- Subroutines
- Functions
- Program flow
- Variables and Scope
- Constants
- String Handling
- File Handling
- Operators
Assembly language and LMC
- The 'Little Man Computer'
- Instruction Set
- Labels
- Calculation
- Branching
- Input-Output
- Loops
1.3.1 Databases
Databases
- Flat file databases
- Relational databases
- Primary key
- Foreign key
- Secondary key
Entity-Relationship (E-R) diagrams
- Entities
- One-to-One
- One-to-Many
- Many-Many
- E-R Formats
1.3.2 Networks
Network basics
- Network Characteristics
- Protocols and Standards Importance
TCP/IP stack
- TCP/IP
- Ports and Sockets
Packet switching
- Circuit switching
- Datagrams
- Packet Switching
Addressing
- IP Format
- Subnet Mask
- IANA and ICANN
- IPv4 and IPv6
- DNS and Domain Name
- MAC address
Models and layers
- Internet 4 Layer Model
- Protocol Layering
- Physical & Logical layers
- OSI
Network protocols
- Global standards
- UDP
- HTTP(s)
- FTP
- POP,LDAP,SMTP
- Ethernet
Network scale
- Personal area network
- Local area network
- Wide area network
- Other network scales (MAN, SAN)
Network configuration
- Client-Server
- Peer-to-peer
1.4.1 Data types
Primitive
- Integer
- Real
- Character
- String
- Boolean
Integer
- Range
- Unsigned
- Signed
- Sign & Magnitude
- Two's compliment
Real
- Fixed point
- Floating point
- Mantissa, Exponent
- Placing binary point
Normalisation
- Floating point limits
- Normalising floating point
- Examples
2.2.2 Software development cycle
Software development
- Waterfall
- Rapid Application Development
- Spiral
- Agile
- Extreme Programming
- Merits of different software methods