CE302 reading list

Recommended reading

1.  Tanenbaum, A "Structured Computer Organization", 4th ed. Prentice Hall, 1999
The author is famous as the inventor of MINIX, the forerunner of todays linux. This book is a good general background read on the subject, although it lacks the in-depth coverage of some of the course components (such as looking at register-transfer level).

2.  Furber, S "ARM System Architecture", Addison Wesley, 1996
Professor Furber from Manchester University was the designer of the original ARM RISC processor, and has continued to innovate since then. This book follows the thought processes involved in designing a CPU. As the ARM is an exceptionally clean and elegant design, this is a good example architecture to study. This book has an excellent coverage of hardware issues.

3.  Stallings, W "Computer Organization and Architecture", 4th ed. Prentice Hall, 1996

4.  Hayes, J "Computer Architecture and Organization", 2nd ed. McGraw Hill, 1988
This is a good all-round book that covers topics in sufficient detail.

5.  de Blasi, M "Computer Architecture", Addison Wesley, 1990

6.  Hennesy J and Patterson D, "Computer Architecture: A Quantitative Approach", Morgan Kaufmann, 1990
 

Some other good books


7.  Wilkinson B, "Computer Architecture: design and performance", 2nd ed. Prentice Hall 1996
This is not the most interesting book to read cover-to-cover and has too few illustrative diagrams but does explain some topics very well. In particular its coverage of the MESI cache coherency protocol is excellent.

8.  Heuring V.P., Jorden H.F., "Computer Systems design and architecture", Addison Wesley
A good book that excells in its description of multipliers and other low-level processor units. Also gives a lot of guidance on practical CPU design.

Note:  no author is perfect.  Even the best book will not explain certain concepts as well as others.  If you don't understand a point, it is worth looking at a few of the listed books. The chances are that you will find that one of them explains well enough so that you understand fully.