Systems Architecture, Fourth Edition Chapter 2 Chapter 2 Introduction to Systems Architecture Instructor Notes Automated Computation Mechanical Implementation Early mechanical computation devices were designed to perform repetitive mathematical calculations. The common element in all such computation devices is a mechanical representation of a mathematical calculation. Computational functions beyond addition also can be implemented mechanically. As the complexity of computational functions increases, the complexity of the mechanical device increases. There are inherent limitations and shortcomings of mechanical computation including: Complex design and construction Wear, breakdown, and maintenance of mechanical parts Physical limits on operating speed 1 Systems Architecture, Fourth Edition Chapter 2 Electrical Implementation Mechanical computation eventually gave way to electrical computers. In an electrical computing device, the movement of electrons performs essentially the same functions as gears and wheels in mechanical computers. Electrical computers were faster due to the relatively high speed at which electrons move. Optical Implementation Light can also be used for computations. Light can be transmitted over appropriate conductors, such as laser light through a fiber-optic cable. Data can be represented as pulses of light. Technology Focus – Quantum Computing Current computer technology is based on principles of classical physics including electronics, magnetism. Quantum physics describes the behavior of matter at the subatomic level. Quantum particles exhibit behaviors that are not seen in larger units of matter. The data stored in a single quantum particle is called a quantum bit or qubit. When a quantum computing device operates on a qubit it operates on both values simultaneously, producing two results. Operating on larger strings of qubits produces exponentially greater numbers of results (e.g., 32 results from a 5 qubit string, computed as 25). Computer Capabilities Computer system capabilities include the processor, storage devices and I/O devices. 2 Systems Architecture, Fourth Edition Chapter 2 Processor: The processor is a device that performs data manipulation and/or transformation functions including: Computation Comparison Data movement Processors function using a program; which is made up of a series of instructions. Processors can be classified either as general-purpose or special-purpose. A general-purpose processor is capable of executing many different instructions in many different sequences or combinations. A special-purpose processor is designed to perform only one specific task. A processor can solve two basic types of problems: Formula Algorithm A formula applies the same sequence of computations or transformations to all data inputs. Solving a formulaic problem (e.g., Figure 2-3) requires only data movement and computation instructions. To solve an algorithmic problem (e.g., Figure 2-5), a processor applies different sets of processing rules to different kinds of data. To determine which rules to apply, the processor must evaluate conditions, such as whether a numeric input like INCOME falls within a certain range of values. To evaluate a condition and alter processing accordingly, a processor must execute data comparison and conditional branching instructions. Storage Capacity: 3 Systems Architecture, Fourth Edition Chapter 2 Computers store intermediate processing results, data and programs. Programs and data must be stored for current and future use. When the data and program instructions need to be accessed quickly, they are stored in locations that can be accessed rapidly by the processor. When the data and program instructions are not currently needed, they can be stored on secondary storage devices. Input/Output Capability: A computer system communicates with users and other computer systems using input/output devices. A typical computer system has many input and output devices including: keyboard, mouse, printer, network interface card and modem. Computer Hardware Computer hardware has four major components: processing (central processing unit) storage (primary and secondary storage) external communication (input/output devices) internal communication (system bus). The central processing unit executes all instructions and controls all data movement within the computer system. The central processing unit is made up of the arithmetic and logic unit (ALU), registers and control unit. The arithmetic and logic unit implements all mathematical and logical operations. Simple arithmetic instructions include addition, subtraction, multiplication and division. Logical instructions include equal to, greater than, and less than. The control unit has two primary functions: control the movement of data to and from CPU registers and other hardware components and access program instructions and issue appropriate commands to the ALU. 4 Systems Architecture, Fourth Edition Chapter 2 Primary storage holds the data and instructions that are currently needed by the computer system. Secondary storage holds the data and instructions that are not currently needed by the computer system and data needed by currently executing programs that does not fit within available primary storage. Storage type CPU registers Implementation Very-high-speed electrical devices within the CPU Primary storage High-speed electrical devices (RAM) outside the CPU Secondary storage Low-speed electromagnetic or optical devices (for example, magnetic and optical disc) Table 2-1: Comparison of storage types Contents Currently executing instruction; a few dozen items of related data Programs currently being executed; hundreds to millions of data items Programs not currently being executed; billions to trillions of data items External communication devices implement external communication functions. I/O devices can be classified into human-oriented and computer-oriented communication devices. Internal communication is performed through the system bus. Each hardware component is connected to the system bus. The system bus is the primary pathway for data transmission among hardware components. Computer System Classes Microcomputer –meets the information processing needs of a single user. Minicomputer –performs information processing for multiple users and to execute many application programs simultaneously. Mainframe –handles the information processing needs of a large number of users and applications. Supercomputer –quickly performs many mathematical computations. Used for computationally intensive applications such as simulation, 3-D modeling, weather prediction, computer animation, and real-time analysis of large databases. 5 Systems Architecture, Fourth Edition Chapter 2 Server manages one or more shared resources such as file systems, databases, Web sites, printers, and high-speed CPUs, and allows users to access those resources over a local- or wide-area network. The issue of flexible computing platforms may or may not be discussed in depth. The Tech Focus on IBM POWER-Based computer systems is a case in point. An analogy can also be drawn to automobiles and trucks. Detroit (or Tokyo) can turn a single car platform into an economy or small luxury car. Similarly, one frame can be used to build trucks ranging from half-ton pickups to 5-ton delivery vans and recreational vehicles. But no amount of production magic can turn a Buick into a moving van or a UPS truck into an Indy racing car. Class Micro Typical Product IBM PS/2 (Model 70) Workstation SUN SPARC Station 2 Mini DEC 5000 Mainframe IBM 3090 Typical Specifications 2 million main memory cells 100 million disk storage cells single user 16 million main memory cells 200 million disk storage cells high performance video single user 16 million main memory cells 1 billion disk storage cells tape drive(s) 4 – 64 users 64 million main memory cells 5 billion disk storage locations multiple tape drives high capacity I/O up to 256 users 1 – 4 CPUs 6 Approximate Cost $5,000 $20,000 Processor Speed 2 million instructions per second 20 million instructions per second $40,000 20 million instructions per second $2,000,000 50 million instructions per second Systems Architecture, Fourth Edition Super Class Cray YMP Typical Product Micro IBM ValuePoint 486 Workstation Decstation 5000/133 Mini DECstation 5000/240 Mainframe IBM 9120/320 Super IBM 9076/SP1 Chapter 2 64 million maim memory cells 5 billion disk storage cells no interactive users multiple CPUs $10,000,000 250 million floating point operations per second Typical Specifications 8 million main memory cells 120 million disk storage cells single user 16 million main memory cells 400 million disk storage cells high performance video single user 32 million main memory cells 1 billion disk storage cells 1 tape drive 16 interactive users 256 million main memory cells 10 billion disk storage locations multiple tape drives 16 high capacity I/O channels 512 users 4 CPUs 1 billion main memory cells 10 billion disk storage cells 64 CPUs Approximate Cost $2,000 Processor Speed 5 million instructions per second 20 million instructions per second Table 2-2. Computer classes (1993). Second Edition of Textbook. 7 $12,500 $30,000 25 million instructions per second $1,000,000 50 million instructions per second $2,000,000 2 billion floating point operations per second Systems Architecture, Fourth Edition Chapter 2 8 Systems Architecture, Fourth Edition Class Micro Typical Product IBM PC 300PL Workstation IBM RS/6000 43P Model 150D Mini IBM pSeries 640 Mainframe IBM S/390 X67 Super IBM Rs/6000 SP Chapter 2 Typical Specifications 128 million main memory cells 20.4 billion disk storage cells Single CPU Single user 256 million main memory cells 18 billion disk storage cells Single CPU High performance video I/O Single user 1024 million main memory cells 54 billion disk storage cells 2 CPUs Tape drive 32 billion main memory cells 100 billion disk storage cells 32 high capacity I/O channels up to 1000 users 6 CPUs 64 million maim memory cells 5 billion disk storage cells no interactive users multiple CPUs Approximate Cost $2,000 Processor Speed 300 million instructions per second $13,000 750 million instructions per second $25,000 1.5 billion instructions per second $750,000 2.5 billion instructions per second $2,000,000 50 billion floating point operations per second Table 2-2. Computer classes (2000). Business Focus – Bigger Isn’t Always Better In the 1950’s Grosch’s Law could be applied to the relationship of computer cost to computing power. According to Grosch’s Law, large and powerful computers always will be more cost efficient than smaller ones. This was true when the only computer systems available were mainframe computers and the cost of hardware exceeded the cost of software. Today, Grosch’s Law no longer applies. The development of smaller, powerful computers with the ability to be networked has made the processing power of smaller computer system exceed the power of some larger computer systems. The entire issue of cost effectiveness of different hardware classes is often overshadowed by the fact that the cost of software development today exceeds the cost of hardware. Technology Focus – IBM POWER-Based Computer Systems The Role of Software 9 Systems Architecture, Fourth Edition Chapter 2 There are two categories of software: application software and system software. Application software is a stored set of instructions for responding to a very specific request. For example, assume that a person wants to type a paper or memo. What type of application software package will they use? System software is a collection of programs that: provide utility functions needed by many application programs allocate computer resources to application programs manage computer resources. Economics of System and Application Development Software Three economic factors of hardware and software account for the advancement of modern software: System software requires hardware resources. The cost per unit of computing power has decreased at nearly an exponential rate. Software is more cost effective when it is reused many times. As the cost of computer hardware decreased, the economic balance between labor (users and programmers) and computer hardware resources shifted. Hardware typically is the cheapest component of current information systems, and system and application software are nearly equal to components in the total cost (see Figure 2-12). 10 Systems Architecture, Fourth Edition Chapter 2 Technology Focus – Intel CPUs and Microsoft Operating Systems Computer Networks A computer network is a set of hardware and software components that allows information, software and hardware resources to be shared among multiple users and computer systems. Through the network, the user can either access data that is stored locally or data that is stored on the network at a distance. Allocating and accessing resources at a distance is very complex. The software must: find the requested resources on the network negotiate resource access with distant resource allocation software receive and deliver the resources to the requesting user or program. Further Readings or Resources See http://averia.mgt.unm.edu for an up-to-date list of reference materials. Key Terms algorithm, 28 (1) Series of processing steps that describes the solution to a problem. (2) Sequence of instructions within a computer program that implements a complex processing operation. direct access and potential security breaches. application development software, 48 Software tools such as compilers and CASE tools used to develop application software. application program, 44 Program that addresses a single specific need of a user or a specific class of information processing tasks. application software, 44 Software class consisting of all application programs. arithmetic logic unit (ALU), 33 Circuitry within a central processing unit that performs computation, comparison, and Boolean logic operations. BRANCH, 29 11 Systems Architecture, Fourth Edition Chapter 2 Processor operation that causes an instruction other than the next sequential instruction to be fetched and executed. (2) Processor instruction that implements a branch operation by overwriting the current value of the instruction pointer. central processing unit (CPU), 32 Computer system hardware component that fetches and executes instructions. computer network, 54 Hardware and software that enables multiple users and computer systems to share information, software, and other resources. condition, 29 A comparison or other logical operation that produces a Boolean result. control unit, 33 Subset of a central processing unit responsible for moving data, accessing instructions, and controlling the arithmetic logic unit. debugging tool, 49 Type of application development software that simulates program execution and traces errors. execute, 27 Process of carrying out an instruction within the central processing unit. formula, 28 Processing problem that can be solved by executing a fixed sequence of instructions. general-purpose processor, 27 Processor that can be directed to perform a wide variety of specific processing tasks. Grosch’s Law, 37 Outdated mathematical relationship between computer size and cost per unit of instruction execution that states that cost per executed instruction decreases as computer system size increases. hardware independence, 46 Independence of a program or processing method from the physical details of computer system hardware. input output (I/O) unit, 32 Device that enables communication between a user and software or among computer systems or their components. instruction, 27 Bit string containing an operation code and zero or more operands that cause a processor to perform a processing operation. JUMP, 29 Synonym of BRANCH operation. logic instruction, 29 Instruction that implements a boolean comparison operation. machine independence, 46 Synonym of hardware independence. main memory, 34 (1) Synonym of primary storage. (2) Set of devices that implement primary storage excluding cache. mainframe, 37 High-capacity computer system designed to support hundreds of interactive users and processes simultaneously. memory, 34 (1) Synonym of primary storage. (2) Random access memory devices used anywhere within a computer system, peripheral device, or device controller. 12 Systems Architecture, Fourth Edition Chapter 2 microcomputer, 36 Computer system that can meet low-intensity processing needs of a single user. minicomputer, 37 Computer system that meets the processing needs of a small- to medium-sized group of interactive users. network computer, 36 Personal computer or workstation with no locally stored operating software, application software, or configuration information. operating system, 47 Set of software programs that manage and control access to computer resources. personal computer (PC), 36 Synonym of microcomputer. primary storage, 32 High-speed storage within a computer system, accessed directly by the central processing unit, used to hold currently active programs and data immediately needed by those programs. processor, 27 Any device capable of performing data transformation operations. program, 27 Sequence of processing instructions. program editor, 49 Software that assists programmers in creating valid source code. program translator, 49 Program that translates instructions in one programming language or instruction set into equivalent instructions in another programming language or instruction access storage locations directly, or in any desired order. programming language, 49 Any language in which computer-processing functions or instructions can be expressed. quantum measurement problem, 25 Behavior where the multiple states of a qubit are disturbed by any attempt to measure their value. qubit, 25 Data stored in a single quantum particle. random access memory (RAM), 34 (1) Generic description of semiconductor devices used to implement primary storage. (2) Device used to implement primary storage that provides direct access to stored data. register, 33 High-speed storage location within a central processing unit that can hold a single word. secondary storage, 32 Set of computer system devices that provide large-capacity and long-term data storage. server, 39 Computer system or process that manages hardware or software resources and makes those resources available to clients. special-purpose processor, 27 (1) Processor with a limited set of processing functions. (2) Processor capable of executing only a single program. 13 Systems Architecture, Fourth Edition Chapter 2 supercomputer, 39 Computer designed for very fast processing of real numbers, typically implemented with some form of parallel processing. system bus, 32 Bus shared by most or all devices in a computer system. system development tool, 49 (1) Software tool designed to aid in creating groups of programs constituting an entire system. (2) Approximate synonym of computer assisted software engineering tool. system software, 45 Software programs that perform hardware interface, resource management, or application support functions. systems architecture, 22 Structure, interaction, and technology of computer system components. utility program, 45 Program that performs a commonly used function, such as printing a text file or copying a file, typically provided by the operating system either as separate tool or as part of the service layer. volatility, 34 (1) Rate of change in a set of data items. (2) Lack of ability to permanently store data content. workstation, 3 (1) Powerful microcomputer designed to support demanding numerical or graphical processing tasks. (2) A synonym of personal computer or microcomputer. 14