Topic 2
Computer Architecture Overview
Computer Architecture
Understanding the internal mechanisms of a computer.
Focuses on how various components such as the CPU, storage, and operating system work together.
Components of Computer Architecture
CPU (Central Processing Unit)
Often referred to as "The Brain" of the computer.
Responsible for processing all instructions and executing code.
Handles arithmetic, logical, and input/output operations.
Memory & Storage
Primary Memory
RAM (Random Access Memory):
Known as "Short Term Memory"; volatile storage which loses data when power is off.
Used for temporary data storage and execution of current tasks.
ROM (Read-Only Memory):
Non-volatile memory; retains data even without power.
Stores essential instructions like booting the computer (BIOS).
Cache:
Holds frequently used instructions from RAM.
Organized into levels, with L1 being the fastest and most expensive.
Secondary Memory
Hard Drive:
Functions as "Long-Term Memory"; persistent storage that holds all data not actively in use.
Data is transferred between secondary and primary memory as needed.
Virtual Memory:
A system that temporarily uses secondary memory when RAM is overwhelmed; operates slower.
Allows for efficient data handling by shifting information into "pages" as necessary.
Operating Systems
Definition: Software that manages computer hardware and resources while providing services for application programs.
Roles of Operating Systems:
User Interface: Connects users with hardware (e.g., GUI, CLI).
Memory Management: Monitoring storage allocation and usage.
Peripheral Management: Interfacing with external devices.
Multitasking: Allowing simultaneous execution of multiple processes based on priority.
Security: Protecting user data and managing permissions.
Data Representation
Bits and Bytes
1 Byte = 8 Bits.
Binary in Computing: Only two values are possible, 0 and 1.
Binary to Denary Conversion
Conversion from binary (base 2) to denary (base 10) using positional values.
Hexadecimal System
Base 16 system used for efficiently representing binary values.
Commonly used in memory addresses and color representations.
Logic Gates
Fundamental building blocks for processors.
Perform operations on binary inputs using logical functions (AND, OR, NOT).