3.
4.
1.
2.
5.
6.
The history of computing
Computer system capabilities and components
Computer system classification
Software
Economics of System and Application
Development Software
Computer networks
2
3
Originally, the term
"computer" referred to a person who performed numerical calculations
(a human computer ?!)
often with the aid of a mechanical calculating device.
Examples of early mechanical computing devices included the abacus , the slide rule, etc.
4
However, none of those devices fit the modern definition of a computer. Why?
What is the first computer by the modern definition?
5
Jacquard loom Joseph Jacquard design punched paper cards as a template to allow his textile loom to weave intricate patterns automatically.
(1801)
the use of punched cards to define woven patterns can be viewed as an early form of programmability.
6
Charles Babbage saw high error rate of the people computing the tables, thus started his life’s work in trying to calculate the tables mechanically, removing all human error.
He began in 1822 with what he called the difference engine , made to compute values of polynomial functions.
around 25,000 parts, fifteen tons, eight feet high.
Charles did not complete it. but difference engine was built using his plans in 1991.
7
Babbage started designing a different, more complex machine called Analytical
Engine would be able to perform all four arithmetical operations, plus comparisons and square roots.
was to be powered by a steam engine, 30 m x
10 m
The input (programs and data) was to be provided to the machine via punch cards , was to be a store capable of holding 1,000 numbers of 50 digits each.
Unfortunately …
Limitations of mechanical computers
Complex design and construction
Wear, breakdown, and maintenance of parts
Low operating speed
8
Two very important scientific
Achievements in 20 th century
The use of digital electronics
largely invented by Claude Shannon in 1937
A more flexible programmability model von Neumann architecture
uses a single storage structure to hold both instructions and data.
The separation of storage from the processing unit is implicit in the von
Neumann architecture.
The term describes such a computer, which implements a Universal
Turing machine .
9
ENIAC (1945 —1955)
the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems weighed 30 tons, and consumed two hundred kilowatts of power.
10
Faster, more reliable electronic computers
11
Optical Computers: uses light, instead of electricity, to perform computations
Represents data as pulses of light stored directly or indirectly by materials that reflect or don’t reflect light.
Optical Computers are not realized yet
Now optical technology is common in
Optical fiber networks
Optical storages – CD, DVD
The future: optical computer , quantum computer
(Technology Focus P25)
12
1.
2.
3.
4.
5.
6.
The history of computing
Computer system capabilities and components
Computer system classification
Software
Economics of System and Application
Development Software
Computer networks
13
Systems Architecture describes structure, interaction, and technology of computer system components
Capabilities of a computer
Storage: accept numeric inputs
Processing: perform computational functions
Communication: communicate results the Von Neumann machine
14
A processor is a device that performs data manipulation and transformation functions
Computation and Comparison
Control data movement among memory, mass storage, and input/output devices
Terms (p27 – 29)
Instruction, Program
General-purpose processor vs. special-purpose processor
Formulas, algorithms
Comparisons, branching
15
General-purpose processor
Executes all instructions (computation and comparison functions)
Directs all data movement
16
Arithmetic logic unit
(ALU)
Registers
Contains electrical circuits that implement each instruction
Internal storage locations that can each hold a single instruction or data item
Control unit Controls movement of data to and from CPU
Accesses program instructions and issues appropriate commands to ALU
17
Types of information to be stored
Intermediate processing results
Data
Programs
Characteristics of storage devices vary widely
Cost
Access speed
Reliability
18
19
Primary Storage holds program instructions and data for currently executing programs
Implemented with random access memory (RAM)
Provides access speed and allows CPU to read or write to specific memory locations
Volatile ; does not provide permanent storage
Secondary Storage is composed of high-capacity nonvolatile storage devices that hold
Programs not currently being executed
Data not needed by currently executing programs
Data needed by currently executing programs that does not fit within available primary storage
20
Internal communication channel that connects all other hardware devices
Primary pathway for moving data and instructions among hardware components
Capacity is critical to performance, secondary storage, and I/O device performance
21
Computers must encompass many communication modes
Sound, text, and graphics (for humans)
Electronic or optical communication (for other computers)
Input/Output Devices : implement external communication functions
Human-oriented communication devices (e.g., keyboard, mouse, printer)
Computer-oriented communication devices (e.g., modem, network interface unit)
22
3.
4.
1.
2.
5.
6.
The history of computing
Computer system capabilities and components
Computer system classification
Software
Economics of System and Application
Development Software
Computer networks
23
Microcomputer
Midrange computer
Mainframe
Supercomputer
Meets information processing needs of single user
Examples: PCs, network computers
Supports many programs and users simultaneously
Handles information processing needs of large number of users and applications
Designed for large amounts of data storage and access
Designed for rapid mathematical computation
24
Any organization of multiple computers to support a specific set of services or applications
Common configurations
Cluster
Blade
Grid
What are the differences among them?
25
Cluster : a group of similar or identical computers that cooperate to provide services or execute a common application
Advantages: scalability and fault tolerance
Disadvantages: complex configuration and administration
26
Blade : circuit board that contains most of a server computer; Is a specialized cluster
Blade vs. Cluster
Blade concentrates more computing power in less space
Blade is simpler to modify
27
Grid computing: a group of dissimilar computer systems , connected by high-speed network, that cooperate to provide services or execute a common application.
Computers may be in separate rooms, buildings, or continents
Computers work cooperatively at some times, independently at others
Grid vs. cluster
grids connect collections of computers which do not fully trust each other, and hence operate more like a computing utility than like a single computer
grids typically support more heterogeneous collections
28
29
Grosch's law is the observation about computer performance made by Herb Grosch in 1965:
Computer performance increases as the square of the cost.
can also be interpreted as meaning that computers present economies of scale: Bigger computers are more economical.
The relevance of Grosch's law today is a debated subject . It has been rewritten due to:
Multiple classes of computers
Expanded abilities to configure computers for specific purposes
Increased software costs relative to hardware costs
Large computer databases
Widespread adoption of graphical user interfaces
Multicomputer configurations
30
3.
4.
1.
2.
5.
6.
The history of computing
Computer system capabilities and components
Computer system classification
Software
Economics of System and Application
Development Software
Computer networks
31
Software translates user requests into machine instructions
Software performs complex translation process that bridges two gaps:
Human language to machine language (binary)
High-level abstraction to low-level detail
32
Application program
Stored set of instructions for responding to a specific information-processing tasks
Used directly by end users
Utility program
System software
Contains instructions for performing generalpurpose tasks
Usually operates invisibly in the background
Implements utility functions needed by many application programs
Allocates computer resources to application programs
Manages computer resources
Does not interact with end users
33
34
OS is the most important system software component (will be covered in Ch 11)
Main Functions of OS:
Program storage, loading, and execution
File manipulation and access
Secondary storage management
Network and interactive user interfaces
35
Application development software are programs used to develop other programs
Types:
Program editors
Program translators
Debugging tools
System development tools
Integrated Development Environment (IDE): is visual development tool, integrated with the compiler or application server, and may include tools for debugging, refactoring, version control, and so forth.
Do you know Any IDE?
36
3.
4.
1.
2.
5.
6.
The history of computing
Computer system capabilities and components
Computer system classification
Software
Economics of System and Application
Development Software
Computer networks
37
System software consumes hardware resources
Cost per unit of computing power has rapidly decreased
Software is more cost-effective when reused many times
38
Computer networks : set of hardware and software components that enable multiple users and computer systems to share information, software, and hardware resources
39
Network communication devices
Simpler than I/O devices; do not need to convert data represented electronically into another form
Support communication at high speeds
Physical network
Complex combination of communication protocols, methods of data transmission, and network hardware devices
40
Finds requested resources on the network
Negotiates resource access with distant resource allocation software
Receives and delivers resources to requesting user or program
May also listen for and validate resource requests, and deliver resources via the network
41
Basic elements of computer system architecture
Hardware
Software
Networks
Importance of knowing how all components of a computer system interrelate as well as their internal workings
42