D^m-l- ( !" , i r \ k * m - 1 - (m - l)/(* + 1) also reached by Schneiderman and Goodman (in the context of their study) by using a different approach. = (m - 1) kj{k + 1) Acknowledgement The author acknowledges that Professor P. M. Stocker set the problem to him as an exercise and that Dr. W. F. Burton assisted him in developing the formula. (A: + \)m Q.E.D. (6) reveals that a batch size of k queries causes approximately the first k/(k + 1) cylinders of the file to be travelled; a result References CARDENAS, A. F. (1975). Analysis and performance of inverted data base structures, CACM, Vol. 18, No. 5, pp. 253-263. PEZARRO, M. T. (1976). A note on estimating hit ratios for direct-access storage devices, The Computer Journal, Vol. 19, No. 3, pp. 271-272. SCHNEIDERMAN, B. and GOODMAN, V. (1976). Batched searching of sequential and tree structured files, ACM Transactions on Database Systems, Vol. 1, No. 3, pp. 268-275. TEOREY, T. J., and PINKERTON, T. B. (1972). A comparative analysis of disc scheduling policies, CACM, WATERS, S. J. (1975). Estimating magnetic disc seeks, The Computer Journal, Vol. 18, No. 1, pp. 12-19. Vol. 15, No. 3, pp. 177-184. Computer Architecture, second edition, by C. C. Foster, 1977; 300 pages, (van Nostrand Reinhold, £10-65) The first edition of this book was published about seven years ago. The changes in content are almost all additions and this edition is some 75 pages longer than the original. All the logic diagrams have been redrawn using contemporary symbols and many of the other diagrams have been improved. The number of diagrams and their accuracy and clarity is a very attractive feature of the book. Like the original this book is based on a course in computer architecture given at the University of Massachusetts, it is a teaching text covering a wide range of topics, some of necessity in a rather shallow manner. The vast majority of people considering reading, and possibly buying, this book will not have seen the original. This review therefore will consider the total contents rather than concentrating on the changes. The first chapter covers number representation, the second gates and elementary logic and the third storage mechanisms. These 80 pages give an easy to read coverage of the topics but the treatment in parts is perhaps a little too shallow. A more serious criticism of the chapter on storage mechanisms is the unevenness of the coverage in relation to the importance of the different mechanisms in the building of present day computers. For example whilst six pages on magnetic bubbles is reasonable for this type of book one page on magnetic recording as compared with two on parametrons and two on fluidic devices is not. There is also little attempt to compare the advantages and disadvantages of the different storage techniques which is important when considering the design of any computer system. Chapter four is mainly concerned with the organisation of bits of memory into storage systems; here again my criticism is on the balance of coverage. Almost half of the chapter is on implementing push down stacks with other store arrangements getting about one page each. How should computer architecture be taught? I am sure that there are many detailed answers to this question but two general approaches seem to exist. Do you describe the functional features of parts of several real systems and attempt to identify the underlying principles? Or do you invent a design which illustrates the functions you wish to describe? The latter method has the advantages of a coherent design, if you do it properly, but can suffer from a lack of practical detail. Dr Foster chooses to use as the vehicle for the second part of his book a synthetic design of a simple 16 bit parallel computer with a primitive instruction set based on a 12 bit address and a four bit function. This design is explained in detail in chapter five and in later chapters, as more sophisticated aspects of computer architecture are introduced, the design is extended to include some of these features. This approach gives a theme to the descripVolume 21 Number 2 tion of the various architectural features which would otherwise have been difficult to achieve. Occasionally the reader may be confused between what is a description of a real machine and what is purely a paper design. On the whole the approach is successful in this book and the descriptions of more complex instruction formats, store organisation and input/output systems which occupy chapters six and seven are linked by reference to extensions to the design proposed in chapter five. Also in chapter eight where there is a short description of microprogramming this is well illustrated by giving a microprogrammed version of the same simple machine. An expected addition to the first edition is the chapter on microcomputers. This is quite short but is sufficient to introduce the basic ideas which are illustrated by descriptions of features of three different microprocessors, the AMI-9209, the Intel 8080 and the Signetics 2650. Chapters ten, eleven and twelve, which occupy the last 60 pages of the book, are devoted to large computers. It is in this part that I feel that the author has failed to present an accurate picture. There has been some revision since the first edition but several parts have been retained which could profitably have been replaced. For example, devoting nine pages to the same paper design as in the first edition and having less than one page on the ILLIAC IV, one page on multiple function units and three pages on pipelining presents a false picture of the design features which have led to the high speed of today's super computers. Incidently even though ILLIAC IV has been somewhat slow to develop it is a little unkind to retain, from the first edition, the phrase 'when the ILLIAC IV comes on the air'. The whole of this section suffers from being a mixture of paper designs and sketchy descriptions of real systems which it would be impossible for the uninformed reader to distinguish. These 60 pages could have been better used to describe the different approaches to attaining high speed which have been tried together with some discussion of their relative success and how the design of future systems will be influenced by advances in technology. The first nine chapters of the book are well organised and clearly written; they would provide a good support text for a general course on computer architecture, particularly in a degree programme which otherwise concentrated on the software and application aspects of computer science. Each chapter has sufficient references (except the chapter on logic which has none!). There could, however, have been more updating of these references from the first edition. Throughout the text there are short questions which if answered in detail would certainly help the reader to get a thorough understanding of the material covered. F. H. SUMNER (Manchester) 133 Downloaded from https://academic.oup.com/comjnl/article/21/2/133/477510 by guest on 07 October 2023 Book review