×

Foundations of technical computer science. (Grundlagen der technischen Informatik.) (German) Zbl 1119.68014

München: Hanser (ISBN 978-3-446-40691-9/pbk). 431 p. (2007).
This is a comprehensive handbook intended for introductory courses on fundamentals of digital circuits. Topics range from basic theory of switching circuits, through functional blocks to microprocessor structures and operation. The book consists of 11 chapters and 5 appendices. The bibliography contains 90 items and covers many classical publications. The goal of the author was to give the reader solid background in understanding the operation of digital hardware.
The introduction covers a lot of historical information, illustrating revolutionary changes from the technologies used in early computing machines (mechanical constructions, electrical relay assemblies, vacuum tubes and transistor electrical circuits) to present VLSI microprocessor chip architectures. It is emphasized that the complexity of present VLSI chips grows according to the law of Moore. The second chapter is devoted to number representations and coding fundamentals. The next chapter deals with Boolean algebra, Boolean functions and combinational digital circuit design. The classical circuit minimization methods are described. BDD (Binary Decision Diagrams) are also introduced. The fourth chapter is devoted to properties (electrical and logical) of switching circuits implementations. Different topologies of switching circuits, like 2-level topology, topologies based on binary decision diagrams and on functional decision diagrams, are shown. Complexity and timing analysis related to hazards is discussed. The next chapter is devoted to minimization of switching circuits based mainly on the Quine-McCluskey algorithm. The sixth chapter deals with functional blocks, constituting the basis for building digital systems, namely multiplexers/demultiplexers, comparators, various adders, incrementers, multipliers, shift registers, ALU’s and programmable logic arrays. With the next chapter the description of fundamental sequential circuits commences. Topics include latches, flip-flops and synthesis of automata. The following chapter presents registers, shift registers, counters (synchronous and asynchronous) and basic constructions of SRAM and DRAM memory blocks. RTL (Register Transfer Level) design is the topic of the next chapter. The basic construction of a computer, consisting of operation and control part, is shown. Two basic types of control units – hardwired and microprogrammed – are discussed. In the next chapter the internal structure of a microprocessor outlining its basic building blocks is given. It is shown how instructions are executed, what is illustrated by a simple program example. The last chapter presents more advanced topics related to computer architectures. They include the taxonomy by Flynn based on multiplicity of data and instruction streams. Differences between RISC and CISC architectures are outlined. In order to speed up instruction execution the concepts of pipeline and cache memory are used. Eventually the measuring of performance using benchmarks is discussed. The book contains five appendices on the following topics: DIN 40900 (graphical representation of basic building blocks), basic algebraic notation and laws, explanation of acronyms, and glossary of basic notions.
The layout of the book is very attractive. The main text is appended by illustrations and notes on the margins which are either explanatory or illustrative. In each chapter exercises are formulated, which makes teaching much easier and more efficient. A lot of historical information will enhance the general technical culture of the reader. Especially it is worth to mention the short biographies of many people whose work had influence on the progress of the computer technology. In general, I was positively impressed by this book. An English edition would be welcome. The book may be recommended for academic courses in digital design.

MSC:

68M07 Mathematical problems of computer architecture
68-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science
94C10 Switching theory, application of Boolean algebra; Boolean functions (MSC2010)