Fundamentals Handbook of Electrical and Computer Engineering: Vol. I. Circuits, Fields and...

2
Book reviews Computer system architecture M. Morris Mano Prentice Hall International, 1982, 531 pp., £22.40 ISBN: 0-13-166611-8 This book is an updated version of the first edition in which no change has been made to the first five chapters but later ones have been updated and rewritten. It is an extremely valuable text for engineering- and science-based students who want a book with a wide coverage of computer information from microprocessors to mainframes. The depth at which each topic is covered varies from a cursory functional description, to a detailed and mathe- matically precise explanation. One of the nice features of the book, and a very important one, is that each chapter can be read in isolation. This necessitates some repetition of material, but allows it to be used in a course in a variety of ways, or alternatively as a complete explanation of a single topic. The earlier chapters could thus form part of a first or second year undergraduate course, with the addi- tional material appearing in the following year. Each chapter offers a large number (from 20 upwards) of examples for tutorial working, and references for further reading are also given. In his preface, the author pleads that there is a need to limit the discussion of digital system fundamentals to a single chapter and justifies this by stating that the design of digital computers takes on a different dimension when integrated-circuit functions are used in the place of individ- ual gates and flip flops. Chapter 1 implements this philos- ophy, but could have given the reader a greater depth of understanding of logical design had a more formal mathe- matical notation been used in place of the generous descriptive approach. The section on sequential circuits (nine pages) merely serves to give an introduction to the subject and leaves the reader with no real tools for design- ing such systems. An expansion of this chapter would have served the author's purpose better and enabled a more complete explanation of fundamentals to have been given. Chapter 2 purports to discuss integrated circuits, but fails to do so in any sense which would satisfy an elec- tronic or solid-state engineer. The electrical characteristics of gates are not discussed and it must surely be a funda- mental requirement that logic designers require to have a knowledge of gate-loading rules, and propagation delay effects as well as an understanding of their logical behav- iour. For systems design at the algorithm level, covering the topics of registers and memory, it is a perfectly satisfac- tory chapter. Chapter 3 is concerned with data representation and introduces fixed- and floating-point principles, together with a very short section on error detection. Chapter 4 introduces and defines a register transfer language (ISP- like) and uses it to describe micro-operations for the control of logic. Perhaps the author labours the point on micro-operations a little in relation to Register Transfer Language statements which could be implemented directly, but it is overall an excellent introductory chapter to this topic. Chapter 5 follows this up by extending the principle of micro-operations to computer instructions and com- puter organisation, including an introductory discussion of input/output and interrupts. A 'basic' computer architec- ture is introduced and forms a worked example through several of the following chapters. In Chapter 6, it is used to illustrate the concepts of assembly code, which are nicely 138 explained with the use of flow charts, and illustrated by examples of multiplication and double-precision arith- metic. The use of subroutines and interrupt handling are including and high-level languages and systems software concepts are introduced. Chapter 7 gives wide coverage to central processor organisation and explains the functional design of ALU's extremely well, although carry-look-ahead is missed out. Stacks (including Polish and reverse Polish notation), in- struction formats, addressing modes are all discussed at a greater depth than in Chapter 5. Microprocessor architec- ture is included also and the concept of parallel processing mentioned. Microprogram control is the subject matter of Chapter 8. There is a lot of repetition of material in the early part of this chapter, and the description of horizontal/vertical microprogramming is not very clear. Also, the author's formalisation of a microinstruction is almost too specific and tends to mask the generality that exists in a micro- program word, making the result look too much like assembly-code programming, which is a false idea to convey. The example used, though, is very good and clearly explained. Bit-slice microprocessors get a mention, but the description could have been improved by a refer- ence to manufacturers by name or through literature. Although this is a good chapter overall, there are a few carts before the horses. Chapter 9 is a follow-up to Chapter 3 on arithmetic processor design. It is good for detailed description of arithmetic algorithms with an example of a calculator design. Chapter 10 extends the description of algorithms and offers an alternative descrip- tion of Booths algorithm and has a useful section on decimal arithmetic. The whole field of input/output is dealt with very com- prehensively in Chapter 11, from DMA and priority inter- rupts through to bus arbitration and data communication processors; HDLC and SDLC are also given a mention. The final chapter is about memory organisation. Overall, this chapter explains a lot of the ideas associated with this topic; the microprocessor content is minimal and rather trivial, but virtual memory, cache and memory management are well covered and plenty of examples are given. D.R. NOAKS Fundamentals handbook of electrical and computer engineering: Vol. I. Circuits, fields and electronics Editor in Chief: Sheldon S. L. Chang Wiley Interscience, 1982, 707 pp., £50.00 ISBN: 0^71-86215-0 This is the first of a 3-volume set of reference books in the style of the 'Handbooks' available in other disciplines, and the intention of the editorial panel is to provide practising engineers with details of up-to-date research and techno- logical developments in a broad range of topics. Volume I concentrates on background fundamentals of circuits, fields and electronic devices, Volume II covers communica- tions, control devices and systems, and Volume III, com- puter hardware, software and applications. This first volume comprises two sections covering math- ematical and physical background material, followed by five further sections on circuit theory, digital-signal pro- cessing, transmission and propagation, electronics, and 1EE PROCEEDINGS, Vol. 130, Pt. E, No. 4, JULY 1983

Transcript of Fundamentals Handbook of Electrical and Computer Engineering: Vol. I. Circuits, Fields and...

Book reviewsComputer system architectureM. Morris ManoPrentice Hall International, 1982, 531 pp., £22.40ISBN: 0-13-166611-8

This book is an updated version of the first edition inwhich no change has been made to the first five chaptersbut later ones have been updated and rewritten.

It is an extremely valuable text for engineering- andscience-based students who want a book with a widecoverage of computer information from microprocessors tomainframes.

The depth at which each topic is covered varies from acursory functional description, to a detailed and mathe-matically precise explanation. One of the nice features ofthe book, and a very important one, is that each chaptercan be read in isolation. This necessitates some repetitionof material, but allows it to be used in a course in a varietyof ways, or alternatively as a complete explanation of asingle topic. The earlier chapters could thus form part of afirst or second year undergraduate course, with the addi-tional material appearing in the following year.

Each chapter offers a large number (from 20 upwards)of examples for tutorial working, and references for furtherreading are also given.

In his preface, the author pleads that there is a need tolimit the discussion of digital system fundamentals to asingle chapter and justifies this by stating that the design ofdigital computers takes on a different dimension whenintegrated-circuit functions are used in the place of individ-ual gates and flip flops. Chapter 1 implements this philos-ophy, but could have given the reader a greater depth ofunderstanding of logical design had a more formal mathe-matical notation been used in place of the generousdescriptive approach. The section on sequential circuits(nine pages) merely serves to give an introduction to thesubject and leaves the reader with no real tools for design-ing such systems. An expansion of this chapter would haveserved the author's purpose better and enabled a morecomplete explanation of fundamentals to have been given.

Chapter 2 purports to discuss integrated circuits, butfails to do so in any sense which would satisfy an elec-tronic or solid-state engineer. The electrical characteristicsof gates are not discussed and it must surely be a funda-mental requirement that logic designers require to have aknowledge of gate-loading rules, and propagation delayeffects as well as an understanding of their logical behav-iour. For systems design at the algorithm level, coveringthe topics of registers and memory, it is a perfectly satisfac-tory chapter.

Chapter 3 is concerned with data representation andintroduces fixed- and floating-point principles, togetherwith a very short section on error detection. Chapter 4introduces and defines a register transfer language (ISP-like) and uses it to describe micro-operations for thecontrol of logic. Perhaps the author labours the point onmicro-operations a little in relation to Register TransferLanguage statements which could be implemented directly,but it is overall an excellent introductory chapter to thistopic. Chapter 5 follows this up by extending the principleof micro-operations to computer instructions and com-puter organisation, including an introductory discussion ofinput/output and interrupts. A 'basic' computer architec-ture is introduced and forms a worked example throughseveral of the following chapters. In Chapter 6, it is used toillustrate the concepts of assembly code, which are nicely

138

explained with the use of flow charts, and illustrated byexamples of multiplication and double-precision arith-metic. The use of subroutines and interrupt handling areincluding and high-level languages and systems softwareconcepts are introduced.

Chapter 7 gives wide coverage to central processororganisation and explains the functional design of ALU'sextremely well, although carry-look-ahead is missed out.Stacks (including Polish and reverse Polish notation), in-struction formats, addressing modes are all discussed at agreater depth than in Chapter 5. Microprocessor architec-ture is included also and the concept of parallel processingmentioned.

Microprogram control is the subject matter of Chapter8. There is a lot of repetition of material in the early partof this chapter, and the description of horizontal/verticalmicroprogramming is not very clear. Also, the author'sformalisation of a microinstruction is almost too specificand tends to mask the generality that exists in a micro-program word, making the result look too much likeassembly-code programming, which is a false idea toconvey. The example used, though, is very good andclearly explained. Bit-slice microprocessors get a mention,but the description could have been improved by a refer-ence to manufacturers by name or through literature.Although this is a good chapter overall, there are a fewcarts before the horses. Chapter 9 is a follow-up toChapter 3 on arithmetic processor design. It is good fordetailed description of arithmetic algorithms with anexample of a calculator design. Chapter 10 extends thedescription of algorithms and offers an alternative descrip-tion of Booths algorithm and has a useful section ondecimal arithmetic.

The whole field of input/output is dealt with very com-prehensively in Chapter 11, from DMA and priority inter-rupts through to bus arbitration and data communicationprocessors; HDLC and SDLC are also given a mention.

The final chapter is about memory organisation.Overall, this chapter explains a lot of the ideas associatedwith this topic; the microprocessor content is minimal andrather trivial, but virtual memory, cache and memorymanagement are well covered and plenty of examples aregiven.

D.R. NOAKS

Fundamentals handbook of electrical and computerengineering: Vol. I. Circuits, fields and electronicsEditor in Chief: Sheldon S. L. ChangWiley Interscience, 1982, 707 pp., £50.00ISBN: 0^71-86215-0

This is the first of a 3-volume set of reference books in thestyle of the 'Handbooks' available in other disciplines, andthe intention of the editorial panel is to provide practisingengineers with details of up-to-date research and techno-logical developments in a broad range of topics. Volume Iconcentrates on background fundamentals of circuits,fields and electronic devices, Volume II covers communica-tions, control devices and systems, and Volume III, com-puter hardware, software and applications.

This first volume comprises two sections covering math-ematical and physical background material, followed byfive further sections on circuit theory, digital-signal pro-cessing, transmission and propagation, electronics, and

1EE PROCEEDINGS, Vol. 130, Pt. E, No. 4, JULY 1983

finally switching theory and logic design. There are 13contributors to this first volume.

The coverage is selective and intensive—58 pages ofmathematics range over vector analysis, complex variabletheory, Laplace and z-transforms, partial differential equa-tions, special functions, matrix algebra, dynamic program-ming and the maximum principle! Nearly 100 pages aredevoted to microwave acoustic devices, and galliumarsenide applications are extensively covered. Details areincluded of recent developments in microwave solid-statedevices, lasers, magnetic bubble components and Joseph-son computer technology.

A claim that the presentation would enable non-specialists to 'read about, master the fundamentals and domeaningful design work in a reasearch area' seems ratherfar fetched, and indeed much of the material presented isvery much for specialists. Nevertheless, the accumulationof a large amount of information, together with a selectionof references within each section, will fulfil some of theexpectations of a 'Handbook' reader.

G.A.L. REED

Principles of computer speechI.H. WittenAcademic Press, 1982, 286 pp., £19.00ISBN 0-12-760760-9

Five years ago, interest in speech output from computerswas restricted to a few research laboratories. For althoughspeech output could be very useful in certain circum-stances, such as in factories and warehouses where line-of-sight contact is difficult to maintain, the high costsinvolved were at that time prohibitive. However, in 1978,the economics of speech-output technology were changeddramatically by the introduction of a toy—a toy thatcould speak and yet cost only a few pounds. In a stroke,Texas Instruments brought computer speech to the general

public and forced other semiconductor manufacturers totake a serious interest in it. Five years later, a variety ofcost-effective speech-output devices are available to thedesigners of today's electronic systems, and this book byIan Witten is, therefore, both relevant and timely.

The book is divided into 11 chapters covering fourmajor aspects of computer speech. First, some necessarylinguistic background is presented. In particular, thevarious kinds of speech sound are identified, phonemes aredescribed and the source-filter model of speech productionis introduced. It must be stressed that this book is aimedprimarily at engineers and not speech scientists hence, thelinguistic coverage is simple and to the point. Secondly,methods of speech analysis are described. This book con-centrates on two main techniques: formant analysis andlinear prediction analysis. The latter is covered in somedepth and is, according to the author, the most importantmethod today. Thirdly, speech-synthesis methods areexamined. Included here is a detailed chapter on the oftenneglected, although very important, topic of intonation.Finally, some of the more practical aspects of speech-output systems are, covered such as designing the man-computer dialogue and commercial speech output devices.

In general, the book is well written and clearly present-ed. Diagrams and pictures are used frequently and to goodeffect. Each chapter ends with a list of references and sug-gestions for further reading which will be useful to readerswho wish to pursue a topic in more detail. My only criti-cism of the book is that it lacks a certain balance in places.For example, more attention could have been paid towaveform encoding, in view of the several commerciallyavailable chip sets which use such techniques. In some ofthe later chapters, the author describes part of his ownresearch in considerable detail. With the exception of otherresearch workers (at whom this book is clearly not aimed),this detail is unnecessary and detracts from the otherwisehigh readability and interest of the book.

S.J. YOUNG

CorrigendumWALLIS, P.J.L.: 'Ada model arithmetic: costs and bene-fits', IEE Proc. E, Comput. & Digital Tech., 1982, 129, (2),pp. 75-80.

John Goodenough of SoftTech pointed out to the authorthat a comment from a Japanese reviewer of the Adadesign implies that the above paper contains an error. Thisconcerns the program given in the Appendix to the paper,and results from the fact that the leftmost bit of the man-tissa of a floating-point model number is always a 'one'and hence conveys no information. See Reference A for amore detailed discussion.

The text of the paper is not affected, but the Fortranprogram given in the Appendix is now seen to be incorrect.

Table 1

To make the correction, line 4 of p. 80 should be changedfrom

IDIGMX = INT(ALOG10(2.0**IMP))

to

IDIGMX = INT(ALOG10(2.0**(IMP - 1)))

This change affects some of the entries in Tables 1 to 3;amended versions of these are given below.

Reference

A GOLDBERG, I.B.: '27 bits are not enough for 8-bit accuracy', Com-mun. ACM, 1967, 10, (2), pp. 105-106

Machine

Cray-1

DEC VAX

Honeywell 6000

IBM 370/168 andInterdata 8/32

Precision

SingleDoubleSingleDoubleSingleDoubleSingleDouble

Base

222222

1616

Brown model

, b Precision

479424562763

614

characteristics

, p Emax

81908190

1271271271276363

Emin

-8189-8099

-127-127-127-127-64-64

Ada model

Maxdigits

132769796

15

characteristics

Mant

4490203024302050

Emax

176360

8012096

12080

200

Ada

Bits

344

263

3313

model

Emax

80147830

477

317

17252

losses

Emin

80137739

477

317

17656

IEE PROCEEDINGS, Vol. 130, Pi. E, No. 4, JULY 1983 139