3
$\begingroup$

Whenever I searched for "best book for computer architecture" in google, the first result to come up was this book "Computer Architecture : A quantitative approach"(3rd Edition) by Henessy and Patterson.

enter image description here

The said book seems to be quite popular and is followed as the text book in many colleges throughout the world. Even the amazon reviews of the said book is quite good. Now many people said me that the 3rd edition is better than the 4th edition and though the 5th edition of the said book is out now, I could get hold of a cheap used copy of the 3rd edition.

There is an introductory text pertaining to "Computer Organization" by the said authors, which is quite easy (and not bulky) and one can easily go through it without much effort as this very organization book starts from the very basics.

Now coming to my question. How should I read this book, Computer Architecture: A Quantitative Approach for the first time ? There are quite a few things I want to add, the book is quite bulky and the language and terminology (till the end of first chapter) is not quite easy as in the very first chapter of the book the author talks about things such as trace driven simulation,embedded benchmarks and so on, and I feel that the author assumes one is quite familiar with concepts,as is evident from the way the text is written in the first chapter. I have not yet started reading the second chapter. There are few more things, in each chapter the author talks about real life examples of the processors or the other hardware and gives a case study of the same. Though it is good for better understanding, but might be of more importance in the subsequent reads, after one has gone through the basics or the core sections in each and every chapter.

Now I want to know how can I read this very book for the first time, to build my concepts,(I want to sort of learn only the necessary and sufficient concepts of each and every chapter, in depth though in the first reading) and after having a more or less rough but deep idea of the content of the entire book, I want to read the book again in totality, reading the portions which I might have skipped in the first read. The above book is quite bulky (I am not afraid of that, had it been so, I would not even bought it) and chances are there that I might get lost till I read the book entirely.

So can a schedule be suggested to me, which I shall follow to read the book, I want a schedule or a routine, which I shall follow in a hardcore manner while my first read, with selected but important necessary and sufficient topics from each chapter and a well ordering of the same.( Sort of programming the playback of old video compact discs on VCD players,such that out of the many tracks only those are played and in the order in which I program my player).

I did not face such a problem while reading a textbook before, I have read many texts like Ullman's Automata, Tenenbaum's Data Structure, even Morris Mano's Computer System Architecture... I have even gone through the lecture series by Prof. Rajeev Balasubramonian to build the foundations which uses the 5th edition of the said text

Now I want to focus on reading the text. Any help shall be highly appreciable. If any part of my post is not correct or my tags are incorrect, do rectify me.

$\endgroup$
  • 1
    $\begingroup$ Text book on the left, dictionary on the right? Schedule=understand chapter one before reading chapter two, etc. $\endgroup$ – Gypsy Spellweaver Jun 12 at 17:10
  • $\begingroup$ textbook and dictionary does not in well, moreover certain portions involves technical terminologies, usually not well explained in dictionary. That is the reason why I am asking for a schedule or routine such that I can study selective and important portions of the chapters in the first read of the book and then come back again and read the book in totality. $\endgroup$ – Abhishek Ghosh Jun 12 at 17:26
4
$\begingroup$

I think you first need to decide what your goals are. Are you interested in computer architecture because:

  • You want to design computer hardware and so need to understand it at a fundamental level?
  • Or because you want to write software whose performance is enhanced by an above-average understanding of computer architecture?
  • Or because you are just mildly curious about how computer architecture works?

In the preface to the 3rd addition, the authors talk about why they selected the material they did, and they give this warning:

To allow for this new material, we reduced the extent of introductory material, assuming the knowledge of the concepts in our introductory text, Computer Organization and Design: The Hardware/Software Interface.

So my advice is to start with that introductory text. If all you're interested in is a passing understanding of how the architecture works so you can write better software, or because you're just curious, then you can probably stop at that point.

The introductory text (at least the 4th edition of it) also includes a chart at the beginning listing which sections of the book should be read for a hardware focus or software focus, which should be read carefully, which can be glossed over, and which are just interesting but not necessary.

If you really want to understand modern computer architecture at a fundamental level, then after finishing the introductory text, you should probably get a later edition of the advanced text.

The fourth edition added coverage of multicore chips, which is a pretty fundamental aspect of modern computer hardware. The fifth edition has some pretty significant changes and adds an emphasis on mobile device architecture.

As for what order to cover the chapters, each edition is a bit different, but the the preface of each one contains suggested reading paths depending on what your goals are. The later editions go into more detail on this (by section rather than by chapter).

| improve this answer | |
$\endgroup$
  • $\begingroup$ Fantastic answer! $\endgroup$ – Ben I. Jun 13 at 13:03
  • $\begingroup$ @Ifalin Thanks, I am slowly going through the chapters of the book(3rd ed) and I am quite eager to complete it. Although the first chapter of the 3rd edition is a bit weirdly written (throws a lot of information in a chapter which is supposed to be the introductory chapter and the language used is quite difficult at places) but the rest of the chapters seem to be quite fine and interesting as it deeply explains each and every topic dealt with in easy langauge ( unlike the very first chapter). After going through the 3rd ed, I look forward to read the other editions in the near future. $\endgroup$ – Abhishek Ghosh Jun 14 at 18:35
  • $\begingroup$ @Ifalin, I had previously gone through the hardware software interface version of the text from the said authors, though not the 4th but the 3rd edition $\endgroup$ – Abhishek Ghosh Jun 14 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.