0% found this document useful (0 votes)
8 views

Lecture - 2 - Basic Principles

computer organisation

Uploaded by

Abhishek kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lecture - 2 - Basic Principles

computer organisation

Uploaded by

Abhishek kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

What is a computer?

A computer is a general purpose programmable electronic machine, having 2 principal characteristics;

1. Responds to a specific set of coded instructions in a well-defined manner.

2. It can execute a list of instructions termed as program.

Computer Organization:

Describes the function and the way computer components are operated and the way they are
connected together to form the computer system.
THE COMPUTER REVOLUTION

• Computers have led to a third revolution for civilization.

• Progress in computer technology


• Underpinned by Moore’s Law

• Applications that were economically infeasible suddenly became practical.


• Computers in automobiles • Improved performance and price.
• Now, computers can reduce pollution, improve fuel
efficiency, increase safety, etc.
• Cell phones

• Human genome project

• World Wide Web

• Search engines
THE COMPUTER REVOLUTION

• Computers have led to a third revolution for civilization.

• Progress in computer technology


• Underpinned by Moore’s Law

• Applications that were economically infeasible suddenly became practical.


• Computers in automobiles
• Advances in computer systems have led to person-to-
• Cell phones person communication almost anywhere around the
world.

• Human genome project

• World Wide Web

• Search engines
THE COMPUTER REVOLUTION

• Computers have led to a third revolution for civilization.

• Progress in computer technology


• Underpinned by Moore’s Law

• Applications that were economically infeasible suddenly became practical.


• Computers in automobiles

• Cell phones • Cost of computer equipment to map and analyze human


DNA sequence is huge. 10-20 years back the cost was
10 to 100 times higher than it is now.
• Human genome project • Costs continue to drop; in future, you can acquire your
own genome, allowing medical care to be tailored to
you.
• World Wide Web

• Search engines
THE COMPUTER REVOLUTION

• Computers have led to a third revolution for civilization.

• Progress in computer technology


• Underpinned by Moore’s Law

• Applications that were economically infeasible suddenly became practical.


• Computers in automobiles

• Cell phones

• Human genome project


• World Wide Web has transformed our society.
• World Wide Web • Replaced libraries.

• Search engines
THE COMPUTER REVOLUTION

• Computers have led to a third revolution for civilization.

• Progress in computer technology


• Underpinned by Moore’s Law

• Applications that were economically infeasible suddenly became practical.


• Computers in automobiles

• Cell phones

• Human genome project

• World Wide Web


• As the www content increased drastically, finding
relevant information became increasing important.
• Search engines • Today most of us depend largely on search engines.
CLASSES OF COMPUTING APPLICATIONS
Different applications have different design requirements and employ the core
hardware technologies in different ways.

DESKTOP COMPUTERS

• Designed for use by an individual, usually incorporating a graphics display,


keyboard, and mouse.

• Emphasizes to deliver good performance to a single user at low cost

• Execute third-party software


CLASSES OF COMPUTING APPLICATIONS
SERVERS

• Modern form of mainframes, minicomputers, and supercomputers.

• Usually accessed only via a network.

• Used to perform large workloads - single complex applications (scientific or


engineering application), or handling many small jobs (building a large Web
server)

• Based on software from another source - often modified or customized for a


particular function

• Servers provide greater expandability of both computing and input/output


capacity.
CLASSES OF COMPUTING APPLICATIONS
SERVERS
• Places a greater emphasis on dependability, since a crash is usually more costly
than it would be on a single-user desktop computer.

• Servers span the widest range in cost and capability.

• Low-end servers - used for file storage, small business applications, or simple
web serving.

• On the other extreme are supercomputers - consist of hundreds to thousands of


processors, and usually gigabytes to terabytes of memory and terabytes to
petabytes of storage, and cost millions to hundreds of millions of dollars.

• Supercomputers - used for high-end scientific and engineering calculations, such


as weather forecasting, oil exploration, protein structure determination, etc.
CLASSES OF COMPUTING APPLICATIONS
EMBEDDED COMPUTERS

• Largest class of computers.

• Span the widest range of applications and performance.

• Includes micro-processors in washing machine and car, computers in a cell


phone, video game, digital television, vehicles.

• Designed to run one application or a collection of software.

• Have unique application requirements that combine a minimum performance


with stringent limitations on cost or power.
CLASSES OF COMPUTING APPLICATIONS
EMBEDDED COMPUTERS

• Have the least tolerance for failure - the results can vary from upsetting to
devastating

• In consumer-oriented embedded applications - dependability is achieved


primarily through simplicity—the emphasis is on doing one function, as
perfectly as possible.

• In large embedded systems, techniques of redundancy, which are used in


servers, are often employed.
Phones, PC and TV – 1997 to 2007
Phones, PC and Tablet Sales – 2007 to 2012
WHAT YOU WILL LEARN

• How programs are translated into machine language


• And how the hardware executes them

• The hardware/software interface

• What determines program performance


• And how it can be improved

• How hardware designers improve performance

• What are the reasons for the switch from sequential processing to parallel
processing.
HOW A COMPUTER PERFORMS A TASK?
• Program execution and user interface level.
Applications
• Most familiar level.

Program (Java, C++,C)

Operating System (Android,


Windows, Mac OS)

Instruction Set Architecture


(ISA)

Micro-Architecture
(Implementation of ISA)

Digital Logic Circuits

Electrical Signals
HOW A COMPUTER PERFORMS A TASK?
Applications

• We interact with this level when we write programs in


Program (Java, C++,C)
languages such as C, Java, C++, etc.

Operating System (Android,


Windows, Mac OS)

Instruction Set Architecture


(ISA)

Micro-Architecture
(Implementation of ISA)

Digital Logic Circuits

Electrical Signals
HOW A COMPUTER PERFORMS A TASK?
Applications

Program (Java, C++,C)

• Controls executing processes on the system.


Operating System (Android, • Protects system resources.
Windows, Mac OS) • Assembly language instructions often pass through this level
without modification.

Instruction Set Architecture


(ISA)

Micro-Architecture
(Implementation of ISA)

Digital Logic Circuits

Electrical Signals
HOW A COMPUTER PERFORMS A TASK?
Applications

Program (Java, C++,C)

Operating System (Android,


Windows, Mac OS)
• Also known as Machine Level.
• Consists of instructions that are particular to the architecture
Instruction Set Architecture
of the machine.
(ISA)
• Programs written in machine language need no compilers,
interpreters, or assemblers.
Micro-Architecture
(Implementation of ISA)

Digital Logic Circuits

Electrical Signals
HOW A COMPUTER PERFORMS A TASK?
Applications

Program (Java, C++,C)

Operating System (Android,


Windows, Mac OS)

Instruction Set Architecture


• This unit decodes and executes instructions and moves data
(ISA)
through the system.
• These control units can be microprogrammed or hardwired.
Micro-Architecture
• A microprogram is a program written in a low-level language
(Implementation of ISA)
that is implemented by the hardware.
• Hardwired control units consist of hardware that directly
Digital Logic Circuits executes machine instructions.

Electrical Signals
HOW A COMPUTER PERFORMS A TASK?
Applications

Program (Java, C++,C)

Operating System (Android,


Windows, Mac OS)

Instruction Set Architecture


(ISA)

Micro-Architecture
(Implementation of ISA)
• This level consists of chips.
• Digital Circuits that consists of gates and wires.
Digital Logic Circuits
• These components implement the mathematical logic of
all other levels.
Electrical Signals
LEVELS OF PROGRAM CODE

• The hardware in a computer can only execute simple-low level instructions

• Several layers of software are required to interpret or translate a complex


application to simple instructions.
LEVELS OF PROGRAM CODE

• System software acts as a connecting layer between the applications and hardware.

• Two important types of system software central to any computer


✑ Operating System
• Supervising program that manages the resources of a computer for the
benefit of the program.
• Handles basic input and output operations.
• Allocates storage and memory.
• Providing for protected sharing of the computer among multiple
applications using in simultaneously.

✑ Compilers
• Translates high-level language statements into assembly language
statements.
LEVELS OF PROGRAM CODE

A compiler enables a programmer to write this high-level language expression:

A + B

The compiler would compile it into this assembly language statement

add A, B

The assembler would translate this statement into the binary instruction

1000110010100000
LEVELS OF PROGRAM CODE

High-level language

• Level of abstraction closer to problem domain


• Provides for productivity and portability

Assembly Language

• Textual representation of instructions

Hardware representation

• Binary digits (bits)


• Encoded instructions and data
Benefits of using High-level programming languages

1. Allow the programmer to think in a more natural language


• English words and algebraic notation
• Resulting in programs that look much more like text.

2. Improved programmer productivity.


• Less time to develop programs when they are written in languages that
require fewer lines to express an idea.

3. Allow programs to be independent of the computer on which they were developed


• Compilers and assemblers can translate high-level language programs to the
binary instructions of any machine.

You might also like