Computer Architecture, Fifth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)

Category: Hardware & DIY
Author: John L. Hennessy, David A. Patterson
3.9
All Hacker News 8
This Month Reddit 2

Comments

by UntangledQubit   2019-11-17

If you want it presented in depth, a computer architecture book would serve you well. Hennesy Patterson is a common book used in intro classes on the topic.

by driscoll42   2019-11-17

For anyone who wants to go a little deeper, I highly recommend this article: Modern Microprocessors: A 90-Minute Guide! It goes into more of the technical details of CPU designs, with details on the pipelines, SIMD, VLIW, cores, etc...

For a textbook (around 400 level), I quite enjoyed Computer Architecture: A Quantitative Approach.

Plus for any hands on work with Comp Arch at an entry level (say 200 level), I encourage anyone to take Nand2Tetris

by jasonwatkinspdx   2019-08-02
I'd suggest reading the wiki articles about it for an introduction, and Ch 5 of https://www.amazon.com/Computer-Architecture-Quantitative-Jo... for a detailed understanding.

Right now you're asserting things about all this, while not being familiar with relatively basic aspects of how it works.

by Newt_Hoenikker   2019-07-21

How are you with algorithms and data structures? I found going through CLRS to learn unfamiliar topics helped me a lot.

How are you with architecture? Check out Hennessy and Patterson; either Computer Architecture: A Quantitative Approach for a more in depth review or Computer Organization and Design if you want a lighter text. Both are amazing books, but some people find the former to be more than they need.

Operating systems? Modern Operating Systems by Tanenbaum.

Networks? Computer Networks again by Tanenbaum. A great free alternative here is Beej's Guide although it is much more hands on, practical, but slightly less in depth.

How are you with general design? C Interfaces and Implementations by David Hanson is good for that.

These are all subjects that I expect you to have at least some experience with, but studying them in depth will significantly help you to understand how to design better C projects that produce more efficient executables in general, while also helping you to discern when to use what.

Anything beyond that I would say is likely specific enough that you should start specializing in that particular subject, like computer graphics or embedded systems (two areas where C really shines).

It's also worth noting that these are not your only options. There are loads of free options floating around the internet, and if you learn better with tutorials there's nothing wrong with that. These are just the textbooks that I used, and I found them to be a better toolset for me than anything else.

EDIT: Just to be clear, I still consider myself to be intermediate, but all of these resources significantly improved my skills.

by rwmj   2017-08-19
Hardware doesn't work like this. You might want to read Hennessy and Patterson, and the original RISC I paper.

http://www.amazon.com/Computer-Architecture-Fifth-Edition-Qu...

http://www.cecs.pdx.edu/~alaa/ece587/papers/patterson_isca_1...