II
Computer Engineering
8 Organization R.F.Tinder, S.N. Yanushkevich, C. Hamacher, Z.Vranesic, S. Zaky, J.Raymond
Number Systems • Computer Arithmetic • Architecture • Microprogramming
9 Programming J.M. Feldman, E.W.Czeck, T.G. Lewis, J.J. Martin, M.D. Ciletti
Assembly Language • High-Level Languages • Data Types and Data Structures • The UseofHardware Description Languages in Computer Design
10 Input and Output S. Sherr
Input Devices
11 Secure Electronic Commerce M.H. Sherif
12 Software Engineering C.A. Argila, P.C. Jorgensen
Tools and Techniques • Software Testing
13 Computer Graphics N.C. Schaller, E.P Rozanski
Introduction • Graphics Hardware • Graphics Software • Graphics Algorithms • The Future
14 Computer Networks M.N.O.Sadiku, C.M. Akujuobi
OSI ReferenceModel • Local AreaNetworks • Metropolitan AreaNetworks • Wide Area Networks • ISDN and ATMNetworks • Internet
15 Fault Tolerance B.W. Johnson
Introduction • Hardware Redundancy • Information Redundancy • Time Redundancy • Software Redundancy • Dependability Evaluation
16 Knowledge Engineering M. Abdelguerfi, R. Eskicioglu, J. Liebowitz
Databases • Rule-Based ExpertSystems
17 Parallel Processors T.-y Feng, M. Kraetzl, Y.C. Lee, A.Y. Zomaya
Parallel Processors • Parallel Computing
18 Operating Systems R. Finkel
Introduction • Historical Perspective • Goals of an Operating System • Implementing an Operating System • Research Issues and Summary
19 Computer and Communications Security f.A. Cooper, A.M. Johnston
Introduction • Physical Security • Cryptology • Software Security • Hardware Security • Network Security • Personnel Security
20 Computer Reliability C.G. Guy
Introduction • Definitions of Failure, Fault, and Error • Failure Rate and Reliability • Relationship between Reliabilityand Failure Rate • Mean Time to Failure • Mean Time to Repair • Mean Time between Failures • Availability • Calculation of Computer System Reliability • Markov Modeling • Software Reliability • ReliabilityCalculations for Real Systems
8
Organization
Richard F. Tinder
Washington State University
S.N. Yanushkevich
University of Calgary
Carl Hamacher
Queen’s University
Zvonko Vranesic
University of Toronto
Safwat Zaky
University of Toronto
Jacques Raymond
University of Ottawa
Richard F. Tinder
8.1 Number Systems
Positional and Polynomial Representations • Unsigned Binary Number System • Unsigned Binary-Coded Decimal, Hexadecimal, and Octal Systems • Conversion between Number Systems • Signed Binary Numbers • Floating-Point Number Systems
8.2 Computer Arithmetic
Basics of Computing Arithmetic • Binary Adders • Multipliers • Arithmetic-Logic Units • Other Number Representations • Low Power Computing Arithmetic • Stochastic Arithmetic • Threshold Logic for Massively Parallel Systems • Computing Arithmetic of Nanostructures
8.3 Architecture
Functional Units • Basic Operational Concepts • Performance • Multiprocessors
8.4 Microprogramming
Levels of Programming • Microinstruction Structure • Microprogram Development • Emulation • Other Applications of Microprogramming
8.1 NUMBER SYSTEMS
Richard F. Tinder
Number systems provide the basis for conveying and quantifying information. Weather data, stocks, pagination of books, weights and measures—these are just a few examples of the use of numbers that affect our daily lives. For this purpose we find the decimal (or arabic) number system to be reliable and easy to use. This system evolved presumably because early humans were equipped with a crude type of calculator, their ten fingers. A number system that is appropriate for humans, however, may be intractable for use by a machine such as a computer. Likewise, a number system appropriate for a machine may not be suitable for human use.
Before concentrating on those number systems that are useful in computers, it will be helpful to review the characteristics that are desirable in any number system. There are four important characteristics in all:
• Distinguishability of symbols
• Arithmetic operations capability
• Error control capability
• Tractability and speed
To one degree or another the decimal system of numbers satisfies these characteristics for hard-copy transfer of information between humans. Roman numerals and binary are examples of number systems that do not satisfy all four characteristics for human use. On the other hand, the binary number system is preferable for use in digital computers. The reason is simply put: current digital electronic machines recognize only two identifiable states physically represented by a high voltage level and a low voltage level. These two physical states are logically interpreted as the binary symbols 1 and 0.
A fifth desirable characteristic of a number system to be used in a computer should be that it have a minimum number of easily identifiable states. The binary number system satisfies this condition. However, the digital computer must still interface with humankind. This is done by converting the binary data to a decimal and character-based form that can be readily understood by humans. A minimum number of identifiable characters (say 1 and 0, or true and false) is not practical or desirable for direct human use. If this is difficult to understand, imagine trying to complete a tax form in binary or in any number system other than decimal. On the other hand, use of a computer for this purpose would not only be practical but, in many cases, highly desirable.
Positional and Polynomial Representations
The positional form of a number is a set of side-by-side (juxtaposed) digits given generally in fixed-point form as
| (8.1) |
where the radix (or base) r is the total number of digits in the number system and a is a digit in the set defined for radix r. Here, the radix point separates n integer digits on the left from m fraction digits on the right. Notice that an−1 is the most significant (highest-order) digit, called MSD, and that a-m is the least significant (lowest-order) digit, denoted by LSD.
The value of the number in Equation (8.1) is given in polynomial form by
| (8.2) |
where ai is the digit in the ith position with a weight ri.
Application of Equation (8.1) and Equation (8.2) follows directly. For the decimal system r = 10, indicating that there are 10 distinguishable characters recognized as decimal numerals 0,1,2,…,r − 1 (= 9). Examples of the positional and polynomial representations for the decimal system are
and
where di is the decimal digit in the ith position. Exclusive of possible leading and trailing zeros, the MSD and LSD for this number are 3 and 8, respectively. This number could have been written in a form such as N10 = 03017.52800 without altering its value but impl...