Am open to anything and everything. I want to understand computers even more better, assuming (and sincerely believing) it will make me better in my career path to be an SRE/Distributed-Systems Architect.
I'll also be reading DDIA and SICP for sure, will take me own sweet time to go through them since they actually demand time and patience. But would love to get guidance from you all here at HN.
1. https://www.amazon.com/Write-Great-Code-2nd-Understanding/dp...
2. https://www.amazon.com/Write-Great-Code-Low-Level-High-Level...
3. https://www.amazon.com/Computer-Organization-Design-RISC-V-A...
4. https://www.amazon.com/Computer-Architecture-Quantitative-Ap...
5. https://www.amazon.com/Computer-Organization-Design-MIPS-Arc...
6. https://www.amazon.com/Computer-Organization-Design-ARM-Arch...
7. https://www.amazon.com/Models-Computation-Introduction-Compu...
For me personally, I have recently gotten really interested in RISC-V, so I lean that way a little bit. But that's more personal preference than anything concrete I can really cite.
Yet RVA20(RV64GC) and RVA22 are set on stone.
My email is in my profile. Feel free to shoot me an email if you'd like to discuss the material. I am planning on reading "The Elements of Computing Systems" next, a.k.a. nand2tetris - so I think it'd definitely be interesting to have someone to talk about these books to.
I recently started a Discord server with this purpose in mind -study CS books- we are currently reading another one of HN's favorites, Algorithms by Sedgewick. Though, we could definitely create a new section on the server to discuss more computer arch-y books and whatnot.
I hope you are able to join us! :)
Find an FPGA board, build a soft core -> bootstrap your own C compiler -> build an OS -> do whatever you want
Please do reply :)
https://github.com/wangjohn/mit-courses/blob/master/6.033/Pr...
Thanks once again. :)
https://pages.hmc.edu/harris/ddca/
An interesting second book that makes the connection to the software side is Bryant/O'Hallaron "Computer Systems: A Programmer's Perspective"
https://csapp.cs.cmu.edu
...and, more on the theory side, both books by Hennessy and Patterson ("Computer Architecture: The Hardware/Software Interface" and "Computer Architecture: A Quantitative Approach").
On the OS implementation side, I still like Comer's "Operating System Design: The Xinu Approach" quite a lot. While this book is quite old, I learned OS design from Comer (and am still teaching this at university level 30 years later...).
https://xinu.cs.purdue.edu
A good complement would be Cox/Kaashoek/Morris "xv6: a simple, Unix-like teaching operating system" (free download)
https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.p...
A useful addition on OS theory is Remzi and Andrea Arpaci-Dusseau's "Operating Systems: Three Easy Pieces" (also free)
https://pages.cs.wisc.edu/~remzi/OSTEP/
If you want to dig into programming languages, I would recommend Cooper/Torczon "Engineering a Compiler" (unfortunately published by Elsevier) and "Crafting Interpreters" by Nystrom (free)
https://shop.elsevier.com/books/engineering-a-compiler/coope...
https://craftinginterpreters.com
Finally, if you're interested in virtualization (system and bytecode level), I can recommend Smith/Nair "Virtual Machines"
https://www.sciencedirect.com/book/9781558609105/virtual-mac...
I use many of these books in my courses and recommend them to my students - so far, they seem to like the books:
(My OS course at NTNU) https://multicores.org/tdt4186_22/
(My Compiler Construction course at NTNU) https://multicores.org/tdt4205_21/
I hope this helps a bit. Learning all of this will be quite a challenge but also bring a lot of fun! :)