Introduction
Introduction
Introduction
• If your work involves embedded
systemsare which are usually
resource-constrainedyou must
understand all of the time space and
• price
If youtrade-offs
wish to design peripheral
equipment or the software that
drives peripheral equipment you
should know every detail of how a
particular Introduction
computer system deals
As computer scientists it is imperative
that we understand how the hardware
interacts with software:
in order to write good software it is
very important to understand the
computer system as a whole.
Introduction
The study of computer architecture
focuses on the structure and behavior
of the computer system refers to the
logical and abstract aspects of system
implementation as seen by the
programmer.
Studying computer architecture helps
us to answer the question:
Introduction
The distinction line between computer
architecture and computer
organization is somewhat blurred.
Fundamentals
When electronic computers were first
developed in the 1940s their designers
built them to automate the solution of
mathematical problems.
Fundamentals
Before plunging into the details of
studying a programming language we
need to introduce the concept of
abstraction.
Then we can go ahead by describing
the hardware and software
components of a computer system and
conclude with a description of a
typical Layers of a that
application Computer
makes
something useful. System
A computer system is like an onion
made up of many layers starting with
low-level hardware and concluding
with higher-level software including
assemblers
Each layer and operating
plays a systems.
Layers
the system. of a Computer
System
We should explore aspects of
computing one layer at a time.
Each layer in itself is not that
complicated.
In fact any computer system actually
does only very simple tasks – it just
does them so blindingly fast that many
simple tasks can be combined to
Layers
accomplish larger, of a Computer
more complicated
System
Lets discuss each of these layers
briefly by working our way from the
inside out which is sometimes referred
toInformation
as a bottom-up approach.
layer
reflects the way we represent
information on a computer.
Information on a computer is managed
Layers
using binary digits –of a .Computer
and
System
So to understand computer processing
we must first understand the binary
number system and its relationship to
other number systems (such as the
decimal system).
Then we can turn our attention to how
we take the myriad types of
information we manage –
numberstextimagesaudiovideo etc. –
andLayers of them
represent a Computer
in a binarySystem
format.
Hardware layer
Consists of the physical hardware of a
computer system.
Computer hardware includes devices
such as gates and circuits which
control the flow of electricity in
This core electronic
fundamental ways. circuitry gives rise
to specialized hardware components
such as CPU and memory.
Layers of a Computer System
Programming layer
Deals with software the instructions
used to accomplish computations and
Programs can take many forms be
manage data.
performed at many levels and be
implemented in many languages.
Despite the enormous variety of
programming languages and issues
the goal remains the same – to solve
Layers of a Computer System
Operating Systems layer
Every computer has an operating
system (OS) to help manage the
Operating
computer’ssystems (Windows 10 Linux
resources.
macOS Unix etc.) help us interact with
the computer system and manage the
way hardware devices programs and
Knowing what an operating system
data interact.
does is key to understanding the
Layers of a Computer System
Applications layer
The previous four layers focus on
making a computer system work.
The applications layer by contrast
focuses on using the computer to solve
specific real-world problems.
We develop and run application
programs to take advantage of the
computers abilities in other areas of
Layers of a Computer System
Area-specific computer software tools
involves specific sub-disciplines of
computing such as
• Information systems
• Artificial intelligence
• Simulation
• Graphics
• Gaming
Layers of a Computer
etc. System
Communications layer
Computers no longer exist in isolation
on someones desktop.
We mainly use computer technology to
communicate through various
networks by sharing information and
The Internet
resources. for example and
especially its World Wide Web (WWW)
part makes that communication
Layers of a Computer System
The levels (layers) of a computer
system that we just examined are
examples
An of abstraction.
abstraction is a mental model a way
to think about something that removes
or hides complex details.
Abstraction
Three common graphic
representations of levels of abstraction
are
• Level diagram
• Nesting diagram
• Hierarchy or Tree diagram.
These three kinds of diagrams also
apply to levels of abstraction in
computer systems.
Abstraction
Figure 1(a) shows a level diagram as a
set of boxes arranged vertically.
Abstraction
Levels of abstraction are also evident
in the outline organization of written
documents.
An example is the United States
Constitution, which consists of seven
articles each of which is subdivided
into sections.
Examples of Abstraction
Article I. Legislative Department
Section 1. Congress
Section 2. House of Representatives
Section 3. Senate
Section 4. Elections of Senators and Representatives Meetings of
Congress
Section 5. Powers and Duties of Each House of Congress
Section 6. Compensation, Privileges, and Disabilities of Senators and
Representatives
Section 7. Mode of Passing Laws
Section 8. Powers Granted to Congress
Section 9. Limitations on Powers Granted to the United States
Section 10. Powers Prohibited to the States
Article II. Executive Department
Section 1. The President
Section 2. Powers of the President
Section 3. Duties of the President
Section 4. Removal of Executive and Civil Officers
Examples of Abstraction
Article IV. The States and the Federal Government
Section 1. Official Acts of the States
Section 2. Citizens of the States
Section 3. New States
Section 4. Protection of States Guaranteed
Article V. Amendments
Examples of Abstraction
This outline method of organizing a
document is also important in
computer
The science.
technique of organizing programs
and information in outline form is
called structured programming.
•organization.
Each vice-president
reports to the
president.
• Each director reports
to a vice-president.
• Each manager reports
to a director, and so
There is a direct relationship between
the way an organization functions as
reflected by its organization chart and
the way a computer system operates.
Like a large organization a computer
system is typically organized as a
hierarchy.
Any given part of a computer system
(both small and large) takes orders
from the part immediately above it in
Another example of levels of
abstraction that is closely analogous to
computer systems is the automobile.
•etc.
Driversare at the highest level of
abstraction. They perform their
tasks by knowing how to operate the
car: for example how to start it how
to use the accelerator and how to
Examples
apply the brakes. of Abstraction
• At the next lower level of abstraction
are the backyardmechanics. They
understand more of the details
under the hood than the casual
drivers do: for example they know
how to change the oil and the spark
• At the next lower level of abstraction
plugs.
are the master mechanics. They can
completely remove the engine take it
apart fix it and put it back together.
What is more important is the fact
that
• Backyard mechanics do not need to
know how to drive an automobile in
order to
• Master change the
mechanics also oil andneed
do not the
spark
to plugs
know how to drive an automobile
or to change the oil in order to take
the engine apart.
Examples of Abstraction
In a similar fashionpeople relate to
computer systems at many different
levels of abstraction –
a complete understanding at every
leveldoisnotnot
• You necessary
need to use to
to be a mechanic a
computer.
drive a car
• Similarly you do not need to be an
experienced programmer to use a
word processor.
Examples of Abstraction
Thank You for Attention