2 systems architecture describes structure, interaction, and technology of computer system...
TRANSCRIPT
2
Systems Architecture
• Describes structure, interaction, and technology of computer system components
• Capabilities of a computer– Accept numeric inputs
– Perform computational functions
– Communicate results
3
Automated Computation
• Mechanical– Early computers with limited capabilities
• Electronic– Fast, accurate reliable
• Optical– Fast, accurate reliable
4
Mechanical Implementation
• Mechanical representation of a mathematical calculation
• Difference engine - Charles Babbage, 1821• Limitations and shortcomings
– Complex design and construction
– Wear, breakdown, and maintenance of parts
– Limits on operating speed
6
Electronic Implementation
• Stores numerical values as magnetic charges or by positioning electrical switches
• Can convert physical movement into electrical signals, or vice versa
• World War II – impetus for change• Faster, more reliable, easier to build than
mechanical counterparts
7
Optical Implementation
• Harnesses energy of a moving photon• Represents data as pulses of light stored directly
or indirectly by materials that reflect or don’t reflect light
• Now common in computer networks that cover large distances
9
Processor
• Device that performs data manipulation and transformation functions– Computation
– Comparison
– Data movement among memory, mass storage, and input/output devices
10
Processor Terminology• Instructions: is a signal or command to a processor to perform one of
its functions. When a processor performs a function in response to an instruction, it is said to be executing that instruction.
• Programs: a stored set of instructions that implement a specific task. Programs can be reused again and again.
• General-purpose and special-purpose processors: GPP can execute many different instructions in many different sequences or combinations. SPP is designed to perform only one specific task. It is a processor with a single internal program, such as microwave ovens.
• Formulas and algorithms: an algorithm is a program in which different sets of instructions are applied to different data input values.
• Comparisons and branching: each numerical comparison is called a condition, and the result of evaluating a condition is either true or false. When a comparison condition is true , the program jumps or branches to the first instruction that implements the corresponding formula.
11
Storage Capacity
• Types of information to be stored– Intermediate processing results
– Data
– Programs
• Characteristics of storage devices vary widely– Cost
– Access speed
– Reliability
12
Input/Output Capability
• Must encompass many communication modes– Sound, text, and graphics (for humans)
– Electronic or optical communication (for other computers)
14
Computer HW major functions• Processing: executing computation, comparison, and other
instructions to transform data inputs into data outputs.
• Storage: storing program instructions and data for temporary, short term and long term use.
• External communication: communicating with entities outside the computer system, including users, system administrators, and other computer systems.
• Internal communication: transporting data and instructions among internal and peripheral hw components such as processors, disk drives, video displays and printers.
16
Central Processing Unit
• General-purpose processor– Executes all instructions (computation and
comparison functions)
– Directs all data movement
18
CPU Components
Arithmetic logic unit (ALU)
• Contains electrical circuits that implement each instruction
Registers • 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
19
System Bus
• 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
20
Primary Storage(Main Memory)
• 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
21
Secondary Storage
• 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
23
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)
24
Computer System Classes
Microcomputer • Meets information processing needs of single user
• Examples: PCs, network computers
Midrange computer • Supports many programs and users simultaneously
Mainframe • Handles information processing needs of large number of users and applications
• Designed for large amounts of data storage and access
Supercomputer • Designed for rapid mathematical computation
26
Multicomputer Configurations
• Any organization of multiple computers to support a specific set of services or applications
• Common configurations– Cluster
– Blade
– Grid
27
Cluster
• Group of similar or identical computers that cooperate to provide services or execute a common application– Connected by high-speed network– Typically located close to one another
• Advantages: scalability and fault tolerance• Disadvantages: complex configuration and
administration• Ex: modern web server
28
Blade
• Circuit board that contains most of a server computer; a specialized cluster
• Has one or more CPUs, memory, network interfaces, it lacks secondary storage, external I/O connections, and a power supply
• Same advantages and disadvantages as a cluster, . It is a specialized cluster. but also:– Concentrate more computing power in less space
– Are simpler to modify a cluster of blades than a cluster of standalone computer systems.
29
Grid
• 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
30
Bigger Isn’t Always Better
• Grosch’s Law (1952) 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
31
The Role of Software
• Translates user requests into machine instructions• Performs complex translation process that bridges
two gaps– Human language to machine language (binary)
– High-level abstraction to low-level detail
33
Software TypesApplication program
• Stored set of instructions for responding to a specific information-processing tasks
• Used directly by end users
Utility program
• Contains instructions for performing general-purpose tasks
• Usually operates invisibly in the background
• Used directly by end users
System software
• Implements utility functions needed by many application programs
• Allocates computer resources to application programs
• Manages computer resources
• Does not interact with end users
34
• The most significant distinction between application and system sw is specificity of purpose and use. Application sw is targeted to specific information-processing tasks like generating customer credit card bills. System sw is targeted to general-purpose tasks that support many application programs and users.
36
System Software Layers
• System management: utility programs used by end users and system admin to manage and control computer resources.
• System services: utility programs used by system management and application programs to perform common functions
• Resource allocation: utility programs that allocate hw and other resources among multiple users and programs.
• Hardware interface: utility programs that control and interact with individual hw devices.
37
• The principle of sw layers applies not only to the relationship between application and system sw but also to the relationship among various components of system sw. machine independence is achieved by placing all hw interfaces functions within a single system sw layer. In theory system sw can be modified to operate on new computer hw by modifying only hw interface layer. In practice, machine independence is not always that simple.
• Resource allocation is important but relatively invisible, function of system sw. Ex: hundreds users of programs executing simultaneously, under such condition, resources such as I/O devices cannot always be provided to a program or user immediately.
39
Operating Systems
• Most important system software component• Collection of utility programs that provides:
– Administrative utilities
– Utility services to application programs
– Resource allocation functions
– Direct control over hardware
40
Operating System Functions
• Program storage, loading, and execution• File manipulation and access• Secondary storage management• Network and interactive user interfaces
41
Application Development Software
• Programs used to develop other programs• Types
– Program translators
– Program editors
– Debugging tools
– System development tools
42
Economics of System and Application Development Software• System software consumes hardware resources• Cost per unit of computing power has rapidly
decreased• Software is more cost-effective when reused many
times
44
Computer Networks
• Set of hardware and software components that enable multiple users and computer systems to share information, software, and hardware resources
• Enables many types of personal communication
46
External Resources
• Ability to share data, programs, and hardware resources among computers
• Gives modern organizations flexibility to deploy and redeploy computing and information resources to satisfy rapidly changing needs
47
Network Software
• 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
48
Network Communication and the Physical Network
• Network communication devices– Simpler than I/O devices; do not need to convert
data represented electronically into another form
– Must support communication at high speeds
• Physical network– Complex combination of communication
protocols, methods of data transmission, and network hardware devices