Systems Architecture
This section explores the essential concepts in Systems Architecture for Computer Science, detailing the core principles of computer function, CPU operation, and performance. Understanding these fundamentals will provide a solid foundation for further studies in computing.
General Purpose Computers
Definition: General purpose computers are devices designed to perform a wide range of tasks. Unlike specialised computers, which are limited to specific functions, general purpose computers can handle multiple applications, such as word processing, browsing, gaming, and software development.
Examples: Personal computers, laptops, tablets, and smartphones are common general purpose computers.
Hardware and Software
Hardware: The physical components of a computer, such as the CPU, memory, storage devices, and peripherals (e.g., keyboard, monitor, printer).
Software: The instructions and programs that tell the hardware what to do. Software includes the operating system (like Windows or macOS) and applications (like Microsoft Word or Adobe Photoshop).
Relationship: Hardware and software work together to perform tasks. Hardware provides the necessary resources, while software provides instructions and controls.
The General Purpose Computer Model
General purpose computers follow a basic model that includes
Input: Devices that send data to the computer (e.g., keyboard, mouse).
Process: The CPU processes the data based on software instructions.
Output: Devices that display or transmit data (e.g., monitor, printer).
Storage: Memory or storage units (like RAM, SSD) store data temporarily or permanently.
This model helps in understanding how computers interact with the external world and manage data internally.
The Purpose of the CPU (Central Processing Unit)
Definition: The CPU is the "brain" of the computer. It executes instructions and processes data from software applications.
Purpose: It performs the basic operations of the computer, handling the logic, calculations, and control necessary to run applications and manage other hardware components.
The Fetch-Decode-Execute Cycle
Fetch: The CPU fetches an instruction from memory, usually from the RAM, and places it in the CPU’s registers.
Decode: The Control Unit decodes the fetched instruction to understand what actions are required.
Execute: The CPU performs the required operation, which could be a calculation in the ALU, data movement, or a decision-making process.
This cycle is fundamental to the operation of all computers and is repeated continuously while the computer is on.
Common CPU Components
Control Unit (CU): Manages the execution of instructions by coordinating the activities of the CPU and other hardware. It directs the flow of data and interprets instructions.
Arithmetic Logic Unit (ALU): Performs all arithmetic operations (e.g., addition, subtraction) and logical operations (e.g., comparisons).
Cache: A small, high-speed memory located within the CPU that stores frequently accessed data and instructions, speeding up the fetch process.
Registers: Tiny, fast storage locations within the CPU used to hold data temporarily during processing. Common registers include the Program Counter (PC), the Accumulator, and the Memory Address Register (MAR).
Cache Memory
Definition: Cache is a type of fast, temporary memory located close to or within the CPU.
Purpose: It stores frequently accessed instructions and data to reduce the time the CPU needs to fetch them from RAM, thus speeding up processing.
Levels: Cache is often split into levels (L1, L2, and sometimes L3), with L1 being the smallest and fastest, while L3 is larger but slower.
Von Neumann Architecture
Concept: The Von Neumann architecture is a computer design model that uses a single memory space to store both data and instructions. It allows instructions to be fetched and executed sequentially, using the same bus.
Components: The model includes a CPU, a memory unit, input/output devices, and a shared data path (bus) for accessing memory and peripherals.
Importance: Most modern general purpose computers are based on Von Neumann architecture, making it a foundational concept in computing.
Factors Affecting CPU Performance
Clock Speed: Measured in GHz, this represents how many cycles a CPU can complete in a second. A higher clock speed means the CPU can process more instructions per second, increasing performance.
Cache Size: Larger cache sizes allow more data to be stored closer to the CPU, reducing the need to access slower RAM and speeding up processing.
Number of Cores: Each core in a CPU can execute its own instructions independently. More cores allow a CPU to handle multiple tasks or threads simultaneously, which is beneficial for multitasking or parallel processing.
Embedded Systems
Definition: An embedded system is a dedicated computer system designed to perform a specific function within a larger device.
Examples: Embedded systems are found in appliances (e.g., washing machines, microwaves), automotive systems, medical devices, and industrial machines.
Characteristics: Embedded systems are often resource-constrained, meaning they have limited processing power, memory, and input/output options. They are usually designed for reliability, efficiency, and low power consumption.