Basic Organization of a Computer System

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Basic Organization of a Computer System

Any computer can perform the four basic operations of Input, Processing, Output, and
Storage (IPOS). These operations constitute the IPOS cycle. The internal design or
structure of a computer may differ from one system to another though the basic operations
remain the same. Figure 1.1 provides a block diagram of a computer. The figure displays all
the functional units of a computer which carry out the basic computer operations. The lines
in the figure indicate the flow of instructions and data, while the Control Unit and the
Arithmetic/Logical Unit together direct the flow of control in the central processing unit.

Input Unit

Data and instructions are entered into the computer through the input unit to get processed
into information. Input devices like the keyboard, the mouse, or the microphone are used to
enter the data. The data is entered in various forms depending on the type of input devices.
For instance, a keyboard can be used to input characters, numbers, and certain symbols; a
mouse is a device that has an on-screen pointer that enables the users to select items and
choose options; a microphone can be used if the user wishes to enter instructions by
making a voice entry.
Regardless of the ways in which the input devices receive the inputs, the input interfaces
convert them into binary codes, i.e., 0s and 1s, as the primary memory of the computer is
designed to accept data only in this format. Several advancements can be seen in input
devices with devices like cordless keyboards, optical mouse, laser mouse, cordless mouse,
etc., being introduced in the market.
Central Processing Unit

The actual processing of the data is carried out in the Central Processing Unit (CPU), which
is the brain of computer. The CPU stores the data and instructions in the primary memory of
the computer, called the Random Access Memory (RAM) and processes them from this
location. The Arithmetic Logic Unit (ALU) and the Control Unit (CU) are the two
subcomponents of the CPU. The ALU carries out the arithmetic and logical operations while
the CU retrieves the information from the storage unit and interprets this information. The
CPU also consists of circuitry devices called cache and registers.

Arithmetic logic unit

The data and instructions stored in the RAM are transferred to the ALU for processing. The
ALU performs the logical and the arithmetic operations on the data and the results are
temporarily stored in the RAM. After the processing, the final results are stored in the
secondary memory, i.e., the storage unit, and are released through an output device.

Control unit

The CU obtains the program instructions stored in the primary memory of the computer,
interprets them, and issues signals that result in their execution. It helps in maintaining
order and directs the operations of the entire system. It selects, interprets, and ensures the
proper execution of the program instructions.

Processors

Some computers use more than one processor for processing in order to reduce the load
on a single processor.

Output Unit

The output unit passes on the final results of computation to the users through the output
devices like the monitor, printer, etc. A monitor displays the final results of the processed
data on the screen while a printer can be used for obtaining the output in a printed format.

Storage Unit

Before the actual processing takes place, the data and instructions that enter the computer
system have to be stored internally. Also, the final results generated by the computer after
processing has to be stored before being sent to the output unit. The storage unit of a
computer system is designed to store the data generated at various stages of processing.
Storage media like hard disks, floppy disks, etc.,

Introduction of Programming Paradigms


Paradigm can also be termed as method to solve some problem or do some
task. Programming paradigm is an approach to solve problem using some
programming language or also we can say it is a method to solve a problem
using tools and techniques that are available to us following some approach.
There are lots for programming language that are known but all of them need to
follow some strategy when they are implemented and this methodology/strategy
is paradigms. Apart from varieties of programming language there are lots of
paradigms to fulfill each and every demand. They are discussed below:

1. Imperative programming paradigm: It is one of the oldest programming


paradigm. It features close relation to machine architecture. It is based on Von
Neumann architecture. It works by changing the program state through
assignment statements. It performs step by step task by changing state. The
main focus is on how to achieve the goal. The paradigm consist of several
statements and after execution of all the result is stored.
Advantages:
1. Very simple to implement
2. It contains loops, variables etc.
Disadvantage:
1. Complex problem cannot be solved
2. Less efficient and less productive
3. Parallel programming is not possible
Parallel processing approach –
Parallel processing is the processing of program instructions by dividing them
among multiple processors. A parallel processing system posses many
numbers of processor with the objective of running a program in less time by
dividing them. This approach seems to be like divide and conquer
Graphical Programming Defined
The graphical approach to programming allows a computer to process
spatial representations in two or more dimensions. In contrast to text-
based programming, which uses lines of code, graphical programming
replaces text with pictures or symbols of physical things.

Graphical programming provides an approach that's more intuitive and


less cumbersome for some programmers. It also can be a more effective
way to introduce computer programming to visual learners. For example,
researchers at the Lifelong Kindergarten Group have created a program
called Scratch, which uses graphical programming to help children learn
math and engage in creative thinking.

Graphical programming is often called visual programming or Visual


Programming Language (VPL). It's different from Microsoft's Visual
Basic, which defines pictures by using text-based language.

How Graphical Programming Is Used


Graphical programming is most frequently used in the stages of
engineering systems design. Engineers and programmers might use
graphical programs to translate information about physical events, such
as vibrations that occur during the testing of automotive engines, into
visual readouts.

Graphical programming tools also might be used to employ block


diagrams, connectors and virtual instruments, such as temperature
gauges. The result is a user interface that can be used to control and
monitor an automated process.

What is Software
Engineering?
Software engineering is the branch of computer science that deals with the design,
development, testing, and maintenance of software applications. Software
engineers apply engineering principles and knowledge of programming languages
to build software solutions for end users.
Software engineers design and develop computer games, business applications,
operating systems, network control systems, and middleware—to name just a few of
the many career paths available.

Types of software engineering


Even though a software engineer usually manages many coding projects,
software engineering entails more than just writing code for the software. In
reality, software engineering encompasses every phase of the software
development lifecycle (SDLC), from planning the budget to analysis, design,
development, software testing, integration, quality and retirement.

 Operational software engineering. It includes all decisions and tasks


pertaining to how the software will perform within a computer system. This
may include anything related to the software budget, the way teams and
users will interact with the software and any potential risks such as those
associated with defective and outdated software.
 Transitional software engineering. This type of software engineering
entails duties related to the software's adaptability and scalability when it's
moved outside of its initial setting.

 Software engineering maintenance. It entails activities connected to


enhancing and debugging current software to account for environmental
changes, new technologies, bugs and risk factors that might have been
disregarded during a previous development cycle. Over time, retirement
takes over as maintenance of certain software is gradually reduced.
Software engineer roles and responsibilities
Software engineering is typically used for large and intricate software systems
rather than single applications or programs. While a software engineer is
typically responsible for the design of systems, programmers or software
developers are often responsible for coding its implementation. In some
cases, people may also confuse the functions of network engineering with
software engineering, despite the fact that these are two completely different
roles.

You might also like