This topic covers the fundamental definitions of hardware and software within a computer system. It requires students to understand the distinct roles of e
Topic Synopsis
This topic covers the fundamental definitions of hardware and software within a computer system. It requires students to understand the distinct roles of each component and the essential relationship between them in the operation of a computer.
Key Concepts & Core Principles
- The CPU (Central Processing Unit) executes instructions using the fetch-execute cycle: fetch an instruction from memory, decode it, then execute it. Key components include the ALU (Arithmetic Logic Unit), CU (Control Unit), and registers like the Program Counter (PC) and Accumulator (ACC).
- Memory hierarchy: RAM (volatile, fast, used for currently running programs) vs. ROM (non-volatile, stores boot instructions). Cache is a small, high-speed memory that stores frequently used data to speed up processing.
- Storage types: magnetic (HDD), optical (CD/DVD), and solid-state (SSD). Compare them in terms of capacity, speed, durability, and cost. Know that virtual memory uses part of the hard drive as extra RAM when physical RAM is full.
- Data representation: binary (base-2), hexadecimal (base-16), and how characters are encoded using ASCII or Unicode. Understand how sound and images are digitised through sampling and resolution.
- Software categories: system software (operating system, utilities) manages hardware and provides a platform for application software (e.g., word processors, games). The OS handles memory management, multitasking, and user interface.
Exam Tips & Revision Strategies
- Ensure you can provide clear, concise definitions for both terms
- Use examples to illustrate the relationship, such as how software controls the hardware to perform a task
- Be prepared to compare the advantages and disadvantages of low-level versus high-level languages
- Ensure you can explain why a specific translator might be chosen for a given scenario
- Remember that assembly language is often used for embedded systems and hardware control
- Ensure you can provide clear, distinct definitions for both categories
- Be prepared to provide examples of each type of software if asked to illustrate your definitions
- Ensure you can clearly define volatile and non-volatile memory.
Common Misconceptions & Mistakes to Avoid
- Confusing hardware components with software applications
- Failing to explain the dependency of software on hardware to execute instructions
- Confusing the specific roles of compilers and interpreters
- Failing to identify that machine code is binary and processor-specific
- Incorrectly stating that interpreters generate machine code files
- Assuming assembly language is the same as machine code
Examiner Marking Points
- Definition of hardware as the physical components of a computer system
- Definition of software as the programs and operating information used by a computer
- Explanation of the relationship between hardware and software
- Distinction between low-level (machine code, assembly) and high-level languages
- Understanding that machine code is processor-specific and expressed in binary
- Recognition that assembly language has a 1:1 correspondence with machine code
- Identification of the three translator types: compiler, interpreter, and assembler
- Explanation of how each translator functions and when it is appropriate to use them