Computer Architecture 1

You might also like

You are on page 1of 8

1/10/2024

Computer Architecture
Introduction
By Thilina Wanshathilaka

Lesson Plan Software Component of System


01 • What is software
• Classification of Software

Human Operators in Information Systems


02 • Importance of human operators in information systems.
• Roles and responsibilities of human operators.
• Human-computer interaction.

Stored Program and Fetch/Execute Cycle


03 • Concept of a stored program.
• Fetch, Decode and Execute cycle and its importance.
• Role of registers, buses, and functional units in the CPU.

Closing Todays Lecture


04 • Summary Of Todays lecture
• Q &A
• Next Lecture

Software Component of System

What is software
• Software refers to a set of instructions or programs that
enable a computer or electronic device to perform
specific tasks.
• It encompasses a wide range of applications, operating
systems, utilities, and other programs designed to meet
various user needs.
• Software acts as an intermediary between the hardware
components of a computer and the user, facilitating the
execution of tasks and the management of resources.

1
1/10/2024

Software Component of System

How does software work?


• How does software operate? Essentially, software is synonymous with a computer program, and a
program consists of a set of instructions that dictate the operations a device should undertake.
• These instructions are composed in a code intelligible to the computer.
• Fundamentally, all software incorporates logic and adheres to the fundamental concept of input >
process > output.
• The program requires data as input. For instance, consider pressing a button on your mobile device.
Subsequently, the program initiates a sequence of inquiries based on predefined rules. For example,
should the button generate an invoice or cancel an order?
• The output is the resultant action. In this scenario, your printer initiates its operation, and the invoice
materializes from the output tray.

Software Component of System

Type of Software
• Application Software:
• Definition: Application software refers to programs and software designed to perform specific tasks for
end-users.
• Purpose: It serves the needs and requirements of users, providing functionality for tasks such as word
processing, spreadsheet calculations, web browsing, and gaming.
• Examples: Microsoft Word, Excel, Photoshop, web browsers, and video games are all examples of
application software.
• System Software:
• Definition: System software is a type of software that provides a platform for other software to run on
and interacts directly with computer hardware.
• Purpose: It manages hardware components and provides essential services, such as memory
management, process control, and file management, facilitating communication between software and
hardware.
• Examples: Operating systems like Windows, macOS, Linux, and Unix are examples of system software.

Software Component of System

Type of Software
• Firmware:
• Definition: Firmware is a specialized type of software that is embedded into hardware devices. It resides
in non-volatile memory and is designed to control the functionality of specific hardware components.
• Purpose: Firmware provides low-level control for the hardware it is embedded in, ensuring proper
operation and enabling communication between the hardware and higher-level software.
• Examples: Firmware can be found in devices such as routers, printers, and embedded systems like those
in household appliances and electronic gadgets.
• Programming Software:
• Definition: Programming software includes tools used by developers to create, debug, and maintain
software applications.
• Purpose: It assists programmers in writing, testing, and optimizing code. Integrated Development
Environments (IDEs) and text editors are common examples.
• Examples: Visual Studio, Eclipse, Sublime Text, and JetBrains IntelliJ IDEA are examples of programming
software

2
1/10/2024

Software Component of System

Type of Software
• Driver Software:
• Definition: Driver software is a type of system software that facilitates communication between an
operating system and hardware devices.
• Purpose: It allows the operating system to understand and control hardware components by providing
the necessary instructions and protocols.
• Examples: Graphics drivers, printer drivers, and audio drivers are common examples of driver software.
• Utility Software:
• Definition: Utility software consists of programs designed to perform specific tasks related to the
maintenance and optimization of a computer system.
• Purpose: It enhances the performance, security, and usability of the computer by carrying out tasks such
as disk cleanup, antivirus scanning, and system optimization.
• Examples: Antivirus software, disk cleanup tools, backup utilities, and system monitoring tools are
examples of utility software.

Software Component of System


User Level Application Level System Level Hardware Level
Productivity
Operating System
software

Web Browser Device Drivers

Entertainment Firmware
Software

Programming Software

Utility Software

Human Operators in Information Systems

• Information systems, at their core, are designed not just to


process data and execute algorithms but to serve the needs of
human users. Human operators play a pivotal role in the
functioning, maintenance, and optimization of information
systems.
• The existence of the information system is depend on the ability
to serve human information needs. If system could not fulfill
above purpose that information system is useless

3
1/10/2024

Human Operators in Information Systems

• User-Centric Perspective:
• Information systems exist to serve human needs. Human operators ensure that
these systems align with user requirements, providing a user-centric approach to
system design, implementation, and maintenance.
• Adaptability and Problem Solving:
• Human operators bring adaptability and problem-solving skills to information
systems. They can respond to unexpected challenges, troubleshoot issues, and
implement solutions that automated processes might struggle to handle.
• Decision-Making and Critical Thinking:
• Complex decision-making and critical thinking are inherent to managing
information systems. Human operators bring contextual understanding, intuition,
and a nuanced perspective, contributing to strategic decision-making in system
operations.

Human Operators in Information Systems

• System Optimization:
• Human operators play a key role in optimizing system performance. They
can analyze system metrics, identify bottlenecks, and implement
enhancements to ensure efficient and effective information processing.
• Security and Compliance:
• Information systems often handle sensitive data. Human operators are
crucial for ensuring the security and compliance of systems, implementing
access controls, encryption, and other security measures to safeguard
information.

Human-Computer Interaction
• Usability and User Experience (UX):
• Human-computer interaction focuses on designing systems that are intuitive, user-friendly, and aligned
with human cognitive capabilities. Human operators contribute by providing feedback on system
usability, leading to iterative improvements.
• Interface Design and Accessibility:
• Human operators play a role in interface design, ensuring that system interfaces are accessible and
accommodating to users with diverse needs. This includes considerations for accessibility standards and
inclusive design practices.
• Feedback Mechanisms:
• Effective human-computer interaction involves providing meaningful feedback to users. Human
operators contribute by shaping how the system communicates with users, making alerts, notifications,
and feedback more informative and actionable.
• Continuous Improvement:
• Human operators engage in continuous improvement efforts for user interfaces and interactions. They
provide insights into user preferences, pain points, and emerging needs, facilitating the evolution of
information systems over time.

4
1/10/2024

• The concept of a stored program is a


fundamental principle in computer architecture
that revolutionized the way computers process
information.
• It refers to the idea that both program
instructions and data can be stored in the same
memory, and the computer's central processing
unit (CPU) can fetch and execute these
instructions sequentially.
• This concept, proposed by John von Neumann
Stored in the 1940s, laid the foundation for modern
computing architectures.
Program

Stored Program

• Instructions and Data Share Memory: Both program instructions and


data are stored in the computer's memory. This contrasts with earlier
designs where programs were hardwired into the machine.
• Sequential Execution: The CPU fetches instructions one at a time from
memory, executes them, and moves to the next instruction in a
sequential manner. This sequential execution forms the basis for the
operation of most modern computers.
• Flexibility and Reprogrammability: The stored program concept
provides a high degree of flexibility. Programs can be easily modified,
and different programs can be executed on the same hardware by
loading different sets of instructions into memory.

Characteristic of the Fetch/Execute cycle

• Sequential Instruction Execution: The cycle ensures that instructions


are processed in a sequential order, forming the basis for program
execution.
• Efficient Use of Resources: By fetching instructions one at a time, the
CPU optimizes the use of resources, avoiding unnecessary delays and
ensuring a steady flow of instructions.
• Program Control Flow: The cycle facilitates the control flow of a
program, allowing for conditional branching and loops based on the
outcomes of executed instructions.
• Realization of Stored Program Concept: The Fetch/Execute cycle is the
operational embodiment of the stored program concept, as it allows
the CPU to sequentially execute instructions stored in memory.

5
1/10/2024

Program Execution and


CPU Operation
The execution of a computer program involves several stages, and it follows a set
of steps to carry out the instructions provided in the program. The process can
be summarized in the following steps:
1. Source Code
2. Compilation or Interpretation
3. Loading
4. Execution by the CPU
1. Fetch-Decode-Execute Cycle
2. Memory Access
3. Control Flow
4. Input/Output (I/O)
5. Termination
6. Error Handling

Program Execution High Level


Compiler

Control
Unit
Program Interpreter

Java Bytecode
ALU

Register

Python

Program Execution Detail Level


1

Instruction 1 5A001
Control Unit
2 3 Operand 5A002
Program Counter 5A001
Program Counter 5A002
Instruction 2 5A003
Register

Instruction Register 5A001


Instruction 2 5A004
Instruction 1
Operand

5 Data Register Data Variable 1 4


Data Variable 2
Result
Data variable 1 76C78
Data variable 2 76C79
ALU 7
6 Data variable 3 76C80

6
1/10/2024

Program Counter
• Function:
• The Program Counter is a special-purpose register in control unit that keeps track of the memory address of the next
instruction to be fetched and executed.
• Role in Fetch-Decode-Execute Cycle:
• During the Fetch-Decode-Execute cycle, the PC is used to fetch the next instruction from memory by providing the
address of the instruction in memory.
• Incrementing:
• After each instruction is fetched, the PC is typically incremented to point to the next sequential memory address,
preparing for the next instruction.
• Control Flow:
• The PC is crucial for managing the control flow of a program. Control flow instructions, such as branches or jumps, can
modify the value in the PC, leading to changes in the sequence of executed instructions.
• Branching and Subroutine Calls:
• Branching instructions alter the value in the PC to redirect the flow of execution.
• During subroutine calls, the return address (the address to resume execution after the subroutine completes) is often
stored in the PC.

Instruction Register
• Function:
• The Instruction Register is a special-purpose register that temporarily holds the current instruction being executed or
about to be executed.
• Role in Fetch-Decode-Execute Cycle:
• During the Fetch-Decode-Execute cycle, the CPU fetches the next instruction from memory and loads it into the IR.
• The instruction stored in the IR is then decoded to determine the operation to be performed and the operands
involved.
• Temporary Storage:
• The IR serves as a temporary storage location for the machine code instruction, allowing the CPU to perform decoding
and execution operations.
• Control Flow:
• The contents of the IR influence the control flow of the program. Control flow instructions, such as branches or jumps,
may modify the PC based on the decoded instruction.
• Incrementing the Program Counter:
• After an instruction is fetched and loaded into the IR, the PC is typically incremented to point to the next sequential
memory address for the next instruction.

Data Register
• Function:
• Data Registers (also known as Data or General Purpose Registers) are registers that hold data that the
CPU is currently processing or manipulating.
• Role in Arithmetic and Logic Operations:
• During arithmetic and logic operations, the CPU loads data from memory into a Data Register, performs
the operation, and may store the result back in the register.
• Temporary Storage for Intermediate Values:
• Data Registers serve as temporary storage for intermediate values during computations. For example, in
an addition operation, the sum might be temporarily stored in a Data Register.
• Role in Data Movement:
• Data Registers play a crucial role in data movement operations, such as loading data from memory or
storing data back to memory.
• Multiple Registers:
• Modern CPUs often have multiple Data Registers, allowing for parallel execution of instructions and
enhancing performance.

7
1/10/2024

Any Questions ?

THANK YOU
End Of Session 2

You might also like