The authors develop a formal model that enables designers to evaluate cost (component cost) and cycle time of a simple computer, which in turn can shed light on the cost-effectiveness of a design. They were motivated by the lack of a formal model of a machine in the first edition of Hennessy and Patterson’s Computer architecture: a quantitative approach [1].
The approach taken here involves specifying circuits for n-bit-wide inputs by a recursive definition with respect to n; obtaining recurrence relations for cost, C ( n ), and delay, T ( n ); and finally, implementing these relations as functions in the C programming language. Thus the cost (or delay) of a large circuit, or of a machine, can be expressed in terms of smaller circuits, which allows the programs to compute the actual values for cost and delay.
The authors lead readers through all of the necessary steps, from simple hardware components (such as adders and multiplexers) to control units (hardwired and microprogrammed), with specific examples from a RISC machine DLX. They demonstrate the usability of this approach and claim that this model and technique have been used in several graduate projects to evaluate other, more sophisticated machines than those presented. The C code needed to run the programs is listed in detail at the end of the book.
I recommend this book to anyone interested in quantitative evaluation of a machine architecture.