1.3 Computer-System Architecture Flashcards
In Section 1.2, we introduced the general structure of a typical computer system. A computer system can be organized in a _____ of different __, which we can categorize roughly according to the number of ____-____ ____ used.
In Section 1.2, we introduced the general structure of a typical computer system. A computer system can be organized in a number of different ways, which we can categorize roughly according to the number of general-purpose processors used.
Until recently, most computer systems used a ____ ____. On a ____-____ ____, there is one main ____ capable of executing a ____ ____ ____ ____ , including ____ from user ____. Almost all ____ ____ ____ have other ____ ____ ____ as well. They may
come in the form of ____ ____ ____, such as ____, ____, and ____ ____; or, on ____, they may come in the form of more ____ ____ ____, such as ____ ____ that move data rapidly among the ____ of the system.
Until recently, most computer systems used a single processor. On a single-processor system, there is one main CPU capable of executing a general-purpose
instruction set, including instructions from user processes. Almost all single-processor systems have other special-purpose processors as well. They may
come in the form of device-specific processors, such as disk, keyboard, and graphics controllers; or, on mainframes, they may come in the form of more
general-purpose processors, such as I/O processors that move data rapidly among the components of the system.
All of these special-purpose processors run a limited ____ ____ and do not run user ____. Sometimes, they are managed by the ____ ____, in that the ____ ____ sends them ____ about their next task and ____ their ____. For example, a disk-controller microprocessor
receives a sequence of ____ from the main ____ and implements its own ____ ____ and ____ ____. This arrangement relieves the main ____ of
the overhead of ____ ____. PCs contain a microprocessor in the keyboard to convert the keystrokes into ____ to be sent to the ____. In other systems or circumstances, special-purpose processors are ____ ____ ____ built into the hardware. The operating system cannot ____ with these
____; they do their jobs autonomously. The use of special-purpose microprocessors is common and does not turn a single-processor system into a ____. If there is only one general-purpose ____, then the system is a single-processor system
All of these special-purpose processors run a limited instruction set and do not run user processes. Sometimes, they are managed by the operating
system, in that the operating system sends them information about their next task and monitors their status. For example, a disk-controller microprocessor
receives a sequence of requests from the main CPU and implements its own disk queue and scheduling algorithm. This arrangement relieves the main CPU of
the overhead of disk scheduling. PCs contain a microprocessor in the keyboard to convert the keystrokes into codes to be sent to the CPU. In other systems or circumstances, special-purpose processors are low-level components built into the hardware. The operating system cannot communicate with these
processors; they do their jobs autonomously. The use of special-purpose microprocessors is common and does not turn a single-processor system into a multiprocessor. If there is only one general-purpose CPU, then the system is a single-processor system
Within the past several years, ____ ____ (also known as ____ ____ or ____ ____ ) have begun to dominate the landscape of computing. Such systems have two or more ____ in close communication, sharing the ____ ____ and sometimes the ____, ____, and ____ ____. ____ ____ first appeared prominently appeared in servers and have since migrated to desktop and laptop systems. Recently, ____ ____ have appeared on mobile devices such as smartphones and tablet computers.
Within the past several years, multiprocessor systems (also known as parallel systems or multicore systems) have begun to dominate the landscape of computing. Such systems have two or more processors in close communication, sharing the computer bus and sometimes the clock, memory, and peripheral devices. Multiprocessor systems first appeared prominently appeared in servers and have since migrated to desktop and laptop systems. Recently, multiple processors have appeared on mobile devices such as smartphones and tablet computers.
Multiprocessor systems have ____ main advantages
Multiprocessor systems have three main advantages
Multiprocessor systems have three main advantages
- Increased throughput: _____
- Increased throughput. By increasing the number of processors, we expect to get more work done in less time. The speed-up ratio with N processors
is not N, however; rather, it is less than N. When multiple processors cooperate on a task, a certain amount of overhead is incurred in keeping
all the parts working correctly. This overhead, plus contention for shared resources, lowers the expected gain from additional processors. Similarly,
N programmers working closely together do not produce N times the amount of work a single programmer would produce.
Multiprocessor systems have three main advantages
- Economy of scale: _____
Multiprocessor systems can cost less than equivalent multiple single-processor systems, because they can share peripherals,
mass storage, and power supplies. If several programs operate on the same set of data, it is cheaper to store those data on one disk and to have all the processors share them than to have many computers with local
disks and many copies of the data.
Multiprocessor systems have three main advantages
- Increased reliability: _____
If functions can be distributed properly among several processors, then the failure of one processor will not halt the system, only slow it down. If we have ten processors and one fails, then
each of the remaining nine processors can pick up a share of the work of the failed processor. Thus, the entire system runs only 10 percent slower, rather than failing altogether.
Increased reliability of a computer system is crucial in many applications. The ability to continue providing service proportional to the level of surviving
hardware is called ____ ____. Some systems go beyond ____ ____ and are called ____ ____, because they can suffer a failure of any single component and still continue operation. ____ ____ requires a mechanism to allow the failure to be ____, ____, and, if possible,
____ . The HP NonStop (formerly Tandem) system uses both ____ and ____ duplication to ensure continued ____ despite faults. The system
consists of multiple pairs of ____, working in ____. Both ____ in the ____ execute each instruction and ____ the results. If the results differ, then
one ____ of the ____ is at fault, and both are ____ . The process that was being executed is then moved to another ____ of ____, and the instruction that ____ is restarted. This solution is ____, since it involves special ____ and considerable hardware ____.
Increased reliability of a computer system is crucial in many applications. The ability to continue providing service proportional to the level of surviving
hardware is called graceful degradation. Some systems go beyond graceful degradation and are called fault tolerant, because they can suffer a failure of any single component and still continue operation. Fault tolerance requires a mechanism to allow the failure to be detected, diagnosed, and, if possible, corrected. The HP NonStop (formerly Tandem) system uses both hardware and software duplication to ensure continued operation despite faults. The system
consists of multiple pairs of CPUs, working in lockstep. Both processors in the pair execute each instruction and compare the results. If the results differ, then one CPU of the pair is at fault, and both are halted. The process that was being executed is then moved to another pair of CPUs, and the instruction that failed
is restarted. This solution is expensive, since it involves special hardware and considerable hardware duplication.
The multiple-processor systems in use today are of two types. Some systems use ______ ______, in which each ______ is assigned
a specific task. A ______ ______ controls the system; the other ______ either look to the ______ for ______ or have ______ ______. This scheme defines a _____ _____ ______.
The multiple-processor systems in use today are of two types. Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A boss processor controls the system; the other processors either look to the boss for instruction or have predefined tasks. This scheme defines a boss–worker relationship.
Asymmetric multiprocessing: The boss process _____ and _____ work to the worker processors.
The boss process schedules and allocates work to the worker processors.
What is symmetric multiprocessing (SMP)?
The most common systems use symmetric multiprocessing (SMP), in which each processor performs all tasks within the operating system. SMP
means that all processors are peers; no boss–worker relationship exists between processors. Figure 1.6 illustrates a typical SMP architecture. Notice that each processor has its own set of registers, as well as a private—or local—cache. However, all processors share physical memory.
Create an example of SMP system using AIX
An example of an
SMP system is AIX, a commercial version of UNIX designed by IBM. An AIX system can be configured to employ dozens of processors. The benefit of this
model is that many processes can run simultaneously—N processes can run if there are N CPUs—without causing performance to deteriorate significantly.
However, we must carefully control I/O to ensure that the data reach the appropriate processor. Also, since the CPUs are separate, one may be sitting
idle while another is overloaded, resulting in ______. These _____ can be avoided if the processors share certain ____ _____. A multiprocessor system of this form will allow processes and resources—such as ____—to be shared ______ among the various _____ and can lower the ______ among the ______. Such a system must be written carefully, as we shall see in Chapter 5. Virtually all modern operating systems—including Windows, Mac OS X, and Linux—now provide support for SMP.
However, we must carefully control I/O to ensure that the data reach the appropriate processor. Also, since the CPUs are separate, one may be sitting
idle while another is overloaded, resulting in inefficiencies. These inefficiencies can be avoided if the processors share certain data structures. A multiprocessor system of this form will allow processes and resources—such as memory—to be shared dynamically among the various processors and can lower the variance among the processors. Such a system must be written carefully, as we shall see in Chapter 5. Virtually all modern operating systems—including Windows, Mac OS X, and Linux—now provide support for SMP.
The difference between symmetric and asymmetric multiprocessing may result from either hardware or software. Special hardware can differentiate the
____ _____, or the software can be written to allow only one ____ and multiple _____. For instance, Sun Microsystems’ operating system SunOS
Version 4 provided asymmetric multiprocessing, whereas Version 5 (Solaris) is symmetric on the same hardware
The difference between symmetric and asymmetric multiprocessing may result from either hardware or software. Special hardware can differentiate the
multiple processors, or the software can be written to allow only one boss and multiple workers. For instance, Sun Microsystems’ operating system SunOS
Version 4 provided asymmetric multiprocessing, whereas Version 5 (Solaris) is symmetric on the same hardware