HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

David A. Patterson, John L. Hennessy · 5 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)" by David A. Patterson, John L. Hennessy.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
Computer Organization and Design, Fifth Edition, is the latest update to the classic introduction to computer organization. The text now contains new examples and material highlighting the emergence of mobile computing and the cloud. It explores this generational change with updated content featuring tablet computers, cloud infrastructure, and the ARM (mobile computing devices) and x86 (cloud computing) architectures. The book uses a MIPS processor core to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies and I/Because an understanding of modern hardware is essential to achieving good performance and energy efficiency, this edition adds a new concrete example, Going Faster, used throughout the text to demonstrate extremely effective optimization techniques. There is also a new discussion of the Eight Great Ideas of computer architecture. Parallelism is examined in depth with examples and content highlighting parallel hardware and software topics. The book features the Intel Core i7, ARM Cortex A8 and NVIDIA Fermi GPU as real world examples, along with a full set of updated and improved exercises. This new edition is an ideal resource for professional digital system designers, programmers, application developers, and system software developers. It will also be of interest to undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design, ranging from Sophomore required courses to Senior Electives. Winner of a 2014 Texty Award from the Text and Academic Authors Association Includes new examples, exercises, and material highlighting the emergence of mobile computing and the cloud Covers parallelism in depth with examples and content highlighting parallel hardware and software topics Features the Intel Core i7, ARM Cortex A8 and NVIDIA Fermi GPU as real world examples throughout the book Adds a new concrete example, "Going Faster," to demonstrate how understanding hardware can inspire software optimizations that improve performance by 200 times Discusses and highlights the "Eight Great Ideas" of computer architecture: Performance via Parallelism; Performance via Pipelining; Performance via Prediction; Design for Moore's Law; Hierarchy of Memories; Abstraction to Simplify Design; Make the Common Case Fast; and Dependability via Redundancy Includes a full set of updated and improved exercises.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Mar 09, 2021 · guerrilla on MIPS Becomes RISC-V
Nice that there's both MIPS and RISC-V versions of the book:

https://www.amazon.com/Computer-Organization-Design-MIPS-Arc...

https://www.amazon.com/Computer-Organization-Design-RISC-V-A...

I guess as of today we know which one to get.

I remember doing MIPS assembler in the computer hardware class in college. We used the book "Computer Organization and Design: The Hardware/Software Interface" (aka "Patterson and Hennessy") [1]. At the time it was an enlightening experience because until then I hadn't fully internalized how computers were implemented at the hardware level.

[1] http://www.amazon.com/Computer-Organization-Design-Fifth-Arc...

infogulch
We used MARS[1] for assembly class a couple years ago.

[1]: MIPS Assembler and Runtime Simulator (MARS) http://courses.missouristate.edu/KenVollmar/MARS/

iso8859-1
It's interesting cause it allows you to step back and see previous machine states. Not many VM's can do this. Probably only works cause there is no OS which would clutter the set of relevant states.
zackmorris
I also used that book in college, it’s still sitting on my shelf. It had some really fantastic discussion of things like wait states (NOP's after branches or whatnot ) that fundamentally can't be worked around because the propagation delay of the logic gates for one operation take longer than the delay of another operation. It also talked about the dangers of long pipelines. I feel sometimes that most of the "progress" since I graduated in 1999 has been to work around these bottlenecks with things like branch prediction and excessive caching, but the cost of that has been to largely ignore more lucrative opportunities in multiprocessing.

We probably should have moved to processors with distributed CPUs/ram so that computations could be done in-place with languages like Erlang, Go and MATLAB. We should have ditched GPUs for general purpose DSPs also. Computers today really aren’t much use to me because I want to experiment with parallel code like neural nets and genetic algorithms but my hands are tied (OpenCL/CUDA focus on the wrong abstraction level). To effectively do that, I’d have to design a parallel processor with an FPGA first, say 256 MIPS cores with 4 MB of ram each at 1 GHz. As little hardware as possible would be wasted on cache and interconnect, instead, cores would just have pipes to their neighbors and software would handle replication.

Does anyone know of an open source emulator/virtual machine for a processor like this that runs on ordinary slow hardware and high latency networks? I visualize it as each core having its private memory space and the ability to open 4 sockets to its neighbors (someday 6 with 3D chips), with the global shared persistent storage showing up as a slow mount and acting as a software transactional memory for resetting and synchronizing the cores. Spinning up another instance of the VM would connect another N cores.

fenollp
https://www.parallella.org/

RISC, but has the things you mentioned.

rayiner
If you don't have a MIPS machine on hand, try SPIM: http://users.ece.gatech.edu/~sudha/academic/class/ece2030/Le....
rasz_pl
or any Playstation 1 emulator
Me and a group of friends at NTNU spent the last three months implementing self-designed and working GPU from scratch in VHDL on a Xilinx Spartan 6 FPGA. At the same time as this, we also implemented fully working multi-cycle and pipelined MIPS CPUs for the same FPGA.

All of us came from software backgrounds, never having touched any hardware description language.

To get started I'd recommend reading Computer organization and design by Patterson and Hennessy (http://www.amazon.com/Computer-Organization-Design-Fifth-Edi...).

For the VHDL part, all we had available was this small basic VHDL compendium (not sure if I can redistribute it), open source github repositories from friends and classmates, as well as the always helpful vhdlguru.blogspot.com

So i'll reccomend following one of the open lecture series posted above :)

sliekasbekelniu
Would you mind making this effort open-source for a possibility to build completely open-source computer? The Novena laptop had all things except GPU because there is no open source GPU which would have all the schematics available. Some guy from Germany, I think, is also working on open-source design GPU on FPGA.
This is a standard textbook on computer architecture across many universities in the US (and if my students are right, outside it as well). So it might be worth a read.

If this is absolutely the first time you are looking at architecture, http://www.amazon.com/Computer-Organization-Design-Fifth-Arc... by the same authors might be a easier entry point.

Agreed. Anyone who prefers to buy it can do it via e.g. Amazon:

4th ed: http://amzn.com/0123744938

5th ed: http://amzn.com/0124077269

HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.