Hacker News Comments on
Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)
·
5
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this book.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...
⬐ infogulchWe 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⬐ zackmorrisIt'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.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⬐ rayinerhttps://www.parallella.org/RISC, but has the things you mentioned.
If you don't have a MIPS machine on hand, try SPIM: http://users.ece.gatech.edu/~sudha/academic/class/ece2030/Le....⬐ rasz_plor 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 :)
⬐ sliekasbekelniuWould 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